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

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

Info

Publication number
KR19980079648A
KR19980079648A KR1019980002212A KR19980002212A KR19980079648A KR 19980079648 A KR19980079648 A KR 19980079648A KR 1019980002212 A KR1019980002212 A KR 1019980002212A KR 19980002212 A KR19980002212 A KR 19980002212A KR 19980079648 A KR19980079648 A KR 19980079648A
Authority
KR
South Korea
Prior art keywords
data file
common cache
computer
copy
dedicated network
Prior art date
Application number
KR1019980002212A
Other languages
English (en)
Other versions
KR100293373B1 (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

인터네트워크를 위한 공통 캐시의 생성 및 이용 방법과 그 시스템
본 발명은, 전용 네트워크(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쪽(3rd ed. 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쪽(3rd ed. 1996)).
각 인터넷 호스트는 일반적으로 그에 부착된 다수의 클라이언트(client) 컴퓨터를 가지며, 인터넷으로의 억세스를 가진 경우에는 상기 컴퓨터들에게 서비스를 제공하는 서버로서 기능한다. 통신 네트워크에서는, 상기 클라이언트와 서버라는 용어는 클라이언트-서버 아키텍쳐(client-server architecture)를 칭하는 것으로서, 그것은 특정의 서비스를 요구하는 하나의 컴퓨터에서 실행되는 클라이언트 소프트웨어와, 다른 컴퓨터에 의하여 관리되는 공유된 자원(shared resource)으로의 억세스를 제공하기 위하여 상기 다른 컴퓨터에서 실행되는 해당 서버 소프트웨어를 사용하는 네트워크 기반 시스템(network-based system)이다(M. Weik, Communication Standard Dictionary, 137쪽(3rd ed. 1996)). 그 다음에, 상기 서버는, 요구된 특정의 서비스를 제공하기 위하여 인터넷과 같은 자원에 접속한다. 그리하여, 상기 서버는 자원의 효율적인 공유를 가능하게 한다. 따라서, 상기 클라이언트와 서버라는 용어는 상황에 좌우되는 용어이며, 어떤 상황에서 클라이언트로서 기능하던 컴퓨터(인터넷으로의 억세스를 요구하는 컴퓨터)가 다른 상황(동일한 컴퓨터가 그에 부착된 다수의 컴퓨터를 가지며, 상기 부착된 컴퓨터를 위하여 네트워크 자원 관리자로서 기능하는 경우)에서는 서버로서 기능할 수 있다. 이와 같은 관계는, 그에 접속된 컴퓨터들과 그들의 소프트웨어의 아키텍쳐에 따라, 각 부착된 컴퓨터가 클라이언트 또는 서버 양쪽으로 기능하면서 무한하게 확장될 수 있다.
이러한 계층적 관계는 상기 DNS내에서 인식되며, 결론적으로 인간이 판독 가능한 DNS 네임은 일반적으로 점으로 분리된 레이블 시퀀스(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쪽(3rd ed. 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 통신은 하이퍼텍스트 전송 프로토콜(Hypertext Transfer 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)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(31a)는 클라이언트 컴퓨터(40a 내지 43a)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 컴퓨터(34a)는 클라이언트 컴퓨터(44a 내지 47a)로 구성된 네트워크를 위한 네트워크 서버로서 기능한다. 또한, 상기 각 네트워크 서버들은 그에 부착된 하위 네트워크로부터 그 상위 네트워크로의 게이트웨이로서 기능한다.
도 1은 상기한 개념들을 설명하는데 사용될 수 있다. 개인용 컴퓨터(40a)가 웹 브라우저 애플리케이션 프로그램을 실행중이라고 가정하자. 또한, 개인용 컴퓨터(40a)의 사용자가, 상기 개인용 컴퓨터(40a)의 스크린에 강조된 방식으로 표현된 링크를 통해 웹 페이지(하이퍼텍스트 마크업 언어(HTML)로 형식화된 컴퓨터 파일)에 억세스하기를 원한다고 가정하자. 또한, 개인용 컴퓨터(40a)의 사용자가 상기 링크를 활성화하였을 때, 상기 개인용 컴퓨터(40a)는 URL을 통해 상기 디스플레이된 링크에 해당하는 상기 웹 페이지가 실제로는 컴퓨터(62)에 존재하는 데이터 파일에 해당한다는 것을 규정한다고 가정하자. 그리하여, 상기 원하는 웹 페이지에 억세스하기 위하여, 상기 개인용 컴퓨터(40a)는 그의 서버(32a)와 교섭하여 인터넷 호스트 컴퓨터(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)를 포함하며, 상기 인터넷 호스트(12a)에 부착된 제 2 네트워크도 도시되었다. 상기 종래의 해결 방법에서는, 상기 인터넷 호스트(12a)가 인터넷으로부터 그를 통해 자주 다운로드되는 인터넷 파일의 인터넷 호스트 캐시(12ac)를 생성한다. 또한, 상기 네트워크 서버(22a)도 그를 통해 자주 다운로드되는 인터넷 파일의 캐시(22ac)를 생성한다. 또한, 설명을 위하여 클라이언트 컴퓨터(33a)에서 실행중인 것으로 도시된 웹 브라우저(33ab)와 같은 애플리케이션 프로그램도 상기 웹 브라우저가 최근에 억세스한 인터넷 파일의 로컬 캐시(33ac)를 생성한다.
동작중에, 클라이언트 컴퓨터(33a)에서 실행중인 웹 브라우저 애플리케이션(33ab)의 사용자(도시되지 않음)는 특정의 데이터 파일(10f)로의 억세스를 요구한다. 상기 웹 브라우저는 상기 요구된 특정의 데이터 파일에 대하여 먼저 그의 로컬 캐시(33ac)를 점검한다. 만약 상기 웹 브라우저(33ab)가 상기 파일이 존재하는 것을 발견하였다면, 상기 캐시된 파일을 독출하고 그것을 사용자가 요구한 방식대로 사용한다. 만약 상기 웹 브라우저(33ab)가 상기 로컬 캐시(33ac)에 상기 특정의 데이터 파일이 존재하지 않거나(도 2에 도시된 경우), 존재하는 파일이 너무 오래되어 신뢰할 수 없다는 것을 발견하였다면, 상기 웹 브라우저(33ab)는 네트워크 서버(22a)를 통해 인터넷 호스트(12a)로부터 특정의 데이터 파일(10f)을 요구하며, 이 경우에는 네트워크 게이트웨이로서 기능한다.
만약 상기 요구된 특정의 데이터 파일(10f)이 상기 인터넷 호스트의 로컬 캐시(12ac)에 존재한다면, 상기 인터넷 호스트는 네트워크 서버(22a)를 통해 상기 웹 브라우저(33ab)로 상기 캐시된 파일의 사본을 전달하며, 이 경우에는 네트워크 게이트웨이로서 기능한다. 만약 상기 인터넷 호스트(12a)가 상기 인터넷 호스트 캐시(12ac)에 상기 특정의 파일이 존재하기 않거나, 존재하는 파일이 너무 오래되어 신뢰할 수 없다는 것을 발견하였다면, 상기 인터넷 호스트는 인터넷을 통해 상기 특정의 파일이 실재로 존재하는 컴퓨터(도시되지 않음)와의 접속을 설정하고, 인터넷을 통한 컴퓨터간의 통신에 관하여 상기한 방식으로 상기 파일을 독출한다. 일단 인터넷 호스트(12a)가 특정의 데이터 파일(10f)을 수신하면, 상기 파일을 게이트웨이/네트워크 서버(22a)를 통해 웹 브라우저(33ab)로 전달한다.
자주 요구되는 특정의 데이터 파일이 네트워크 서버/게이트웨이(22a)를 통해 통과될 때마다, 상기 네트워크 서버는 상기 특정의 데이터 파일의 캐시된 사본(22ac)을 생성한다. 그 다음에, 네트워크 서버/게이트웨이(22a)를 통한 특정의 데이터 파일의 요구는, 상기 특정의 데이터 파일이 존재하는지를 판단하기 위하여, 웹 브라우저(33ab)가 인터넷 호스트(12a)로부터 특정의 데이터 파일을 요구할 때에 관하여 상기한 방식대로, 먼저 이 캐시를 점검한다.
도 3은 상기한 종래의 해결 방법에 내재하는 문제점을 도시한 도면이다. 웹 브라우저(33ab)의 사용자(도시되지 않음)는 시간 t1에서 특정의 데이터 파일(12f)을 요구한다. 특정의 데이터 파일이 로컬 캐시(33ac)에 존재하지 않으므로, 웹 브라우저(33ab)는 인터넷 호스트(12a)로부터 상기 특정의 데이터 파일(12f)을 요구한다. 인터넷 호스트(12a)는 인터넷 호스트 캐시(12ac)를 참조하여 상기 특정의 데이터 파일(12ft1)(여기서, 첨자 t1은 시간 t1에서 인터넷 호스트(12ac)에 존재하는 상기 특정의 데이터 파일(12f)의 시간 t1 버전임을 나타낸다.)이 존재함을 발견하고, 상기 캐시된 파일의 사본을 웹 브라우저(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)의 시간 t1+10 버전임을 나타낸다.)을 수신함에 따라, 상기 인터넷 호스트(12a)는 상기 네트워크 서버/게이트웨이(20a)를 통해 웹 브라우저로 상기 파일의 사본을 넘겨주며, 그 다음에 상기 특정의 데이터 파일의 새로이 독출된 버전(12ft1+10)을 캐시에 저장한다. 또한, 이 시점에서, 상기 네트워크 서버/게이트웨이(20a)는 상기 특정의 데이터 파일(12ft1+10)이 자주 요구되었음을 판단하고, 그리하여 상기 파일의 이미지를 네트워크 서버 캐시(도시되지 않음)에 기억시킬 것을 결정한다.
이제, 상기 종래의 해결 방법에 내재하는 문제점이 명확해졌다. 이제 인터넷 호스트 캐시(12ac)와 네트워크 서버 캐시(도시되지 않음)에는 새로운 버전(상기 특정의 데이터 파일(12ft1+10))이 존재하지만, 상기 웹 브라우저(33ab)의 캐시에는 상기 파일의 구버전(12f)이 존재한다. 상기 새로이 독출된 특정의 데이터 파일(12ft1+10)이 이전에 독출된 특정의 데이터 파일(12ft1)과 서로 다른 데이터를 포함할 가능성이 매우 크기 때문에, 상기와 같은 새로이 독출된 특정의 데이터 파일(12ft1+10)이 지역적으로 존재하게 될 때, 상기 새로이 독출된 파일의 내용을 상기 데이터에 관심을 갖는 전 시스템의 모든 클라이언트에 배포하는 것이 중요하게 된다. 그러나, 상기 종래의 해결 방법에 의하여는, 이 갱신된 정보가 클라이언트 컴퓨터에서 실행중인 웹 브라우저의 로컬 캐시에 공급되지 않는다.
상기한 바에 비추어 볼 때, 하나 또는 그 이상의 전용 네트워크의 컴퓨터에서 실행중인 애플리케이션 프로그램 전체에, 상기 하나 또는 그 이상의 전용 네트워크 외부의 소스(공중 인터넷 또는 다른 전용 네트워크)로부터 상기 하나 또는 그 이상의 전용 네트워크로 다운로드된 특정 파일의 최신 버전을 효율적으로 배포하기 위한 방법 및 시스템이 필요하다.
따라서, 본 발명의 목적은, 전용 네트워크 외부의 소스로부터 전용 네트워크로 다운로드된 데이터 파일로서, 요구된 상기 데이터 파일의 최신 버전으로 억세스하기 위한 개선된 방법 및 시스템을 제공하는 것이다.
본 발명의 다른 목적은, 전용 네트워크의 계층적으로 분산된 컴퓨터들의 집합에 구현된 공통 캐시를 이용함으로써, 전용 네트워크 외부의 소스로부터 전용 네트워크로 다운로드된 데이터 파일로서, 요구된 상기 데이터 파일의 최신 버전으로 억세스하기 위한 개선된 방법 및 시스템을 제공하는 것이다.
도 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 : 기억 장치
상기의 목적들은 이하에 기술하는 바에 의하여 달성된다. 컴퓨터 네트워크는 하나 또는 그 이상의 다른 컴퓨터 네트워크들과의 관계에서 전용적(private)인 것으로 정의된다. 상기에서 정의된 전용 네트워크의 하나 이상의 컴퓨터는 공통 캐시를 구성하는 것으로 규정된다. 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 진입하는 모든 데이터 파일의 사본은, 상기에서 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터에서 캐시에 저장된다. 상기 정의된 전용 네트워크 외부의 소스로부터 유래된 특정의 데이터 파일에 대한 상기 정의된 전용 네트워크의 컴퓨터로부터의 요구에 응답하여, 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하는지에 관하여 판단한다. 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하는 것으로 판단되었다면, 상기 정의된 공통 캐시에 존재하는 것으로서 상기 요구된 특정의 데이터 파일의 최신 버전을 획득한다. 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하지 않는 것으로 판단되었다면, 상기 요구된 특정의 데이터 파일은 상기 정의된 전용 네트워크 외부의 소스로부터 획득된다.
상기한 바와 함께 본 발명의 추가적인 목적, 특징 및 이점은 이하에서 설명하는 바에 의하여 명확해질 것이다.
본 발명의 특징인 것으로 여기는 신규한 구성은 첨부된 특허 청구의 범위에 기재되었다. 그러나, 본 발명 그 자체와, 그 바람직한 실시예, 목적 및 이점 등은 첨부된 도면을 참조하여 본 발명의 실시예의 상세한 설명을 참조함으로써 가장 잘 이해될 수 있다.
이하에서의 설명을 위하여 전용 네트워크라는 용어를 사용한다. 여기에서 사용되는 바와 같이, 상기 용어는, 본 발명이 구현될 하나 또는 그 이상의 전용 네트워크를, 공중 인터넷이나 기타 공중 네트워크 또는 전용 네트워크 등과 같은 상기의 하나 또는 그 이상의 전용 네트워크 외부의 다른 네트워크로부터 구별하기 위한 것이다. 여기에서 사용되는 바와 같이, 상기 전용이라는 용어는, 진정한 전용 네트워크와, 시스템 관리자(system administrator)가 소정의 제어를 할 수 있는 인터넷의 일부(예컨대, 공중 인터넷의 일부를 사용하지만, 방화벽(firewall)과 같은 하드웨어 또는 소프트웨어에 의하여 어느 정도의 차단되는 인트라넷(Intranet)) 모두를 가리킨다.
이제 첨부된 도면중 도 1을 참조하면, 외부 네트워크와의 인터페이스를 갖는 전용 네트워크의 개념도가 도시되었다. 본 발명이 해결하고자 하는 문제점은 도 1을 참조하여 이미 상술하였다. 상기 문제점은, 전용 네트워크 계층의 상당히 하층부의 컴퓨터에서 실행중인 로컬 애플리케이션 프로그램이 상기 전용 네트워크의 전체 또는 일부에 존재하는 파일의 최신 버전을 사용하고 있다는 것을 어떻게 보장할 것인가이다. 이하에서 상술하는 바와 같이, 본 발명은, 잠재적으로 전용 네트워크와 같은 크기를 갖는 공통 캐시를 각 전용 네트워크 사용자에 대하여 생성함으로써 상기 문제점을 해결한다. 또한, 본 발명의 기술 분야에서 통상의 전문가(이하, 당업자라 함)라면, 상기 생성된 공통 캐시는 잠재적으로 하나의 네트워크 게이트웨이 서버와 같은 크기가 될 수 있다는 것을 알 수 있을 것이며, 이것이 본 발명의 가장 간단한 실시예가 된다.
이제, 도 4를 참조하면, 도 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에서 시작된다. 웹 브라우저 애플리케이션 프로그램(33ab)이 특정의 데이터 파일(14f)을 요구한다(단계 110). 이 요구에 응답하여, 상기 웹 브라우저 애플리케이션 프로그램(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에 설명되었다. 상기 인터넷 호스트 컴퓨터(12a)는 상기 파일의 파일명(14f33ac)(첨자 33ac는 상기 시간 표지와 검사합이 상기 캐시(33ac)의 파일의 사본에 연관되었다는 사실을 나타냄)과 함께 그에 부착된 시간 표지와 검사합을 수신한다(단계 120). 먼저 상기 컴퓨터(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)에 대하여 이미 알려진 공통 캐시 네트워크 어드레스가 존재하는가를 문의한다(단계 140). 만약 상기 파일(14f)에 대한 공통 캐시 네트워크 어드레스가 존재한다면, 상기 방법은 단계 146으로 진행한다. 만약 상기 파일(14f)에 대하여 이미 알려진 공통 캐시 전용 네트워크 어드레스가 존재하지 않는다면, 상기 파일(14f)의 사본이 상기 캐시의 어느 것에 존재하는지를 판단하기 위하여 상기 공통 캐시를 검색한다(단계 142). 상기 단계 142는 상기 단계 116과 동일한 동작이다. 만약 상기 단계 142에서 상기 정의된 공통 캐시에 상기 파일(14f)의 사본이 존재하지 않는다는 메시지가 리턴되었다면, 상기 방법은 단계 138로 진행하고(단계 144), 상기 파일(14f)의 사본은 상기 네트워크 외부의 소스로부터 가져오게 된다(단계 138). 만약 상기 파일(14f)에 대한 공통 캐시 전용 네트워크 어드레스가 존재한다면, 상기 방법은 단계 118로 진행하고(단계 144), 상기 파일(14f)의 사본이 존재하는 전용 네트워크 캐시에게 상기 파일(14f)의 최신 버전에 관하여 질의한다(단계 118).
단계 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). 단계 158은 상기 특정의 데이터 파일의 사본을 인터넷(상기 전용 네트워크 외부의 소스)으로부터 가져와 상기 전용 네트워크의 캐시에 저장함으로써 상기 프로세스가 종료됨을 도시한다.
지금까지, 어떻게 특정의 데이터 파일이 공통 캐시 어드레스를 수신하는가와, 어떻게 상기 공통 캐시에 존재하는 상기 파일의 최신 버전을 획득하는가에 관하여 기술하였다. 도 6은 각 공통 캐시 컴퓨터가 공통 캐시의 데이터 파일을 새로운 것으로 유지하기 위한 본 발명의 추가적인 특징을 도시한 도면이다. 일단 공통 캐시 컴퓨터가 상기 파일의 사본을 캐시에 저장하라는 지시를 받으면, 본 발명의 한 실시예에서, 상기 공통 캐시 컴퓨터는 그의 파일을 새로운 것으로 유지하려고 노력하여, 상기 캐시에 저장된 파일중 어느 하나의 최신 버전의 사본에 대한 질의를 받을 때마다, 상기 공통 캐시에 존재하는 상기 파일의 최신 버전이 그 캐시에 언제나 존재할 가능성을 더 크게 한다(즉, 캐시의 다른 곳으로부터 상기 파일의 보다 근래 버전을 로드할 필요가 없다). 이것을 보장하기 위하여는 다음의 두 가지가 선행되어야 한다. 즉, (1) 캐시에 저장된 파일의 보다 새롭고 다른 버전에 관하여 상기 캐시의 다른 멤버에게 주기적으로 질의한다. (2) 상기 공통 캐시에 존재하는 파일이 너무 오래된 때에는 상기 전용 네트워크 외부의 소스로부터 상기 파일의 새 버전을 다운로드한다.
상기 프로세스는 단계 200에서 시작한다. 수행될 첫 번째 단계는, 상기 공통 캐시에 존재하는 컴퓨터의 캐시에 저장된 모든 파일은 상기 공통 캐시에 존재하는 파일의 최신 버전일 가능성을 증가시키는 것이다. 단계 201은 이 동작을 도시한다. 이것을 수행하기 위한 다양한 방법이 존재하지만, 그 하나는, 상기 특정의 데이터 파일이 존재하는 네트워크 서버가 상기 정의된 공통 캐시의 다른 네트워크 서버들에게 상기 네트워크 서버에 존재하는 상기 파일의 버전보다 더 새롭고 다른 버전의 파일을 갖고 있는지에 관한 질의를 (상기한 바와 같이, 상기 공통 캐시에 존재하는 상기 파일의 최신 버전이 그것을 요구하는 애플리케이션 프로그램 컴퓨터로 리턴될 것을 보장하는 것과 유사한 방식으로) 동보(broadcast)하는 것이다. 만약 상기 네트워크 서버의 어느 것이 상기 파일을 갖고 있다면, 상기 요구하는 네트워크 서버는 상기 파일의 보다 새롭고 다른 버전의 사본을 획득하여 보관하고 그것을 요구한 곳에 전달한다. 만약 신규 버전을 가진 다른 네트워크 서버가 없다면, 상기 네트워크 서버의 캐시에 저장된 상기 파일의 사본이 사용된다.
일단 고려중인 파일이 상기 전용 네트워크내에서 가장 신규한 것으로 확정되고 나면, 상기 파일의 진부성(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)에 존재하는 그래픽 사용자 인터페이스(graphical user 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) 등이 있다.
본 발명에 의하면, 하나 또는 그 이상의 전용 네트워크의 컴퓨터에서 실행중인 애플리케이션 프로그램 전체에, 상기 하나 또는 그 이상의 전용 네트워크 외부의 소스로부터 상기 하나 또는 그 이상의 전용 네트워크로 다운로드된 특정 파일의 최신 버전을 효율적으로 배포할 수 있다.
상기한 바와 같이, 본 발명에 의한 특정의 바람직한 실시예를 상세히 설명하였으나, 본 발명의 기술 분야에서 통상의 전문가에게는 본 발명의 기술 사상을 벗어나지 않은 다양한 형식 및 내용의 변화가 존재한다는 것을 이해할 것이다.

Claims (35)

  1. 전용 네트워크(private network) 외부의 소스(source)로부터 상기 전용 네트워크로 다운로드(download)된 요구된 데이터 파일(data file)의 최신 버전(version)을 억세스(access)하기 위한 방법에 있어서, 하나 또는 그 이상의 다른 컴퓨터 네트워크들(computer networks)에 대하여 전용 컴퓨터 네트워크를 설정하는 단계, 상기 정의된 전용 네트워크의 하나 또는 그 이상의 컴퓨터가 공통 캐시(common cache)를 정의하는 것으로 규정하는 단계, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시에 저장하는 단계, 상기 정의된 전용 네트워크 외부의 소스로부터 유래된 특정의 데이터 파일에 대한 상기 정의된 전용 네트워크의 컴퓨터로부터의 요구에 응답하여, 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하는지에 관하여 판단하는 단계 및 상기 판단하는 단계에 응답하여, 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하는 것으로 판단되었다면, 상기 정의된 공통 캐시에 존재하는 것으로서 상기 요구된 특정의 데이터 파일의 최신 버전을 획득하는 단계를 포함하는 파일 억세스 방법.
  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. 전용 네트워크 외부의 소스로부터 상기 전용 네트워크로 다운로드된, 요구된 데이터 파일의 최신 버전을 억세스하기 위한 시스템에 있어서, 하나 또는 그 이상의 다른 컴퓨터 네트워크들에 대하여 전용 컴퓨터 네트워크를 설정하기 위한 수단, 상기 정의된 전용 네트워크의 하나 또는 그 이상의 컴퓨터가 공통 캐시를 정의하는 것으로 규정하기 위한 수단, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시에 저장하기 위한 수단, 상기 정의된 전용 네트워크 외부의 소스로부터 유래된 특정의 데이터 파일에 대한 상기 정의된 전용 네트워크의 컴퓨터로부터의 요구에 응답하여, 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하는지에 관하여 판단하기 위한 수단, 상기 판단에 응답하여, 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하는 것으로 판단되었다면, 상기 정의된 공통 캐시에 존재하는 것으로서 상기 요구된 특정의 데이터 파일의 최신 버전을 획득하기 위한 수단을 포함하는 파일 억세스 시스템.
  13. 제 12항에 있어서, 상기 판단에 응답하여, 상기 요구된 특정의 데이터 파일의 사본이 상기 공통 캐시에 존재하지 않는 것으로 판단되었다면, 상기 요구된 특정의 데이터 파일을 상기 정의된 전용 네트워크 외부의 소스로부터 획득하기 위한 수단을 포함하는 파일 억세스 시스템.
  14. 제 12항에 있어서, 상기 하나 또는 그 이상의 다른 컴퓨터 네트워크들에 대하여 전용 컴퓨터 네트워크를 설정하기 위한 수단이, 공중 인터넷 호스트에 의하여 서비스가 제공되는 네트워크를 상기 공중 인터넷에 대하여 전용인 것으로서 정의하기 위한 수단을 더 포함하는 파일 억세스 시스템.
  15. 제 12항에 있어서, 상기 정의된 전용 네트워크의 하나 또는 그 이상의 컴퓨터가 공통 캐시를 정의하는 것으로 규정하기 위한 수단이, 상기 전용 네트워크의 최소한 하나의 네트워크 게이트웨이 서버를 상기 정의된 공통 캐시로서 정의하기 위한 수단을 더 포함하는 파일 억세스 시스템.
  16. 제 12항에 있어서, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시에 저장하기 위한 수단이, 상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터에 상기 데이터 파일의 사본을 저장하기 위한 수단을 더 포함하는 파일 억세스 시스템.
  17. 제 12항에 있어서, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시에 저장하기 위한 수단이, 상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터에 상기 데이터 파일의 사본을 저장하기 위한 수단, 상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터로 하여금, 상기 정의된 공통 캐시의 하나 또는 그 이상의 다른 컴퓨터에게, 정기적으로 또는 편의에 따라, 상기 정의된 공통 캐시에 저장된 상기 데이터 파일의 최신 버전에 관하여 질의할 것을 지시하기 위한 수단, 상기 질의에 응답하여, 상기 정의된 공통 캐시에 저장된 상기 데이터 파일의 최신 버전을 상기 질의한 하나 또는 그 이상의 컴퓨터로 복사하기 위한 수단을 더 포함하는 파일 억세스 시스템.
  18. 제 12항에 있어서, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시에 저장하기 위한 수단이, 상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터에 상기 데이터 파일의 사본을 저장하기 위한 수단, 상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터로 하여금, 상기 정의된 공통 캐시의 하나 또는 그 이상의 다른 컴퓨터에게, 정기적으로 또는 편의에 따라, 상기 정의된 공통 캐시에 저장된 상기 데이터 파일의 최신 버전에 관하여 질의할 것을 지시하기 위한 수단, 상기 질의에 응답하여, 상기 정의된 공통 캐시에 저장된 상기 데이터 파일의 최신 버전의 위치를 저장하기 위한 수단을 더 포함하는 파일 억세스 시스템.
  19. 제 12항에 있어서, 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하는지에 관하여 판단하기 위한 수단이, 상기 정의된 공통 캐시의 하나 또는 그 이상의 컴퓨터에게, 상기 요구된 특정의 데이터 파일의 사본이 상기 하나 또는 그 이상의 컴퓨터에 존재하는지에 관하여 질의하기 위한 수단을 더 포함하는 파일 억세스 시스템.
  20. 제 12항에 있어서, 상기 정의된 공통 캐시에 존재하는 것으로서 상기 요구된 특정의 데이터 파일의 최신 버전을 획득하기 위한 수단이, 상기 판단에 응답하여, 상기 요구된 데이터 파일의 최신 버전을 로컬 메모리(local memory)로 복사하기 위한 수단을 더 포함하는 파일 억세스 시스템.
  21. 제 12항에 있어서, 상기 정의된 공통 캐시에 존재하는 것으로서 상기 요구된 특정의 데이터 파일의 최신 버전을 획득하기 위한 수단이, 상기 요구된 데이터 파일의 최신 버전을 로컬 메모리(local memory)로 복사하기 위한 수단, 상기 요구된 데이터 파일의 최신 버전을, 상기 최신 버전을 요구한 컴퓨터로 전달하기 위한 수단을 더 포함하는 파일 억세스 시스템.
  22. 제 12항에 있어서, 상기 요구된 데이터 파일의 최신 버전으로서 수신된 버전을, 상기 요구된 데이터 파일을 요구한 컴퓨터의 로컬 메모리로 복사하기 위한 수단, 상기 특정의 데이터 파일을 요구한 컴퓨터의 상기 로컬 메모리에서, 상기 복사된 최신 버전이 획득된 상기 정의된 공통 캐시의 네트워크 어드레스를 상기 요구된 데이터 파일의 명칭과 연관시키기 위한 수단을 더 포함하는 파일 억세스 시스템.
  23. 전용 네트워크 외부의 소스로부터 상기 전용 네트워크로 다운로드된, 요구된 데이터 파일의 최신 버전을 억세스하기 위한 프로그램 제품에 있어서, 하나 또는 그 이상의 다른 컴퓨터 네트워크들에 대하여 전용 컴퓨터 네트워크를 설정하기 위한 수단, 상기 정의된 전용 네트워크의 하나 또는 그 이상의 컴퓨터가 공통 캐시를 정의하는 것으로 규정하기 위한 수단, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시에 저장하기 위한 수단, 상기 정의된 전용 네트워크 외부의 소스로부터 유래된 특정의 데이터 파일에 대한 상기 정의된 전용 네트워크의 컴퓨터로부터의 요구에 응답하여, 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하는지에 관하여 판단하기 위한 수단, 상기 판단에 응답하여, 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하는 것으로 판단되었다면, 상기 정의된 공통 캐시에 존재하는 것으로서 상기 요구된 특정의 데이터 파일의 최신 버전을 획득하기 위한 수단 및 상기 설정, 규정, 캐시에 저장, 판단 및 획득하기 위한 수단을 수록한 신호 수록 매체(signal bearing media)를 포함하는 프로그램 제품.
  24. 제 23항에 있어서, 상기 신호 수록 매체는 기록 가능 매체(recordable media)를 포함하는 프로그램 제품.
  25. 제 23항에 있어서, 상기 신호 수록 매체는 전송 매체(transmission media)를 포함하는 프로그램 제품.
  26. 제 23항에 있어서, 상기 판단에 응답하여, 상기 요구된 특정의 데이터 파일의 사본이 상기 공통 캐시에 존재하지 않는 것으로 판단되었다면, 상기 요구된 특정의 데이터 파일을 상기 정의된 전용 네트워크 외부의 소스로부터 획득하기 위한 수단을 포함하는 프로그램 제품.
  27. 제 23항에 있어서, 상기 하나 또는 그 이상의 다른 컴퓨터 네트워크들에 대하여 전용 컴퓨터 네트워크를 설정하기 위한 수단이, 공중 인터넷 호스트에 의하여 서비스가 제공되는 네트워크를 상기 공중 인터넷에 대하여 전용인 것으로서 정의하기 위한 수단을 더 포함하는 프로그램 제품.
  28. 제 23항에 있어서, 상기 정의된 전용 네트워크의 하나 또는 그 이상의 컴퓨터가 공통 캐시를 정의하는 것으로 규정하기 위한 수단이, 상기 전용 네트워크의 최소한 하나의 네트워크 게이트웨이 서버를 상기 정의된 공통 캐시로서 정의하기 위한 수단을 더 포함하는 프로그램 제품.
  29. 제 23항에 있어서, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시에 저장하기 위한 수단이, 상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터에 상기 데이터 파일의 사본을 기억시키기 위한 수단을 더 포함하는 프로그램 제품.
  30. 제 23항에 있어서, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시에 저장하기 위한 수단이, 상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터에 상기 데이터 파일의 사본을 저장하기 위한 수단, 상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터로 하여금, 상기 정의된 공통 캐시의 하나 또는 그 이상의 다른 컴퓨터에게, 정기적으로 또는 편의에 따라, 상기 정의된 공통 캐시에 저장된 상기 데이터 파일의 최신 버전에 관하여 질의할 것을 지시하기 위한 수단, 상기 질의에 응답하여, 상기 정의된 공통 캐시에 저장된 상기 데이터 파일의 최신 버전을 상기 질의한 하나 또는 그 이상의 컴퓨터로 복사하기 위한 수단을 더 포함하는 프로그램 제품.
  31. 제 23항에 있어서, 상기 정의된 전용 네트워크 외부의 소스로부터 상기 정의된 전용 네트워크로 입력되는 데이터 파일의 사본을 상기 정의된 공통 캐시에 저장하기 위한 수단이, 상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터에 상기 데이터 파일의 사본을 저장하기 위한 수단, 상기 정의된 공통 캐시를 구성하는 하나 또는 그 이상의 컴퓨터로 하여금, 상기 정의된 공통 캐시의 하나 또는 그 이상의 다른 컴퓨터에게, 정기적으로 또는 편의에 따라, 상기 정의된 공통 캐시에 저장된 상기 데이터 파일의 최신 버전에 관하여 질의할 것을 지시하기 위한 수단, 상기 질의에 응답하여, 상기 정의된 공통 캐시에 저장된 상기 데이터 파일의 최신 버전의 위치를 저장하기 위한 수단을 더 포함하는 프로그램 제품.
  32. 제 23항에 있어서, 상기 요구된 특정의 데이터 파일의 사본이 상기 정의된 공통 캐시에 존재하는지에 관하여 판단하기 위한 수단이, 상기 정의된 공통 캐시의 하나 또는 그 이상의 컴퓨터에게, 상기 요구된 특정의 데이터 파일의 사본이 상기 하나 또는 그 이상의 컴퓨터에 존재하는지에 관하여 질의하기 위한 수단을 더 포함하는 프로그램 제품.
  33. 제 23항에 있어서, 상기 정의된 공통 캐시에 존재하는 것으로서 상기 요구된 특정의 데이터 파일의 최신 버전을 획득하기 위한 수단이, 상기 판단에 응답하여, 상기 요구된 데이터 파일의 최신 버전을 로컬 메모리(local memory)로 복사하기 위한 수단을 더 포함하는 프로그램 제품.
  34. 제 23항에 있어서, 상기 정의된 공통 캐시에 존재하는 것으로서 상기 요구된 특정의 데이터 파일의 최신 버전을 획득하기 위한 수단이, 상기 요구된 데이터 파일의 최신 버전을 로컬 메모리(local memory)로 복사하기 위한 수단, 상기 요구된 데이터 파일의 최신 버전을, 상기 최신 버전을 요구한 컴퓨터로 전달하기 위한 수단을 더 포함하는 프로그램 제품.
  35. 제 23항에 있어서, 상기 요구된 데이터 파일의 최신 버전으로서 수신된 버전을, 상기 요구된 데이터 파일을 요구한 컴퓨터의 로컬 메모리로 복사하기 위한 수단, 상기 특정의 데이터 파일을 요구한 컴퓨터의 상기 로컬 메모리에서, 상기 복사된 최신 버전이 획득된 상기 정의된 공통 캐시의 네트워크 어드레스를 상기 요구된 데이터 파일의 명칭과 연관시키기 위한 수단을 더 포함하는 프로그램 제품.
KR1019980002212A 1997-03-17 1998-01-24 인터네트워크를위한공통캐시의생성및이용방법과그시스템 KR100293373B1 (ko)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
KR19980079648A true KR19980079648A (ko) 1998-11-25
KR100293373B1 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010109499A (ko) * 2001-10-11 2001-12-10 온스그래픽(주) 인터넷 캐싱 시스템 및 방법
KR20020025469A (ko) * 2000-09-29 2002-04-04 허노재 엔에이티 시스템을 이용하여 네트워크 자동설정, 웹캐싱및 파일 쉐어링 기능을 갖는 서버와 그 기능을 수행하는방법
KR100394189B1 (ko) * 2000-08-23 2003-08-09 주식회사 아라기술 지역망을 이용한 웹 콘텐츠 서비스 방법
KR100624142B1 (ko) * 1999-04-22 2006-09-13 에스케이 텔레콤주식회사 무선 데이터 서비스를 위한 게이트웨이 장치 및 상기 게이트웨이 장치에서의 무선 데이터 서비스 처리 방법

Families Citing this family (121)

* 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
US6253234B1 (en) * 1997-10-17 2001-06-26 International Business Machines Corporation Shared web page caching at browsers for an intranet
US6192398B1 (en) * 1997-10-17 2001-02-20 International Business Machines Corporation Remote/shared browser cache
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
WO2000079362A2 (en) * 1999-06-23 2000-12-28 Mangosoft Corporation Distributed virtual web cache implemented entirely in software
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
US7188157B1 (en) 2000-06-30 2007-03-06 Hitachi, Ltd. Continuous update of data in a data server system
US7281032B2 (en) * 2000-06-30 2007-10-09 Hitachi, Ltd. File sharing system with data mirroring by storage systems
US7386238B2 (en) * 2000-08-15 2008-06-10 Lockheed Martin Corporation Method and system for infrared data communications
US7280823B2 (en) * 2000-08-15 2007-10-09 Lockheed Martin Corporation Method and apparatus for determining the context of a handheld device
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
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
WO2002044915A1 (en) * 2000-11-30 2002-06-06 Appfluent Technology, Inc. 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
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
US7451110B2 (en) * 2001-05-18 2008-11-11 Network Resonance, Inc. System, method and computer program product for providing an efficient trading market
US7936693B2 (en) * 2001-05-18 2011-05-03 Network Resonance, Inc. System, method and computer program product for providing an IP datalink multiplexer
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
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
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
US7085846B2 (en) * 2001-12-31 2006-08-01 Maxxan Systems, Incorporated Buffer to buffer credit flow control for computer network
US7145914B2 (en) * 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
US7769997B2 (en) * 2002-02-25 2010-08-03 Network Resonance, Inc. System, method and computer program product for guaranteeing electronic transactions
US6874089B2 (en) * 2002-02-25 2005-03-29 Network Resonance, Inc. System, method and computer program product for guaranteeing electronic transactions
US7295561B1 (en) 2002-04-05 2007-11-13 Ciphermax, Inc. Fibre channel implementation using network processors
US7406038B1 (en) 2002-04-05 2008-07-29 Ciphermax, Incorporated System and method for expansion of computer network switching system without disruption thereof
US7307995B1 (en) 2002-04-05 2007-12-11 Ciphermax, Inc. System and method for linking a plurality of network switches
US7379970B1 (en) 2002-04-05 2008-05-27 Ciphermax, Inc. Method and system for reduced distributed event handling in a network environment
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
US7103617B2 (en) * 2003-01-17 2006-09-05 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
JP5159899B2 (ja) * 2008-02-11 2013-03-13 ドルビー ラボラトリーズ ライセンシング コーポレイション プライベートネットワークのダイナミックdnsシステム
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
US8943271B2 (en) * 2008-06-12 2015-01-27 Microsoft Corporation Distributed cache arrangement
US8176256B2 (en) * 2008-06-12 2012-05-08 Microsoft Corporation Cache regions
US8706878B1 (en) 2008-08-21 2014-04-22 United Services Automobile Association Preferential loading in data centers
KR101506166B1 (ko) * 2008-09-24 2015-03-27 삼성전자주식회사 단말기 관리 시스템 및 방법
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
WO2010053790A1 (en) * 2008-10-29 2010-05-14 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
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
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
US8572146B2 (en) 2010-08-17 2013-10-29 Fujitsu Limited Comparing data samples represented by characteristic functions
US8930394B2 (en) 2010-08-17 2015-01-06 Fujitsu Limited Querying sensor data stored as binary decision diagrams
US9138143B2 (en) 2010-08-17 2015-09-22 Fujitsu Limited Annotating medical data represented by characteristic functions
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
US8812943B2 (en) 2011-09-23 2014-08-19 Fujitsu Limited Detecting data corruption in medical binary decision diagrams using hashing techniques
US9176819B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Detecting sensor malfunctions using compression analysis of binary decision diagrams
US9075908B2 (en) 2011-09-23 2015-07-07 Fujitsu Limited Partitioning medical binary decision diagrams for size optimization
US9177247B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Partitioning medical binary decision diagrams for analysis optimization
US8620854B2 (en) 2011-09-23 2013-12-31 Fujitsu Limited Annotating medical binary decision diagrams with health state information
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
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
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 北大方正集团有限公司 共享文件的处理方法及云存储服务器
WO2015062624A1 (en) * 2013-10-28 2015-05-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
CA1337132C (en) * 1988-07-15 1995-09-26 Robert Filepp Reception system for an interactive computer network and method of operation
US5297249A (en) * 1990-10-31 1994-03-22 International Business Machines Corporation Hypermedia link marker abstract and search services
US5204947A (en) * 1990-10-31 1993-04-20 International Business Machines Corporation Application independent (open) hypermedia enablement 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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100624142B1 (ko) * 1999-04-22 2006-09-13 에스케이 텔레콤주식회사 무선 데이터 서비스를 위한 게이트웨이 장치 및 상기 게이트웨이 장치에서의 무선 데이터 서비스 처리 방법
KR100394189B1 (ko) * 2000-08-23 2003-08-09 주식회사 아라기술 지역망을 이용한 웹 콘텐츠 서비스 방법
KR20020025469A (ko) * 2000-09-29 2002-04-04 허노재 엔에이티 시스템을 이용하여 네트워크 자동설정, 웹캐싱및 파일 쉐어링 기능을 갖는 서버와 그 기능을 수행하는방법
KR20010109499A (ko) * 2001-10-11 2001-12-10 온스그래픽(주) 인터넷 캐싱 시스템 및 방법

Also Published As

Publication number Publication date
US5878218A (en) 1999-03-02
KR100293373B1 (ko) 2001-07-12

Similar Documents

Publication Publication Date Title
KR100293373B1 (ko) 인터네트워크를위한공통캐시의생성및이용방법과그시스템
US6757733B2 (en) Apparatus and method for improving performance of proxy server arrays that use persistent connections
US6598121B2 (en) System and method for coordinated hierarchical caching and cache replacement
US6973546B2 (en) Method, system, and program for maintaining data in distributed caches
US5835718A (en) URL rewriting pseudo proxy server
US5991760A (en) Method and apparatus for modifying copies of remotely stored documents using a web browser
US6192398B1 (en) Remote/shared browser cache
US6105028A (en) Method and apparatus for accessing copies of documents using a web browser request interceptor
US6061686A (en) Updating a copy of a remote document stored in a local computer system
US9842174B2 (en) Using document templates to assemble a collection of documents
KR100470493B1 (ko) 특수 도메인네임 분해 서비스 방법
US9380022B2 (en) System and method for managing content variations in a content deliver cache
US6347316B1 (en) National language proxy file save and incremental cache translation option for world wide web documents
US9219705B2 (en) Scaling network services using DNS
US20050097185A1 (en) Localization link system
US6748448B1 (en) High performance internet storage access scheme
US20020143861A1 (en) Method and apparatus for managing state information in a network data processing system
JP3062104B2 (ja) Www更新通知システム
US20080040550A1 (en) Method and apparatus for providing enhanced access to a lightweight directory access protocol (ldap) directory server
US6601091B1 (en) Method for improving the perceived performance of a computer system
US20040073604A1 (en) Cache control method of proxy server with white list
KR100375121B1 (ko) 웹 콘텐츠 전송 제어 방법
WO2001075668A2 (en) Search systems
US9219706B2 (en) Just-in-time wrapper synchronization
KR100336115B1 (ko) 하부 도메인 서비스 방법 및 그 시스템

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