KR19980070066A - 웹 데이터의 오프-피크 캐싱을 최적화하는 방법 - Google Patents

웹 데이터의 오프-피크 캐싱을 최적화하는 방법 Download PDF

Info

Publication number
KR19980070066A
KR19980070066A KR1019970057344A KR19970057344A KR19980070066A KR 19980070066 A KR19980070066 A KR 19980070066A KR 1019970057344 A KR1019970057344 A KR 1019970057344A KR 19970057344 A KR19970057344 A KR 19970057344A KR 19980070066 A KR19980070066 A KR 19980070066A
Authority
KR
South Korea
Prior art keywords
content
web
server
cache
communication link
Prior art date
Application number
KR1019970057344A
Other languages
English (en)
Other versions
KR100286497B1 (ko
Inventor
톰슨조셉레이몬드
버스티스빅토르스
Original Assignee
포맨제프리엘
인터내셔널비지네스머신즈코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 포맨제프리엘, 인터내셔널비지네스머신즈코포레이션 filed Critical 포맨제프리엘
Publication of KR19980070066A publication Critical patent/KR19980070066A/ko
Application granted granted Critical
Publication of KR100286497B1 publication Critical patent/KR100286497B1/ko

Links

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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1017Server selection for load balancing based on a round robin mechanism
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/10015Access to distributed or replicated servers, e.g. using brokers
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • 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/5681Pre-fetching or pre-delivering data based on network characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 통신 링크를 통해 월드 와이드 웹에 접속될 수 있는 웹 클라이언트로 배달하기 위해 다수의 웹 서버로부터 웹 내용을 검색하는 방법에 관한 것이다. 웹 클라이언트는 바람직하게는, 저비용 인터넷 억세스를 제공하기 위해 텔레비젼 또는 다른 종래의 모니터에 접속될 수 있는 데이터 처리 시스템이다. 이 방법은 사용자로 하여금 그 내용이 검색되어 캐시에 저장되길 원하는 하나 또는 그 이상의 서버의 셋트를 정의하도록 하므로써 시작된다. 이들 서버는 바람직하게도, 인기 있는 웹 사이트의 리스트에 의해 식별된다. 다음에는, 주어진 다운로드 주기가 종료되었는지 판단하기 위한 검사가 이루어 진다. 통상적으로, 다운로드 주기는 웹 서버 사이트에서의 트래픽 적체를 피하기 위해 한 밤중과 같은 오프 주기 동안에 발생한다. 만일 주어진 다운로드 주기가 종료되지 않았다면, 하나 또는 그 이상의 서버로부터 내용이 캐시로 다운로드될 때, 통신 링크에 대한 액티비티 레벨에 관한 판단이 이루어 진다. 만일 통신 링크에 대한 액티비티 레벨이 주어진 임계 레벨 보다 작으면, 다운로드 주기 동안에 가능한 한 많은 사이트로부터의 내용이 다운로드되도록 보장하는, 소위 공정성 정책에 따라 내용에 대한 추가적인 요구가 캐시로 발생된다.

Description

웹 데이터의 오프-피크 캐싱을 최적화하는 방법
본 발명은 일반적으로 월드 와이드 웹(World Wide Web) 정보 검색에 관한 것으로서, 특히, 웹 데이터의 오프피크 캐싱(offpeak caching) 동안에 통신 링크의 이용을 최적화하는 것에 관한 것이다.
인터넷의 월드 와이드 웹은 컴퓨팅 역사상 가장 성공적인 분산형 애플리케이션이다. 웹 환경에서, 클라이언트 머신은 웹 서버로의 트랜잭션을 수행할 때, 하이퍼텍스트 마크업 언어(HTML)로서 알려진 표준 페이지 기술(description) 언어를 이용하여 파일(예, 텍스트, 그래픽스, 이미지, 사운드, 비디오, 등)에 대한 사용자 억세스를 제공하는 공지된 애플리케이션 프로토콜인 하이퍼텍스트 전송 프로토콜(HTTP)을 이용한다. HTML은 기본적인 문서(document) 포맷팅을 제공하며, 개발자가 다른 서버 및 파일에 대한 링크를 지정할 수 있도록 한다. 인터넷 패러다임에서, 서버로의 네트워크 경로는 네트워크 접속을 정의하기 위한 특수 구문(syntax)을 가진 소위 균일 자원 로케이터(Uniform Resource Locator:URL)에 의해 식별된다. 클라이언트 머신측에서의 HTML-호환성 브라우저(예, Netscape Navigator 또는 Microsoft Internet Explorer)의 이용은 URL을 통한 링크의 지정(specification)을 수반한다. 이에 응답하여, 클라이언트는 그 링크에서 식별된 서버로 요구를 수행하고, 그 회답으로 HTML에 따라 포맷된 문서를 수신한다.
최소의 경제적 비용으로 인터넷 억세스를 제공하는데에 대한 관심이 매우 크다. 현재, 대부분의 컴퓨터는 인터넷 억세스를 위해 사전-구성(pre-configured) 되어 있지만, 상당한 비율의 가구는 아직 개인용 컴퓨터를 구비하고 있지 않다. 그러므로, VCR과 같이, 텔레비젼 셋트에 접속되어, 시스템 유니트와 관련된 통상적인 원격 제어 장치를 통해 웹 억세스를 제공하기 위해 개인용 컴퓨터 대신에 사용될 수 있는 데이터 처리 시스템을 제공하는 것이 제안되었다. 이와 같은 시스템은 텔레비젼이 사실상 웹 어플라이언스(Web appliance)가 되도록 한다. 시청자는 원격 제어 유니트를 이용하여 통상적인 텔레비젼과 인터넷 억세스 사이에서 빠르게 전환할 수 있다. 모든 통상적인 인터넷 억세스 툴(tools) 및 네비게이션 기능은 시스템에 내장되고, 따라서 사용자에게 은폐되는 것이 바람직하다.
이와 같은 하나의 툴은 소위 오프-라인(off-line) 브라우징으로 불린다. 어떤 부정기적인 인터넷 사용자도 나타날 수 있기 때문에, 관심있는 또는 인기있는 웹 사이트는 때때로 매우 큰 트래픽 수요로 인해 억세스하기 어렵게 된다. 그 결과, 몇몇 회사들은 사용자의 편의에 따라 브라우징하기 위해 인기있는 웹 서버로부터 사용자의 하드 드라이브로 웹 페이지를 배달하도록 설계된 소위 오프-라인 브라우저 프로그램을 개발했다. 통상적으로, 이와 같은 프로그램은 사용자로 하여금, 시간 및 요금이 절약되는, 오프-피크(off-peak)(피크를 벗어난) 시간에 식별가능한 페이지를 펫치(fetch)할 수 있도록 하는 소정 형태의 스케쥴링 기능을 포함한다. 이때, 사용자는 모뎀 없이 또한 인터넷에 대한 활성적인 접속도 없이 그 편의에 따라 그 페이지를 브라우즈할 수 있다.
비록 오프-라인 브라우저 프로그램이 소정의 장점을 제공하지만, 이들 프로그램은 오프-피크 정보 검색 프로세스 동안에 클라이언트와 월드 와이드 웹 사이의 통신 링크의 이용을 최적화하는 능력을 갖고 있지는 않다. 이러한 문제는 오프-피크 정보 검색이 수행될 수도 있는 시간의 양에 대한 제약이 있는 경우에 보다 심각해진다. 미래에는, 전술한 형태의 웹 어플라이언스가 단지 가입자에게 오프-라인 브라우징이 허용되는 제한된 주기의 시간만을 허용하게 되는 컴퓨터 네트워크 또는 다른 서비스 제공자에 의해 제공될 것으로 예상된다. 그러므로, 예를 들어 네트워크 오퍼레이터는 가입자가 매일밤 단지 한 시간 동안에만 오프-라인 브라우징하도록 제한할 수도 있다. 이 시간 동안에, 사용자는 많은 웹 사이트로부터 내용을 획득하길 원할 수도 있다. 따라서, 이러한 제한된 시간 주기 동안에 웹 내용의 검색을 최적화할 수 있는 소정의 메카니즘을 제공하는 것이 바람직하다.
본 발명은 이러한 중요한 문제에 관해 언급하고 해결하는 것이다.
따라서, 본 발명의 일차적인 목적은 웹 데이터의 오프-피크 캐싱 동안에 웹 어플라이언스와 월드 와이드 웹 서버 사이의 통신 링크의 이용을 최적화하는 것이다.
본 발명의 다른 목적은 네트워크에 대한 클라이언트 억세스가 제한될 때 웹 데이터의 오프-피크 캐싱을 향상시키는 것이다.
본 발명의 또 다른 목적은 웹 클라이언트와 하나 또는 그 이상의 웹 서버 사이의 링크가 시간-제한된 오프-피크 브라우징 세션 동안에 그 최대 대역폭으로 이용되도록 보장하는 것이다.
본 발명의 또 다른 중요한 목적은 사용자가 그들이 원하는 다운로드의 상당한 비율을 획득하도록 자동적인 다운로드 세션 동안에 다수의 웹 사이트로부터의 내용의 적당한 캐싱을 제공하는 것이다.
본 발명의 또 다른 목적은 다수의 웹 사이트 각각이 자동적인 다운로드 세션 동안에 내용을 클라이언트로 배달할 기회를 갖게 되도록 보장하는 것이다.
본 발명의 또 다른 목적은 제한된 통신 자원의 효율적인 이용을 위해 오프-라인 브라우징 프로그램의 기능성(functionality)을 개선하는 것이다.
본 발명의 또 다른 목적은 인터넷의 월드 와이드 웹으로부터 웹 데이터의 오프-피크 캐싱 동안에 웹 클라이언트 모뎀의 최대 이용을 보장하는 것이다.
본 발명의 또 다른 목적은 통상적인 텔레비젼에 접속된 데이터 처리 시스템과 같은 웹 클라이언트 어플라이언스에 대한 효율적인 오프-피크 웹 브라우징을 제공하는 것이다.
본 발명의 보다 일반적인 목적은 오프-라인 브라우징 능력을 가진 웹 어플라이언스를 제공하는 것이다.
본 발명의 상기 및 다른 목적은 통신 링크를 통해 월드 와이드 웹에 접속가능한 웹 클라이언트에 배달하기 위해 다수의 웹 서버로부터 웹 내용을 검색하는 방법에서 제공된다. 웹 클라이언트는 저비용 인터넷 억세스를 제공하기 위해 텔레비젼이나 또는 다른 통상적인 모니터에 접속가능한 데이터 처리 시스템이 바람직하다. 이 방법은 사용자로 하여금, 그 내용을 검색하여 캐시에 저장하길 원하는 하나 또는 그 이상의 서버 셋트를 정의하게 하므로써 시작된다. 이들 서버는 바람직하게는 인기 있는 웹 사이트의 리스트에 의해 식별된다. 다음에는, 주어진 다운로드 주기가 종료되었는지 판단하기 위한 검사가 이루어진다. 통상적으로, 이 다운로드 주기는 웹 서버 사이트에서의 트래픽 적체를 피하기 위해 한밤중과 같이 오프 주기 동안에 발생한다. 만일 주어진 다운로드 주기가 종료되지 않았다면, 다음에는 하나 또는 그 이상의 서버로부터 내용이 캐시로 다운로드될 때 통신 링크에 대한 액티비티(activity) 레벨을 판단한다. 만일 통신 링크에 대한 액티비티 레벨이 주어진 임계 레벨 보다 작으면, 다운로드 주기 동안에 가능한 한 많은 사이트로부터 내용이 다운로드되도록 보장한다는 소위 공정성 정책(fairness policy)에 따라 내용에 대한 추가적인 요구가 캐시로 발생되게 된다.
그러므로, 예를 들어 공정성 정책에 따라, 내용에 대한 추가적인 요구는 순차적인 방식으로 한 서버당 하나의 요구씩 하나 또는 그 이상의 서버의 셋트로 발생된다. 대안으로, 내용에 대한 이러한 추가적인 요구는 순차적인 방식으로 한 서버당 최대로 미리 정해진 수의 요구 까지 하나 또는 그 이상의 서버의 셋트로 발생될 수 있다. 또는, 내용에 대한 이러한 추가적인 요구는 특정 서버로부터 캐시에서 수신되는 바이트의 수에 근거하여 하나 또는 그 이상의 서버의 셋트로 발생될 수도 있다. 이러한 공정성 정책은 어떠한 하나의 서버도 사용자가 그 내용을 다운로드 받길 원하는 다른 서버를 제외할 정도로 다운로드 세션을 지배하지 않도록 보장한다. 내용(즉, 웹 문서)이 특정 서버로부터 수신되면, 그것은 오프-라인 브라우징을 위해 캐시에 저장된다. 저장에 앞서, 루틴은, 그 동일한 문서에 대한 후속 억세스 요구가 보다 편리하게 처리되도록 중복 및/또는 비-로컬 HTML 링크를 제거하는 것이 바람직하다.
본 발명의 다른 특징에 따르면, 저비용 인터넷 억세스를 용이하게 하기 위해 데이터 처리 시스템이 제공된다. 이 시스템은 2개의 주요 부분, 즉 원격 제어 유니트와, 이 원격 제어 유니트의 제어하에 인터넷 억세스를 제공하기 위해 모니터에 접속될 수 있는 기본(base) 유니트를 포함한다. 이 기본 유니트는 실제적으로는 컴퓨터이며, 통신 링크에 접속된 모뎀, 프로세서, 메모리, 및 여러 가지 내장된 제어 프로그램을 포함한다. 이들 제어 프로그램은 원격 제어 유니트로부터의 명령에 응답하여 웹 사이트의 리스트를 생성하기 위한 수단을 포함하는 브라우저 프로그램과, 웹 사이트의 리스트에 근거하여 다운로드 요구를 통신 링크로 개시하기 위한 캐시 제어 프로그램을 포함한다. 최적화 루틴은 공정성 정책에 근거하여 캐시 제어 프로그램으로 복수의 HTTP GET 요구를 발생하므로써 다운로드 세션 동안에 모뎀의 최대 이용도를 유지한다.
전술한 것은 본 발명의 보다 적절한 목적 및 특징의 일부에 대해 약술한 것이다. 이들 목적은 단지 본 발명의 보다 현저한 특징 및 응용의 일부를 예시한 것으로 해석되어야 한다. 여기에 개시된 본 발명을 다른 방식으로 적용하고, 후술되는 본 발명을 수정하므로써 다른 유익한 많은 결과가 얻어질 수 있다. 따라서, 다음의 양호한 실시예의 상세한 설명을 참조하므로써 본 발명이 보다 완전하게 이해될 수 있다.
도1a는 웹 어플라이언스를 형성하기 위해 종래의 텔레비젼 셋트에 접속된 데이터 처리 시스템 유니트를 도시한 도면.
도1b는 본 발명의 데이터 처리 시스템 유니트의 전면 패널을 도시한 도면.
도1c는 데이터 처리 시스템 유니트의 후면 패널을 도시한 도면.
도1d는 본 발명의 데이터 처리 시스템 유니트와 관련된 원격 제어 유니트를 도시한 도면.
도2는 본 발명의 한 양호한 실시예에 따른 데이터 처리 시스템 유니트의 주요 구성요소의 블록도.
도3은 인터넷의 월드 와이드 웹을 브라우징한 결과로서 사용자에 의해 생성된 대표적인 인기있는 리스트를 도시한 도면.
도4는 도3의 인기있는 리스트에 대한 대표적인 서버 URL 큐 리스트를 도시한 도면.
도5는 오프-피크 캐싱 세션 동안에 통신 링크 액티비티를 최적화하기 위한 본 발명의 양호한 방법의 흐름도.
도6은 URL 요구에 응답하여 수신된 각각의 웹 문서에 대해 실행되는 프로세스 응답 루틴의 흐름도.
도7은 대표적인 웹 서버 플랫폼 또는 웹 사이트의 블록도.
도8은 여기에서 기술되는 웹 어플라이언스와 같은 인터넷 클라이언트로부터의 요구의 수신에 응답하여 웹 서버에 의해 실행되는 방법의 흐름도.
* 도면의 주요 부분에 대한 부호의 설명
202:마더 보드 204:프로세서
206:메모리 208:시스템 버스
210:비디오/TV 변환기 212:키보드/원격 제어 인터페이스 유니트
214:제어기 216:커넥터/인디케이터
218:전원 공급장치 220:하드 드라이브
222:모뎀 224:스피커
225:캐시 제어기 프로그램 229:링크 모니터
본 발명 및 그 장점의 보다 완전한 이해를 위해, 첨부 도면과 함께하는 다음의 상세한 설명에 대한 참조가 이루어져야 한다.
이제 도면, 특히 도1a 내지 도1d를 참조하면, 본 발명의 양호한 실시예가 구현될 수 있는 데니터 처리 시스템이 다양하게 도시되어 있다. 도1a는 데이터 처리 시스템을 전체적으로 도시하고 있다. 도시된 예에서 데이터 처리 시스템(100)은 사용자에게 최소의 경제적인 하드웨어 비용으로, 인터넷에 대한 억세스를 제공한다. 이 데이터 처리 시스템(100)은 데이터 처리 유니트(102)를 포함한다. 이 데이터 처리 유니트(102)는 바람직하게도, 통상적인 엔터테인먼트 센터에 적합한 크기로 되고, 사용자가 인터넷을 브라우즈(browse) 할 수 있도록 하기 위해 통상적으로 개인용 컴퓨터에 존재하는 모든 필요한 기능을 제공한다. 또한, 이 데이터 처리 유니트(102)는 응답 머신으로서 작용하거나 팩시밀리 전송을 수신하는 것과 같은 다른 일반적인 기능을 제공할 수도 있다.
데이터 처리 유니트(102)는 그래픽 정보를 디스플레이하기 위한 텔레비젼(104)에 접속된다. 텔레비젼(104)은 어떤 적절한 텔레비젼이 될 수도 있지만, S-Video 입력을 가진 칼라 텔레비젼이 그래픽 정보의 보다 양호한 표현을 제공하게 된다. 데이터 처리 유니트(102)는 표준 동축 케이블 접속을 통해 텔레비젼(104)에 접속된다. 원격 제어 유니트(106)는 사용자가 데이터 처리 유니트(102)와 대화하고 제어할 수 있도록 한다. 이 원격 제어 유니트(106)는 바람직하게는 간섭을 피하기 위해 정상적인 텔레비젼, 스테레오, 및 VCR 적외선 원격 제어 주파수와는 다른 주파수로 변조된 적외선(IR) 신호를 방사한다. 원격 제어 유니트(106)는, 디스플레이상의 커서 및 선택 항목을 이동시키는 능력을 포함하여, 통상적인 개인용 컴퓨터에서 (마우스, 글라이드포인트(glidepoint), 트랙볼(trackball) 등과 같은) 포인팅 장치의 기능을 제공한다.
도1b는 본 발명의 한 양호한 실시예에 따른 데이터 처리 유니트(102)의 전면 패널(front panel)을 도시하는 도면이다. 이 전면 패널은 원격 제어 유니트(106)로부터 신호를 수신하고, 적외선 신호를 송신하기 위한 적외선 윈도우(108)를 포함한다. 데이터 처리 유니트(102)는 물체 또는 표면에서 반사되는 적외선 신호를 송신할 수도 있으며, 이로 인해 데이터 처리 유니트(102)는 텔레비젼(104) 및 다른 적외선 원격 제어 장치를 자동적으로 제어할 수 있게 된다. 볼륨 제어장치(110)는 데이터 처리 유니트(102)나 텔레비젼(104)내의 스피커로부터 발산되는 사운드 레벨을 조정할 수 있도록 한다. 다수의 발광 다이오드(LED) 인디케이터(112)는 데이터 처리 유니트(102)가 온 상태에 있을 때, 사용자가 메시지를 갖고 있는지, 모뎀/전화 라인이 사용중에 있는지, 또는 데이터 처리 유니트(102)가 서비스를 필요로하는지에 관한 표시를 사용자에게 제공한다.
도1c는 본 발명의 양호한 실시예에 따른 데이터 처리 유니트(102)의 후면(rear) 패널을 도시하는 도면이다. 3선(접지 포함) 절연 전원 코드(114)가 후면 패널을 통해 통과한다. 후면 패널상의 표준 텔레비젼 잭(116,118)은 전화 라인으로부터 입력을 모뎀에 제공하고 출력을 핸드셋(도시 안됨)에 제공한다. 이 후면 패널은 또한, 표준 컴퓨터 키보드 접속부(120), 마우스 포트(122), 컴퓨터 모니터 포트(124), 프린터 포트(126) 및 부가적인 직렬 포트(128)를 제공한다. 이러한 접속부는 데이터 처리 유니트(102)가 통상적인 개인용 컴퓨터의 방식으로 동작하도록 하기 위해 사용될 수 있다. 후면 패널상의 게임 포트(130)는 조이스틱 또는 다른 게임 제어 장치(글로브, 등)를 위한 접속을 제공한다. 적외선 연장 잭(132)은 케이블로 연결된 적외선 LED가 적외선 신호를 송신하기 위해 이용될 수 있도록 한다. 마이크로폰 잭(134)은 외부 마이크로폰이 데이터 처리 유니트(102)에 접속될 수 있도록 허용한다.
표준 동축 케이블 커넥터인 비디오 접속부(136)는 텔레비젼(104) 또는 비디오 카세트 레코더(도시 안됨)의 비디오-입력 단자에 접속된다. 좌우 오디오 잭(138)은 텔레비젼(104)상의 대응하는 오디오-입력 커넥터나 또는 스테레오(도시 안됨)에 접속된다. 만일 사용자가 S-Video 입력을 갖고 있으면, 복합(composite) 신호 보다 양호한 화상을 제공하도록 텔레비젼(104)에 연결하기 위해 S-Video 접속부(140)가 사용될 수 있다. 만일 텔레비젼(104)이 비디오 입력부를 갖고 있지 않으면, 안테나 접속과 일렬로 외부 채널 3/4 변조기(도시 안됨)가 접속될 수도 있다.
도1d는 본 발명의 양호한 실시예에 따른 원격 제어 유니트(106)를 도시하는 도면이다. 표준 전화 키패드와 마찬가지로, 원격 제어 유니트(106)도 아라비아 숫자 0 내지 9, 애스터리스크(asterisk) 또는 별표(*), 및 파운드 기호(#)를 위한 버튼(142)을 포함한다. 원격 제어 유니트는 또한, 텔레비젼 방송을 선택적으로 시청하기 위한 TV 버튼(144)과, 인터넷의 브라우징을 개시하기 위한 Web 버튼(146)을 포함하고 있다. Web 버튼(146)을 누름으로써, 데이터 처리 유니트(102)는 사용자의 인터넷 서비스 제공자의 모뎀 다이얼호출(dial-up)을 개시하고, 인터넷 브라우저를 위한 시작(start-up) 스크린을 디스플레이하게 된다. 브라우저는 뷰어로 하여금 사용자가 다시 찾아보길 원하는 웹 사이트에 대한 균일 자원 로케이터(URL)를 기록할 수 있도록 하는 인기 사이트 또는 북마크 기능을 포함한다.
트랙포인트 또는 버튼 포인팅 장치가 바람직한 포인팅 장치(147)는 원격 제어 유니트(106)에 포함되어 있으며, 사용자로 하여금 텔레비젼(104)의 디스플레이상의 커서를 조작할 수 있도록 한다. Go 버튼(148) 및 Back 버튼(150)은 각각 사용자로 하여금 옵션을 선택하거나 또는 이전의 선택으로 복귀할 수 있도록 한다. Help 버튼(151)은 문맥-감지 도움말(context-sensitive help)이 디스플레이되거나 제공되도록 한다. Menu 버튼(152)은 옵션의 문맥-감지 메뉴가 디스플레이되도록하고, Update 버튼(153)은 사용자 입력에 기반하여 디스플레이되는 옵션을 갱신하고, Home 버튼(154)은 사용자가 옵션의 디폴트 디스플레이로 복귀할 수 있도록 한다. 이들 옵션중 하나는 인기 사이트 또는 북마크 리스트이다. 도3에는 대표적인 리스트가 텔레비젼 스크린상의 풀-다운 메뉴(155)로서 도시되어 있다. PgUp 및 PgDn 버튼(156, 158)은 사용자로 하여금 스크롤링(scrolling)에 의하지 않고 디스플레이-크기의 블록내에서 디스플레이의 문맥을 변경할 수 있도록 한다. 메시지 버튼(160)은 사용자가 메시지를 검색할 수 있도록 한다.
원격 제어 유니트(106)에 부가하여, 또는 그 대신에, 데이터 처리 유니트(102)를 제어하기 위해 내부 포인팅 장치를 가진 적외선 키보드(도시 안됨)가 사용될 수도 있다. 내부 포인팅 장치는 트랙포인트 또는 버튼 형태의 포인팅 장치가 바람직하다. 또한, 키보드 접속부(120)를 통해 유선(wired) 키보드(도시 안됨)가 사용될 수도 있고, 마우스 포트(122)를 통해 마우스나 트랙볼과 같은 유선 포인팅 장치가 사용될 수도 있다. 사용자가 하나 또는 그 이상의 원격 제어 유니트(106), 적외선 키보드, 유선 키보드 및/또는 동작가능한 유선 포인팅 장치를 갖고 있다면, 활성상태의(active) 장치는 규정된 비활성 주기가 지나갈 때 까지 모든 다른 장치를 폐쇄(lock out) 시킨다.
이제, 도2를 참조하면, 본 발명의 양호한 실시예에 따른 데이터 처리 유니트(102)의 주요 구성요소의 블록도가 도시되어 있다. 종래의 개인용 컴퓨터에서와 같이, 데이터 처리 유니트(102)는 시스템 버스(280)에 접속된 프로세서(204) 및 메모리(206)를 구비하는 마더보드(202)를 포함한다. 프로세서(205)는 100 MHz 또는 그 이상으로 동작하는 적어도 486급 프로세서가 바람직하다. 메모리(206)는 캐시 메모리 및/또는 비디오 램(RAM)을 포함할 수도 있다. 프로세서(205), 메모리(206) 및 시스템 버스(208)는 종래의 데이터 처리 시스템내의 대응하는 구성요소와 동일한 방식으로 동작한다.
마더보드(202)에 위치하고 시스템 버스(208)에 접속된 비디오/TV 변환기(210)는 컴퓨터 모니터를 위한 컴퓨터 비디오 신호, 복합 텔레비젼 신호, 및 S-Video 신호를 발생한다. 이 비디오/TV 변환기(210)의 기능은 Analog Device AD722 변환기 칩과 함께 Trident TVG9685 비디오 칩을 이용하여 실현될 수도 있다. 비디오/TV 변환기(210)는 특수 운영체제 장치 드라이버의 적재를 필요로할 수도 있다.
마더보드(202)상의 키보드/원격 제어 인터페이스 유니트(212)는, 유선 키보드/포인팅 장치 또는 적외선 키보드/원격 제어장치가 사용되는 것에 관계없이, 제어기(214)를 통해 키보드 코드를 수신한다. 적외선 원격 제어 유니트(106)는 종래의 마우스 또는 포인팅 장치 이동에 의해 발생되는 제어 신호와 같이 궁극적으로 직렬 포트로 전송되는 신호를 송신한다. 원격 제어 유니트(106)상의 2개의 버튼은 종래의 마우스상의 2개의 버튼과 동일하게 해석되지만, 잔여 버튼은 적외선 키보드상의 키스트로크(keystrokes)에 대응하는 신호를 전송한다. 따라서, 원격 제어 유니트(106)는 적외선 키보드에 의해 제공되는 부분셋트의 기능을 갖고 있다.
마더보드(202)상의 커넥터/인디케이터(216)는 전술한 데이터 처리 유니트(102)상의 접속부 및 인디케이터의 일부를 제공한다. 다른 접속부는 다른 구성요소와 관련되어 찾아볼 수 있다. 예를 들어, 전화 잭(116, 118)은 모뎀(222)상에 배치되어 있다. 커넥터/인디케이터(216)내의 전원 인디케이터는 제어기(214)에 의해 제어된다.
도시된 예에서 마더보드(202) 외부에는, 전원 공급장치(218), 하드 드라이브(220), 모뎀(222) 및 스피커(224)가 있다. 전원 공급장치(218)는, 그것이 마더보드(202)와 하드 드라이브(220) 및 모뎀(222)으로의 모든 전원의 차단(shut down)을 수행하는 제어기(214)로부터의 제어 신호를 수신한다는 것 이외에는 종래의 전원 공급장치와 동일하다. 소정의 복구(recovery) 상황에서, 전원을 제거하고 재부팅하는 것은 이들 모든 장치를 공지된 상태로 리셋트하는 유일한 보장된 방법이다. 그러므로, 전원 공급장치(218)는 제어기(214)로부터의 신호에 응답하여, 데이터 처리 유니트(102)의 전원을 다운시키고 재시작시킬 수 있다.
제어기(214)는 하나 또는 그 이상의 805x 족 제어기가 바람직하다. 이 제어기(214)는 적외선 원격 제어장치(106), 적외선 키보드, 유선 키보드 및 유선 마우스로부터 입력을 수신하여 처리한다. 하나의 키보드 또는 포인팅 장치가 사용될 때, 모든 다른 장치는 규정된 주기 동안 활성상태에 있는 것이 없게 될 때 까지 폐쇄(무시)된다. 이때, 활성상태로 되는 첫 번째 키보드 또는 포인팅 장치는 모든 다른 장치를 폐쇄시킨다. 제어기(214)는 또한, 모뎀 사용을 표시하는 것을 제외하고 모든 LED 인디케이터를 직접 제어한다. 고장 복구 시스템의 일부로서, 제어기(214)는 소정의 전원 오프-온 사이클 동안에 부트 섹터 선택을 지정한다.
하드 드라이브(220)는 데이터 처리 유니트(102)를 위한 운영체제 및 애플리케이션 소프트웨어를 포함하는데, 이러한 소프트웨어로는, 미국 뉴욕 아몬크 소재의 IBM 사의 제품인 IBM DOS 7.0; 미국 워싱턴 레드몬드 소재의 마이크로소프트사의 제품인 Window 3.1(또는 그 이상)과 같은 운영체제; 및 미국 캘리포니아 마운틴 뷰 소재의 넷스케이프 통신사의 Netscape Navigator(버젼 1.0 또는 그 이상)가 바람직하다. 데이터 처리 유니트(102)의 성능을 최적화하기 위해 이들 소프트웨어 패키지의 미소한 수정이 요구될 수도 있다. 또한, 인터넷을 통해 새로운 코드 버전을 다운로드하므로써 이들 오프-더-쉘프(off-the-shelf) 프로그램 중에서 하나 또는 그 이상의 프로그램 뿐만 아니라 본 발명에 의해 사용되는 다른 소프트웨어를 갱신하는 것이 매우 바람직할 수 있다. 웹 어플라이언스는 이와 같은 다운로딩을 용이하게 하기 위해 적절한 제어 소프트웨어를 포함한다. 하드 드라이브(220)는 또한, 인기있는 인터넷 사이트의 리스트나 또는 하나 또는 그 이상의 인터넷 사이트로부터의 검토하지 않은 다운로드와 같은 데이터를 저장한다. 프로세서에 의해 실행되는 캐시 제어기 프로그램(225)은 후술되는 바와 같이 이들 다운로드를 운영하고 관리하기 위해 사용된다.
모뎀(222)은 종래의 데이터 처리 시스템에 사용되는 어떠한 적절한 모뎀이 될 수도 있지만, V.42bis, V.34, V.17 Fax, MNP 1-5, 및 AT 명령어 셋트를 지원하는 33.6 kbps 모뎀이 바람직하다. 데이터 처리 시스템(102)의 높이를 슬림형으로 유지하기 위해, 모뎀(222)은 마더보드(202)상에서 옆으로 장착되는 슬롯에 삽입되는 것이 바람직하다. 이 모뎀(222)은 인터넷(도시 안됨)의 월드 와이드 웹에 접속되거나 또는 접속될 수 있는 물리적 통신 링크(227)에 접속된다. 잘 알려진 바와 같이, 월드 와이드 웹은 인터넷의 멀티미디어 정보 검색 시스템이다. 하이퍼텍스트 전송 프로토콜(HTTP)은 하이퍼텍스트 마크업 언어(HTML)를 이용하여 파일에 대한 사용자 억세스를 제공한다. 링크 액티비티 모니터(229)는 주어진 시점에서 통신 링크(227)가 이용되고 있는 한도(extent)를 판단한다. 링크 액티비티 모니터는 하드웨어-기반 제어기가 될 수도 있으며, 또는 프로세서에 의해 실행되는 소프트웨어 애플리케이션이될 수도 있다.
때때로 웹 사이트로서도 언급되는 웹 서버는 균일 자원 로케이터를 통해 억세스 가능한 디렉토리 및 파일내의 하이퍼텍스트 문서를 지원한다. 통상적으로, 특정 웹 사이트에서 이용할 수 있는 하이퍼텍스트 문서는 동일한 도메인(domain) (예, www.domainname.com)의 일부로서 간주된다. 도메인에 국부적인(local) 페이지는 통상적으로, 예를 들어, www.domainname.com/path/html1 과 같이, 도메인내의 경로 및/또는 파일명에 대한 레퍼런스가 되는 상대(relative) 링크에 의해 식별된다. 도7에는 대표적인 웹 서버가 도시되어 있다.
이 기술 분야에 통상의 지식을 가진 자는 전술한 도1a-1d 및 도2에 도시된 구성요소는 특정 애플리케이션 또는 실시예에 따라 변형될 수도 있다는 것을 인식할 것이다. 본 발명이 구현될 수도 있는 이러한 변형은 본 발명의 사상 및 범위내에 속한 것으로 간주된다.
데이터 처리 시스템의 사용자가 오프-라인 방식으로 웹을 브라우즈하도록 하는 것이 바람직하다. 이 기능은 캐시 제어기(225)에 의해 제공된다. 캐시 제어기는 전용(dedicated) 하드웨어의 일부가 될 수 있으며, 또는 프로세서에 의해 실행되는 애플리케이션 프로그램의 일부가 될 수도 있다. 본 발명의 양호한 실시예에서, 캐시 제어기(225)는 인터넷 다운로드를 통해 업그레이드할 수 있는 소프트웨어 프로그램으로서 구현된다.
전술한 바와 같이, 하나 또는 그 이상의 온-라인 브라우징 세션 동안에, 뷰어는 그들이 다시 찾아보길 원하는 인기 있는 또는 북마크 웹 사이트의 리스트를 컴파일할 수 있다. 이 리스트의 전부 또는 일부가 이와 같은 사이트의 내용이 다운로드되어, 바람직하게는 오프-라인 으로 나중에 검토하기 위해 하드 드라이브의 전용 캐시에 저장되도록 오프-라인 억세스를 위해 지정될 수도 있다. 따라서, 캐시 제어기 프로그램은, (예를 들어, 어플라이언스의 참여가 적은 야간에) 자동적으로 인터넷 사이트에 다어얼 호출하여 접속하도록 모뎀(222)을 제어하기 위한 제어 엔진(231)(바람직하게는, 프로세서에 의해 실행되는 소프트웨어로 구현됨)을 포함한다. 도4에서 알 수 있는 바와 같이, 각각의 인기 있는 웹 사이트는 서버 URL 큐(235)와 연관되어 있다. 서버 URL 큐(235)는 웹 사이트의 URL 뿐만 아니라 페이지로부터 스펀된(spawned)(즉, 페이지내에 위치된) 하나 또는 그 이상의 HTML 링크를 식별하는 데이터 구조(structure) 이다. 바람직하게는, 서버 URL 큐(235)는 단지 상대 링크만을 포함하는데, 본 발명이 이것에 제한되는 것은 아니다. 또한, 비록 큐(235)가 메모리(206)의 전용 부분으로서 도시되어 있지만, 이것은 요구조건은 아니며, 그 이유는 큐는 링크된 리스트 또는 어떤 다른 편리한 데이터 구조가 될 수도 있기 때문이다.
본 발명의 대표적인 실시예에서, 사용자는 엔진이 인터넷 사이트 내용을 캐시하게 되는 시간 주기를 설정하는 능력을 갖고 있지 않는데, 오히려 이 시간 주기는 네트워크 서비스 제공자에 의해 미리 결정된다. 일반적으로, 이 시간 주기는 에를 들어 매일 밤 한 시간씩 제한되게 된다. 따라서, 본 발명에 따르면, 캐시 제어기 프로그램(225)은 또한, 인터넷 사이트가 하드 드라이브(220)로 캐시될 수 있는 제한된 시간 주기 동안에 모뎀(222)이 그 최대 용량으로 이용되도록 보장하기 위한 최적화 루틴을 포함한다. 또한, 이 최적화 루틴은 서버 URL 큐에 의해 식별된 내용이 다운로드 주기 동안에 공정하게 캐시되도록 보장하기 위한 로드 밸런싱(load balancing) 기능을 포함한다. 알 수 있는 바와 같이, 이러한 본 발명의 특징은 뷰어가 그들이 원하는 다운로드의 상당한 비율을 얻을 수 있도록 한다.
이제 도5의 흐름도를 참조하여 최적화 루틴에 대해 설명되게 된다. 이 루틴의 기본적인 처리는 단계(250)에서 시작되어, 프로세스를 종료할 시간이 되었는지, 즉 예정된 다운로드 주기가 만료되었는지 판단하기 위해 검사한다. 전술한 바와 같이, 본 발명의 실시예에서, 이 다운로드 주기는 1 시간 이지만, 다른 시간 주기도 역시 사용될 수 있다는 것을 이해해야 된다. 이 주기는 또한, 원하는 경우에 선택적으로 조정될 수도 있지만, 통상적으로 사용자에 의해서는 조정되지 않는다. 만일 단계(250)에서의 검사 결과가 긍정이면, 기본 처리 루틴은 단계(252)에서 완료된다. 만일 보다 많은 시간이 이용가능하면, 루틴은 단계(254)에서 계속되어, 모뎀(222)이 접속된 통신 링크(227)상의 액티비티를 질의한다. 단계(254)에서는, 링크 액티비티 모니터(229)로부터 정보를 수신하므로써, (루틴의) 최종 반복주기(iteration) 또는 사이클 이래로 얼마나 많은 대역폭(bandwidth)이 사용되고 있는지 판단한다. 다음에, 루틴은 단계(256)에서 계속되어, 측정된 링크 액티비티가 소정의 피크 이용 기준(peak usage criteria)에 부합하는지 검사하게 된다.
전술한 바와 같이, 본 발명은 다운로드 주기 동안에 캐시로의 다운로드 처리능력을 최대화하기 위한 목적을 갖고 있다. 피크 이용 기준은 일반적으로, 통신 링크, 모뎀 형태 또는 미리 정해지거나 정의될 수도 있는 다른 기준에 의존한다. 그러므로, 예를 들어 피크 이용 기준은, 0-100% 사이의 소정의 미리 설정된 한계를 초과하는, 모니터링되는 간격 동안의 평균 링크 이용도에 의해 정의될 수 있다. 또는 피크 이용 기준은 캐시 관리자(manager)로부터 네트워크로 발생된 미해결 HTTP GET 요구의 수에 대한 소정의 미리 정의된 한계를 기반으로할 수도 있다. 주어진 HTTP GET 요구는 주어진 웹 사이트로부터 내용의 다운로드를 요구하기 위해 사용된다. 따라서, 예를 들어 피크 이용 기준은 N 보다 적지 않은 총 미해결 HTTP GET 요구를 포함하고, M 보다 많지 않은 총 미해결 GET 요구(여기서, M>N)를 포함하고, 하는 등으로 정의될 수 있다. 본 발명에 따르면, 단계(256)의 비교시 어떤 편리한 피크 이용 기준도 사용될 수 있다.
만일 링크 액티비티가 피크 이용 기준에 부합하면, 모뎀(222)은 그 최대 용량으로 사용되게 된다. 결과적으로, 단계(256)에서의 검사 결과는 긍정이되고, 루틴은 지연으로서 표시된 단계(258)로 되돌아 간다. 이 박스는 더 이상의 내용 요구가 제출되지 않았다는 것을 반영하는 것이다. 다음에, 루틴은 전술한 바와 같이 단계(250)로 복귀한다.
그러나 만일, 링크 액티비티가 피크 이용 기준에 부합하지 않으면, 실제적으로 모뎀은 그 최대 용량으로 사용되고 있지 않은 것이다. 이것은 단계(256)에서의 검사의 부정적인 결과가 된다. 결과적으로, 루틴은 단계(260)로 계속되어, 서버 URL 큐로부터 다른 URL을 획득하게 된다. 이것이 실현되는 특정 방법은 후술되게 되지만, 본 발명은 서버 URL 큐(235)에 의해 식별된 내용이 세션 동안에 공정하게 캐시되도록 보장하는 로드 밸런싱 기능을 제공한다는 것을 이해할 것이다. 단계(262)에서는, 큐로부터 URL이 획득되었는지 판단하기 위한 검사가 이루어 진다. 만일 획득되지 않았으면, 루틴은 단계(263)로 계속되어, 총 미해결 요구가 0 보다 큰지 검사하게 된다. 만일 단계(263)에서의 검사 결과가 긍정이면, 루틴은 지연 경로(258)로 복귀한다. 만일 단계(263)에서의 검사 결과가 더 이상의 미해결 요구가 존재하지 않는다는 것을 의미하는 부정이면, 루틴은 실행이 완료되어 종료된다. 이 결과는 예를 들어, 어떤 서버 URL 큐상에도 더 이상 서비스되지 않은 URL이 존재하지 않은 경우에 발생하게 된다. 만일 단계(260)에서 URL이 획득되었으면, 단계(262)에서의 검사 결과는 긍정이되고, 루틴은 단계(264)로 계속되어, URL 요구를 캐시 제어기로 제출하게 된다. 비록 본 명세서에서 상세하게 설명되지는 않지만, 캐시 제어기는 다음에, 다운로드 프로세스를 개시하기 위해 공지된 방식으로 요구를 처리하게 된다는 것을 이해할 것이다. 다음에, 루틴은 단계(266)에서 계속되어, 미해결 요구의 수에 대한 카운트를 증가시킨다. 이 수는 전체 세션 동안의 총계가 되거나, 하나의 서버 URL 큐에 대한 카운트가 될 수도 있으며, 또는 둘 다 해당될 수도 있다. 단계(266)에서, 루틴은 다시 지연 루프를 통해 복귀하여, 단계(250)에서의 검사 결과가 다운로드 세션이 완료되었다는 것을 나타내게될 때 까지 재순환된다.
도5에 도시된 흐름도는 단지 처리 흐름의 대표적인 것이라는 것을 이해해야 된다. 도시된 정밀한 시퀀스 흐름은 제한적인 것을 의미하는 것은 아니다. 그러므로, 예를 들어 (단계 260에 도시된) URL을 획득하는 단계가 링크 액티비티를 질의하기(단계 254) 이전에 수행될 수 있다.
본 발명의 한 특징에 따르면, 사용자가 제한된 다운로드 주기 동안에 가능한 한 넓은 범위의 내용을 획득하도록 인기 있는 웹 사이트로부터의 내용 다운로드의 로드 밸런싱이 이루는 것이 요구된다. 결과적으로, (오프-피크 시간에도) 지체되거나 비지상태인 웹 서버도 다운로딩 프로세스에 불리하게 영향을 미치지 않는다. 이것은 다운로드 프로세스 동안에 소위 공정성 정책을 구현하므로써 실현된다. 본 발명의 양호한 실시예에서, 이것은 인기 있는 리스트상의 각각의 서버가 캐싱 세션 동안에 그 내용을 클라이언트로 배달할 기회를 갖는다는 것을 의미한다. 특히, 이 목적을 위해, 하나 또는 그 이상의 서버 URL 큐(235)에 의해 식별된 내용의 공정한 캐싱을 실현하도록 설계된 소정의 정책이 구현된다. 특정 정책은 라운드 로빈 정책 만큼 단순할 수도 있는데, 이런 정책에서는 특정 큐내의 상대 링크의 수에 관계 없이 각각의 서버 URL 큐로부터 (선입 선출 방식으로) 특정 URL이 선택된다. 따라서, 예를 들어 전술한 단계(260)의 제1 반복주기 동안에는, 제1 서버 URL 큐로부터 제1 URL이 선택된다. 그 다음 반복주기에서는 제2 서버 URL 큐로부터 제1 URL이 선택되고, 그렇게 계속된다. 대안으로, 정책이 특정 서버 URL 큐에서 시작될 수도 있는데, 이때에는 다른 서버에 대한 요구가 사용되기 전에 한 서버당 미해결 요구의 수를 제한하게 된다. 본 예에서, 공정성 정책은 한 서버당 결코 X 보다 많지 않은 미해결 요구가 사용되게 된다는 것을 규정하게 된다. 그러므로, 제2 서버 URL 큐로부터의 URL을 사용하기 전에 제1 서버 URL 큐로부터 (홈 페이지 및 X-1개의 상대 링크를 포함하는) 제1 X개의 URL이 선택되게 되며, 그렇게 계속된다. 다른 공정성 정책은 특정 서버 URL 큐로부터 발생된 URL 요구의 수에 관계 없이, 특정 서버로부터 수신되는 총 바이트 수에 근거할 수도 있다. 이러한 방식으로, 이 정책은 어떤 특정한 서버로부터 캐시되는 총 바이트 수를 제한 할 수 있다. 공정성을 위한 다른 방법은 특정 서버로부터 검색되는 문서의 링크 깊이(depth)를 제한한다. 링크 깊이 제한은 다수의 내포된 또는 내장된 링크를 가진 페이지 만이 다른 서버를 제외할 정도로 다운로드 프로세스를 불필요하게 바이어스(bias) 하지 않도록 보장하게 된다. 또 다른 방법은 인기 있는 리스트상의 소정의 사이트 형태를 식별하고, 그러한 사이트를 마지막에 서비스하는 것인데, 그 이유는 이들 사이트는 너무 많은 다운로드 사이클을 유지하기 때문이다. 그러므로, 다른 사이트가 다운로드에 참여할 기회를 얻도록 보장하기 위해, 예를 들어 (수천개의 링크를 가진) 디렉토리 사이트는 식별되어 서비스 리스트의 후미에 배치될 수도 있다.
물론, 이 기술분야에 통상의 지식을 가진 자는 전술한 예가 상호 배타적이 아니며 제한하는 것이 아니라는 것을 이해할 것이다. 인기 있는 리스트상의 각각의 서버가 다운로드에 참여할 적어도 한 번의 기회를 갖도록 보장하는 목적을 가진 어떠한 공정성 정책도 본 발명의 범위내에 속한다. 이것은 세션 동안에 실제적으로 클라이언트에 의해 내용이 수신되는지에 관계 없다.
따라서, 전술한 예는 단지 공정성 정책을 구현하기 위해 사용될 수 있는 기준의 형태를 대표하는 것일 뿐이다. 이들 예 중에서 하나 또는 그 이상의 예는 다운로드 세션 동안에 각각의 인기 있는 사이트로부터 캐시되는 내용의 정확한 양의 보다 미세한 조정을 제공하기 위해 조합될 수도 있다. 이러한 로드 밸런싱 방법의 결과로서, 각각의 서버는 그 내용을 다운로드에 참여할 적어도 한 번의 이론적 및 실제적인 기회를 갖게되며, 그러므로, 사용자는 요구한 인기 있는 사이트의 상당한 비율을 획득하게 되며, 특정 내용의 일부는 실제적인 세션 동안에 다운로드되지 않을 수도 있다. 그러나, 이것은 통상적으로는 문제가 되지 않으며, 그 이유는 캐시는 통상적으로, 특정 다운로드 세션 동안에 캐시로 다운되지 않은 특정 내용의 카피(비록 시간적으로 뒤질 수도 있음)를 보유하게 되기 때문이다. 따라서, 뷰어는 인기 있는 사이트의 완전한(complete) 버전을 갖게 되며, 로드 밸런싱 프로세스는 뷰어가 전체 리스트의 보다 넓은 범위를 갖도록 보장한다.
이제 도6을 참조하면, 도5의 단계(264)에서 캐시 관리자에 의해 네트워크로 제출된 각각의 GET 요구에 대해 실행되는 프로세스 응답 루틴의 흐름도가 도시되어 있다. 이 루틴은 단계(270)에서 시작되어, 미해결 요구의 수의 카운트를 증가시키게 되는데, 그 이유는 특정 요구가 서비스를 위해 네트워크로 배달되었기 때문이다. 단계(272)에서는, 문서가 수신되지 않고 특정 요구에 대해 타이머가 만료되었는지 판단하기 위한 검사가 수행된다. 단계(272)에서의 검사에 대한 응답이 부정이면, 문서가 수신된 것이며, 루틴은 단계(274)로 계속되어, 문서 링크를 분석(parse)한다. 비록 제한을 의미하는 것은 아니지만, 이 단계 동안에, 이미 찾아본 적이 있는 복제 URL 또는 링크가 문서로부터 제거되고, 따라서 서버 URL 큐로 다시 복귀되지 않는다. 또한, 비-로컬 링크(예를 들어, .gif 나 .jpeg 파일과 같은 이미지는 제외할 가능성 있음)도 문서로부터 제거된다. 이와 같은 링크의 제거는 문서를 수반하는 그 다음 다운로드 세션 동안에 문서의 보다 효율적인 처리가 실현될 수 있도록 보장한다. 비록 이와 같은 처리가 바람직하지만, 복귀되는 문서에 대해 다른 형태의 지능(intelligent) 처리가 적용될 수도 있다. 그러므로, 예를 들어 이 단계는, 소정의 형태의 스트링에 따르도록 하거나, 문서의 링크 깊이를 제한하거나, 또는 바이트-카운트 제한을 적용하도록 하는 등의 명령을 포함할 수도 있다. 어떻든 간에 특정 형태의 지능 처리에 제한되는 것은 아니며, 본 발명에 따르면, 후속 다운로드 프로세스를 용이하게 하는데 유용할 수 있는 어떠한 기술도 이용될 수 있다. 단계(274) 이후에, 루틴은 완료된다.
만일 단계(272)에서의 검사 결과가 긍정이면, 이것은 원래의 요구에 응답하여 문서가 아직 수신되지 않았다는 것을 나타내며, 따라서 단계(276)로 계속되어, 소정의 횟수 만큼 재시도(retry) 카운트가 실행되었는지 검사하게 된다. 만일 그렇다면, 루틴은 종료된다. 그러나, 만일 그렇지 않다면, 루틴은 단계(278)로 계속되어, 그 요구를 그 특정 서버 URL 큐의 헤드부분으로 재큐잉하고, 이 특정 요구에 대한 재시도 카운터를 증가시킨다. 서버 URL 큐의 헤드부분에 URL 요구를 배치하므로써, 이것은 빠르게 재서비스될 보다 양호한 기회를 갖게 된다(물론, 이것은 구현된 특정 공정성 정책에 의존한다). 단계(278) 이후에 프로세스는 종료된다.
이제 도7을 참조하면, 웹 클라이언트로 다운로드될 내용을 지원하는 대표적인 웹 서버 플랫폼의 블록도가 도시되어 있다. 이 플랫폼은 웹 사이트를 대표한다. 이 플랫폼(312)은, AIX(Advanced Interative Executive Version 4.1 또는 그 이상) 운영체제(320)와, 인터페이스 확장을 지원하는, 넷스케이프 엔터프라이즈 서버 버전 2.0과 같은 웹 서버 프로그램(322)을 실행하는 IBM RISC System/6000 컴퓨터(318)(축소 명령어 셋트의 소위 RISC-기반 워크스테이션)을 포함한다. 이 플랫폼(312)은 또한, 관리 및 운영을 위한 그래픽 사용자 인터페이스(GUI)(324)를 포함한다. 예를 들어,RISC System/6000, 7013 and 7016 POWERstation and POWERserver Hardware Technical Reference, Order No. SA23-2644-00 등의 IBM사의 많은 공보에는 RISC-기반 컴퓨터의 다양한 모델이 설명되어 있다. IBM사에 의해 발간된AIX Operating System Technical Reference, 제1판(1985년 11월) 및 다른 공보에는 AIX OS에 대해 설명되어 있다. 비록 전술한 플랫폼이 유용하지만, 어떤 다른 적절한 하드웨어/운영체제/서버 조합이 사용될 수도 있다.
웹 서버는 클라이언트 요구를 수신하고, 응답을 반송한다. 서버(322)의 연산은, 시퀀스의 소정 단계에서 실행하도록 각각 구성된 다수의 서버 애플리케이션 펑션(functions)(SAF)에 의해 관리된다. 도8에 도시된 이 시퀀스는 권한부여 정보 번역(AuthTrans) 단계(330)에서 시작되며, 이 단계 동안에 서버는 클라이언트에 의해 사용자 또는 그룹으로 전송된 권한부여(authorization) 정보를 번역한다. 필요한 경우에, AuthTrans 단계는 실제적인 클라이언트 요구를 얻기 위해 메시지를 디코드할 수도 있다. 명칭 번역(NameTrans) 단계로 불리는 단계(332)에서, 요구와 관련된 URL은 그대로 유지될 수도 있으며, 또는, 시스템-의존 파일 명칭, 방향지정(redirection) URL, 또는 미러 사이트 URL로 번역될 수 있다. 경로 검사(Pathcheck) 단계로 불리는 단계(334)에서, 서버는 주어진 클라이언트가 문서를 검색할 수 있도록 보장하기 위해 결과적인 경로에 대한 여러 가지 검사를 수행한다. 객체 형태 단계(ObjectType)로서도 언급되는 단계(336)에서는, 주어진 문서에 대한 NIME(Multipurpose Internet Mail Extension) 형태 정보(예, text/html, image/gif, 등)가 식별된다. 서비스(Service) 단계로 불리는 단계(338)에서, 웹 서버 루틴은 결과를 클라이언트로 다시 전송하기 위한 내부 서버 펑션을 선택한다. 이 펑션은 (파일을 반송하기 위한) 정상적인 서버 서비스 루틴이나, (주문 문서를 반송하기 위한 프로그램과 같은) 다른 서버 펑션, 또는 CGI 프로그램을 실행할 수 있다. 본 발명은 기본적으로, 서버 펑션이 웹 서버상에 내재하는 CGI 프로그램을 실행하는 상황에 관련하고 있다. Add Log 로 불리는 단계(340)에서는, 트랜잭션에 관한 정보가 기록된다. 에러(Error)로 불리는 단계(342)에서, 서버는 그것이 에러를 만나는 경우에 클라이언트에 응답한다. 이들 연산에 대한 보다 상세한 내용은Netscape Web Server Programming's Guide, 제5장에서 찾아 볼수 있으며, 이것은 본 명세서에 참조로써 병합되어 있다.
그러므로, 웹 서버는 공지된 일련의 서버 애플리케이션 펑션(SAF)을 포함한다. 이들 펑션은 입력으로서 클라이언트 요구 및 서버의 다른 구성 데이터를 취하고, 출력으로서 서버로 응답을 반송한다. 다시 도7을 참조하면, 웹 서버는 또한, 애플리케이션 개발자로 하여금, 일반적으로 플러그-인(plug-ins)으로서 언급되는 소프트웨어 프로그램을 통해 그 코어 기능성(즉, SAF)을 확장 및/또는 개별화(customize)할 수 있도록 하는 확장을 제공하는 애플리케이션 프로그래밍 인터페이스(API)(326)를 포함한다. 본 발명의 개별화 루틴의 양호한 구현중 하나는 데이터 처리 시스템의 프로세서의 메모리에 내재하는 코드 모듈내의 명령어(프로그램 코드) 셋트로서 이루어 진다. 대안으로, 이 루틴은 컴퓨터의 랜덤 억세스 메모리에 내재하는 프로그램 코드가 될 수도 있다. 컴퓨터에 의해 필요로될 때 까지, 이 명령어 셋트는, 다른 컴퓨터 메모리, 즉, 예를 들어 하드 디스크 드라이브나, 또는 (CD ROM에 사용하기 위한) 광 디스크나 (플로피 디스크 드라이브에 사용하기 위한) 플로피 디스크와 같은 교환가능한 메모리에 저장될 수도 있으며, 또는 인터넷이나 다른 컴퓨터 네트워크를 통해 다운로드될 수도 있다. 코드가 전자적인 방식으로 배달될 때, 컴퓨터 프로그램 제품은, 하드 드라이브나 플로피 디스크, 또는 다른 통상적인 기억 매체와 같은 컴퓨터-판독가능 기억 매체의 기판에 저장된(전자 방식으로 배달된) 프로그램 데이터를 포함한다고 말한다. 또한, 비록 전술한 여러 가지 방법은 소프트웨어에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터에서 편리하게 구현될 수 있지만, 이 기술 분야에 통상의 지식을 가진 자는, 이와 같은 방법이 하드웨어나 펌웨어, 또는 필요한 방법 단계를 수행하도록 구성된 보다 특수한 장치에서 실행될 수도 있다는 것을 인식할 것이다.
본 명세서에서 사용되는 바와 같이, 웹 서버는, 인터넷과 같은 컴퓨터 네트워크에 공지된 또는 후에 개발되는 방식으로 직접 또는 간접적으로 접속되거나 접속될 수 있는 어떠한 컴퓨터 및 그 구성요소를 의미하는 것으로 넓게 해석되어야 한다. 웹 클라이언트는, 단독으로 또는 다른 장치의 텔레비젼 셋트와 조합한, 전술한 데이터 처리 시스템이 될 수도 있다. 또한, 용어 웹 서버는, 컴퓨터나, 컴퓨터 플랫폼, 또는 컴퓨터나 플랫폼에의 부속물, 또는 그 구성요소를 의미하는 것으로 넓게 해석되어야 한다.
또한, 비록 본 발명이 특정 환경에서 특정 실시예에 관해 설명되었지만, 이 기술분야에 통상의 지식을 가진 자는, 본 발명이 첨부된 특허청구의 범위의 사상 및 범위를 갖고, 다른 하드웨어 및 운영체제 아키텍쳐에서 수정되어 실시될 수 있다는 것을 인식할 것이다. 그러므로, 예를 들어 본 발명의 개념은 개인용 컴퓨터에서 운영되는 종래의 브라우저 프로그램에 대한 플러그-인으로서 편리하게 구현될 수도 있다. 또한, 바람직한 처리 흐름 및 단계가 변경될 수도 있다. 따라서, 예를 들어, 본 발명의 방식이 시간-제한된 다운로딩 또는 캐싱 세션 동안에 구현되어야할 필요는 없다. 본 최적화 기술은, 각각의 서버가 다운로드에 참여할 기회를 갖고 있는 공정성 정책에 따라 다수의 서버로부터 그 내용을 캐시하길 원하는 어떤 인터넷 클라이언트에도 편리하게 적용될 수 있다.
지금 까지 본 발명이 설명되었지만, 특허증에 의해 보호받길 원하고 새로운 것으로 청구하고 하는 것은 다음의 특허 청구의 범위에 기재되어 있다.
전술한 바와 같은 본 발명에 따르면, 웹 데이터의 오프-피크 캐싱 동안에 웹 어플라이언스와 월드 와이드 웹 서버 사이의 통신 링크의 이용을 최적화할 수 있는 효과가 있다.

Claims (23)

  1. 통신 링크를 통해 월드 와이드 웹에 접속될 수 있는, 캐시를 포함하는 웹 클라이언트에 배달하기 위한 웹 내용을 검색하는 방법에 있어서,
    (a) 그 내용이 검색되어 캐시에 저장되길 원하는 웹 서버 셋트를 정의하는 단계;
    (b) 상기 내용이 서버로부터 캐시로 다운로드될 때 통신 링크에 대한 액티비티 레벨을 판단하는 단계; 및
    (c) 만일 상기 통신 링크에 대한 액티비티 레벨이 임계 레벨 보다 작으면, 상기 서버 셋트의 각각의 서버가 웹 클라이언트로 상기 내용을 배달할 기회를 갖도록 보장하는 정책에 따라 내용에 대한 추가적인 요구를 캐시로 발생하는 단계를 포함하는 웹 내용 검색 방법.
  2. 제1항에 있어서,
    상기 내용은 예정된 시간 주기 동안에 캐시로 다운로드되는 웹 내용 검색 방법.
  3. 제1항에 있어서,
    상기 정책에 따라, 상기 내용에 대한 추가적인 요구는 정해진 순서 대로 하나의 서버당 하나의 요구씩 상기 서버 셋트로 발생되는 웹 내용 검색 방법.
  4. 제1항에 있어서,
    상기 정책에 따라, 상기 내용에 대한 추가적인 요구는 정해진 순서대로 하나의 서버당 예정된 수의 요구까지 상기 서버 셋트로 발생되는 웹 내용 검색 방법.
  5. 제1항에 있어서,
    상기 정책에 따라, 상기 내용에 대한 추가적인 요구는 소정의 파라미터에 근거하여 상기 서버 셋트로 발생되는 웹 내용 검색 방법.
  6. 제5항에 있어서,
    상기 소정의 파라미터는 특정 서버에 위치한 문서의 링크 깊이를 포함하는 웹 내용 검색 방법.
  7. 제5항에 있어서,
    상기 소정의 파라미터는 특정 서버로부터 캐시에서 수신된 바이트의 수를 포함하는 웹 내용 검색 방법.
  8. 제1항에 있어서,
    복제 링크를 제거하기 위해 서버로부터 수신된 상기 내용을 처리하는 단계를 더 포함하는 웹 내용 검색 방법.
  9. 제1항에 있어서,
    비-로컬 링크를 제거하기 위해 서버로부터 수신된 상기 내용을 처리하는 단계를 더 포함하는 웹 내용 검색 방법.
  10. 제1항에 있어서,
    상기 통신 링크의 임계 레벨은 상기 내용에 대한 미해결 요구의 주어진 수가 되는 웹 내용 검색 방법.
  11. 제1항에 있어서,
    상기 통신 링크의 임계 레벨은 주어진 모니터되는 간격 동안의 평균 링크 이용율이 되는 웹 내용 검색 방법.
  12. 통신 링크를 통해 월드 와이드 웹에 접속될 수 있는, 캐시를 포함하는 웹 클라이언트에 배달하기 위한 웹 내용을 검색하는 방법에 있어서,
    (a) 그 내용이 검색되어 캐시에 저장되길 원하는 서버 셋트를 정의하는 단계;
    (b) 주어진 다운로드 주기가 종료되었는지 판단하는 단계;
    (c) 만일 상기 주어진 다운로드 주기가 종료되지 않았으면, 상기 내용이 하나 또는 그 이상의 서버로부터 캐시로 다운로드될 때 통신 링크에 대한 액티비티 레벨을 판단하는 단계; 및
    (d) 만일 상기 통신 링크에 대한 액티비티 레벨이 임계 레벨 보다 작으면, 상기 각각의 서버가 상기 주어진 다운로드 주기 동안에 웹 클라이언트로 내용을 배달할 적어도 한 번의 기회를 갖도록 보장하는 공정성 정책에 따라 상기 내용에 대한 추가적인 요구를 캐시로 발생하는 단계를 포함하는 웹 내용 검색 방법.
  13. 제12항에 있어서,
    상기 주어진 다운로드 주기는 선택가능하도록 되어 있는 웹 내용 검색 방법.
  14. 제12항에 있어서,
    상기 주어진 다운로드 주기는 대략 1 시간이 되는 웹 내용 검색 방법.
  15. 제12항에 있어서,
    상기 공정성 정책에 따라, 상기 내용에 대한 추가적인 요구는 정해진 순서 대로 하나의 서버당 하나의 요구씩 상기 서버로 발생되는 웹 내용 검색 방법.
  16. 제12항에 있어서,
    상기 공정성 정책에 따라, 상기 내용에 대한 추가적인 요구는 정해진 순서 대로 하나의 서버당 예정된 수의 요구까지 상기 서버로 발생되는 웹 내용 검색 방법.
  17. 제12항에 있어서,
    상기 공정성 정책에 따라, 상기 내용에 대한 추가적인 요구는 특정 서버로부터 캐시에서 수신되는 바이트의 수에 근거하여 상기 서버로 발생되는 웹 내용 검색 방법.
  18. 제12항에 있어서,
    복제 링크 및 비-로컬 랑크를 제거하기 위해 서버로부터 수신된 상기 내용을 처리하는 단계를 더 포함하는 웹 내용 검색 방법.
  19. 데이터 처리 시스템에 있어서,
    원격 제어 유니트; 및
    상기 원격 제어 유니트의 제어하에 인터넷 억세스를 제공하기 위해 모니터에 접속될 수 있는 기본 유니트를 포함하고,
    상기 기본 유니트는,
    통신 링크에 접속된 모뎀;
    프로세서;
    메모리;
    상기 프로세서에 의해 실행되며, 상기 원격 제어 유니트로부터의 명령에 응답하여 웹 사이트의 리스트를 생성하기 위한 수단을 포함하는 브라우저 프로그램;
    상기 프로세서에 의해 실행되며, 상기 웹 사이트의 리스트에 근거하여 상기 통신 링크로 다운로드 요구를 개시하기 위한 수단을 포함하는 캐시 제어 프로그램; 및
    상기 프로세서에 의해 실행되며, 상기 리스트상의 각각의 웹 사이트가 주어진 다운로드 세션 동안에 내용을 제공할 기회를 갖도록 보장하기 위해 상기 캐시 제어 프로그램으로 복수의 HTTP GET 요구를 발생하기 위한 수단을 포함하는 정책 제어 프로그램을 포함하는 데이터 처리 시스템.
  20. 통신 링크를 통해 월드 와이드 웹에 접속될 수 있는, 캐시를 포함하는 웹 클라이언트로 배달하기 위한 웹 내용을 검색하기 위한 컴퓨터 프로그램 제품에 있어서,
    기판을 가진 컴퓨터-판독가능 기억 매체; 및
    상기 컴퓨터-판독가능 기억 매체의 기판에 인코드된 프로그램 데이터를 포함하고,
    상기 프로그램 데이터는,
    그 내용이 검색되어 캐시에 저장되길 원하는 서버 셋트를 정의하기 위한 수단;
    상기 내용이 상기 서버로부터 상기 캐시로 다운로드될 때 상기 통신 링크에 대한 액티비티 레벨을 모니터링하기 위한 수단; 및
    상기 모니터링 수단에 응답하여, 상기 각각의 서버가 다운로드 세션 동안에 웹 클라이언트로 내용을 제공할 기회를 갖도록 보장하는 공정성 정책에 따라 내용에 대한 추가적인 요구를 상기 캐시로 발생하기 위한 수단을 포함하는 컴퓨터 프로그램 제품.
  21. 프로세서;
    캐시를 포함하는 메모리;
    통신 링크에 접속된 모뎀;
    월드 와이드 웹 정보 검색을 제공하기 위해 상기 프로세서에 의해 실행되며, 오프-피크 다운로드 세션 동안에 다운로드될 웹 사이트의 리스트를 생성하기 위한 메뉴 수단을 포함하는 웹 브라우저 프로그램;
    상기 프로세서에 의해 실행되어, 상기 웹 사이트의 리스트에 근거하여 상기 통신 링크로 다운로드 요구를 개시하고, 오프-라인 브라우징 동안에 상기 캐시에 저장되는 다운로드를 수신하기 위한 캐시 제어 프로그램; 및
    상기 프로세서에 의해 실행되며, 상기 리스트상의 각각의 웹 사이트가 주어진 다운로드 세션 동안에 내용을 제공할 기회를 갖도록 보장하기 위해 상기 캐시 제어 프로그램으로 복수의 HTTP GET 요구를 발생하기 위한 공정성 정책 제어 프로그램을 포함하는 컴퓨터.
  22. 컴퓨터 시스템에 있어서,
    다수의 웹 사이트; 및
    컴퓨터 네트워크를 통해 상기 다수의 웹 사이트 각각에 접속될 수 있는 적어도 하나의 클라이언트 컴퓨터를 포함하고,
    상기 클라이언트 컴퓨터는,
    프로세서;
    캐시를 포함하는 메모리;
    상기 컴퓨터 네트워크에 접속된 모뎀;
    월드 와이드 웹 정보 검색을 제공하기 위해 상기 프로세서에 의해 실행되며, 오프-피크 다운로드 세션 동안에 다운로드될 웹 사이트의 리스트를 생성하기 위한 메뉴 수단을 포함하는 웹 브라우저 프로그램;
    상기 프로세서에 의해 실행되어, 상기 웹 사이트의 리스트에 근거하여 통신 링크로 다운로드 요구를 개시하고, 오프-라인 브라우징 동안에 상기 캐시에 저장되는 다운로드를 수신하기 위한 캐시 제어 프로그램; 및
    상기 프로세서에 의해 실행되며, 상기 리스트상의 각각의 웹 사이트가 주어진 다운로드 세션 동안에 내용을 제공할 기회를 갖도록 보장하기 위해 상기 캐시 제어 프로그램으로 복수의 HTTP GET 요구를 발생하기 위한 공정성 정책 제어 프로그램을 포함하는 컴퓨터 시스템.
  23. 통신 링크를 통해 월드 와이드 웹에 접속될 수 있는, 캐시를 포함하는 웹 클라이언트로 배달하기 위한 웹 내용을 검색하기 위한 컴퓨터 프로그램 제품에 있어서,
    기판을 가진 컴퓨터-판독가능 기억 매체; 및
    상기 컴퓨터-판독가능 기억 매체의 기판에 저장하기 위해 전자식으로 배달되는 프로그램 데이터를 포함하고,
    상기 프로그램 데이터는,
    그 내용이 검색되어 캐시에 저장되길 원하는 서버 셋트를 정의하기 위한 수단;
    상기 내용이 상기 서버로부터 상기 캐시로 다운로드될 때 상기 통신 링크에 대한 액티비티 레벨을 모니터링하기 위한 수단; 및
    상기 모니터링 수단에 응답하여, 상기 각각의 서버가 다운로드 세션 동안에 웹 클라이언트로 내용을 제공할 기회를 갖도록 보장하는 공정성 정책에 따라 내용에 대한 추가적인 요구를 상기 캐시로 발생하기 위한 수단을 포함하는 컴퓨터 프로그램 제품.
KR1019970057344A 1997-02-10 1997-10-31 웹데이터의오프-피크캐싱을최적화하는방법 KR100286497B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/797,902 US5961602A (en) 1997-02-10 1997-02-10 Method for optimizing off-peak caching of web data
US8/797,902 1997-02-10

Publications (2)

Publication Number Publication Date
KR19980070066A true KR19980070066A (ko) 1998-10-26
KR100286497B1 KR100286497B1 (ko) 2001-04-16

Family

ID=25172061

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970057344A KR100286497B1 (ko) 1997-02-10 1997-10-31 웹데이터의오프-피크캐싱을최적화하는방법

Country Status (6)

Country Link
US (1) US5961602A (ko)
EP (1) EP0876034B1 (ko)
JP (1) JP2986440B2 (ko)
KR (1) KR100286497B1 (ko)
DE (1) DE69837508T2 (ko)
TW (1) TW499640B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100467397B1 (ko) * 2001-10-25 2005-01-24 (주)씨디네트웍스 콘텐츠 능동적 동기화 시스템 및 이 시스템을 이용한인터넷 콘텐츠 전송 네트웍 서비스 방법

Families Citing this family (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6515968B1 (en) 1995-03-17 2003-02-04 Worldcom, Inc. Integrated interface for real time web based viewing of telecommunications network call traffic
US7447738B1 (en) * 1997-03-14 2008-11-04 International Business Machines Corporation Component download selection mechanism for web browsers
US7490169B1 (en) 1997-03-31 2009-02-10 West Corporation Providing a presentation on a network having a plurality of synchronized media types
US6397387B1 (en) * 1997-06-02 2002-05-28 Sony Corporation Client and server system
US7503057B2 (en) * 1997-06-02 2009-03-10 Sony Corporation Client and server system
US7103794B2 (en) 1998-06-08 2006-09-05 Cacheflow, Inc. Network object cache engine
JPH1165916A (ja) * 1997-08-19 1999-03-09 Hitachi Ltd ネットワーク用キャッシュ管理方法
US6473407B1 (en) 1997-09-05 2002-10-29 Worldcom, Inc. Integrated proxy interface for web based alarm management tools
JP3212921B2 (ja) * 1997-09-17 2001-09-25 シャープ株式会社 複合端末機
US6381644B2 (en) 1997-09-26 2002-04-30 Mci Worldcom, Inc. Integrated proxy interface for web based telecommunications network management
US6490620B1 (en) 1997-09-26 2002-12-03 Worldcom, Inc. Integrated proxy interface for web based broadband telecommunications management
US6763376B1 (en) 1997-09-26 2004-07-13 Mci Communications Corporation Integrated customer interface system for communications network management
US6714979B1 (en) 1997-09-26 2004-03-30 Worldcom, Inc. Data warehousing infrastructure for web based reporting tool
US6745229B1 (en) 1997-09-26 2004-06-01 Worldcom, Inc. Web based integrated customer interface for invoice reporting
US6128701A (en) * 1997-10-28 2000-10-03 Cache Flow, Inc. Adaptive and predictive cache refresh policy
US6393526B1 (en) * 1997-10-28 2002-05-21 Cache Plan, Inc. Shared cache parsing and pre-fetch
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
US6327598B1 (en) * 1997-11-24 2001-12-04 International Business Machines Corporation Removing a filled-out form from a non-interactive web browser cache to an interactive web browser cache
US6742030B1 (en) * 1997-11-24 2004-05-25 International Business Machines Corporation Method to keep a persistent trace of weblink use per user
US6769019B2 (en) 1997-12-10 2004-07-27 Xavier Ferguson Method of background downloading of information from a computer network
US7152236B1 (en) * 1998-01-05 2006-12-19 Gateway Inc. Integration of internet sources into an electronic program database list
US6154767A (en) * 1998-01-15 2000-11-28 Microsoft Corporation Methods and apparatus for using attribute transition probability models for pre-fetching resources
US20040254913A1 (en) * 1998-01-30 2004-12-16 David Bernstein System, method and apparatus for navigating and selectively pre-caching data from a heterarchical network of databases
US6314439B1 (en) * 1998-02-06 2001-11-06 International Business Machines Corporation Computer system, program product and method of creating aliases and accessing storage locations in a computer system with same
US6061715A (en) * 1998-04-30 2000-05-09 Xerox Corporation Apparatus and method for loading and reloading HTML pages having cacheable and non-cacheable portions
EP1076871A1 (en) 1998-05-15 2001-02-21 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6457052B1 (en) * 1998-06-23 2002-09-24 At&T Corp Method and apparatus for providing multimedia buffering capabilities based on assignment weights
US6178460B1 (en) * 1998-06-30 2001-01-23 International Business Machines Corporation Method of efficiently retrieving data on a computer network by monitoring performance of mirrored network locations
US6754697B1 (en) * 1998-06-30 2004-06-22 International Business Machines Corporation Method and apparatus for browsing and storing data in a distributed data processing system
US6189033B1 (en) * 1998-07-16 2001-02-13 Hewlett-Packard Company Method and system for providing performance guarantees for a data service system of a data access network system
US8010627B1 (en) * 1998-09-25 2011-08-30 Sprint Communications Company L.P. Virtual content publishing system
US6691165B1 (en) * 1998-11-10 2004-02-10 Rainfinity, Inc. Distributed server cluster for controlling network traffic
BR0004006A (pt) * 1999-01-06 2002-01-29 Robert G Harrison Aplicações com modos de operação múltiplos
GB2356779B (en) * 1999-01-28 2001-12-19 Nec Corp Communication apparatus having a browser web server communication system and communtication method thereof
US6834276B1 (en) * 1999-02-25 2004-12-21 Integrated Data Control, Inc. Database system and method for data acquisition and perusal
US20020013852A1 (en) * 2000-03-03 2002-01-31 Craig Janik System for providing content, management, and interactivity for thin client devices
US7468934B1 (en) * 1999-07-12 2008-12-23 Ez4Media, Inc. Clock with link to the internet
US6801949B1 (en) 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
JP3451981B2 (ja) * 1999-04-30 2003-09-29 日本電気株式会社 インターネットのホームページデータ収集方法
US6633315B1 (en) 1999-05-20 2003-10-14 Microsoft Corporation Context-based dynamic user interface elements
US6567104B1 (en) * 1999-05-20 2003-05-20 Microsoft Corporation Time-based dynamic user interface elements
US6473829B1 (en) 1999-05-28 2002-10-29 International Business Machines Corporation Data storage device providing communication between processing units
US7343412B1 (en) * 1999-06-24 2008-03-11 International Business Machines Corporation Method for maintaining and managing dynamic web pages stored in a system cache and referenced objects cached in other data stores
US6330719B1 (en) 1999-06-30 2001-12-11 Webtv Networks, Inc. Interactive television receiver unit browser that waits to send requests
US6801966B1 (en) 1999-07-06 2004-10-05 Index Systems, Inc. Combined serial and infrared port for consumer electronic devices
EP1197084A2 (en) * 1999-07-06 2002-04-17 Index Systems, Inc. Consumer electronics devices with upgrade capability
US6356937B1 (en) * 1999-07-06 2002-03-12 David Montville Interoperable full-featured web-based and client-side e-mail system
US7987420B1 (en) 1999-09-10 2011-07-26 Ianywhere Solutions, Inc. System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices
US20020052781A1 (en) * 1999-09-10 2002-05-02 Avantgo, Inc. Interactive advertisement mechanism on a mobile device
US20010047394A1 (en) 1999-09-10 2001-11-29 Kloba David D. System, method, and computer program product for executing scripts on mobile devices
US8595308B1 (en) 1999-09-10 2013-11-26 Ianywhere Solutions, Inc. System, method, and computer program product for server side processing in a mobile device environment
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
US7392308B2 (en) * 1999-09-10 2008-06-24 Ianywhere Solutions, Inc. System, method, and computer program product for placement of channels on a mobile device
US6792575B1 (en) 1999-10-21 2004-09-14 Equilibrium Technologies Automated processing and delivery of media to web servers
KR20010101347A (ko) * 1999-11-01 2001-11-14 마츠시타 덴끼 산교 가부시키가이샤 정보전송방법 및 정보전송장치
US6321265B1 (en) * 1999-11-02 2001-11-20 Altavista Company System and method for enforcing politeness while scheduling downloads in a web crawler
US8516146B1 (en) 1999-11-24 2013-08-20 Robert C. Yen Method and system for reduction of delay and bandwidth requirements in internet data transfer
US6904455B1 (en) 1999-11-24 2005-06-07 Robert C. Yen Method and system for providing local content for use in partially satisfying internet data requests from remote servers
US9538386B2 (en) 1999-11-24 2017-01-03 Robert C. Yen Wireless internet access with enhanced bandwidth capabilities
US7222161B2 (en) * 1999-11-24 2007-05-22 Yen Robert C Method and system for facilitating usage of local content at client machine
US7245634B2 (en) 2000-09-27 2007-07-17 Yen Robert C Wireless internet access with enhanced bandwidth capabilities
ES2376646T3 (es) * 1999-12-24 2012-03-15 Koninklijke Philips Electronics N.V. Dispositivo para presentar unidades de información.
US6625594B1 (en) 2000-01-18 2003-09-23 With1Click, Inc. System and method for searching a global communication system using a sub-root domain name agent
US6920110B2 (en) * 2001-02-14 2005-07-19 Microsoft Corporation System and method for transferring data over a network
US7437428B1 (en) * 2000-02-16 2008-10-14 Microsoft Corporation System and method for transferring data over a network
US6714992B1 (en) * 2000-02-25 2004-03-30 Navic Systems, Inc. Method and system for embedded network device installation
US7392281B1 (en) 2000-02-25 2008-06-24 Navic Systems, Inc. System and method for providing guaranteed delivery of messages to embedded devices over a data network
US6845396B1 (en) * 2000-02-25 2005-01-18 Navic Systems, Inc. Method and system for content deployment and activation
US7330824B1 (en) 2000-02-25 2008-02-12 Navic Systems, Inc. Method and system for content profiling and activation
JP3613550B2 (ja) * 2000-03-29 2005-01-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブページ取得サービスシステム、サーバ、ウェブページ取得方法、記憶媒体及びプログラム伝送装置
US20050021862A1 (en) * 2000-03-31 2005-01-27 Dickens Coal Llc Automatic selection of content-delivery provider using link mapping database
US7284232B1 (en) 2000-05-15 2007-10-16 International Business Machines Corporation Automated generation of aliases based on embedded alias information
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
WO2001090912A1 (en) * 2000-05-25 2001-11-29 Qmgn, Inc. Enhanced downloading from a computer network and profiling of a user of a computer network
US20050055426A1 (en) * 2000-06-12 2005-03-10 Kim Smith System, method and computer program product that pre-caches content to provide timely information to a user
US6742033B1 (en) 2000-06-12 2004-05-25 Gateway, Inc. System, method and computer program product that pre-caches content to provide timely information to a user
US7260600B1 (en) * 2000-11-17 2007-08-21 International Business Machines Corporation User specified parallel data fetching for optimized web access
US7047273B2 (en) 2000-11-28 2006-05-16 Navic Systems, Inc. Load balancing in set top cable box environment
FR2817426B1 (fr) * 2000-11-29 2003-03-07 France Telecom Systeme de communication d'informations sur abonnement
US20020065910A1 (en) * 2000-11-30 2002-05-30 Rabindranath Dutta Method, system, and program for providing access time information when displaying network addresses
AU2002219879A1 (en) * 2000-12-01 2002-06-11 Peter I. Ohtaki Cross technology monitoring, profiling and predictive caching method and system
US6834390B2 (en) 2000-12-06 2004-12-21 Microsoft Corporation System and related interfaces supporting the processing of media content
US7114161B2 (en) * 2000-12-06 2006-09-26 Microsoft Corporation System and related methods for reducing memory requirements of a media processing system
US6983466B2 (en) * 2000-12-06 2006-01-03 Microsoft Corporation Multimedia project processing systems and multimedia project processing matrix systems
US7103677B2 (en) 2000-12-06 2006-09-05 Microsoft Corporation Methods and systems for efficiently processing compressed and uncompressed media content
US6959438B2 (en) 2000-12-06 2005-10-25 Microsoft Corporation Interface and related methods for dynamically generating a filter graph in a development system
US6954581B2 (en) * 2000-12-06 2005-10-11 Microsoft Corporation Methods and systems for managing multiple inputs and methods and systems for processing media content
US6912717B2 (en) 2000-12-06 2005-06-28 Microsoft Corporation Methods and systems for implementing dynamic properties on objects that support only static properties
US6774919B2 (en) 2000-12-06 2004-08-10 Microsoft Corporation Interface and related methods for reducing source accesses in a development system
US6882891B2 (en) 2000-12-06 2005-04-19 Microsoft Corporation Methods and systems for mixing digital audio signals
US6768499B2 (en) 2000-12-06 2004-07-27 Microsoft Corporation Methods and systems for processing media content
US7114162B2 (en) 2000-12-06 2006-09-26 Microsoft Corporation System and methods for generating and managing filter strings in a filter graph
US7447754B2 (en) 2000-12-06 2008-11-04 Microsoft Corporation Methods and systems for processing multi-media editing projects
US7287226B2 (en) * 2000-12-06 2007-10-23 Microsoft Corporation Methods and systems for effecting video transitions represented by bitmaps
US6961943B2 (en) 2000-12-06 2005-11-01 Microsoft Corporation Multimedia processing system parsing multimedia content from a single source to minimize instances of source files
US6823360B2 (en) * 2000-12-18 2004-11-23 International Business Machines Corp. Cofetching in a command cache
US20020111992A1 (en) * 2000-12-18 2002-08-15 Copeland George P. JSP composition in a cache for web applications with dynamic content
US6807606B2 (en) 2000-12-18 2004-10-19 International Business Machines Corp. Distributed execution coordination for web caching with dynamic content
US6877025B2 (en) * 2000-12-18 2005-04-05 International Business Machines Corp. Integrated JSP and command cache for web applications with dynamic content
US7702800B2 (en) 2000-12-18 2010-04-20 International Business Machines Corporation Detecting and handling affinity breaks in web applications
US6983318B2 (en) * 2001-01-22 2006-01-03 International Business Machines Corporation Cache management method and system for storing dynamic contents
US6925594B2 (en) 2001-02-28 2005-08-02 International Business Machines Corporation Saving selected hyperlinks for retrieval of the hyperlinked documents upon selection of a finished reading button in a web browser
US7054912B2 (en) * 2001-03-12 2006-05-30 Kabushiki Kaisha Toshiba Data transfer scheme using caching technique for reducing network load
US6965913B2 (en) * 2001-04-10 2005-11-15 Virtel Corporation System for pseudo-interactive internet access
US7194551B1 (en) * 2001-04-30 2007-03-20 Sprint Spectrum L.P. System and method for downloading data to a mobile wireless unit using over-the-air parameter administration services
FR2825870B1 (fr) * 2001-06-06 2005-03-11 Canon Europa Nv Procede et dispositif de creation d'un document
JP2002373129A (ja) * 2001-06-14 2002-12-26 Fujitsu Ltd 機器制御システム
US20030005042A1 (en) * 2001-07-02 2003-01-02 Magnus Karlsson Method and system for detecting aborted connections and modified documents from web server logs
US7032048B2 (en) * 2001-07-30 2006-04-18 International Business Machines Corporation Method, system, and program products for distributed content throttling in a computing environment
ATE410732T1 (de) * 2001-08-03 2008-10-15 Nokia Corp Verfahren, system und endgerät für datennetze mit verteilten cache-speichern
US20030069964A1 (en) * 2001-10-04 2003-04-10 Shteyn Yevgeniy Eugene Digital content catering system
US20030135824A1 (en) * 2002-01-15 2003-07-17 International Business Machines Corporation System for delayed viewing of selected documents hyperlinked to hypertext documents received at a user interactive receiving display station in a computer controlled communication network
US7054940B2 (en) * 2002-01-25 2006-05-30 Thomson Licensing Adaptive cost of service for communication network based on level of network congestion
JP2008251015A (ja) * 2002-02-07 2008-10-16 Qualcomm Cambridge Ltd 携帯端末へコンテンツを提供するための方法及び装置
US7702666B2 (en) * 2002-06-06 2010-04-20 Ricoh Company, Ltd. Full-text search device performing merge processing by using full-text index-for-registration/deletion storage part with performing registration/deletion processing by using other full-text index-for-registration/deletion storage part
US7900147B2 (en) * 2002-07-22 2011-03-01 International Business Machines Corporation System and method for enabling disconnected web access
US20040073604A1 (en) * 2002-10-11 2004-04-15 Kazuhiro Moriya Cache control method of proxy server with white list
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
US8491391B2 (en) * 2003-03-10 2013-07-23 Igt Regulated gaming—agile media player for controlling games
US20040243494A1 (en) * 2003-05-28 2004-12-02 Integrated Data Control, Inc. Financial transaction information capturing and indexing system
US20040243627A1 (en) * 2003-05-28 2004-12-02 Integrated Data Control, Inc. Chat stream information capturing and indexing system
US7729990B2 (en) * 2003-05-28 2010-06-01 Stephen Michael Marceau Check image access system
US20040243536A1 (en) * 2003-05-28 2004-12-02 Integrated Data Control, Inc. Information capturing, indexing, and authentication system
US7873353B2 (en) * 2003-09-30 2011-01-18 Ianywhere Solutions, Inc. Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US8135803B2 (en) * 2004-08-23 2012-03-13 Ianywhere Solutions, Inc. Method, system, and computer program product for offline advertisement servicing and cycling
US20060064470A1 (en) * 2004-09-23 2006-03-23 Sargent Antony J Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors
JP2006155210A (ja) * 2004-11-29 2006-06-15 Sharp Corp 情報処理システムおよび情報処理装置
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
TWI401574B (zh) * 2005-06-06 2013-07-11 Ibm 於一柵網計算環境中用在最佳化同作資料下載之方法、系統及程式產品
JP4298736B2 (ja) * 2005-11-09 2009-07-22 キヤノン株式会社 情報処理装置、電子文書処理方法およびプログラム
US20090254659A1 (en) * 2006-04-12 2009-10-08 Jun Li Delayed Downloading Video Service Using Peer-to-Peer (P2P) Content Distribution Network
US7765202B2 (en) * 2006-09-22 2010-07-27 Siemens ndustry, Inc. System controller database manager with query stacking and caching for electrical distribution system
KR20090000654A (ko) 2007-03-16 2009-01-08 삼성전자주식회사 컨텐츠 중계 장치 및 방법
US8291080B2 (en) * 2007-06-29 2012-10-16 Nec Corporation Session control system, session control method and session control program
US7711622B2 (en) 2008-03-05 2010-05-04 Stephen M Marceau Financial statement and transaction image delivery and access system
US20100281224A1 (en) * 2009-05-01 2010-11-04 International Buisness Machines Corporation Prefetching content from incoming messages
KR101135087B1 (ko) * 2009-08-12 2012-04-16 삼성에스디에스 주식회사 콘텐츠 제공 시스템 및 방법
US8972878B2 (en) * 2009-09-21 2015-03-03 Avaya Inc. Screen icon manipulation by context and frequency of Use
US8584001B2 (en) 2010-04-12 2013-11-12 International Business Machines Corporation Managing bookmarks in applications
US9377876B2 (en) * 2010-12-15 2016-06-28 Hillcrest Laboratories, Inc. Visual whiteboard for television-based social network
US8769073B2 (en) * 2011-06-29 2014-07-01 International Business Machines Corporation Intelligent offline caching of non-navigated content based on usage metrics
FI20115779A0 (fi) * 2011-08-02 2011-08-02 Uniqoteq Oy Sisältöhakulaite ja -menetelmä televisioselainympäristössä tapahtuvaa esittämistä varten
CN103106216A (zh) * 2011-11-15 2013-05-15 腾讯科技(深圳)有限公司 一种网页访问方法和设备
CN102638570A (zh) * 2012-03-15 2012-08-15 中兴通讯股份有限公司 一种嵌入式网络代理***、终端设备及代理方法
JP6478367B2 (ja) 2013-11-26 2019-03-06 住友電気工業株式会社 情報管理装置、ローカルネットワークシステム、情報管理方法および情報管理プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4642758A (en) * 1984-07-16 1987-02-10 At&T Bell Laboratories File transfer scheduling arrangement
US5446844A (en) * 1987-10-05 1995-08-29 Unisys Corporation Peripheral memory interface controller as a cache for a large data processing system
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
US5440719A (en) * 1992-10-27 1995-08-08 Cadence Design Systems, Inc. Method simulating data traffic on network in accordance with a client/sewer paradigm
US5369766A (en) * 1993-03-25 1994-11-29 Taligent, Inc. Object-oriented loader system with support for different load formats
US5581704A (en) * 1993-12-06 1996-12-03 Panasonic Technologies, Inc. System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client
US5416739A (en) * 1994-03-17 1995-05-16 Vtech Computers, Ltd. Cache control apparatus and method with pipelined, burst read
US5608446A (en) * 1994-03-31 1997-03-04 Lucent Technologies Inc. Apparatus and method for combining high bandwidth and low bandwidth data transfer
US5583563A (en) * 1995-01-12 1996-12-10 Us West Marketing Resources Group, Inc. Method and system for delivering an application in an interactive television network
US5761683A (en) * 1996-02-13 1998-06-02 Microtouch Systems, Inc. Techniques for changing the behavior of a link in a hypertext document
US5787470A (en) * 1996-10-18 1998-07-28 At&T Corp Inter-cache protocol for improved WEB performance

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100467397B1 (ko) * 2001-10-25 2005-01-24 (주)씨디네트웍스 콘텐츠 능동적 동기화 시스템 및 이 시스템을 이용한인터넷 콘텐츠 전송 네트웍 서비스 방법

Also Published As

Publication number Publication date
JPH10240660A (ja) 1998-09-11
EP0876034B1 (en) 2007-04-11
KR100286497B1 (ko) 2001-04-16
US5961602A (en) 1999-10-05
DE69837508D1 (de) 2007-05-24
EP0876034A3 (en) 2004-01-02
TW499640B (en) 2002-08-21
EP0876034A2 (en) 1998-11-04
JP2986440B2 (ja) 1999-12-06
DE69837508T2 (de) 2007-12-20

Similar Documents

Publication Publication Date Title
KR100286497B1 (ko) 웹데이터의오프-피크캐싱을최적화하는방법
KR100300494B1 (ko) 서버에서의 데이터 프리캐싱 방법 및 장치
US6163779A (en) Method of saving a web page to a local hard drive to enable client-side browsing
US6769019B2 (en) Method of background downloading of information from a computer network
US6366947B1 (en) System and method for accelerating network interaction
US6618754B1 (en) System for transmission of embedded applications over a network
US6105028A (en) Method and apparatus for accessing copies of documents using a web browser request interceptor
US5991760A (en) Method and apparatus for modifying copies of remotely stored documents using a web browser
US6112228A (en) Client inherited functionally derived from a proxy topology where each proxy is independently configured
US5978841A (en) Look ahead caching process for improved information retrieval response time by caching bodies of information before they are requested by the user
US6065059A (en) Filtered utilization of internet data transfers to reduce delay and increase user control
US6115745A (en) Scheduling of distributed agents in a dialup network
JP3251898B2 (ja) ダウンロード方法及びデータ通信システム
US6788316B1 (en) Method of designating multiple hypertext links to be sequentially viewed
EP1811747B1 (en) Method and apparatus for storing and restoring state information of remote user interface
US20020029228A1 (en) Remote access of archived compressed data files
US7020700B1 (en) Client side socks server for an internet client
US6119161A (en) Managing connection requests in a dialup computer network
US20010047397A1 (en) Method and system for using pervasive device to access webpages
CN1302417C (zh) 临时目录管理
US6182140B1 (en) Hot objects with multiple links in web browsers
KR20030041856A (ko) 정보 전송 및 수집 방법과 정보 전송 시스템 및컴퓨터-사용가능 운송 매체
EP1242922A1 (en) Method of background downloading of information from a computer network
Cisco Release Notes for NetFlow FlowAnalyzer Release 1.0
Cisco Release Notes for NetFlow FlowAnalyzer Release 1.0

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20131218

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20150112

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20170113

Year of fee payment: 17