KR100293373B1 - 인터네트워크를위한공통캐시의생성및이용방법과그시스템 - Google Patents

인터네트워크를위한공통캐시의생성및이용방법과그시스템 Download PDF

Info

Publication number
KR100293373B1
KR100293373B1 KR1019980002212A KR19980002212A KR100293373B1 KR 100293373 B1 KR100293373 B1 KR 100293373B1 KR 1019980002212 A KR1019980002212 A KR 1019980002212A KR 19980002212 A KR19980002212 A KR 19980002212A KR 100293373 B1 KR100293373 B1 KR 100293373B1
Authority
KR
South Korea
Prior art keywords
data file
network
common cache
dedicated network
computer
Prior art date
Application number
KR1019980002212A
Other languages
English (en)
Other versions
KR19980079648A (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 KR19980079648A publication Critical patent/KR19980079648A/ko
Application granted granted Critical
Publication of KR100293373B1 publication Critical patent/KR100293373B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Landscapes

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

Abstract

전용 네트워크 외부의 소스로부터 전용 네트워크로 다운로드된 요구한 데이터 파일의 데이터 파일의 가장 최신 버전에 억세스하기 위한 개선된 방법 및 시스템이 제공된다. 본 발명의 방법 및 시스템의 목적은 이하에 기술하는 바에 의하여 달성된다. 컴퓨터 네트워크는 하나 또는 그 이상의 다른 컴퓨터 네트워크들에 대하여 전용적(private)인 것으로 정의된다. 상기 정의된 전용 네트워크 내의 하나 이상의 컴퓨터가 "공통 캐시"를 구성하는 것으로 지정된다. 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 모든 데이터 파일의 사본이 상기 정의된 "공통 캐시"를 구성하는 하나 또는 그 이상의 컴퓨터에 캐싱된다. 상기 정의된 전용 네트워크 외부의 소스로부터 유래된 특정 데이터 파일에 대한 상기 정의된 전용 네트워크 내의 컴퓨터로부터의 요구에 응답하여, 상기 요구한 특정 데이터 파일의 사본이 상기 정의된 "공통 캐시"에 존재하는지에 관하여 판단이 이루어진다. 상기 요구한 특정 데이터 파일의 사본이 상기 정의된 "공통 캐시" 내에 존재하는 것으로 판단이 이루어지면, 상기 정의된 "공통 캐시" 내에 존재하는 상기 요구한 특정 데이터 파일의 가장 최신의 버전이 획득된다. 상기 요구한 특정의 데이터 파일의 사본이 상기 정의된 "공통 캐시"에 존재하지 않는 것으로 판단이 이루어지면, 상기 요구한 특정의 데이터 파일은 상기 정의된 전용 네트워크 외부의 소스로부터 획득된다.

Description

인터네트워크를 위한 공통 캐시의 생성 및 이용 방법과 그 시스템{METHOD AND SYSTEM FOR CREATING AND UTILIZING COMMON CACHE FOR INTERNETWORKS}
본 발명은 일반적으로 전용 네트워크(private network) 외부의 소스(source)로부터 전용 네트워크로 다운로드(download)된 요구한 데이터 파일(data file)의 최신 버전에 억세스하기 위한 개선된 방법 및 그 시스템에 관한 것이다. 특히, 본 발명은 전용 네트워크 내의 계층적으로 분산된 컴퓨터들(hierarchically distributed computers)의 집합 내에 구현된 "공통 캐시(common cache)"를 이용함으로써, 전용 네트워크 외부의 소스로부터 전용 네트워크로 다운로드된 요구한 데이터 파일의 최신 버전에 억세스하기 위한 개선된 방법 및 그 시스템에 관한 것이다.
본 발명은 인터네트워크(internetwork)와 함께 사용된 종래 기술의 방법 및 시스템의 효율을 향상시키기 위한 것이다. 인터네트워크라 함은 패킷 교환 네트워크(packet switching network)의 비공식적 집합으로서, 즉 (a) 게이트웨이(gateway)에 의하여 상호 접속되며, (b) 단일의 대규모 가상 네트워크로서 기능할 수 있도록 하는 프로토콜(protocol)을 이용하며, (c) 각각 개인, 회사, 대학, 정부 기관, 연구소 등과 같은 공사 기관 또는 개인이 소유하는 개별적인 개인용 컴퓨터 및 컴퓨터 네트워크의 상호접속(interconnection)으로 구성되며, (d) 상호접속을 설정하기 위하여 기존의 통신 설비를 이용한다(M. Weik, "Communication Standard Dictionary", 475쪽(3판, 1996) 참조).
가장 널리 알려진 인터네트워크로는 단지 "인터넷(internet)"이라 불리는 공중 네트워크(public network)이다. 인터넷은 네트워크 및 게이트웨이들의 공식적 집합으로서, (1) 특히, 군용 네트워크(military network)(이하, "MILNET"이라 함)및 국립 과학 재단 네트워크(National Science Foundation network)(이하, "NSFNET"이라 함)를 포함하며, (2) 전송 제어 프로토콜/인터넷 프로토콜(Transmission Control Protocol/Internet Protocol)(이하, "TCP/IP"라 함)이라는 프로토콜 조(組)(protocol suite)를 이용하며, (3) 단일의 가상 네트워크로서 기능하며, (4) 전세계적인 접속을 제공한다(Id. 474쪽). 인터넷은 그 발생 이래로 빠르게 성장해 왔다. 1995년 초기에는 180개국이 억세스할 수 있게 되었고, 그 사용자는 3천만을 상회했다. 2000년까지는 1억대의 컴퓨터들이 공중 인터넷을 통해 접속할 것으로 예상되며, 더 많은 숫자가 기업 인터넷을 통해 접속할 것으로 예상된다. 기술과 인터넷은 사람 및 기관들 사이에 전세계적인 협동을 지원해왔으며, 정보의 공유, 네트워크의 혁신 및 신속한 사업적 거래를 지원해왔다("인터넷" MicrosoftTMEncartaTM96 Encyclopedia 1993-1995 참조. 내용은 마이크로소프트사에 저작권이 있음).
인터넷은 패킷 교환 네트워크를 통해 두 개의 머신 사이에 패킷 교환 데이터 통신 채널을 설정할 수 있는 메카니즘을 제공한다. 인터넷은 집중 관리식이며, 도메인 네임 서버(Domain Name Server)(이하, "DNS"라 함)에 나타나는 컴퓨터들만이 인터넷으로의 실제적이고 비가상적인 접속을 설정할 수 있다. DNS는 실제로는 사람이 판독할 수 있는 어드레스(address)를 인터넷 프로토콜 어드레스로 매핑(mapping)하는 인터넷 도처의 인터넷 서버에서 실행되는 온라인 분산형 데이터베이스(online distributed database)이다. 인터넷에 직접 접속된 컴퓨터들은 "호스트(host)"라 칭하며, 인터넷 내의 실제 노드로서의 그들을 고유하게 식별해주는 "도메인 네임(domain name)"을 갖는다(M. Weik, "Communication Standard Dictionary", 475쪽(3판, 1996) 참조).
각 인터넷 "호스트"는 일반적으로 그에 접속된 다수의 "클라이언트(client)" 컴퓨터를 갖고 있으며, 인터넷 억세스를 조건으로 컴퓨터들에게 서비스를 제공하는 "서버"로서 기능한다. 통신 네트워크에서, "클라이언트"와 "서버"라는 용어는 특정의 서비스를 요구하기 위해 하나의 컴퓨터에서 실행되는 클라이언트 소프트웨어를 이용하고, 제2 컴퓨터에 의하여 관리되는 공유된 자원(shared resource)에 대한 억세스를 제공하기 위하여 그 제2 컴퓨터에서 실행되는 대응하는 서버 소프트웨어를 이용하는 네트워크-기반 시스템(network-based system)인 클라이언트-서버 아키텍쳐(client-server architecture)를 말한다(M. Weik, "Communication Standard Dictionary", 137쪽(3판, 1996) 참조). 그 다음에, 서버는 요구된 특정 서비스를 제공하는 인터넷과 같은 자원에 접속한다. 따라서, 서버는 자원의 효율적인 공유를 가능하게 한다. 그러므로, "클라이언트"와 "서버"라는 용어는 상황에 좌우되는 용어이며, 어떤 상황에서는 "클라이언트"로서 기능하는 컴퓨터(인터넷으로의 억세스를 요구하는 컴퓨터)가 다른 상황(동일한 컴퓨터가 그에 접속된 다수의 컴퓨터를 가지며, 접속된 컴퓨터를 위하여 네트워크 자원 관리자로서 기능하는 경우)에서는 "서버"로서 기능할 수 있다. 이와 같은 관계는 그에 접속된 컴퓨터들과 그들의 소프트웨어의 아키텍쳐에 따라, 각 부착된 컴퓨터가 "클라이언트" 또는 "서버" 양쪽으로 기능하면서 무한하게 확장될 수 있다.
이러한 계층적 관계는 DNS에서 인식되며, 결론적으로 사람이 판독가능한 DNS 네임은 일반적으로 점(period)으로 분리된 레이블 시퀀스(sequence of label)의 구조를 갖고 있으며, 일반적으로 각 레이블은 컴퓨터를 명시하며(항상 그런 것은 아니지만, 때때로 레이블이 드라이브(drive)나 파일(file)로 매핑된다.), 억세스되는 컴퓨터의 특정 파일에 대응하는 파일 확장자(file extender)가 최종 레이블에 첨부된다. 예를 들면, 사람이 판독 가능한 DNS가 nic.ddn.mil/somefile이라면, 여기서 nic(Network Information Center)는 인터넷에 접속된 호스트 컴퓨터의 명칭이고, ddn(Defense Data Network)는 주 도메인(primary domain) 컴퓨터에 접속된 컴퓨터에 대응하는 부 도메인(subdomain)이며, mil(MILNET)은 호스트 컴퓨터에 접속된 컴퓨터에 대응하는 주 도메인이며, somefile은 ddn에 존재하는 파일이다(M. Weik, "Communication Standard Dictionary", 262쪽(3판, 1996) 참조). 또한, 이들 도메인 각각과 부 도메인은 전술한 바와 같이 단지 드라이브이거나 파일일 수도 있다.
DNS를 이용함으로써, 컴퓨터와 컴퓨터의 접속이 가능하게 되지만, 일단 그렇게 접속된 머신들이 어떻게 서로를 이해하는 것일까? 서로를 이해하기 위하여, 접속의 양단의 머신들은 "동일한 언어를 사용(speak the same language)"하여야 한다. 이러한 목적을 위하여, 인터넷을 통해 통신하는 컴퓨터들에서 실행되는 것으로서, 채널 양단의 컴퓨터들이 서로를 이해하도록 하는 애플리케이션 프로그램들(application programs)이 개발되었다. 예를 들어, "고퍼(Gopher)"라 불리는 애플리케이션은 사용자들이 컴퓨터 파일 디렉토리(file directory)를 생성하고 이용할 수 있도록 한다. 이 서비스는 다른 사용자들이 파일들을브라우징(browse)할 수 있도록 인터넷을 통해 링크된다. 파일 전송 프로토콜(File Transfer Protocol)(이하, "FTP"라 함)이라 불리는 다른 애플리케이션 프로그램은 사용자들이 호스트 컴퓨터들 사이에서 용이하게 컴퓨터 파일들을 전송할 수 있게 한다. 이것은 여전히 소프트웨어 분산을 위한 인터넷의 주 용도가 되고 있으며, 많은 공공의 분산 사이트(site)가 존재한다. 텔넷(Telnet) 애플리케이션은 사용자가 원격 위치로부터 다른 컴퓨터로 로그 인(log in)할 수 있게 한다. 그러나, 전술한 모든 프로토콜들은 일반적으로 두 개의 컴퓨터를 접속시키고 상호 통신할 수 있도록 하기 위한 것이다.("인터넷" MicrosoftTMEncartaTM96 Encyclopedia 1993-1995 참조. 내용은 마이크로소프트사에 저작권이 있음). 1989년에는 컴퓨터들을 접속시키기 위한 애플리케이션에 일대 성장이 이루어졌다.
1989년에는, 영국의 컴퓨터 과학자인 Timothy Berners-Lee에 의하여, 스위스의 제네바 근교의 유럽 핵연구소(CERN) 시설의 국제적으로 분산된 연구원들 사이에서 정보를 공유할 수 있도록 하기 위한 월드 와이드 웹(World Wide Web)(이하, "WWW"이라 함)이 개발되었다. 월드 와이드 웹이라는 명칭에 의해 WWW이 네트워크인 것으로 보이게 하지만, WWW은 네트워크가 아니다. WWW은 실제로 개별 컴퓨터에서 실행되며, 하나 또는 그 이상의 네트워크를 통해 다수의 서로 다른 소스 컴퓨터로의 접속을 생성하는 애플리케이션 프로그램이다. 모든 WWW 컴퓨터 파일들은 하이퍼텍스트 마크업 언어(Hypertext Markup Language)(이하, "HTML"이라 함)를 사용하여 포맷되며, 컴퓨터들 사이의 WWW 통신은 하이퍼텍스트 전송 프로토콜(HypertextTransfer Protocol)(이하, "HTTP"라 함)을 사용하여 수행된다. HTML로 포맷된 컴퓨터 파일은 WWW 용어 중에서 "웹 페이지(web page)"라 불린다.
WWW 용어 중에서, 서로 다른 컴퓨터들 사이에 설정된 접속은 "링크(link)"라 불린다. 사용자는 WWW 브라우저(browser)(예, 넷스케이프 네비게이터)로 알려진 애플리케이션 프로그램을 이용하여 WWW 소프트웨어를 실행하는 컴퓨터와 대화한다. WWW 브라우저 프로그램은 HTML/HTTP 포맷으로 포맷된 파일(즉, 웹 페이지)이 텍스트(text), 이미지(image), 음향(sound) 또는 기타 시각적인 객체 등의 집합으로서 컴퓨터 스크린에 디스플레이될 수 있도록 하며, 이들은 강조된 텍스트 또는 그래픽으로 나타날 수 있으며, 실제로는 인터네트워크로 연결되어 WWW 소프트웨어를 실행중인 다른 머신과의 통신 링크를 설정하는 서브프로그램(subprogram)이다. 사용자는 마우스를 사용하여 스크린의 시각적인 객체들을 포인팅(pointing)하고 클릭(click)함으로써 정보들 사이를 네비게이트할 수 있으며, 이것은 네트워크를 통해 다른 컴퓨터와의 링크를 설정하고 HTTP 프로토콜을 이용하여 HTML로 포맷된 파일을 검색(retrieve)하여 디스플레이 하게 된다. 그러므로, WWW의 혁신적인 면은 HTML/HTTP로 포맷된 파일을 생성함으로써, 실제로는 다수의 서로 다른 컴퓨터의 다수의 서로 다른 파일에 분산될 수 있는 정보를 마치 하나의 컴퓨터에 존재하는 것과 같이 컴퓨터 스크린에 정보를 디스플레이할 수 있다는 것이다. HTTP/HTML 방식은 단지 인터네트워크로 연결된 컴퓨터들이 서로 동일한 언어를 사용하게 하는 것만을 의미하는 것이며, 실제 네트워크의 통신은 통상적으로 TCP/IP 또는 OSI 프로토콜과 같은 표준 네트워크 프로토콜을 사용하여 인터넷 또는 다른 네트워크를 통하여 이루어진다는 것을 주의하여야 한다.
따라서, 인터넷을 효율적으로 이용하기 위하여, 인터넷을 통한 접속을 설정하고 프로토콜을 규정하여 컴퓨터들에게 통신하는 방식을 알려줄 필요가 있다. 인터넷 서비스에 억세스할 때, 이것은 범용 자원 로케이터(universal resource locator)(이하, "URL"이라 함)로 알려진 것을 사용하여 실현된다. URL은 사용될 프로토콜과 객체 경로명이라는 두 개의 기본 구성요소를 갖는다. 예를 들어, "http://www.uspto.gov"(미국 특허청의 홈페이지)라는 URL은 하이퍼텍스트 전송 프로토콜(HTTP)과 서버의 경로명("www.uspto.gov")을 명시한다. 서버명은 고유한 수치(numeric value)(TCP/IP 어드레스)에 관련되어 있다.
전술한 개념들은 외부 네트워크와 인터페이스하는 전용 네트워크의 고레벨 개략도인 도1을 참조하면 보다 명확히 이해할 수 있다. 또한, 도1은 네트워킹된 컴퓨터들이 어떻게 호스트를 통하여 인터넷에 접속하고 인터넷을 통해 다른 컴퓨터와 통신하는가를 보여주는 개략도이다. 인터넷(10)은 네트워크 클라우드(cloud)로 도시되었다. 인터넷 호스트(12)는 메인프레임 컴퓨터(mainframe computer)로서 도시되었다. 인터넷 호스트(12)는 클라이언트 컴퓨터(20 내지 22)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(20)는 클라이언트 컴퓨터(30 내지 32)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(22)는 클라이언트 컴퓨터(33 내지 35)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(31)는 클라이언트 컴퓨터(40 내지 43)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(34)는 클라이언트 컴퓨터(44 내지 47)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(50)는 클라이언트 컴퓨터(61 내지 64)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(46)는 네트워크 서버(34 및 50) 사이의 게이트웨이로서 기능한다. 또한, 각 네트워크 서버들은 그 하위 접속 네트워크로부터 그 상위 네트워크로의 게이트웨이로서 기능한다.
인터넷 호스트(12a)는 메인프레임 컴퓨터로서 도시되었다. 인터넷 호스트(12a)는 클라이언트 컴퓨터(20a 내지 22a)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(20a)는 클라이언트 컴퓨터(30a 내지 32a)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(22a)는 클라이언트 컴퓨터(33a 내지 35a)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(32a)는 클라이언트 컴퓨터(40a 내지 43a)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(34a)는 클라이언트 컴퓨터(44a 내지 47a)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 또한, 각 네트워크 서버들은 그 하위 접속 네트워크로부터 그 상위 네트워크로의 게이트웨이로서 기능한다.
도1은 전술한 개념들을 설명하는데 이용될 수 있다. 개인용 컴퓨터(40a)가 웹 브라우저 애플리케이션 프로그램을 실행하고 있는 것으로 가정하자. 또한, 개인용 컴퓨터(40a)의 사용자가 그 개인용 컴퓨터(40a)의 스크린에 강조된 방식으로 나타나는 "링크"를 통해 "웹 페이지"(하이퍼텍스트 마크업 언어(HTML)로 포맷된 컴퓨터 파일)에 억세스하기를 원한다고 가정하자. 또한, 개인용 컴퓨터(40a)의 사용자가 "링크"를 활성화시키면, 개인용 컴퓨터(40a)는 URL을 통해 디스플레이된 "링크"에 대응하는 "웹 페이지"가 실제로 컴퓨터(62)에 존재하는 데이터 파일에 대응한다는 것을 명시하는 것으로 가정하자. 그러면, 원하는 "웹 페이지"에 억세스하기 위하여, 개인용 컴퓨터(40a)는 그의 서버(32a)와 교섭하여(negotiate) 인터넷 호스트 컴퓨터(12a)로 정보를 전달할 것을 원한다는 것을 표시하기 위해 그 전용 네트워크 프로토콜을 이용해야 한다. 그 다음에, 서버(32a)는 게이트웨이로서 작용하여, 개인용 컴퓨터(40a)의 정보를 인터넷 호스트(12a)로 전달하기 위해 그의 네트워크 서버(20a)와 통신하고 교섭한다. 그 다음에, 서버(20a)는 인터넷 호스트(12a)와의 통신을 설정하고, 개인용 컴퓨터(40a)의 정보를 인터넷 호스트(12a)로 전달한다.
일단 인터넷 호스트(12a)가 개인용 컴퓨터(40a)로부터 URL을 수신하면, 사람이 판독 가능한 URL을 인터넷 프로토콜 포맷으로 변환하고, 그 다음에 제2 인터넷 호스트(12)와의 접속을 설정하여 정보를 송신한다. 다음에, 인터넷 호스트(12)는 네트워크 서버(22)와 교섭하고, 그 다음에 정보를 전달한다. 네트워크 서버(22)는 네트워크 서버(34)와 교섭하고, 그 다음에 정보를 전달한다. 네트워크 서버(34)는 네트워크 게이트웨이(46)와 교섭하고, 그 다음에 정보를 전달한다. 네트워크 게이트웨이(46)는 네트워크 서버(50)와 교섭하고, 그 다음에 정보를 전달한다. 또한, 네트워크 서버(50)는 개인용 컴퓨터(62)와 교섭하고, 그 컴퓨터로 정보를 전달한다. 일단 개인용 컴퓨터(62)가 정보를 수신하면, 그 개인용 컴퓨터(62)는 그것을 그곳에 존재하는 특정 HTML 파일에 대한 요구로 인식하고, 그 파일을 검색하여, 그 파일에 대한 요구가 송신된 것과 유사한 방식으로 네트워크를 통해 그 요구한 컴퓨터(40a)로 요구한 HTML 파일을 리턴시킨다.
네트워킹된 컴퓨터들이 전술한 시나리오로 통신할 때마다, 컴퓨터들은 먼저그들 사이에 통신 링크를 설정하고, 그 다음에 정보를 전달해야 한다. 정보가 전달될 때마다, 그 정보에는 그것이 정확한 위치에 도착했다는 것을 보장하기 위해 헤더(header)와 트레일러(trailer)가 부가된다(Stallings W., "Data and Computer Communications", 245-278 쪽(1985) 참조). 각각의 통신은 통신 채널 대역폭(channel bandwidth)의 소비와 컴퓨터 처리 오버헤드(processing overhead)를 요한다.
비록 전술한 시나리오는 단지 하나의 컴퓨터간 통신만을 언급하였지만, WWW 소프트웨어를 이용하면 다수의 이러한 접속이 동시에 발생하도록 계획될 수 있다. 이러한 동시에 발생하는 액티비티(activity)는 상당한 통신 채널 대역폭 및 처리 용량을 소비한다.
이러한 여분의 데이터 링크로부터 발생하는 문제점은 이미 인식되어 있다. 여분의 링크 및 불필요한 인터넷 작업 트래픽을 감소시키기 위한 종래의 해결방법은 최종 클라이언트 사용자 머신에 로컬 데이터 캐시(local cache)를 생성하고, 인터네트워크 게이트웨이에 데이터 캐시를 생성하고, 인터넷 호스트에 데이터 캐시를 생성하는 것이다.
도2는 종래의 해결방법을 실현하기 위하여 사용된 주요 구성요소를 도시한다. 네트워크 서버(20a)와 네트워크 멤버(network member)(30a 내지 32a)를 포함하는 제1 네트워크가 접속된 인터넷 호스트(12a)가 도시되었다. 또한, 네트워크 서버(22a)와 네트워크 멤버(33a 내지 35a)를 포함하는 제2 네트워크가 인터넷 호스트(12a)에 접속된 것으로 도시되었다. 종래의 해결 방법에서, 인터넷 호스트(12a)는 인터넷으로부터 그를 통해 자주 다운로드되는 인터넷 파일의 인터넷 호스트 캐시(12ac)를 생성한다. 또한, 네트워크 서버(22a)도 역시 그를 통해 자주 다운로드되는 인터넷 파일의 캐시(22ac)를 생성한다. 또한, 설명의 간략성을 위해 클라이언트 컴퓨터(33a) 상에서 실행중인 것으로 도시된 웹 브라우저(33ab)와 같은 애플리케이션 프로그램도 역시 웹 브라우저가 최근에 억세스한 인터넷 파일의 로컬 캐시(33ac)를 생성한다.
동작 중에, 클라이언트 컴퓨터(33a) 상에서 실행중인 웹 브라우저 애플리케이션(33ab)의 사용자(도시되지 않음)는 특정 데이터 파일(10f)에 대한 억세스를 요구한다. 웹 브라우저는 요구된 특정의 데이터 파일에 대하여 먼저 그의 로컬 캐시(33ac)를 검사한다. 만약 웹 브라우저(33ab)가 그러한 파일이 존재한다는 것을 발견하면, 캐싱된 파일을 검색하고 그것을 사용자가 요구한 방식대로 이용한다. 만약 웹 브라우저(33ab)가 (도2에 도시된 바와 같이) 로컬 캐시(33ac)에 그러한 특정 데이터 파일이 존재하지 않거나, 그러한 존재하는 파일이 너무 오래되어 신뢰할 수 없다는 것을 발견하면, 웹 브라우저(33ab)는 이 경우에 네트워크 게이트웨이로서 기능하는 네트워크 서버(22a)를 통해 인터넷 호스트(12a)로부터 특정 데이터 파일(10f)을 요구한다.
만약 요구된 특정 데이터 파일(10f)이 인터넷 호스트의 로컬 캐시(12ac)에 존재한다면, 인터넷 호스트는 이 경우에 네트워크 게이트웨이로서 기능하는 네트워크 서버(22a)를 통해 웹 브라우저(33ab)로 그 캐싱된 파일의 사본(copy)을 전달한다. 만약 인터넷 호스트(12a)가 특정의 파일(10f)이 인터넷 호스트 캐시(12ac)에존재하기 않거나, 그러한 존재하는 파일이 너무 오래되어 신뢰할 수 없다는 것을 발견하였다면, 인터넷 호스트는 인터넷을 통해 그러한 특정의 파일(10f)이 실제로 존재하는 컴퓨터(도시되지 않음)와의 접속을 설정하고, 인터넷을 통한 컴퓨터간의 통신에 관하여 전술한 방식으로 그 파일을 검색한다. 일단 인터넷 호스트(12a)가 특정 데이터 파일(10f)을 수신하면, 그 파일을 게이트웨이/네트워크 서버(22a)를 통해 웹 브라우저(33ab)로 전달한다.
자주 요구되는 특정 데이터 파일이 네트워크 서버/게이트웨이(예, 22a)를 통해 통과될 때마다, 네트워크 서버는 특정 데이터 파일의 캐싱된 사본(예, 22ac)을 생성한다. 그 다음에, 네트워크 서버/게이트웨이(22a)를 통한 특정 데이터 파일 요구는 그 특정 데이터 파일이 존재하는지를 판단하기 위하여, 웹 브라우저(33ab)가 인터넷 호스트(12a)로부터 특정 데이터 파일을 요구할 때에 관하여 전술한 방식으로 먼저 이 캐시에 대하여 검사가 이루어진다.
도3은 이러한 종래의 해결 방법에 내재하는 문제점을 도시한 도면이다. 웹 브라우저(33ab)의 사용자(도시되지 않음)는 시간 t1에서 특정 데이터 파일(12f)을 요구한다. 이 특정 데이터 파일이 로컬 캐시(33ac)에 존재하지 않기 때문에, 웹 브라우저(33ab)는 인터넷 호스트(12a)로부터 그 특정 데이터 파일(12f)을 요구한다. 그러면, 인터넷 호스트(12a)는 인터넷 호스트 캐시(12ac)를 참조하여, 그 특정 데이터 파일(12ft1)(여기서, 첨자 t1은 시간 t1에서 인터넷 호스트(12ac)에 존재하는 특정 데이터 파일(12f)의 버전임을 나타낸다.)이 존재한다는 것을 발견하고, 그 캐싱된 파일의 사본을 웹 브라우저(33ab)로 전달한다. 시간 t1+10초에서는, 컴퓨터(30a) 상에서 실행중인 다른 웹 브라우저(30ab)가 동일한 특정 데이터 파일(12f)을 요구하는데, 이것도 역시 네트워크 서버/게이트웨이(20a)를 통해 인터넷 호스트(12a)로부터 로컬 캐시(30ac)에 존재하지 않는다. 그러나, 이 요구를 수신하면, 이 새로운 시간 t1+10에서 인터넷 호스트(12a)는 그 특정 데이터 파일(12f)(그 캐싱된 버전은 12ft1임)이 너무 오래되었다고 판단하고, 따라서 컴퓨터(35)(데이터 파일(12f)이 실제로 존재함)와 인터넷을 통해 통신을 개시하고, 그 컴퓨터(35)로부터 파일(12f)의 새로운 사본을 요구한다. 이 새로 검색된 특정 데이터 파일(12ft1+10)(여기서, 첨자 t1+10은 시간 t1+10에서 이루어진 질의에 응답하여 컴퓨터(35)로부터 인터넷 호스트(12ac)에 의하여 수신된 특정 데이터 파일(12f)의 버전임을 나타낸다.)을 수신하면, 인터넷 호스트(12a)는 네트워크 서버/게이트웨이(20a)를 통해 웹 브라우저로 그 파일의 사본을 전달하고, 그 다음에 특정 데이터 파일의 새로 검색된 버전(12ft1+10)을 캐시에 저장한다. 또한, 이 시점에서, 네트워크 서버/게이트웨이(20a)는 특정 데이터 파일(12ft1+10)이 자주 요구되었음을 판단하고, 따라서 그 파일의 이미지를 네트워크 서버 캐시(도시되지 않음)에 저장할 것을 결정한다.
이제, 종래의 해결 방법에 내재하는 문제점이 명확해졌다. 이제 인터넷 호스트 캐시(12ac)와 네트워크 서버 캐시(도시되지 않음)에는 새로운 버전(특정 데이터파일(12ft1+10))이 존재하지만, 웹 브라우저(33ab)의 캐시에는 그 파일(12f)의 구 버전(12f)이 존재한다. 새로 검색된 특정 데이터 파일(12ft1+10)이 이전에 검색된 특정 데이터 파일(12ft1)과 서로 다른 데이터를 포함할 가능성이 매우 크기 때문에, 이러한 새로 검색된 특정 데이터 파일(12ft1+10)이 지역적으로 존재하게 될 때, 이러한 새로 검색된 파일의 내용을 그러한 데이터에 관심을 갖는 모든 클라이언트로 시스템 전반에 걸쳐 보급하는 것이 중요하다. 그러나, 종래의 해결 방법에 의해서는 이 갱신된 정보가 클라이언트 컴퓨터 상에서 실행중인 웹 브라우저의 로컬 캐시로 공급되지 않는다.
전술한 바에 비추어 볼 때, 하나 또는 그 이상의 전용 네트워크 외부의 소스(공중 인터넷 또는 다른 전용 네트워크)로부터 하나 또는 그 이상의 전용 네트워크로 다운로드된 특정 파일의 최신 버전을 하나 또는 그 이상의 전용 네트워크 내의 컴퓨터 상에서 실행중인 애플리케이션 프로그램 전체에 걸쳐 효율적으로 보급하는 방법 및 시스템이 필요하다.
따라서, 본 발명의 목적은 전용 네트워크 외부의 소스로부터 전용 네트워크로 다운로드된 요구한 데이터 파일의 가장 최신 버전에 억세스하기 위한 개선된 방법 및 시스템을 제공하는 것이다.
본 발명의 다른 목적은 전용 네트워크 내의 계층적으로 분산된 컴퓨터들의 집합으로 이루어진 "공통 캐시"를 이용함으로써, 전용 네트워크 외부의 소스로부터전용 네트워크로 다운로드된 요구한 데이터 파일의 최신 버전에 억세스하기 위한 개선된 방법 및 시스템을 제공하는 것이다.
전술한 목적들은 이하에 기술하는 바에 의하여 달성된다. 컴퓨터 네트워크는 하나 또는 그 이상의 다른 컴퓨터 네트워크들과의 관계에서 전용적(private)인 것으로 정의된다. 위에서 정의된 전용 네트워크 내의 하나 이상의 컴퓨터가 "공통 캐시"를 구성하는 것으로 규정된다. 정의된 전용 네트워크 외부의 소스로부터 그 정의된 전용 네트워크로 들어오는 모든 데이터 파일의 사본이 그 정의된 "공통 캐시"를 구성하는 하나 또는 그 이상의 컴퓨터에 캐싱된다. 상기 정의된 전용 네트워크 외부의 소스로부터 유래된 특정 데이터 파일에 대한 상기 정의된 전용 네트워크 내의 컴퓨터로부터의 요구에 응답하여, 그 요구한 특정 데이터 파일의 사본이 상기 정의된 "공통 캐시"에 존재하는지에 여부에 관하여 판단이 이루어진다. 요구한 특정 데이터 파일의 사본이 상기 정의된 "공통 캐시" 내에 존재하는 것으로 판단이 이루어지면, 상기 정의된 "공통 캐시"에 존재하는 요구한 특정 데이터 파일의 최신 버전이 획득된다. 상기 요구한 특정 데이터 파일의 사본이 상기 정의된 "공통 캐시"에 존재하지 않는 것으로 판단이 이루어지면, 상기 요구한 특정 데이터 파일은 상기 정의된 전용 네트워크 외부의 소스로부터 획득된다.
본 발명의 상기 및 추가적인 목적, 특징 및 이점은 다음의 상세한 설명에서 더욱 명백해질 것이다.
도1은 외부 네트워크와 인터페이스하는 전용 네트워크의 고레벨 개략도.
도2는 종래의 해결 방법을 실현하기 위하여 사용되는 주요 구성요소를 도시한 도면.
도3은 종래 기술의 해결 방법에 내재하는 문제점을 도시한 도면.
도4는 인터넷과 인터페이스하는 전용 네트워크 상에서 본 발명이 어떻게 기능하는가를 예시하는 시스템의 고레벨 부분적 개략도.
도5a, 도5b 및 도5c는 본 발명의 바람직한 실시예의 방법 및 프로세스를 도시한 고레벨 논리 흐름도.
도6은 각 "공통 캐시" 컴퓨터가 "공통 캐시"의 데이터 파일을 새로운 것으로 유지하기 위한 본 발명의 추가적인 특징을 도시한 도면.
도7은 본 발명의 방법 및 시스템에 따라 이용될 수 있는 데이터 처리 시스템을 도시한 도면.
도8은 본 발명의 방법 및 시스템에 따라 이용될 수 있는 대표적인 하드웨어 환경을 도시한 도면.
* 도면의 주요 부분에 대한 부호의 설명
10 : 인터넷
12 : 인터넷 호스트
20 : 클라이언트 컴퓨터
220 : 컴퓨터
222 : 시스템 유닛
224 : 비디오 디스플레이 터미널
226 : 키보드
228 : 마우스
231 : 중앙 처리 장치
232 : 시스템 버스
233 : 주변 장치
234 : 랜덤 억세스 메모리
236 : 리드 온리 메모리
237 : 디스플레이 어댑터
239 : I/O 어댑터(239)
240 : 사용자 인터페이스 어뎁터
250 : 기억 장치
본 발명의 특징인 것으로 여기는 신규한 구성은 첨부된 특허 청구의 범위에기재되었다. 그러나, 본 발명 그 자체와 그 바람직한 실시예, 목적 및 이점 등은 첨부된 도면과 함께 본 발명의 실시예의 상세한 설명을 참조함으로써 가장 잘 이해될 것이다.
이하에서의 설명에서는 "전용 네트워크"라는 용어를 사용한다. 여기에서 사용되는 바와 같이, 이 용어는 본 발명이 구현될 하나 또는 그 이상의 전용 네트워크를 공중 인터넷이나 기타 다른 공중 네트워크 또는 전용 네트워크 등과 같은 하나 또는 그 이상의 전용 네트워크 외부의 다른 네트워크로부터 구별하기 위한 것이다. 여기에서 사용되는 바와 같이, "전용"이라는 용어는 진정한 전용 네트워크와, 시스템 관리자(system administrator)가 소정의 제어를 유지하는 인터넷의 일부(예를 들어, 공중 인터넷의 일부를 이용하지만, "방화벽(firewall)"과 같은 하드웨어 또는 소프트웨어에 의하여 어느 정도의 차단되는 인트라넷(Intranet)) 모두를 가리킨다.
이제 첨부된 도면중 도1을 참조하면, 외부 네트워크와 인터페이스하는 전용 네트워크의 고레벨 개략도가 도시되었다. 본 발명이 해결하고자 하는 문제점은 도1을 참조하여 이미 전술하였다. 이러한 문제점은 전용 네트워크 계층의 상당히 하층부의 컴퓨터에서 실행중인 로컬 애플리케이션 프로그램이 전용 네트워크의 전체 또는 일부에 존재하는 파일의 최신 버전을 이용하게 되도록 어떻게 보장할 것인가 이다. 후술하는 바와 같이, 본 발명은 그 크기가 전용 네트워크만큼 클 가능성이 있는 "공통 캐시"를 각 전용 네트워크 사용자를 위해 생성함으로써 이러한 문제점을 해결한다. 또한, 본 발명의 기술 분야에서 통상의 지식을 가진 자는 그 생성된 "공통 캐시"가 본 발명의 가장 간단한 실시예인 하나의 네트워크 게이트웨이 서버만큼 작은 크기가 될 수도 있다는 것을 이해할 것이다.
이제 도4를 참조하면, 인터넷과 인터페이스하는 전용 네트워크 상에서 본 발명이 어떻게 기능하는가를 예시하는 시스템의 고레벨 부분 개략도이다. 이 기술분야에 통상의 지식을 가진 자에게는 본 발명이 그 외부의 다른 전용 네트워크와 인터페이스하는 전용 네트워크와 관련하여 매우 용이하게 기능할 수 있다는 것이 명백하겠지만, 여기에서는, 설명의 편의를 위하여 인터넷과 인터페이스하는 전용 네트워크에 관하여 기술한다. 웹 브라우저 애플리케이션(33ab)이 실행되고 있는 컴퓨터(33a)가 도시되었다. 또한, 이 컴퓨터(33a)의 메모리에 존재하며, 웹 브라우저 애플리케이션(33ab)에 의하여 생성되어 관리되는 로컬 캐시(33ac)도 도시되었다.
웹 브라우저 애플리케이션(33ab)의 사용자(도시 안됨)는 특정 데이터 파일(14f)을 요구한다. 종래 기술에서, 웹 브라우저(33ab)는 그 캐싱된 메모리를 참조하여, 만약 그 파일의 캐싱된 사본이 존재하고 너무 오래된 것이 아니라는 것을 발견하였다면, 웹 브라우저 애플리케이션은 그 캐싱된 사본을 이용하게 된다. 만약 웹 브라우저(33ab)가 사본을 발견하지 못하면, 인터넷 호스트(12a)로부터 특정 데이터 파일(14f)의 사본을 요구하게 된다. 그러나, 본 발명의 경우는 그렇지 아니하다.
실제로 본 발명은 웹 브라우저 애플리케이션(이것은 단지 예일 뿐이며, FTP, 고퍼 등과 같은 다른 애플리케이션일 수도 있다)을 위하여 그것이 한 멤버가 되는 인터네트워킹된 하나 또는 그 이상의 전용 네트워크만큼 클 수도 있는 캐시를 생성한다. 이것은 전용 네트워크 내의 하나 또는 그 이상의 컴퓨터(일반적으로, 전용 네트워크를 하나 또는 그 이상의 외부 네트워크에 접속시키는 전용 네트워크 컴퓨터 또는 게이트웨이 컴퓨터로 이루어진 서브네트워크들 사이에서 게이트웨이로서 작용하는 네트워크 서버가 되는 컴퓨터)를 "공통 캐시"를 구성하는 것으로 정의함으로써 달성된다. 그 다음에, 이하에서 설명되는 바와 같이, 웹 브라우저 애플리케이션(33ab)이 특정 파일(14f)을 요구하면, 웹 브라우저(33ab)는 "공통 캐시"를 참조하게 되며, 이것은 웹 브라우저가 이용하는 특정 파일(14f)의 모든 버전이 정의된 "공통 캐시" 내의 파일의 최신 버전이라는 것을 보장하게 된다. "공통 캐시"를 구성하는 것으로 정의된 컴퓨터들이 전용 네트워크에 의하여 이용되는 모든 게이트웨이를 포함할 가능성이 있기 때문에, "공통 캐시"는 전용 네트워크 내에서, 또는 전용 네트워크 내로, 또는 그로부터 게이트웨이를 통과하는 데이터 파일의 모든 버전을 포함하는 것이 보장되도록 정의될 수 있게 된다.
도5a, 도5b 및 도5c는 본 발명의 바람직한 실시예의 방법 및 프로세스의 고레벨 논리 흐름도이다. 본 발명의 바람직한 실시예는 하나 또는 그 이상의 전용 네트워크 내의 개별 클라이언트 컴퓨터 및 네트워크 서버의 협동을 계획한 것이다. 도5a는 본 발명의 방법을 실행하는 동안에 클라이언트 컴퓨터가 관여하게 되는 단계를 주로 도시하였다. 도5b는 본 발명의 방법을 실행하는 동안에 네트워크 서버가 관여하게 되는 단계를 주로 도시하였다. 도5c는 전용 네트워크 외부의 소스로부터 파일의 사본을 가져올 때 관여하게 되는 단계를 주로 도시하였으며, 이것은 개별 클라이언트 컴퓨터와 네트워크 서버 사이에 분할되어 있다.
설명의 편의를 위하여, 본 발명의 바람직한 실시예의 방법 및 프로세스에 관한 설명은 도4에 도시된 바와 같이 인터넷과 인터페이스하는 전용 네트워크에서 수행되는 방법 및 프로세스를 참조하여 이루어진다. 그 이유는 이렇게 하는 것이 본 발명의 방법 및 프로세스를 이해하는데 편리하기 때문이다. 본 발명의 기술분야에 통상의 지식을 가진 자는 본 발명의 방법 및 프로세스를 도4와 관련하여 설명하는 것은 단지 명확히 하기 위한 것이며, 실제적으로 여기서 설명되는 본 발명의 방법 및 프로세스는 그 외부의 다른 네트워크에 대하여 전용으로 정의된 모든 네트워크에 적용될 수 있다는 것을 이해할 것이다.
이제 도4, 도5a, 도5b 및 도5c를 참조하면, 프로세스는 단계(100)에서 시작된다. 단계(110)에서, 웹 브라우저 애플리케이션 프로그램(33ab)은 특정 데이터 파일(14f)을 요구한다. 이 요구에 응답하여, 웹 브라우저 애플리케이션 프로그램(33ab)을 실행중인 컴퓨터(33a)는 그 파일(14f)의 사본에 대하여 먼저 로컬 캐시(33ac)를 검사한다(단계 112). 만약 그 파일(14f)의 사본이 로컬 캐시(33ac)에 존재하지 않는다면, 방법은 단계(140)로 진행한다. 만약 파일(14f)의 사본이 로컬 캐시(33ac)에 존재한다면, 로컬 캐시(33ac) 내의 파일(14f)의 사본에 대해 시간표시(timestamp)(전용 네트워크 외부의 소스에 의하여 그 사본이 실제로 생성된 시간) 및 검사합(checksum)(하나의 파일의 내용을 다른 것과 비교할 때 사용됨)을 설정(검증 및 판독)한다(단계 114). 로컬 캐시(33ac) 내의 파일(14f)의 사본에 대한 시간표시 및 검사합이 설정된 후에, 컴퓨터(33a)는 그것이 파일(14f)의 사본을 보존하고 있는 정의된 "공통 캐시" 컴퓨터의 전용 네트워크 어드레스를 가지고 있는지 검사한다(단계 115). 만약 그 파일(14f)에 대한 전용 네트워크 어드레스를 알고 있다면, 방법은 단계(118)로 진행한다. 만약 그 파일(14f)에 대한 전용 네트워크 어드레스를 알고 있지 않다면, 네트워크 관리자에 의하여 "공통 캐시"를 구성하도록 정의된 다양한 전용 네트워크 컴퓨터에게 그 파일(14f)의 사본을 갖고 있는지를 문의한다(단계 116). 전용 데이터 캐시를 검색하는 순서는 네트워크 관리자에 의하여 결정되지만, 예를 들어, "공통 캐시"가 네트워크 캐시(22ac, 12ac, 20ac 및 32ac)를 각각 구비한 컴퓨터(22a, 12a, 20a 및 32a)로 구성되도록 정의된 것으로 가정하자. 이 예에서, 네트워크 서버 캐시(22ac)가 가장 먼저 검색되게 되는데, 그 파일의 사본이 이 네트워크 캐시(22ac)에 존재하지 않으므로, 다음에는 인터넷 호스트 컴퓨터(12a)로 진행하여, 인터넷 호스트 캐시(12ac)가 검색되게 된다. 이 예에서는, 인터넷 호스트 캐시가 파일(14f)을 포함하고 있으므로, 여기서 검색이 중지되지만, 만약 그것이 파일을 갖고 있지 않았다면, 이러한 방식으로 전용 네트워크 전반에 걸쳐 그리고 시스템 관리자가 지정한 바대로(예를 들어, 다음 검색은 20ac에서, 그 다음에는 32ac에서 등) 네트워크 서버/게이트웨이를 통해 검색이 계속될 수 있다. 도시된 바와 같이, 검색 단계(단계 116)에서는, 질의를 받은 컴퓨터의 캐시에 파일(14f)의 사본이 존재하는지를 질의한다. 만약 질의를 받은 컴퓨터에 사본이 존재한다면, 그 사본이 존재하는 컴퓨터의 전용 네트워크 어드레스를 그 파일(14f)이 캐싱된 정의된 "공통 캐시"의 위치로서 상기 질의한 컴퓨터(33a)로 리턴된다.
만약 검색 단계(단계 116)에서 파일(14f)의 사본이 존재하는 정의된 "공통캐시"에 전용 네트워크 컴퓨터가 없다는 것으로 밝혀지면, 방법은 단계(134)로 진행한다. 만약 검색 단계(단계 116)에서 파일(14f)의 사본이 존재하는 전용 네트워크 캐시가 존재한다는 것이 밝혀지면, 컴퓨터(33a)는 그 컴퓨터의 전용 네트워크 어드레스를 파일(14f)의 "공통 캐시"의 위치와 연관시킨다(단계 117). 도4에는, 검색 단계(단계 116)에서 컴퓨터(12a)가 파일(14f)의 사본을 갖고 있다는 것을 알게 되고, 따라서 그 컴퓨터(12a)의 전용 네트워크 어드레스를 파일(14f)의 "공통 캐시" 위치와 연관시키는 상황이 도시되었다.
검색 결과에 응답하여, 컴퓨터(33a)는 컴퓨터(12a)에게 "공통 캐시"에 존재하며 로컬 캐시(33ac) 내의 파일(14f)의 사본과 다르고 더 근래의 것인 파일(14f)의 최신 버전을 송신할 것을 요구한다(단계 118). 이것은 컴퓨터(12a)에게 캐시(33ac) 내의 파일(14f)의 사본에 대한 시간표시 및 검사합과 함께 질의를 송신함으로써 달성된다.
이 시점에서, 프로세스의 제어는 정의된 "공통 캐시"에 파일이 캐싱되어 있는 컴퓨터(본 예에서는, 컴퓨터 12a)의 전용 네트워크 어드레스에 대응하는 컴퓨터로 이전된다. 단계(118)의 기능은 도5b의 단계(120 - 128)에 설명되었다. 단계(120)에서, 인터넷 호스트 컴퓨터(12a)는 그 파일의 파일명(14f33ac)(여기서, 첨자 33ac는 시간표시 및 검사합이 그 캐시(33ac) 내의 파일의 사본에 연관되었다는 사실을 나타냄)을 그와 동반되는 시간표시 및 검사합과 함께 수신한다. 단계(121)에서는, 먼저 컴퓨터(12a)가 파일(14f)의 사본이 여전히 거기에 존재하는지를 알아보기 위하여 캐시(12ac)를 참조한다(어떤 경우에는, 전용 네트워크 캐시가 처리상의 제약에 의하여 파일(14f)을 겹쳐 기록하게 되고, 따라서 파일(14f)의 사본이 더 이상 존재하지 않게 된다)(단계 121). 만약 파일(14f)의 사본이 캐시(12ac)에 존재하지 않는다면, 그 결과에 관한 메시지를 질의한 컴퓨터(33a)로 리턴시킨다(단계 122). 이 시점에서 리턴 블록(123)으로 도시된 바와 같이 프로세스의 제어는 질의하는 컴퓨터(33a)로 다시 이전된다. 그러나, 만약 파일(14f)의 사본이 캐시(12ac)에 존재한다면, 로컬 캐시(12ac) 내의 파일(14f12ac)의 사본(캐시(12ac)의 파일(14f)의 사본)의 시간표시를 파일(14f33ac)의 사본과 연관된 시간표시와 비교한다(단계 124). 일단 비교를 수행되면, 컴퓨터(12a)는 순차적으로 다른 전용 네트워크 캐시 사이트(네트워크 관리자에 의하여 정의될 수 있는 파라미터인 "공통 캐시"로서 기능할 수 있는 특정 컴퓨터)로 그들이 단계(124)의 비교에서 최신의 것으로 판단된 파일(14f)의 사본과 다르고 보다 더 근래의 파일(14f)의 사본을 가지고 있는가에 관하여 질의한다(단계 126). 이것은 "공통 캐시"를 구성하도록 정의된 다른 전용 네트워크 컴퓨터들에게 최신 파일의 파일명과 그에 연관된 시간표시 및 검사합을 송신함으로써 달성된다.
다음에, 네트워크 캐시 컴퓨터(12a)는 단계(126)에서 질의를 받은 전용 네트워크 내의 다른 네트워크 컴퓨터로부터의 응답을 수신한다(단계 128). 만약 수신된 질의 결과가 다른 "공통 캐시" 머신에 파일(14f)의 보다 새롭고 다른 버전이 존재한다는 것을 나타내면, 그 최신의 다른 버전이 검색되어, 캐시(12ac)에 저장되고,그 사본이 질의한 컴퓨터(33a)로 전송된다(단계 128). 만약 "공통 캐시"에 파일의 새롭고 다른 버전이 존재하지 않는다면, 그 결과에 관한 메시지를 질의한 컴퓨터(33a)로 전송한다(단계 128). 이 시점에서 리턴 블록(129)으로 도시된 바와 같이 프로세스의 제어는 질의한 컴퓨터(33a)로 다시 이전된다.
만약 단계(118)에서 파일(14f)의 새로운 버전이 리턴되었다면, 그 파일(14f)의 새로운 버전이 유효한 파일인지를 판단하기 위하여 애플리케이션(33ab)에 의해 결정된 파라미터에 대하여 파일을 검사한다(단계 132). 만약 단계(132)에서 파일(14f)의 새로운 버전이 유효하지 않다고 판단되었다면, 방법은 단계(138)로 진행하여, 네트워크 외부의 소스로부터 파일(14f)의 사본을 가져온다. 만약 단계(132)에서 파일(14f)의 새로운 버전이 유효하다고 판단되었다면, 보다 새로운 버전을 로컬 캐시(33ac)에 저장하고, 파일(14f)의 "공통 캐시" 사본을 컴퓨터(12a)의 "공통 캐시" 네트워크 어드레스와 연관시킨다(단계 136). 다음에는 파일(14f)의 로컬 캐시에 저장된 버전이 이를 요구하는 애플리케이션 프로그램(33ab)으로 전달된다(단계 135). 만약 단계(118)에서 파일(14f)의 새로운 버전이 리턴되지 않았다면, 로컬 캐시에 저장된 파일(14f)의 구 버전이 여전히 유효한지를 판단한다(단계 134). 만약 구 버전이 더 이상 유효하지 않다면, 방법은 단계(138)로 진행하여, 네트워크 외부의 소스로부터 파일(14f)의 사본을 가져온다. 만약 파일(14f)의 구 버전이 유효하다면, 로컬 캐시에 저장된 구 버전이 애플리케이션 프로그램(33ab)으로 전달된다.
만약 단계(112)의 질의에 의해 파일(14f)의 사본이 로컬 캐시(33ac)에 존재하지 않는 것으로 나타났다면, 단계(140)로 진행한다. 단계(140)에서는, 그 파일(14f)에 대하여 알려진 "공통 캐시" 네트워크 어드레스가 존재하는가를 문의한다. 만약 파일(14f)에 대한 "공통 캐시" 네트워크 어드레스가 존재한다면, 방법은 단계(146)로 진행한다. 만약 파일(14f)에 대하여 알려진 "공통 캐시" 전용 네트워크 어드레스가 존재하지 않는다면, 파일(14f)의 사본이 어떤 캐시에 존재하는지를 판단하기 위하여 "공통 캐시"를 검색한다(단계 142). 단계(142)는 단계(116)과 동일한 동작이다. 만약 단계(142)에서 정의된 "공통 캐시" 내에 파일(14f)의 사본이 존재하지 않는다는 메시지가 리턴되었다면, 방법은 단계(138)로 진행하여(단계 144), 파일(14f)의 사본을 네트워크 외부의 소스로부터 가져오게 된다(단계 138). 만약 파일(14f)에 대한 "공통 캐시" 전용 네트워크 어드레스가 존재한다면, 방법은 단계(118)로 진행하여(단계 144), 파일(14f)의 사본이 존재하는 전용 네트워크 캐시에게 파일(14f)의 최신 버전에 관하여 질의한다.
단계(146)은 단계(118)과 동일한 동작이다. 단계(146)의 기능은 도5b의 단계(120-128)에 설명되었다. 만약 단계(146)에서, 파일(14f)이 더 이상 전용 네트워크 어드레스에 존재하지 않는다는 메시지가 리턴되었다면, 프로세스는 단계(142)로 진행하여, 전술한 바와 같이 도5a에 도시된 지점으로부터 진행된다. 만약 단계(146)에서 갱신된 파일이 리턴되었다면, 프로세스는 단계(132)로 진행하여, 전술한 바와 같이 도5a에 도시된 지점으로부터 진행된다.
도5c는 전용 네트워크 외부의 소스로부터 파일을 가져오는 단계(138)에 의하여 수행되는 기능을 도시하고 있다. 전용 네트워크 외부의 소스로부터 파일을 가져올 때, 파일의 타입(type)(예를 들어, 이미지 또는 텍스트 파일)을 판단한다(단계 150). 이 판단에 근거하여, 파일의 "공통 캐시" 사본이 존재하게 될 머신을 식별함에 따라 특정의 "공통 캐시" 전용 네트워크 어드레스가 지정된다(단계 152). 다음에, 웹 브라우저 애플리케이션(33ab)은 인터넷 호스트(12a)와 인터넷 상의 컴퓨터로부터 특정의 파일을 요구하는 통신을 수행한다(단계 154). 또한, 식별된 "공통 캐시" 컴퓨터의 통신에 의해, 인터넷 호스트(12a)가 인터넷으로부터 그 파일을 다운로드한 이후에 파일(14f)의 사본을 보존할 것을 지시한다(단계 154). 인터넷 호스트(12a)로부터 파일(14f)을 수신하면, 이제 전용 네트워크 어드레스는 파일(14f)의 "공통 캐시" 위치로서 식별되고, 그 파일(14f)의 사본은 로컬 캐시(33ac)에 저장되고, 그것을 요구한 웹 브라우저 애플리케이션(33ab)으로 전달된다(단계 156). 다음에, 특정의 데이터 파일의 사본을 인터넷(전용 네트워크 외부의 소스)으로부터 가져와 전용 네트워크 내의 캐시에 저장함으로써 프로세스가 종료된다.
지금까지, 특정의 데이터 파일이 "공통 캐시" 어드레스를 어떻게 수신하는가와, "공통 캐시"에 존재하는 파일의 최신 버전을 어떻게 획득하는가에 관하여 기술하였다. 도6은 각 "공통 캐시" 컴퓨터가 "공통 캐시"의 데이터 파일을 새로운 것으로 유지하려고 시도하는 본 발명의 추가적인 특징을 도시한 도면이다. 일단 "공통 캐시" 컴퓨터가 파일의 사본을 캐시에 저장하라는 지시를 받으면, 본 발명의 일실시예에서, "공통 캐시" 컴퓨터는 그의 파일을 새로운 것으로 유지하려고 시도하여, 캐시에 저장된 파일 중 어느 하나의 최신 버전의 사본에 대한 질의를 받을 때마다, "공통 캐시" 내의 파일의 최신 버전이 그 캐시에 이미 존재할 가능성을 더 많아지게 된다(즉, 캐시의 다른 곳으로부터 파일의 보다 최신의 버전을 로드할 필요가 없다). 이것을 보장하기 위해 다음의 두 가지가 수행되어야 한다. 즉, (1) 캐싱된 파일의 보다 새롭고 다른 버전에 관하여 캐시의 다른 멤버에게 주기적으로 질의하고, (2) "공통 캐시" 내의 파일이 너무 오래된 것일 때에는 전용 네트워크 외부의 소스로부터 파일의 새로운 버전을 다운로드한다.
이 프로세스는 단계(200)에서 시작된다. 수행될 첫 번째 단계는 "공통 캐시" 내의 어떤 컴퓨터에 있는 캐싱된 파일이 "공통 캐시" 내의 파일의 최신 버전일 가능성을 증가시키는 것이다. 단계(201)는 이러한 동작을 도시하고 있다. 이것을 수행하기 위한 다양한 방법이 존재하지만, 그 중에서 한가지 방법은 특정의 데이터 파일이 존재하는 네트워크 서버로 하여금, 정의된 "공통 캐시"의 다른 네트워크 서버들에게 그 네트워크 서버에 존재하는 파일의 버전보다 더 새롭고 다른 버전의 파일을 갖고 있는지에 관한 질의를 방송하도록 하는 것이다(전술한 바와 같이, "공통 캐시" 내의 파일의 최신 버전이 그것을 요구하는 애플리케이션 프로그램 컴퓨터로 리턴되도록 보장하는 것과 유사하다). 만약 어떤 네트워크 서버가 그러한 파일을 갖고 있다면, 요구한 네트워크 서버는 그 파일의 보다 새롭고 다른 버전의 사본을 획득하게 되고, 그것을 보관하고, 그것을 요구한 컴퓨터로 전달하게 된다. 만약 더욱 새로운 버전을 가진 다른 네트워크 서버가 없다면, 네트워크 서버에 있는 파일의 캐싱된 사본이 사용된다.
일단 고려중인 파일이 전용 네트워크 내에서 가장 새로운 것으로 입증되면, 파일의 "진부성(staleness)"에 관하여 검사한다. 단계(202)는 이러한 동작을 도하고 있다. 이러한 진부성 평가(assessment)를 위한 기준으로는 여러 가지가 있지만, 제한적인 것이 아닌 예를 들면, 파일의 연령(chronological age) 또는 파일이 단위 시간당 억세스된 횟수 등이 있다. 만약 그 파일이 진부한 것으로 판단되었다면, 그 파일에 포함된 데이터가 여전히 정확한 것이라는 것을 보장하는 것이 중요하게 된다. 단계(204)는 이러한 동작을 도시하고 있다. 이것을 수행하기 위한 다양한 방법이 존재하지만, 제한적인 것이 아닌 두 가지 예를 들면, 파일의 실제 소스 컴퓨터와 통신 링크를 설정하여 파일의 새로운 사본을 획득하는 방법과 캐시에 저장된 파일이 여전히 정확한 것인가를 알기 위하여 소스 컴퓨터에 질의하여, 만약 그것이 정확한 것이라면 시간표시를 현재로 갱신하고, 만약 정확한 것이 아니라면 보다 정확한 파일의 사본을 획득하는 방법 등이 있다. 이 프로세스는 단계(206)에서 종료되며, 그에 따라 "공통 캐시" 컴퓨터가 그 캐시에 저장된 파일들이 유효하고 "공통 캐시" 내에서 최신의 버전일 가능성을 증가시키게 된다.
도7은 본 발명의 방법 및 시스템에 따라 사용될 수 있는 데이터 처리 시스템을 도시한 도면이다. 본 발명에 의하여 제공되는 시스템 및 방법은 도7에 도시된 데이터 처리 시스템으로 구현될 수 있다. 시스템 유닛(222), 비디오 디스플레이 터미널(224), 키보드(226) 및 마우스(228)를 포함하는 컴퓨터(220)가 도시되었다. 컴퓨터(220)는 인터내셔널 비즈니스 머신즈 코포레이션(이하, "IBM"이라 함)의 IBM RISC/6000 컴퓨터 또는 IBM Aptiva 컴퓨터 등과 같은 컴퓨터로 구현될 수 있다(RISC SYSTEM/6000 또는 Aptiva는 IBM사의 등록 상표임).
도8은 본 발명의 방법 및 시스템에 따라 사용될 수 있는 하드웨어 환경을 도시한 도면이다. 도8은 본 발명의 바람직한 실시예가 구현될 수 있는 컴퓨터(220)의 선택된 구성요소를 도시한다. 시스템 유닛(222)은 통상의 마이크로프로세서(microprocessor)와 같은 중앙 처리 장치(Central Processing Unit)(이하, "CPU"라 함)(231)와, 시스템 버스(232)를 통해 상호 접속된 다수의 다른 유닛을 포함한다. 컴퓨터(220)는 랜덤 억세스 메모리(random-access memory)(이하, "RAM"이라 함)(234), 리드 온리 메모리(read-only memory)(이하, "ROM"이라 함)(236), 시스템 버스(232)를 비디오 디스플레이 터미널(224)과 접속시키기 위한 디스플레이 어댑터(display adapter)(237), 및 주변 장치(예컨대, 디스크 및 테이프 드라이브(233))를 시스템 버스(232)와 접속시키기 위한 I/O 어댑터(239)를 포함한다. 비디오 디스플레이 터미널(224)은 컴퓨터(220)의 시각적인 출력 장치이며, 컴퓨터 하드웨어의 기술 분야에 널리 알려진 CRT-기반의 비디오 디스플레이일 수 있다. 그러나, 휴대용 또는 노트북-기반의 컴퓨터에서는, 비디오 디스플레이 터미널(224)이 LCD-기반 또는 가스 플라즈마-기반의 평판 디스플레이일 수도 있다. 컴퓨터(220)는 또한 키보드(226), 마우스(228), 스피커(246), 마이크(microphone)(248) 및/또는 터치 스크린 장치(도시되지 않음)와 같은 다른 사용자 인터페이스 장치 등을 시스템 버스(232)에 접속시키기 위한 사용자 인터페이스 어댑터(240)를 포함한다. 통신 어뎁터(249)는 컴퓨터(220)를 데이터 처리 네트워크에 접속시킨다.
또한, 컴퓨터(220)는 그의 동작을 관리하기 위하여 머신-판독가능 매체(machine-readable media)에 존재하는 그래픽 사용자 인터페이스(graphicaluser interface)를 포함한다. RAM(234), ROM(236), 자기 디스켓, 자기 테이프, 광 디스크(마지막 세 가지는 디스크 및 테이프 드라이브(233)에 위치한다) 등과 같은 모든 적절한 머신-판독가능 매체에 그래픽 사용자 인터페이스를 보존시킬 수 있다. 어떤 적절한 운영 체계(operating system) 및 그 관련 그래픽 사용자 인터페이스(예컨대, 마이크로소프트 윈도우)도 CPU(231)를 관리할 수 있다. 예컨대, AIX 운영 체계와 AIXwindows 윈도우 시스템(즉, 그래픽 사용자 인터페이스)이 CPU(231)를 관리할 수 있다. AIX 운영 체계는 UNIX 운영 체계의 IBM사의 구현예이다(UNIX는 UNIX 시스템 레보러토리사의 등록 상표이다). 무엇보다도, RISC System/6000 시스템이 AIX 운영 체계에서 실행될 수 있다. 터치 스크린 기술 또는 음성 제어 등과 같은 다른 기술들이 CPU(231)와 함께 사용될 수 있다. 또한, 컴퓨터(220)는 컴퓨터 기억장치(250)에 존재하는 제어 프로그램(251)을 포함한다. 이 제어 프로그램(251)은 CPU(231)에서 실행될 때 전술한 도5a, 도5b 및 도5c의 논리 흐름도에 도시된 동작을 수행하는 명령어를 포함한다.
당업자라면, 도8에 도시된 하드웨어가 특정의 애플리케이션에 대하여 변경될 수 있음을 인식할 것이다. 예를 들어, 광 디스크 매체, 오디오 어댑터, 컴퓨터 하드웨어 기술 분야에서 널리 알려져 있는 PAL 또는 EPROM 프로그래밍 장치와 같은 칩 프로그래밍 장치(chip programming device) 등이 전술한 하드웨어를 대신하여 또는 추가적으로 사용될 수 있다.
도8에 도시된 예에서, 컴퓨터 프로그램 제품(즉, 제어 프로그램(251))은 컴퓨터 기억장치(250)에 존재할 수 있다. 그러나, 본 발명이 전기능 컴퓨팅 시스템과관련하여 설명해왔지만, 당업자라면 본 발명의 메카니즘이 다양한 형태의 프로그램 제품으로 배포될 수 있으며, 본 발명은 실제적으로 배포를 수행하기 위하여 사용되는 신호 전달 매체(signal bearing media)의 특정 형태에 관계없이 동일하게 적용될 수 있다는 것을 인식할 것이다. 신호 전달 매체의 예를 들면, 플로피 디스크, 하드디스크 드라이브, CD ROM 등과 같은 기록가능 형태의 매체(recordable type media)와 디지털 및 아날로그 통신 링크와 같은 전송 형태의 매체(transmission type media)가 있다.
지금까지, 파일의 연령, 파일의 내용, 파일의 사본의 위치 등에 관하여 전용 네트워크 내에 존재하는 파일의 사본을 검사하는 것을 기술하였다. 본 발명의 실시예에서, 이러한 파일 조작(file manipulation)은 분산형 파일 시스템을 이용하여 수행될 수 있으며, 그 몇 가지 예를 들면, 네트워크 파일 시스템(Network Filesystem)(NFS), 분산형 파일 시스템(Distributed Filesystem)(DFS) 및 앤드류스 파일 시스템(Andrews Filesystem:AFS) 등이 있다.
비록 본 발명의 바람직한 실시예가 도시 및 설명되었지만, 본 발명의 기술 분야에서 통상의 지식을 가진 자는 본 발명의 기술사상 및 범위를 벗어나지 않고 그 형태 및 세부사항에서 다양한 변경이 이루어질 수 있다는 것을 이해할 것이다.
본 발명에 의하면, 하나 또는 그 이상의 전용 네트워크의 컴퓨터에서 실행중인 애플리케이션 프로그램 전체에, 하나 또는 그 이상의 전용 네트워크 외부의 소스로부터 하나 또는 그 이상의 전용 네트워크로 다운로드된 특정 파일의 최신 버전을 효율적으로 배포할 수 있다.

Claims (15)

  1. 전용 네트워크(private network) 외부의 소스(source)로부터 그 전용 네트워크로 다운로드(download)된 요구한 데이터 파일(data file)의 최신 버전(version)에 억세스(access)하기 위한 방법에 있어서,
    하나의 컴퓨터 네트워크를 하나 또는 그 이상의 다른 컴퓨터 네트워크들(computer networks)에 대하여 전용 컴퓨터 네트워크로서 설정하는 단계;
    상기 정의된 전용 네트워크 내의 하나 또는 그 이상의 컴퓨터를 공통 캐시(common cache)를 정의하는 것으로 지정하는 단계;
    상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 제1 데이터 파일의 사본을 상기 정의된 공통 캐시 내에 캐싱하는 단계;
    상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 제2 데이터 파일의 사본 - 여기서, 상기 제2 데이터 파일은 상기 제1 데이터 파일의 가장 최신의 버전이며, 상기 제1 데이터 파일과 일부 다른 내용을 포함함 - 을 상기 정의된 공통 캐시 내에 캐싱하는 단계;
    상기 정의된 전용 네트워크 외부의 소스로부터 유래된 특정 데이터 파일에 대한 상기 정의된 전용 네트워크 내의 컴퓨터로부터의 요구에 응답하여, 상기 요구한 특정 데이터 파일이 상기 정의된 공통 캐시 내에 존재하는 상기 제1 및 제2 데이터 파일에 대응하는지 판단하는 단계; 및
    상기 판단 단계에 응답하여, 상기 정의된 공통 캐시 내에 존재하는 상기 제2 데이터 파일을 전송함으로써 상기 요구한 특정 데이터 파일의 가장 최신의 버전을 획득하는 단계를 포함하는 파일 억세스 방법.
  2. 제1항에 있어서, 상기 판단 단계에 응답하여, 상기 요구한 특정 데이터 파일의 사본이 상기 공통 캐시 내에 존재하지 않는 것으로 판단된 경우에, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 요구한 특정의 데이터 파일을 획득하는 단계를 더 포함하는 파일 억세스 방법.
  3. 제1항에 있어서, 하나의 컴퓨터 네트워크를 하나 또는 그 이상의 다른 컴퓨터 네트워크들에 대하여 전용 컴퓨터 네트워크로서 설정하는 상기 단계는,
    공중 인터넷 호스트(public Internet Host)에 의하여 서비스되는 네트워크를 상기 공중 인터넷에 대하여 전용으로서 정의하는 단계를 더 포함하는 파일 억세스 방법.
  4. 제1항에 있어서, 상기 정의된 전용 네트워크 내의 하나 또는 그 이상의 컴퓨터를 공통 캐시를 정의하는 것으로 지정하는 단계는,
    상기 전용 네트워크 내의 최소한 하나의 네트워크 게이트웨이 서버(network gateway server)를 상기 정의된 공통 캐시로서 정의하는 단계를 더 포함하는
    파일 억세스 방법.
  5. 제1항에 있어서, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시 내에 캐싱하는 단계는,
    상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터에 상기 데이터 파일의 사본을 저장하는 단계를 더 포함하는 파일 억세스 방법.
  6. 제1항에 있어서, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시 내에 캐싱하는 단계는,
    상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터에 상기 데이터 파일의 사본을 저장하는 단계;
    상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터로 하여금, 상기 정의된 공통 캐시 내의 하나 또는 그 이상의 다른 컴퓨터에게, 정기적으로 또는 편의에 따라, 상기 정의된 공통 캐시 내에 캐싱된 상기 데이터 파일의 가장 최신의 버전에 관하여 질의할 것을 지시하는 단계;
    상기 질의에 응답하여, 상기 정의된 공통 캐시 내에 캐싱된 상기 데이터 파일의 가장 최신의 버전을 상기 질의한 하나 또는 그 이상의 컴퓨터로 복사하는 단계를 더 포함하는 파일 억세스 방법.
  7. 제1항에 있어서, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시 내에 캐싱하는 단계는,
    상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터에 상기 데이터 파일의 사본을 저장하는 단계;
    상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터로 하여금, 상기 정의된 공통 캐시의 하나 또는 그 이상의 다른 컴퓨터에게, 정기적으로 또는 편의에 따라, 상기 정의된 공통 캐시 내에 캐싱된 상기 데이터 파일의 가장 최신의 버전에 관하여 질의할 것을 지시하는 단계;
    상기 질의에 응답하여, 상기 정의된 공통 캐시 내에 캐싱된 상기 데이터 파일의 가장 최신의 버전의 위치를 저장하는 단계를 더 포함하는 파일 억세스 방법.
  8. 제1항에 있어서, 상기 요구한 특정 데이터 파일의 사본이 상기 정의된 공통 캐시 내에 존재하는지 판단하는 단계는,
    상기 정의된 공통 캐시 내의 하나 또는 그 이상의 컴퓨터에게 상기 요구한 특정 데이터 파일의 사본이 상기 하나 또는 그 이상의 컴퓨터에 존재하는지에 관하여 질의하는 단계를 더 포함하는 파일 억세스 방법.
  9. 제1항에 있어서, 상기 정의된 공통 캐시 내에 존재하는 상기 요구한 특정 데이터 파일의 가장 최신의 버전을 획득하는 단계는,
    상기 판단 단계에 응답하여, 상기 요구한 데이터 파일의 가장 최신의 버전을 로컬 메모리(local memory)로 복사하는 단계를 더 포함하는 파일 억세스 방법.
  10. 제1항에 있어서, 상기 정의된 공통 캐시 내에 존재하는 상기 요구한 특정 데이터 파일의 가장 최신의 버전을 획득하는 단계는,
    상기 요구한 데이터 파일의 가장 최신의 버전을 로컬 메모리(local memory)로 복사하는 단계;
    상기 요구한 데이터 파일의 가장 최신의 버전을 상기 가장 최신의 버전을 요구한 컴퓨터로 전달하는 단계를 더 포함하는 파일 억세스 방법.
  11. 제1항에 있어서, 상기 요구한 데이터 파일의 가장 최신의 버전의 수신된 버전을 상기 데이터 파일을 요구한 컴퓨터의 로컬 메모리로 복사하는 단계; 및
    상기 특정 데이터 파일을 요구한 컴퓨터의 로컬 메모리 내에서, 상기 복사된 가장 최신의 버전이 획득된 상기 정의된 공통 캐시 내의 네트워크 어드레스를 상기 요구한 데이터 파일의 명칭과 연관시키는 단계를 더 포함하는 파일 억세스 방법.
  12. 전용 네트워크 외부의 소스로부터 상기 전용 네트워크로 다운로드된 요구한 데이터 파일의 가장 최신의 버전에 억세스하기 위한 시스템에 있어서,
    하나의 컴퓨터 네트워크를 하나 또는 그 이상의 다른 컴퓨터 네트워크들에 대하여 전용 컴퓨터 네트워크로서 설정하기 위한 수단;
    상기 정의된 전용 네트워크 내의 하나 또는 그 이상의 컴퓨터를 공통 캐시를 정의하는 것으로 지정하기 위한 수단;
    상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 제1 데이터 파일의 사본과 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 제2 데이터 파일의 사본 - 여기서, 상기 제2 데이터 파일은 상기 제1 데이터 파일의 가장 최신의 버전이며, 상기 제1 데이터 파일과 일부 다른 내용을 포함함 - 을 상기 정의된 공통 캐시 내에 캐싱하기 위한 수단;
    상기 정의된 전용네트워크 외부의 소스로부터 유래된 특정 데이터 파일에 대한 상기 정의된 전용 네트워크 내의 컴퓨터로부터의 요구에 응답하여, 상기 요구한 특정 데이터 파일이 상기 정의된 공통 캐시 내에 존재하는 상기 제1 및 제2 데이터 파일에 대응하는지 판단하기 위한 수단; 및
    상기 판단 단계에 응답하여, 상기 정의된 공통 캐시 내에 존재하는 상기 제2 데이터 파일을 전송함으로써 상기 요구한 특정 데이터 파일의 가장 최신의 버전을 획득하기 위한 수단을 포함하는 파일 억세스 시스템.
  13. 전용 네트워크 외부의 소스로부터 상기 전용 네트워크로 다운로드된 요구한 데이터 파일의 가장 최신의 버전에 억세스하기 위한 프로그램 제품에 있어서,
    하나의 컴퓨터 네트워크를 하나 또는 그 이상의 다른 컴퓨터 네트워크들에 대하여 전용 컴퓨터 네트워크로서 설정하기 위한 수단;
    상기 정의된 전용 네트워크 내의 하나 또는 그 이상의 컴퓨터를 공통 캐시를 정의하는 것으로 지정하기 위한 수단;
    상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 제1 데이터 파일의 사본과 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 제2 데이터 파일의 사본 - 여기서, 상기 제2 데이터 파일은 상기 제1 데이터 파일의 가장 최신의 버전이며, 상기 제1 데이터 파일과 일부 다른 내용을 포함함 - 을 상기 정의된 공통 캐시 내에 캐싱하기 위한 수단;
    상기 정의된 전용 네트워크 외부의 소스로부터 유래된 특정 데이터 파일에 대한 상기 정의된 전용 네트워크 내의 컴퓨터로부터의 요구에 응답하여, 상기 요구한 특정 데이터 파일이 상기 정의된 공통 캐시 내에 존재하는 상기 제1 및 제2 데이터 파일에 대응하는지 판단하기 위한 수단;
    상기 판단 단계에 응답하여, 상기 정의된 공통 캐시 내에 존재하는 상기 제2 데이터 파일을 전송함으로써 상기 요구한 특정 데이터 파일의 가장 최신의 버전을 획득하기 위한 수단; 및
    상기 설정 수단, 지정 수단, 캐싱 수단, 판단 수단 및 획득 수단을 전달하는 신호 전달 매체(signal bearing media)를 포함하는 프로그램 제품.
  14. 제13항에 있어서, 상기 신호 전달 매체는 기록 가능 매체(recordable media)를 포함하는 프로그램 제품.
  15. 제13항에 있어서, 상기 신호 전달 매체는 전송 매체(transmission media)를 포함하는 프로그램 제품.
KR1019980002212A 1997-03-17 1998-01-24 인터네트워크를위한공통캐시의생성및이용방법과그시스템 KR100293373B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/819,185 1997-03-17
US8/819,185 1997-03-17
US08/819,185 US5878218A (en) 1997-03-17 1997-03-17 Method and system for creating and utilizing common caches for internetworks

Publications (2)

Publication Number Publication Date
KR19980079648A KR19980079648A (ko) 1998-11-25
KR100293373B1 true KR100293373B1 (ko) 2001-07-12

Family

ID=25227432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980002212A KR100293373B1 (ko) 1997-03-17 1998-01-24 인터네트워크를위한공통캐시의생성및이용방법과그시스템

Country Status (2)

Country Link
US (1) US5878218A (ko)
KR (1) KR100293373B1 (ko)

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026452A (en) * 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
US6782427B1 (en) * 1997-04-02 2004-08-24 Allegro Software Development Corporation Serving data from a resource limited system
US6314456B1 (en) * 1997-04-02 2001-11-06 Allegro Software Development Corporation Serving data from a resource limited system
US7103794B2 (en) 1998-06-08 2006-09-05 Cacheflow, Inc. Network object cache engine
JPH1185654A (ja) * 1997-09-12 1999-03-30 Matsushita Electric Ind Co Ltd 仮想wwwサーバ装置およびカメラ制御可能なwwwサーバ装置
US6192382B1 (en) * 1997-09-24 2001-02-20 Mediaone Group, Inc. Method and system for web site construction using HTML fragment caching
US6192398B1 (en) * 1997-10-17 2001-02-20 International Business Machines Corporation Remote/shared browser cache
US6253234B1 (en) * 1997-10-17 2001-06-26 International Business Machines Corporation Shared web page caching at browsers for an intranet
JPH11120048A (ja) * 1997-10-20 1999-04-30 Fujitsu Ltd クライアント/サーバ分散システムにおけるデータキャッシング装置及び方法並びにデータキャッシングプログラムを記録した媒体
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
US6003082A (en) * 1998-04-22 1999-12-14 International Business Machines Corporation Selective internet request caching and execution system
US6446109B2 (en) 1998-06-29 2002-09-03 Sun Microsystems, Inc. Application computing environment
US6427187B2 (en) 1998-07-31 2002-07-30 Cache Flow, Inc. Multiple cache communication
US6633901B1 (en) * 1998-10-23 2003-10-14 Pss Systems, Inc. Multi-route client-server architecture
US6370620B1 (en) * 1998-12-10 2002-04-09 International Business Machines Corporation Web object caching and apparatus for performing the same
US6526448B1 (en) * 1998-12-22 2003-02-25 At&T Corp. Pseudo proxy server providing instant overflow capacity to computer networks
US6219676B1 (en) * 1999-03-29 2001-04-17 Novell, Inc. Methodology for cache coherency of web server data
US6502175B1 (en) * 1999-03-31 2002-12-31 Lucent Technologies Inc. Method and apparatus for locating caches in a network to optimize performance
US7526481B1 (en) * 1999-04-19 2009-04-28 Oracle International Corporation Web servers with queryable dynamic caches
US6484212B1 (en) 1999-04-20 2002-11-19 At&T Corp. Proxy apparatus and method for streaming media information
KR100624142B1 (ko) * 1999-04-22 2006-09-13 에스케이 텔레콤주식회사 무선 데이터 서비스를 위한 게이트웨이 장치 및 상기 게이트웨이 장치에서의 무선 데이터 서비스 처리 방법
JP2003515197A (ja) * 1999-06-23 2003-04-22 マンゴソフト コーポレイション 完全にソフトウェアで実施される分散形仮想Webキャッシュ
US6601090B1 (en) * 1999-06-25 2003-07-29 Nortel Networks Limited System and method for servicing internet object accessess from a coupled intranet
US6427172B1 (en) * 1999-07-20 2002-07-30 Cyberstar, L.P. Method and apparatus for internet cache content delivery via a data distribution system
US6584497B1 (en) 1999-07-28 2003-06-24 International Business Machines Corporation Method, system, and program for returning a file requested through a network connection
US6518980B1 (en) 1999-11-19 2003-02-11 Fanuc Robotics North America, Inc. Method and system for allowing a programmable controller to communicate with a remote computer
US6560513B2 (en) 1999-11-19 2003-05-06 Fanuc Robotics North America Robotic system with teach pendant
US7243136B2 (en) * 2000-01-18 2007-07-10 Inktomi Corporation Approach for managing and providing content to users
GB0002174D0 (en) * 2000-01-31 2000-03-22 Sgs Thomson Microelectronics Design flow checker
US7240067B2 (en) * 2000-02-08 2007-07-03 Sybase, Inc. System and methodology for extraction and aggregation of data from dynamic content
WO2001080054A1 (en) * 2000-04-13 2001-10-25 N-Tier Financial Services, Llc Business objects process development framework for data reconciliation
US7237022B1 (en) * 2000-06-29 2007-06-26 Microsoft Corporation Suspension and reinstatement of reference handles
US7281032B2 (en) * 2000-06-30 2007-10-09 Hitachi, Ltd. File sharing system with data mirroring by storage systems
US7188157B1 (en) 2000-06-30 2007-03-06 Hitachi, Ltd. Continuous update of data in a data server system
US7386238B2 (en) * 2000-08-15 2008-06-10 Lockheed Martin Corporation Method and system for infrared data communications
US6954893B2 (en) 2000-08-15 2005-10-11 Lockheed Martin Corporation Method and apparatus for reliable unidirectional communication in a data network
KR100394189B1 (ko) * 2000-08-23 2003-08-09 주식회사 아라기술 지역망을 이용한 웹 콘텐츠 서비스 방법
KR100645960B1 (ko) * 2000-08-29 2006-11-14 삼성전자주식회사 사설망의 네트워크 노드에 접속하기 위한 시스템과 방법
US6836663B1 (en) * 2000-09-22 2004-12-28 Motorola, Inc. Wireless communications device with network cache function
KR20020025469A (ko) * 2000-09-29 2002-04-04 허노재 엔에이티 시스템을 이용하여 네트워크 자동설정, 웹캐싱및 파일 쉐어링 기능을 갖는 서버와 그 기능을 수행하는방법
US6609126B1 (en) 2000-11-15 2003-08-19 Appfluent Technology, Inc. System and method for routing database requests to a database and a cache
US8583745B2 (en) 2000-11-16 2013-11-12 Opendesign, Inc. Application platform
US20020065899A1 (en) * 2000-11-30 2002-05-30 Smith Erik Richard System and method for delivering dynamic content
US6792507B2 (en) 2000-12-14 2004-09-14 Maxxan Systems, Inc. Caching system and method for a network storage system
US20020107835A1 (en) * 2001-02-08 2002-08-08 Coram Michael T. System and method for adaptive result set caching
US7809854B2 (en) * 2002-02-12 2010-10-05 Open Design, Inc. Logical routing system
US7146429B2 (en) * 2001-03-16 2006-12-05 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data requesting method
US7555561B2 (en) * 2001-03-19 2009-06-30 The Aerospace Corporation Cooperative adaptive web caching routing and forwarding web content data broadcasting method
US7124299B2 (en) * 2001-05-18 2006-10-17 Claymore Systems, Inc. System, method and computer program product for auditing XML messages in a network-based message stream
US7464154B2 (en) * 2001-05-18 2008-12-09 Network Resonance, Inc. System, method and computer program product for analyzing data from network-based structured message stream
US7936693B2 (en) * 2001-05-18 2011-05-03 Network Resonance, Inc. System, method and computer program product for providing an IP datalink multiplexer
US7451110B2 (en) * 2001-05-18 2008-11-11 Network Resonance, Inc. System, method and computer program product for providing an efficient trading market
US20040128343A1 (en) * 2001-06-19 2004-07-01 Mayer Daniel J Method and apparatus for distributing video programs using partial caching
US20030009522A1 (en) * 2001-07-05 2003-01-09 Rau Sadhana S. Method for propagating teamware transactions
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US7962565B2 (en) * 2001-09-29 2011-06-14 Siebel Systems, Inc. Method, apparatus and system for a mobile web client
KR20010109499A (ko) * 2001-10-11 2001-12-10 온스그래픽(주) 인터넷 캐싱 시스템 및 방법
US20030084219A1 (en) * 2001-10-26 2003-05-01 Maxxan Systems, Inc. System, apparatus and method for address forwarding for a computer network
US20030097582A1 (en) * 2001-11-19 2003-05-22 Yves Audebert Method and system for reducing personal security device latency
US20030110218A1 (en) * 2001-12-12 2003-06-12 Stanley Randy P. Local caching of images for on-line conferencing programs
US20030126197A1 (en) * 2001-12-28 2003-07-03 Black Brad R. Efficient content placement using network proximity
US7145914B2 (en) 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
US7085846B2 (en) * 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US6874089B2 (en) * 2002-02-25 2005-03-29 Network Resonance, Inc. System, method and computer program product for guaranteeing electronic transactions
US7769997B2 (en) * 2002-02-25 2010-08-03 Network Resonance, Inc. System, method and computer program product for guaranteeing electronic transactions
US7406038B1 (en) 2002-04-05 2008-07-29 Ciphermax, Incorporated System and method for expansion of computer network switching system without disruption thereof
US7379970B1 (en) 2002-04-05 2008-05-27 Ciphermax, Inc. Method and system for reduced distributed event handling in a network environment
US7295561B1 (en) 2002-04-05 2007-11-13 Ciphermax, Inc. Fibre channel implementation using network processors
US7307995B1 (en) 2002-04-05 2007-12-11 Ciphermax, Inc. System and method for linking a plurality of network switches
US20030195956A1 (en) * 2002-04-15 2003-10-16 Maxxan Systems, Inc. System and method for allocating unique zone membership
US20030200330A1 (en) * 2002-04-22 2003-10-23 Maxxan Systems, Inc. System and method for load-sharing computer network switch
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
CA2513503A1 (en) * 2003-01-17 2004-08-12 Tacit Networks, Inc. Method and system for use of storage caching with a distributed file system
US7765196B2 (en) * 2003-06-23 2010-07-27 Dell Products L.P. Method and apparatus for web cache using database triggers
US20050050021A1 (en) * 2003-08-25 2005-03-03 Sybase, Inc. Information Messaging and Collaboration System
US7249354B2 (en) * 2003-10-14 2007-07-24 Microsoft Corporation System and method for deploying a software build from a plurality of software builds to a target computer
US20050198205A1 (en) * 2004-01-28 2005-09-08 James Roach Data acquisition system and method for using the same
US20050234912A1 (en) * 2004-04-12 2005-10-20 Intrametrics L.L.C. System and method useful for interfacing a computer application with a dealer management system
US7729506B2 (en) * 2004-05-06 2010-06-01 Keith Carlson Apparatus and method for creating three dimensional relief tiles
US20070226085A1 (en) * 2006-03-10 2007-09-27 Roach James A System and method for automated mapping of data in a multi-valued data structure
US20070214139A1 (en) * 2006-03-10 2007-09-13 Roach James A System and method for mapping data in a multi-valued data structure
US7765192B2 (en) * 2006-03-29 2010-07-27 Abo Enterprises, Llc System and method for archiving a media collection
US7444388B1 (en) 2006-04-13 2008-10-28 Concert Technology Corporation System and method for obtaining media content for a portable media player
US7571594B2 (en) * 2006-07-28 2009-08-11 Milliken & Company Composite yarn and process for producing the same
US8620699B2 (en) 2006-08-08 2013-12-31 Napo Enterprises, Llc Heavy influencer media recommendations
US8307092B2 (en) * 2007-02-21 2012-11-06 Napo Enterprises, Llc Method and system for collecting information about a user's media collections from multiple login points
US7734733B1 (en) 2007-06-15 2010-06-08 Packeteer, Inc. WAFS disconnected-mode read-write access
US8346966B1 (en) 2007-07-19 2013-01-01 Blue Coat Systems, Inc. Transparent file system access for wide area network file system acceleration
BRPI0907712A2 (pt) * 2008-02-11 2015-07-21 Dolby Lab Licensing Corp Sistema de dns dinâmico para redes particulares
US9135284B1 (en) 2008-03-13 2015-09-15 Blue Coat Systems, Inc. Composite execution of rename operations in wide area file systems
US9442850B1 (en) 2008-03-25 2016-09-13 Blue Coat Systems, Inc. Efficient directory refresh operations in wide area file systems
US8176256B2 (en) * 2008-06-12 2012-05-08 Microsoft Corporation Cache regions
US8943271B2 (en) * 2008-06-12 2015-01-27 Microsoft Corporation Distributed cache arrangement
US8706878B1 (en) 2008-08-21 2014-04-22 United Services Automobile Association Preferential loading in data centers
US20100180209A1 (en) * 2008-09-24 2010-07-15 Samsung Electronics Co., Ltd. Electronic device management method, and electronic device management system and host electronic device using the method
KR101506166B1 (ko) * 2008-09-24 2015-03-27 삼성전자주식회사 단말기 관리 시스템 및 방법
US20110219067A1 (en) * 2008-10-29 2011-09-08 Dolby Laboratories Licensing Corporation Internetworking Domain and Key System
US20100281224A1 (en) 2009-05-01 2010-11-04 International Buisness Machines Corporation Prefetching content from incoming messages
WO2011092838A1 (ja) * 2010-01-29 2011-08-04 株式会社フォーサイド・ドット・コム コンテンツ共有システム、およびコンテンツ共有方法
US8495038B2 (en) 2010-08-17 2013-07-23 Fujitsu Limited Validating sensor data represented by characteristic functions
US8572146B2 (en) 2010-08-17 2013-10-29 Fujitsu Limited Comparing data samples represented by characteristic functions
US9002781B2 (en) 2010-08-17 2015-04-07 Fujitsu Limited Annotating environmental data represented by characteristic functions
US8645108B2 (en) 2010-08-17 2014-02-04 Fujitsu Limited Annotating binary decision diagrams representing sensor data
US9138143B2 (en) 2010-08-17 2015-09-22 Fujitsu Limited Annotating medical data represented by characteristic functions
US8930394B2 (en) 2010-08-17 2015-01-06 Fujitsu Limited Querying sensor data stored as binary decision diagrams
US8583718B2 (en) 2010-08-17 2013-11-12 Fujitsu Limited Comparing boolean functions representing sensor data
US8874607B2 (en) * 2010-08-17 2014-10-28 Fujitsu Limited Representing sensor data as binary decision diagrams
US8874696B1 (en) * 2010-12-17 2014-10-28 Emc Corporation Common cache service
US8924500B2 (en) * 2011-03-29 2014-12-30 Amazon Technologies, Inc. Local storage linked to networked storage system
US9075908B2 (en) 2011-09-23 2015-07-07 Fujitsu Limited Partitioning medical binary decision diagrams for size optimization
US8620854B2 (en) 2011-09-23 2013-12-31 Fujitsu Limited Annotating medical binary decision diagrams with health state information
US8719214B2 (en) 2011-09-23 2014-05-06 Fujitsu Limited Combining medical binary decision diagrams for analysis optimization
US8838523B2 (en) 2011-09-23 2014-09-16 Fujitsu Limited Compression threshold analysis of binary decision diagrams
US8781995B2 (en) 2011-09-23 2014-07-15 Fujitsu Limited Range queries in binary decision diagrams
US8909592B2 (en) 2011-09-23 2014-12-09 Fujitsu Limited Combining medical binary decision diagrams to determine data correlations
US9176819B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Detecting sensor malfunctions using compression analysis of binary decision diagrams
US8812943B2 (en) 2011-09-23 2014-08-19 Fujitsu Limited Detecting data corruption in medical binary decision diagrams using hashing techniques
US9177247B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Partitioning medical binary decision diagrams for analysis optimization
US9253278B2 (en) 2012-01-30 2016-02-02 International Business Machines Corporation Using entity tags (ETags) in a hierarchical HTTP proxy cache to reduce network traffic
US9055118B2 (en) * 2012-07-13 2015-06-09 International Business Machines Corporation Edge caching using HTTP headers
US8875254B2 (en) 2012-08-07 2014-10-28 International Business Machines Corporation Cache sharing of enterprise data among peers via an enterprise server
CN103795770B (zh) * 2012-10-26 2017-07-04 伊姆西公司 在网络基础设施中提供高速缓存服务的方法和装置
CN104426955B (zh) * 2013-08-28 2018-05-04 北大方正集团有限公司 共享文件的处理方法及云存储服务器
EP3063629A1 (en) * 2013-10-28 2016-09-07 Longsand Limited Instant streaming of the latest version of a file

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4714992A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Communication for version management in a distributed information service
CA1341310C (en) * 1988-07-15 2001-10-23 Robert Filepp Interactive computer network and method of operation
US5204947A (en) * 1990-10-31 1993-04-20 International Business Machines Corporation Application independent (open) hypermedia enablement services
US5297249A (en) * 1990-10-31 1994-03-22 International Business Machines Corporation Hypermedia link marker abstract and search services
US5438508A (en) * 1991-06-28 1995-08-01 Digital Equipment Corporation License document interchange format for license management system
US5511160A (en) * 1993-09-30 1996-04-23 Hewlett-Packard Company Information retrieval device for displaying and directly refreshing the display of a document
CA2130395C (en) * 1993-12-09 1999-01-19 David G. Greenwood Multimedia distribution over wide area networks
US5671391A (en) * 1994-01-10 1997-09-23 Ncr Corporation Coherent copyback protocol for multi-level cache memory systems
US5583994A (en) * 1994-02-07 1996-12-10 Regents Of The University Of California System for efficient delivery of multimedia information using hierarchical network of servers selectively caching program for a selected time period
US5491820A (en) * 1994-11-10 1996-02-13 At&T Corporation Distributed, intermittently connected, object-oriented database and management system
US5721914A (en) * 1995-09-14 1998-02-24 Mci Corporation System and method for hierarchical data distribution
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5740370A (en) * 1996-03-27 1998-04-14 Clinton Battersby System for opening cache file associated with designated file of file server only if the file is not subject to being modified by different program

Also Published As

Publication number Publication date
US5878218A (en) 1999-03-02
KR19980079648A (ko) 1998-11-25

Similar Documents

Publication Publication Date Title
KR100293373B1 (ko) 인터네트워크를위한공통캐시의생성및이용방법과그시스템
US9380022B2 (en) System and method for managing content variations in a content deliver cache
US7877459B2 (en) Method and system for modifying requests for remote resources
KR100470493B1 (ko) 특수 도메인네임 분해 서비스 방법
Luotonen et al. World-wide web proxies
US9503423B2 (en) System and method for adapting an internet filter
US7363291B1 (en) Methods and apparatus for increasing efficiency of electronic document delivery to users
US7310687B2 (en) Methods and systems for managing class-based condensation
EP1546924B1 (en) Method, system, and program for maintaining data in distributed caches
US6647531B2 (en) Customization of network documents
US6253234B1 (en) Shared web page caching at browsers for an intranet
US6338117B1 (en) System and method for coordinated hierarchical caching and cache replacement
US6654794B1 (en) Method, data processing system and program product that provide an internet-compatible network file system driver
US8135831B2 (en) System, method and apparatus for use in monitoring or controlling internet access
US9183188B2 (en) Dynamic toolbar for markup language document
US20020188665A1 (en) System and method for patch enabled data transmissions
US6748448B1 (en) High performance internet storage access scheme
US8788528B2 (en) Filtering cached content based on embedded URLs
US20030074403A1 (en) Methods and apparatus for peer-to-peer services
US20060168645A1 (en) Apparatus and method for a personal cookie repository service for cookie management among multiple devices
US20080320003A1 (en) Scaling network services using dns
US20100064047A1 (en) Internet lookup engine
EP1105820A1 (en) An apparatus and method for improving performance of proxy server arrays that use persistent connections
JP2002524979A (ja) Dnsトラフィックをトランスペアレントに処理するための方法および装置
CA2577259A1 (en) System, method and apparatus for use in monitoring or controlling internet access

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
LAPS Lapse due to unpaid annual fee