KR19980041908A - 컴퓨터화된 자원 명칭 도출 메카니즘 - Google Patents

컴퓨터화된 자원 명칭 도출 메카니즘 Download PDF

Info

Publication number
KR19980041908A
KR19980041908A KR1019970050225A KR19970050225A KR19980041908A KR 19980041908 A KR19980041908 A KR 19980041908A KR 1019970050225 A KR1019970050225 A KR 1019970050225A KR 19970050225 A KR19970050225 A KR 19970050225A KR 19980041908 A KR19980041908 A KR 19980041908A
Authority
KR
South Korea
Prior art keywords
server
data
group
content provider
code
Prior art date
Application number
KR1019970050225A
Other languages
English (en)
Other versions
KR100261386B1 (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 KR19980041908A publication Critical patent/KR19980041908A/ko
Application granted granted Critical
Publication of KR100261386B1 publication Critical patent/KR100261386B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

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

Abstract

서비스 공급자들을 지능적으로 만들고 링크와 백엔드(back end) 서버들 사이의 특별한 프로토콜이 확장성과 성능을 유지할 수 있도록 코드와 링크를 결합시킴으로써, 서비스 공급자들에서의 병목 현상을 감소시킬 수 있는 인터넷 상의 링크와 서비스를 생성하기 위한 메카니즘이 개시되었다. 클라이언트측 상으로 많은 양의 검색 기능을 이동시킴으로써 확장성을 지원한다.

Description

컴퓨터화된 자원 명칭 도출 메카니즘
본 발명은 컴퓨터와 컴퓨터 네트워크 및 특히 자원 명칭 도출(resource name resolution)을 위한 개선된 방법과 메카니즘에 관한 것이다. 본 발명은 특히, 개별화된(customized) 인터넷 상의 명칭 도출을 위한 메카니즘에 관한 것이며, 본 발명에 의하면 도출된 정보 자원에 대한 활용 가능성의 수준이 향상된다.
용어의 정의
이하에서 사용되는 용어에는 사전의 정의가 적용되지만, 이하의 일부 용어에 대하여는 다음의 정의에 따르기로 한다. 즉,
인터넷(Internet)
TCP/IP 형 프로토콜을 사용하는 네트워크 및 게이트웨이(gateway)의 네트워크.
클라이언트(Client)
서버에 명령을 발하는 컴퓨터로서, 서버는 그 명령에 관련된 작업을 수행한다.
서버(Server)
다른 컴퓨터의 명령에 의한 작업을 수행하는 모든 컴퓨터. 웹 서버는 전형적으로 하나 또는 그 이상의 클라이언트를 지원하며, 하이퍼텍스트 전송 프로토콜(Hyper-Text Transfer Protocol)(이하, HTTP라 함.)을 사용하여 클라이언트의 데이터 요구를 처리한다.
월드 와이드 웹(World Wide Web)(이하, WWW 또는 웹이라 함.)
사람들이 관심을 가진 강조된 단어(words) 문장(phrases)을 활성화함으로써, (하이퍼링크(hyperlink)에 의하여) 인터넷 스위치상의 정보를 탐색하는 사람들이 서버들 및 데이터베이스들 사이에서 전환할 수 있도록 하는 인터넷의 애플리케이션(application). 인터넷 WWW 서버는 클라이언트들을 지원하며 정보를 제공한다. 상기 웹은 모든 자원이 URL로서 어드레스되는 인터넷의 뷰(view)를 제공한다.
범용 자원 명칭(Universal Resource Name)(이하, URN이라 함.)
특정의 명칭을 하나 또는 그 이상의 자원에 맵(map)하는 데에 사용될 수 있는 인터넷 상의 자원에 대한 명명 방식. 상기 URN은 다음의 세 가지 기능적 능력(functional capability)을 갖는다. 즉, 그 유효 범위(scope)가 세계적(global)(즉, 그 명칭은 어디에서나 같은 의미를 갖는다.)이며, 세계적으로 유일하며(globally unique), 또한 지속적(persistent)이다(대부분의 경우 URN의 존속 기간은 영구적(permanent)이다.).
범용 자원 특성(Universal Resource Characteristics)(이하, URC라 함.)
인터넷 내의 자원의 속성(attribute)에 기초하여 그 자원의 위치를 결정하기 위한 방식. 상기 URC는 속성을 명칭이나 위치(location)에 연결시킨다.
범용 자원 위치 지정자(Universal Resource Locator)(이하, URL이라 함.)
인터넷 상의 정보를 고유하게 식별하거나 어드레스를 지정하기 위한 방법. 전자 우편 어드레스의 웹 문서 버전(version)이라 할 수 있다. 하이퍼링크로 억세스될 수 있다. URL의 한 예를 들면, http://www.arun.com:80/table.html이 있다. 하나의 URL은 네 개의 구성요소(component)를 갖는다. 왼쪽부터 시작하여, 첫번째 구성요소는 그 자원을 억세스하기 위한 프로토콜을 지정하며, :에 의하여 위치 지정자의 나머지 부분으로부터 분리된다. 다음 구성요소는 목표 호스트(host)의 호스트 명칭 또는 IP 어드레스로서, 이것은 //에 의하여 왼쪽 부분과 구분되며, / 또는 선택적인 :에 의하여 오른쪽 부분과 구분된다. 포트 번호(port number)는 선택적인 것이며, :에 의하여 왼쪽의 호스트 명칭과 구분되며, /에 의하여 오른쪽 부분과 구분된다. 네번째 구성요소는 실제의 파일 명칭 또는 프로그램 명칭이다. 상기의 예에서, .html 확장자는, 이것이 HTML 파일이라는 것을 의미한다.
하이퍼텍스트 마크업 언어(HyperText Markup Language)(이하, HTML이라 함.)
웹 클라이언트(Web client)에 의해 조사되는 문서를 생성하고 접속하기 위하여 웹 서버들에 의하여 사용되는 언어. HTML은 하이퍼텍스트 문서를 사용한다.
하이퍼텍스트 전송 프로토콜(Hypertext transfer protocol)(이하, HTTP라 함.)
무상태(stateless) 프로토콜의 한 예로서, 이것은 클라이언트로부터 서버로의 모든 요구를 독립적으로 다룬다는 의미이다. 서버는 이전의 접속에 관하여 아무런 기록을 갖지 않는다. HTTP는 URL에 지정된 가능한 억세스 프로토콜의 하나이다.
인터넷 브라우저 또는 웹 브라우저(Internet Browser or Web Browser)
http와 같은 인터넷 프로토콜을 실행하여 서버로부터의 결과를 클라이언트의 스크린 상에 디스플레이하는 그래픽 인터페이스의 클라이언트 툴(graphical interface client tool). 상기 브라우저는 인터넷 여행 가이드로서 작용할 수 있으며, 사용자가 인터넷에서 서핑(surfing)할 때 사용되는 화상 데스크 탑과 디렉토리들과 검색 툴들을 완비한다. 본 출원에서는 상기 웹 브라우저는 월드 와이드 웹과 통신하는 클라이언트 서비스이다.
애플릿(Applet)
서버로부터 클라이언트로 다운로드되어 클라이언트에서 실행되는 코드 단편(code fragment).
자바(Java)
인터넷 상에서의 프로그래밍(programming)을 위하여 선 마이크로시스템즈사(Sun Microsystems社)에 의하여 개발된 객체 지향형 컴퓨터 프로그래밍 언어(object-oriented computer programming language). 대부분의 인터넷 브라우저들은 애플릿을 기술하기 위한 언어로서 자바를 지원한다.
객체(Object)
일정한 데이터와 공공적으로 억세스할 수 있는 일련의 방법들을 통합하는 밀폐형 개체(encapsulated entity). 상기 객체는 정의된 방법을 호출함으로써만 조작될 수 있다.
분산형 시스템(distributed system)
각각의 CPU와 저장 장치(주요 메모리를 포함)를 가진 컴퓨팅 머신(computing machine)들의 집합. 상기 머신들은 이더넷(Ethernet), 광섬유 ATM 네트워크(fiber-optic ATM network) 또는 무선(셀룰러) 기술(radio(cellular) technology) 등을 포함하는, 그러나 이에 한정되지 않는, 통신 매체(communication medium)를 통하여 접속된다.
전통적인 정보 서비스는 이제, 억세스 가능하고 적절한 정보에 대한 고객들의 증가하는 의존성을 처리하여야 할 필요성에 의한 빠른 발전의 상태에 있다. 이러한 발전의 가장 중요한 산물의 하나는 시스템 전체에 정보 자원을 분산하는 것으로서, 즉 고도로 분산된 정보 서비스의 탄생이다.
이 발전의 유명한 예가 월드 와이드 웹(WWW)이다. 이 예에서, 일반적으로 디지털 문서의 형식을 취하는 자원은 인터넷 전체에 걸쳐 분산되어 있으며, 사용자는 상기 자원에 다수의 가능한 브라우저 인터페이스 중의 어느 하나를 통하여 억세스한다. 억세스 모델은 클라이언트/서버 모델로서, 상기 브라우저가 클라이언트이며 상기 웹 서버가 서버가 된다. 이 모델에서, 상기 클라이언트는 특정의 문서 또는 자원의 위치를 결정하는 첫번째 단계로서, 하나의 파일에 억세스하거나 또는 잘 알려진 검색 엔진(search engine)(다른 정보 서비스)에 질의할 것이다. 이러한 억세스 또는 질의(query)는, 범용 자원 위치 지정자(URL)이라 불리는 식별자 - 상기 식별자는 시스템 내에 존재하는 문서 또는 자원을 고유하게 식별함 - 에 귀착되고, 원하는 자원에 억세스하는 데에 사용될 수 있다.
상기한 바와 같은 웹의 예에서와 같이, 대부분의 분산형 정보 서비스 자원들(distributed information service resources)은, 하나의 특정 서비스의 위치 및 가능한 기타의 특성들을 식별하는 소정의 고유한 표현(unique representation)으로 도출될 명칭들에 의하여 식별된다. 이러한 분산형 시스템의 도출은 일반적으로 정적인 것(static)이며, 일대일(one-to-one)이다(즉, 상기 명칭은 단 하나의 고유한 표현으로 도출된다.). 상기 도출 프로세스의 정적 성질(static nature)은, 클라이언트 또는 인프라스트럭쳐의 움직임(infrastructure behavior)의 어떠한 변화(variation)에도 그 서비스가 적응하지 못하게 한다. 이러한 비유연성(inflexibility)의 간단한 예는, 국지적 또는 세계적인 클라이언트의 로드가 극적으로 증가하여(이것은 새로운 버전의 소프트웨어가 활용가능하게 되었거나, 서비스의 일부를 억세스할 수 없게 하는 네트워크의 분할에 기인한다.), 그 서비스가 스스로를 스케일(scale)하여 그 클라이언트의 성능(performance) 및 억세스 가능성(accessibility)의 요건을 수용할 수 없게 되는 상황이 웹상에서 발생할 때 볼 수 있다.
이러한 유연성(flexibility)의 제약(constraints)은, 클라이언트가 적절한 자원의 위치를 결정할 수 있으며, 이러한 자원에 대한 높은 활용가능성을 제공할 수 있는 명칭 도출을 가능하게 하는 메카니즘에 대한 필요를 예고한다.
분산형 정보 서비스의 도출 능력(resolution capability)을 확장하려는 다른 방법도 존재했다.
예를 들면, 테네시 대학의 네트리브(Netlib) 개발 그룹에 의하여 개발된 자원 목록화 및 분산 서비스(Resource Cataloging and Distribution Service)(이하, RCDS라 함.)는, 인터넷으로 억세스 가능한 자원의 특성들을 목록화하고, (억세스 가능성을 증가시키기 위하여) 상기 자원들을 복사하고, 상기 복사된 자원들의 현재 위치를 목록화하기 위한 아키텍쳐(architecture)이다. 사용자들에 제공되는 파일들의 완전성(integrity)은 메시지 요약(message digest)과 공용키 인증(public-key authentication)에 의하여 보증된다.
RCDS는 이하의 몇 가지 구성요소를 포함하는 시스템이다. 즉, (1) 클라이언트, 이것은 WWW 브라우저이며, 상기 시스템에 의하여 제공되는 자원들을 소비한다. (2) 파일 서버, 이것은 상기 클라이언트에 의하여 요구되는 파일들로의 억세스를 제공한다. (3) 자원 목록 서버(Resource Catalog Server), 이것은 네트워크로 억세스 가능한 자원들의 특성에 관한 정보를 보전하며, 클라이언트로부터 이러한 특성에 대한 질의를 받는다. (4) 위치 서버(Location Server), 이것은 네트워크로 억세스 가능한 위치에 관한 정보를 보전하며, 클라이언트로부터 위치 데이터에 관한 질의를 받는다. (5) 집합 관리자(Collection manager), 이것은 상기 파일 서버상의 파일들을 관리한다(파일 서버에 파일을 추가하고, 갱신하며, 제거함). (6) 발표 툴(publication tool), 이것은 콘텐트 공급자들로부터 새로운 파일과 기술(description)을 받으며, 상기 파일을 상기 시스템 내로 도입한다.
RCDS의 도출 구성요소는 자원 목록 서버(Resource Catalog Server)와 위치 서버(Location Server)를 포함한다. 상기 자원 목록 서버는 URN(또는 URL)을 위치 독립 파일 명칭(Location Independent File Name)(이하, LIFN이라 함.)으로 도출하며, 반면에 상기 위치 서버는 LIFN을 URL로 도출한다. URC에 존재하는 특성(또는 메타데이터(metadata))으로부터, RCDS는 클라이언트가 도출의 범위를 축소하는데 사용하는 레이블(label)을 제공할 수 있다.
RCDS는 다음의 세가지 점에서 부적절하다. 즉,
1. 클라이언트에 활용가능한 자원 목록을 개별화하는데 지능(intelligence)(예를 들어, 코드내의 간단한 검색 엔진 또는 시스템내의 검색 엔진으로의 억세스)을 사용할 수 있다는 점에서 도출 프로세스에 추가적으로 제공된 기능성(functionality)은 존재하지 않는다.
2. 클라이언트에 가능한 최선의 서비스를 제공하기 위하여, (클라이언트의 개입이 있든 또는 없든) 클라이언트와 서비스 자산(service properties) 모두를 고려하면서 클라이언트와 서비스가 절충할 수 없다.
3. 서비스의 성능과 활용가능성을 보증하기 위한 서버측 객체들의 자동 미러링(mirroring)이 존재하지 않는다.
CNRI 처리 시스템 방식에서는, 웹 브라우저들과 다른 클라이언트들이 명칭(그 분야에서 사용되는 용어로는 핸들(handle)로 불림)을 도출하는데 프록시 서버(proxy server)를 사용하며, 이전에 도출된 서버들을 캐시(cache)에 저장하기 위하여 캐싱 서버(caching server)가 사용된다. 여기서는, 몇 가지 특성들에 기초하여 핸들을 도출할 수 있는데, 이것을 수행하는 방식을 알려주는 아무런 설명이나 수단도 존재하지 않는다. 이 방식에서는, 상기 캐싱 서버와 프록시 서버가 이러한 트랜잭션(transaction)내에서 절충을 허용하지 않는다. 적절한 자원의 위치를 결정하기 위하여 개별화된 클라이언트측의 검색을 허용하지 않는다는 점과, 자동 미러링에 의한 높은 억세스 가능성을 보증하려고 시도하지 않는다는 점에서 이 방식도 또한 적절하지 않다.
본 발명은, 클라이언트측에서의 개별화된 검색을 허용하며, 콘텐트 공급자들의 서비스에 대한 높은 억세스 가능성을 지원하는 자원 명칭 도출 방법 및 그 시스템에 대한 것이다.
본 발명의 첫번째 관점에 의하면, 자원이 코드와 데이터의 조합(combination)을 통하여 표현되며, 상기 코드가 그 자원을 희망하는 클라이언트측에서 실행되는 분산형 컴퓨팅 환경 내에서의 자원 명명을 위한 메카니즘이 개시되었다. 상기 메카니즘이 컴퓨팅하는 데이터뿐만 아니라, 도출 메카니즘 (코드) 역시 식별중인 자원에 대하여 개별화된다.
본 발명의 두번째 관점에 의하면, 이 코드는 분산형 환경, 즉 클라이언트, 네트워크, 스마트링크 생성자(SmartLink creator) 및 콘텐트 공급자(content provider) 등으로부터 획득한 데이터 및 코드를 사용하여, 자원으로 도출된다. 도출 메카니즘은 클라이언트측 구성요소와 서버측 구성요소로 구성된다. 클라이언트측 구성요소의 코드와 데이터는, 스마트링크 코드에서 정의된 조건들에 의하여 규정되는 바와 같은 다수의 국면(phase)내의 환경으로부터 획득될 수 있다. 각 국면에서, 이 코드와 데이터에 대한 연산을 사용하여 추가적인 데이터를 획득한다. 평가(evaluation)의 마지막 국면에서 자원에 대한 도출이 완료된다. 상기 서버측 구성요소는, 평가 중에 클라이언트측 구성요소에 의하여 질의된 좌표 메트릭(coordinate metric)들을 보전한다. 클라이언트측 구성요소에 의하여 컴퓨팅된 중간 결과는 서버로 안전하게 회신된다. 상기 서버측 구성요소는, 사이트 그룹 리더(site group leader)에 의하여 관리되는 자동 미러링과 메트릭 갱신 설비(metric update facilities)를 제공함으로써 평가를 지원한다.
도 1은 본 발명에 의한 콘텐트 전달 메카니즘을 도시한 도면.
도 2는 본 발명에 의한 스마트링크 시스템과 그 구성요소 부분들을 도시한 도면.
도 3은 스마트링크 생성자가 서버에 의하여 제공되는 일련의 파라미터들에 기초하여 새로운 스마트링크를 생성하는 방법을 도시한 도면.
도 4는 도 2에 도시된 스마트링크 시스템을 평가하는 프로세스를 도시한 도면.
도 5는 스마트링크에 의한 이후의 사용을 위하여 서버 머신에서 메트릭들을 저장할 수 있게 하는 보안 회신 메카니즘의 실시예를 도시한 도면.
도 6은 그룹 리더의 프로세스를 도시한 도면.
도 7은 콘텐트 공급자 또는 콘텐트 공급자로서 활용가능한 노드의 프로세스를 도시한 도면.
*도면의 주요 부분에 대한 부호의 설명
100 : 사용자 101 : 클라이언트
102 : 클라이언트 환경 103 : 스마트링크
108 : 콘텐트 공급자 그룹 115 : 서버
117 : 생성자
본 발명의 특징 및 이점은 첨부된 도면을 참조하여 이하에서 상세히 설명한다.
도 1은 본 발명의 특징을 갖는 콘텐트 전달 메카니즘(content delivery mechanism)을 도시한 도면이다. 사용자(100)의 요구에 의하여, 클라이언트 머신(101)은 서버 머신(115)으로부터 클라이언트에서 수행 가능한(client-executable) 명명 자원(naming resource)의 이미지(image)(즉, 저장하기에 적당한 포맷(format)의 코드 및 데이터)(116)를 요구한다. 스마트링크(103)라는 용어를 사용한 명명 자원은 콘텐트 전달 메카니즘(112)을 통하여 제공된다. 전달 메카니즘의 예를 들면, 플로피 디스켓, CD-ROM 및 인터넷 등이 포함된다. 스마트링크를 구현하는 실행가능 콘텐트(executable content)의 예를 들면, 자바(Java) 및 액티브엑스(ActiveX) 제어들이 포함된다. 상기 스마트링크는 스크립트 (코드)(script (code))(104)와, 동작가능 데이터(operational data)(105)와, 식별 데이터(identity data)(106)가 포함된다. 스마트링크는 클라이언트의 머신에서 도출하기 때문에, 서버는 클라이언트의 필요에 따라 개별화된 스마트링크를 제공할 수 있다. 따라서, 스마트링크의 도출은 정적인 것이 아니며, 많은 가능한 콘텐트 공급자들중의 어느 하나를 선택할 수 있으며, 그리하여 원하는 서비스에 대한 높은 활용가능성을 제공한다. 또한, 상기 메카니즘은, 어떤 자원(예를 들어, 서버 머신)도 복잡한 명칭 도출을 수행하지 않아도 좋으므로, 본질적으로 적재 균형적(load-balancing)이다.
사용자에 의하여 활성화됨에 따라, 많은 가능한 콘텐트 공급자 머신(110)의 하나를 주요 콘텐트 공급자(109)로서 선택하기 위하여, 상기 스마트링크의 스크립트(104)가 클라이언트의 머신(101)에서 실행된다. 상기 스크립트(104)는 이 계산(calculation)을 수행하기 위하여 스마트링크 파라미터(105)와 클라이언트 환경 파라미터(102)를 사용한다. 콘텐트 공급자의 예를 들면, 소프트웨어 배포 센터, 주식 시세 서비스, 온라인 소비자 상품 소매상 등이 포함된다.
스마트링크 파라미터의 예를 들면, 콘텐트 공급자 위치, 이전의 콘텐트 공급자 로드, 콘텐트 전달 대역폭 등이 포함된다. 클라이언트 환경 파라미터의 예를 들면, 클라이언트 위치, 콘텐트 전달 대역폭, 사용자 예산 등이 포함된다.
질의 메카니즘(query mechanism)(113)을 이용하여, 상기 스마트링크(103)는 주요 콘텐트 공급자(109)로부터 질의 메카니즘(113)을 통하여 콘텐트 공급자 파라미터(114)를 획득한다. 질의 메카니즘의 예를 들면, 인터넷, 모뎀, 팩스 또는 케이블 텔레비전 네트워크 등과 같은 매체를 통하여 실행되는 RPC, HTTP, TCP 등과 같은 프로토콜들이 포함된다. 콘텐트 공급자 파라미터의 예를 들면, 현재 콘텐트 공급자 멤버십(current content provider membership), 현재 콘텐트 공급자 로드(current content provider load), 콘텐트 공급자 서비스료(content provider service charge), 및 콘텐트 공급자 위치 등이 포함된다. 상기 스마트링크의 코드(104)는 스마트링크 파라미터(105)와, 클라이언트 환경 파라미터(102)와, 콘텐트 공급자 파라미터(114)를 사용하여 평가하여, 도출된 콘텐트 공급자(111)에 대한 레퍼런스라는 결과를 가져온다. 상기 스마트링크는 상기 도출된 콘텐트 공급자의 콘텐트를 클라이언트 머신으로 전송하기 위하여 콘텐트 전달 메카니즘(112)을 사용한다. 회신 메카니즘(107)은, 상기 스마트링크를 획득하는 다음의 클라이언트 머신(101)이 사용하도록, 상기 스마트링크(103)에 의하여 획득된 갱신 메트릭(updated metric)들을, 상기 서버 머신(115)의 상기 스마트링크의 이미지(116)내에 저장한다.
도 2는 스마트링크(103)의 구조의 한 예를 도시한 도면이다. 상기 스마트링크는 다음의 두 가지 구성요소를 포함한다. 즉, 스마트링크 CC(103)라 불리는 클라이언트 구성요소와, 스마트링크 PC(250)라 불리는 콘텐트 공급자 구성요소이다. 상기 스마트링크 CC(103)는 클라이언트 머신(101)의 어느 하나 상에서 실행되며, 상기 스마트링크 PC(250)는 콘텐트 공급자 머신(110)이나, 주요 콘텐트 공급자 머신(110)이나, 또는 그룹 리더 머신(group leader machine)(118) 중의 어느 하나 상에서 실행된다. 근본적으로, 상기 스마트링크 CC는 분산형 시스템의 다양한 구성원(member)들로부터 획득한 데이터 상에서 동작하는 스크립트(104)로 구성된다. 특히, 이 스마트링크 CC는 동작가능 데이터(operational date)(105)와 식별 데이터(106)를 보전한다. 상기 스마트링크 CC 스크립트(104)는 다수의 모듈들로 구성된다. 모듈들의 예를 들면, 주요 콘텐트 공급자(109)와 도출된 콘텐트 공급자(111)의 역할을 충족시키기 위하여 메트릭 목록으로부터 최선의 콘텐트 공급자(110)를 선택하기 위한 메트릭 평가 모듈(metric evaluation module)(211)과, 파라미터들을 인증하는 시그네쳐 검증 모듈(signature verification module)(212)과, 주요 콘텐트 공급자(109)로부터 메트릭들을 획득하는 메트릭 질의 모듈(metric query module)(109)과, 도출된 콘텐트 공급자(111)로부터 콘텐트를 획득하는 콘텐트 조달 모듈(content procurement module)(214) 등이 포함된다. 콘텐트 공급자들은 그룹 리더(118)에 의하여 통합되는 콘텐트 공급자 그룹(108)으로 조직화된다.
스마트링크 CC의 식별 데이터(106)는, 클라이언트가 상기 스마트링크로 억세스한 서버에 대한 식별 자격(identity credentials)(스마트링크 서버 식별(Smartlink Server identity))(221)과, 인증된 콘텐트 공급자에 대한 인가(콘텐트 공급자 인가(Content provider certificate))(222)와, 스마트링크의 생성자의 식별(스마트링크 생성자 식별(Smartlink creator identity))(223)을 포함한다. 식별 정보의 사용은 선택적인 것이며, 또한 그것은 상기 스마트링크 스크립트(104)에 대한 모듈들의 선택에 기초한다.
동작가능 데이터(105)는 상기 메트릭 평가 모듈(211)에 의하여 사용되는 일련의 서로 다른 모듈들로 구성된다. 스마트링크 CC가 상기 클라이언트 머신(101)으로 전달될 때 서버(115)로부터 획득(단계 403)되거나, 스마트링크 CC에 의하여 질의를 받을 때 주요 콘텐트 공급자로부터 획득(단계 409)된 것으로서, 활용가능한 최근의 메트릭과 콘텐트 공급자 멤버십 데이터는 상기 동작가능 데이터에 저장된다. 서버로부터의 데이터는, 이전의 실현(previous incarnation)에 의하여 그 데이터가 상기 회신 메카니즘(107)을 통하여 상기 이미지(116)로 회신되어 기록될 때(단계 410) 획득된다. 보안 회신 메카니즘(secure write-back mechanism)에 관하여는 도 5를 참조하여 후술한다. 가능한 콘텐트 공급자의 목록은 콘텐트 공급자(232)의 목록 내에 저장되며, 이러한 머신들에 대한 메트릭 데이터는 메트릭 데이터 모듈(233)내에 저장된다. 이러한 데이터를 획득한 시간은 시간 스탬프 모듈(time stamp module)(231)내에 기록된다. 상기 시간 스탬프 모듈은 완전한 평가에 대한 기준이 마련되었는지를 결정하기 위하여 검사된다. 만약 상기 메트릭 평가 모듈(112)에 의하여 요구되는 모든 메트릭들에 대한 값들이 상기 메트릭 데이터 모듈(233)내에 존재한다면, 도출된 콘텐트 공급자에게 직접 요구(단계 412)를 발한다. 만약 그렇지 않으면, 스마트링크 CC는 먼저 요구할 주요 콘텐트 공급자(109)를 선택(단계 408)하고, 새로운 일련의 메트릭들을 획득(409)한다.
스마트링크 콘텐트 공급자 구성요소(PC)(250)는 네 가지 모듈로 구성된다. 클라이언트 메트릭 갱신 모듈(Client Metric Update module)(251)은 요구가 있는 즉시 상기 CC로 메트릭들을 공급한다. 데이터 전달 모듈(Data Delivery module)(252)은 콘텐트 전달 메카니즘(112)을 사용하여 상기 CC로 콘텐트를 전송한다. 그룹 메트릭 갱신 모듈(Group Metric Update module)(253)은, 그룹 리더(118)에 의하여 관리되는 다른 콘텐트 공급자(110)에게 메트릭들을 공급한다. 상기 멤버십 갱신 모듈(254)은 상기 그룹에 가입하고 탈퇴하기 위한 그룹 리더(118)로부터의 요구를 처리한다. 상기 PC(250)를 위한 프로세스의 예를 도 6에 도시하였다.
도 3은 스마트링크 CC의 생성 프로세스의 예를 도시한다. 스마트링크의 생성은 서버(115)에 의하여 호출되는 생성자(117)에서 수행되는 것이 바람직하다. 본 발명의 기술 분야에서 통상의 지식을 가진 자라면, 생성자의 역할은 서버에 의하여도 포괄될 수 있음을 이해할 것이다. 나아가, 서버가 스마트링크를 매우 자주 생성하여 저장할 지라도, 서버는 클라이언트의 요구에 매번 응답하여 새로운 스마트링크를 생성한다.
스마트링크 CC의 생성에는 스마트링크 CC의 이미지를 생성하기 위한 서버(115)와 생성자(117) 사이의 상호작용이 개입한다. 상기 서버는, 질의 메카니즘(113)을 통해, 스마트링크 CC 이미지(116)의 생성에 대한 개별화 파라미터를 제공하면서 상기 생성자에게 파라미터들을 제공한다(단계 301). 개별화 파라미터의 예를 들면, 스마트링크 CC(103)가 레퍼런스하는 서비스의 형식이나, 상기 스마트링크 CC의 평가 프로세스의 성질이나, 스마트링크 CC(103)로의 억세스가 제한되는 지리적 영역(geographic area) 등이 포함된다. 상기 생성자(117)는 선택 메카니즘을 선택(단계 302)하기 위하여, 그리고 스크립트(104) 및 초기 동작가능 데이터(105)를 선택(단계 303)하기 위하여 상기 개별화 파라미터를 사용한다. 만약 상기 파라미터가 보안 동작이 요구됨을 규정(단계 304)한다면, 상기 생성자는 또한 상기 스마트링크 CC에 대한 식별 데이터(106)를 작성한다(단계 306). 그리고 나서, 상기 스마트링크 CC의 이미지는 콘텐트 전달 메카니즘(112)을 통하여 상기 서버 머신으로 전달(단계 305)되며, 상기 서버에서 저장된다.
상기 스마트링크 평가 프로세스의 한 예가 도 4에 도시되어 있다. 스마트링크의 평가는 클라이언트에서 수행된다. 사용자는 스마트링크를 활성화시키고(단계 401), 클라이언트 머신은 서버로부터의 스마트링크를 요구한다(단계 402). 상기 서버는 상기 스마트링크를 상기 클라이언트로 다운로드(download) 시킨다(단계 403). 상기 스마트링크는 클라이언트 환경으로부터의 정보를 이용하여 부분적으로 평가한다(단계 404). 상기 스마트링크는, 그 마지막 실행으로부터 캐시에 저장되어 있을 메트릭 정보상의 시간 스탬프를 검사한다(단계 405). 만약 상기 캐시에 저장된 메트릭이 충분히 근래의 것이고, 상기 스마트링크가 완전히 평가하기에 충분한 것으로 밝혀졌다면(즉, 하나의 콘텐트 공급자가 식별되었다면), 상기 스마트링크는 상기 선택된 콘텐트 공급자와 접속하여, 콘텐트 전달 메카니즘(112)을 통하여 도출된 콘텐트 공급자(111)로부터의 콘텐트 전송을 개시한다(412). 만약 메트릭들이 오래 전의 것이고, 상기 스마트링크가 평가를 완료할 수 없다면, 새로운 메트릭을 획득하기 위한 것으로서, 가능한 최선의 콘텐트 공급자를 식별하는 데에, 상기 스마트링크 메트릭 질의 모듈(213)에 의하여 판단되는 바에 따르는 발견적 방법(heuristic)이 사용된다. 이 콘텐트 공급자를 주요 콘텐트 공급자(109)라 부른다. 상기 스마트링크는 갱신된 메트릭과, 활용가능한 공급자들의 목록과, 상기 주요 콘텐트 공급자로부터의 평가 알고리즘을 요구한다(단계 408). 상기 데이터는 상기 주요 콘텐트 공급자에 의하여 상기 스마트링크 CC(103)로 송신된다(단계 409). 그리고 나서, 상기 스마트링크 CC는 서버(115)에 상기 데이터를 저장하기 위하여 회신 메카니즘(107)을 이용한다(단계 410). 이 데이터를 이용하여, 상기 스마트링크 CC는, 상기 도출된 콘텐트 공급자(111)의 컴퓨팅하기 위한 평가를 완료(단계 411)하고, 상기 도출된 콘텐트 공급자와 접촉(단계 412)하여, 상기 콘텐트를 획득한다.
상기 스마트링크 평가의 다국면 구조(multi-phase structure)에 의하여 본 발명이 개별화될 수 있으며, 고도의 활용가능성을 제공할 수 있음을 주의하여야 한다. 분산형 환경에 질의함으로써, 스마트링크는 활용가능한 최선의 콘텐트 공급자를 선택할 수 있게 되며, 여기에서 최선이라 함은, 스마트링크가 억세스할 수 있는 모든 가능한 메트릭의 집합으로 정의된다. 본 발명의 기술 분야에서 통상의 지식을 가진 자라면, 이 구성(feature)의 2 국면성(two-phase nature)(즉, 주요 콘텐트 공급자로부터의 메트릭들을 요구하고, 도출된 콘텐트 공급자를 선택하는 데에 이 메트릭들을 이용함)은 n-국면의 도출 메카니즘으로 확장될 수 있음을 이해할 것이다. 그러나, 클라이언트와, 서버와, 콘텐트 공급자들의 필요에 근거하여 스마트링크를 개별화하는 능력은, 전통적인 정적-링크 접근 방법(static-link approach)에서는 존재하지 않던 개별화를 가능하게 하는 것이며, 고도의 활용가능성을 지원하는 것이다.
도 5는 클라이언트와 서버가 개입되는 보안 회신 메카니즘(107)을 위한 프로세스의 한 예를 도시한 도면이다. 본 발명의 기술 분야에서 통상의 지식을 가진 자라면, 이 프로토콜에서는 별개의 데이터 저장 장치 사이트(separate date storage site)를 서버 대신에 사용할 수 있다는 것을 이해할 것이다. 보안 회신 기능을 사용하는 것은 비록 추천되는 것이기는 하지만 선택적이라는 점을 주의하여야 한다. 즉, 이 프로세스는 비보안 회신(unsecure write-back) 메카니즘으로 대체될 수 있다. 본 명세서에서 기술되는 모든 보안 메카니즘은 표준 보안 기술을 사용한다. 특히, 디지털 시그네쳐(digital signature), 암호화(encryption), 인증(authentication) 및 구축 인가(building certificates)에 대한 기술들은, C. Kaufman 등의 Network Security : Private Communication in a Public World, Prentice-Hall, Inc., Englewood Cliffs, New Jersey, 1995;와 B. Schneier의 Applied Cryptography Second Edition : Protocols, Algorithms, and Source Code in C., John Wiley Sons, Inc., New York, 1996에서 볼 수 있다. 상기 도출된 콘텐트 공급자(111)는, 상기 콘텐트 전달 메카니즘(112)을 사용하여 데이터를 상기 클라이언트 머신(101)으로 전송(단계 502)하기 전에, 모든 데이터에 사인하고 시간 스탬프를 날인한다(단계 501). 상기 스마트링크 CC 스크립트(104)의 시그네쳐 검증 모듈(212)은, 상기 콘텐트 공급자로부터 수신한 파라미터들을 그의 메트릭 데이터(233)에 기록하기 전에, 또한 그의 동작가능 데이터의 시간 스탬프(231)를 갱신하기 전에, 그 데이터의 시그네쳐와 신규성(freshness)을 검증한다. 상기 시그네쳐는 콘텐트 공급자 인가(222)내에 저장된 시그네쳐 정보에 기초하여 검증된다(단계 503). 상기 메트릭으로부터의 시그네쳐 정보는 상기 동작가능 데이터의 콘텐트 공급자 시그네쳐(234)로서 저장된다. 상기 메트릭의 인증 이후에, 상기 사인된 데이터는 스마트링크 CC(101)에 의하여 상기 서버 머신(115)으로 송신된다(단계 504). 상기 서버 머신은 상기 데이터가 현재 저장된 데이터보다 더 근래의 것인지를 판단(단계 505)하고, 만약 그렇다면 콘텐트 공급자에게 메트릭을 공급하기 위한 권한을 부여한다(단계 506). 만약 이러한 조건들이 유지된다면, 상기 스마트링크 CC에 의한 이후의 개입(단계 401)에 사용하기 위하여 상기 이미지(116)내에 상기 메트릭들을 저장(단계 507)하고, 상기 스마트링크 CC가 다운로드됨(단계 403)에 따라 상기 메트릭을 클라이언트 머신(101)으로 제공한다. 만약 신규성과 유효성 시험이 실패한다면, 상기 데이터는 폐기된다(단계 508).
도 6 및 도 7은 스마트링크 공급자 구성요소(PC)(250)의 기능을 포함하는 프로토콜의 예를 도시한다.
콘텐트 공급자 그룹(108)은 콘텐트 공급자(110)로서 행동하는 일련의 노드들을 포함한다. 상기 그룹내의 콘텐트 공급자들은 상기 클라이언트의 요건과 환경에 적절한 일련의 메트릭들에 의하여 구별된다. 도 6은 콘텐트 공급자 그룹(108)내의 그룹 리더(118)의 프로세스를 도시한다.
상기 그룹 리더(118)는 노드들의 그룹을 보전하는데, 상기 각 노드는 서비스 콘텐트를 포함하며, 상기 콘텐트 공급자 그룹(108)을 구성하는 콘텐트 공급자(110)를 구별하기 위한 메트릭 정보를 보전한다. 상기 콘텐트 공급자들은 그들 사이에 메트릭 정보를 공유한다. 상기 스마트링크 CC는 상기 그룹내의 콘텐트 공급자들 중에서의 선택을 위하여 이 메트릭들(상기 PC로부터 획득한 메트릭들 - 도 7 참조)을 사용한다. 이러한 선택은 상기 스마트링크 스크립트(104)의 메트릭 평가 모듈(211)을 사용하여 수행되는데, 가장 적당한 콘텐트 공급자 그룹을 결정하여 상기 그룹 내에서 가장 적당한 콘텐트 공급자를 결정한다. 상기 메트릭의 형식들은 스마트링크 생성자(117)에 의하여 선택되어, 상기 생성자가 신뢰하는 바에 따라 메트릭들의 영향을 그 기능과 서비스 수준에 반영한다.
메트릭 집합의 예를 들면 다음과 같다. 즉,
1. 노드 로드(node load) : 시간 평균 로드 인덱스(time average load index)
2. 노드 메모리(node memory) : 시간 평균 메모리 사용량(time average memory usage)
3. 물리적 노드 메모리(physical node memory) : 고정된 물리적 노드 메모리
4. 라이브니스(liveness) : 노드 업 또는 다운
5. 신뢰도(reliability) : 공급자/노드의 고장(failure)까지의 평균 시간(mean time)
6. 소프트웨어 사용권 유효성(software license availability)
7. 누적적 성능 메트릭(cumulative performance metrics)
8. 노드로의 억세스를 위한 비용(cost of accessing node)
9. 서버 노드와 클라이언트 노드의 지리적 근접 정도(geographic proximity)
10. 서비스에 억세스하는 데에 대한 보안 제한(security restrictions)
등이다.
콘텐트 공급자(110)가 다수의 스마트링크의 클라이언트측 구성요소(CC)(103)를 지원할 수 있으므로, 다수의 메트릭 집합들이 보전되어야 한다. 메트릭은 그룹의 구성원들 사이에서 주기적으로 또한 비주기적으로 갱신된다. 주기적 갱신 모드에서는, 각 콘텐트 공급자(110)는 그 메트릭을 모든 그룹 구성원들에게 멀티캐스트(multicast)한다. 주기적 갱신의 경우에는, 그룹 리더가 갱신의 주기를 제어한다. 비주기적 갱신의 경우에는, 하나의 메트릭 또는 메트릭의 그룹이 그 노드 상에 지정된 임계값(threshold)을 통과할 때, 상기 그룹의 개별 구성원들이 그들의 갱신을 전파한다. 상기 사이트 리더(site leader)가 상기 임계값을 지정한다. 콘텐트 공급자 그룹의 멤버십은 시간에 따라 동적으로 변화한다.
콘텐트 공급자 그룹에 대한 동적 멤버십을 지원함으로써, 스마트링크를 고도로 활용가능하게 한다. 이러한 능력 없이 기존의 시스템은 모든 로드의 변화를 예견하여 정적인 링크를 모든 서비스 지원 노드에 명시적으로 추가하여야만 한다. 각 로드의 변화에 대하여는, 예를 들어 만약 어떤 매우 인기 있는 소프트웨어의 일부가 콘텐트 공급자에 의하여 배포중이라면, 새로운 노드가 정적인 링크의 형식으로 명시적으로 추가되어야 한다. 로드가 감소될 때에는, 상기 링크는 명시적으로 제거되어야 한다. 콘텐트 공급자에 대한 동적 멤버십을 가진 스마트링크는, 현재의 실행 환경에 대하여 최적이 되도록 자동적으로 그 크기를 맞추는 콘텐트 공급자 그룹으로부터 가장 적당한 구성원을 선택할 수 있다.
멤버십의 변화는 시스템내의 메트릭의 변화에 의하여 명시적으로 제어된다. 노드의 종말(node death)은 그 노드의 라이브니스 메트릭의 변화로 보게 된다. 노드의 종말은, 갱신 메시지를 감시함으로써, 또는 비주기적인 갱신의 경우에는 순환적 핑 프로토콜(circular ping protocol)에 의하여 판단된다.
멤버십의 변화는 선출된 그룹 리더에 의하여 바람직하게 초기화된다(상기 그룹 리더에 의하여 필요한 프로토콜이 실행되고 제어된다.). 리더의 선출(leader election)은, Sape Mullender에 의하여 편집된 책 Distributed Systems, ACM Press, New York, 1989에 개시된 바와 같은 표준 프로토콜에 의하여 수행될 수 있다. 정규의 리더 선출 프로토콜을 넘어서는 유일한 변화는, 이러한 변화가 인터넷을 통하여 전파된다는 것이다. 이러한 프로토콜은 인터넷을 통하여 실행되도록 의도된 것이다. 상기 프로토콜의 요점은, 상기 프로토콜의 클라이언트측이 최선의 활용가능한 사이트에 접속할 수 있는 소정의 보장을 제공한다는 것이다. 본 발명의 기술 분야에서 통상의 지식을 가진 자라면, 그룹 리더의 기능성은 하나의 두드러진 노드에 통합되기보다는 상기 그룹의 구성원들 사이에 분산될 수 있음을 이해할 수 있음을 주의하여야 한다.
도 6에 도시되었듯이, 상기 그룹 리더(118)의 프로세스는 반복적 프로세스(repetitive process)로서 정의된다. 상기 그룹 리더는 또한 도 7에 도시된 프로세스를 동시에 따르면서 콘텐트 공급자로서도 행동함을 주의하여야 한다. 만약 주기적 메트릭 갱신을 사용하고, 현재의 메트릭이 오래 전의 것이라고 판단(단계 602)되었다면, 상기 그룹 리더는 그룹의 구성원들로부터 갱신된 메트릭을 요구한다(단계 603). 상기 그룹의 구성원들은 이것을 메트릭 갱신 요구(718)로서 처리할 것이다.
다시 도 6을 참조하면, 상기 그룹 리더는 상기 그룹내의 머신들에 대하여 계속적으로 메트릭을 검사한다(단계 601). 만약 상기 그룹의 구성원들이 오버로드(overload) 상태가 되면(단계 610), 상기 그룹 리더는 모든 활용가능한 노드들에 가입(join) 요구를 멀티캐스트 한다(단계 611). 그리고 나서, 상기 그룹 리더는 지정된 시간 할당량(time quantum)이내에 모든 요구를 기다린다(단계 612). 만약 아무런 응답도 수신되지 않는다면(단계 613), 상기 그룹 리더는 그 대기 루프(단계 601)로 복귀한다. 그렇지 않다면, 상기 리더는 그 로드에 기초하여 새로운 최선의 그룹 구성원을 선택(단계 614)하고, 이 사이트에게 상기 그룹에 가입할 것을 요구한다(단계 614). 새로운 노드의 참가(participation)를 가능하게 하기 위하여, 상기 그룹 리더는 그룹의 구성원에게 그의 데이터를 상기 새로운 노드에 전송할 것을 요구한다(단계 615). 상기 새로운 노드가 상기 그룹에 가입할 준비가 되었다는 통지(단계 616)에 입각하여, 상기 그룹 리더는 상기 그룹의 나머지에게 새로운 구성원이 가입하였음을 통지하고(단계 617), 상기 새로운 노드의 메트릭을 제공한다. 만약 상기 그룹 리더가 상기 그룹내의 머신에 대한 그의 메트릭을 검사(단계 601)하여 그 그룹의 구성원이 언더로드(underload) 상태(단계 620)라면, 상기 그룹 리더는 현재의 메트릭에 기초하여 상기 그룹으로부터 제거할 노드를 선택한다(단계 621). 일단 선택되면, 상기 그룹의 나머지뿐만 아니라 그룹으로부터 제거될 노드에도 통지한다(단계 622 및 단계 623).
도 7은 또한, 노드들이 상기 콘텐트 공급자 그룹(108)의 멤버십을 위하여 활용가능하게 되는 프로세스의 예를 도시한다. 활성화된 콘텐트 공급자인 노드들의 개수는 콘텐트 공급자의 로드에 의존한다. 도시된 바와 같이, 이러한 각 노드는, 초기에는 권한 있는 그룹 리더(118)로부터의 가입 요구를 기다리는 상태에 있다(단계 700). 가입 요구를 기다릴 때, 상기 노드는 다른 서비스를 위한 콘텐트 공급자로서 기능하는 것을 포함하여 다른 동작을 수행할 수도 있다.
요구를 수신하면, 상기 노드는 상기 그룹 리더에게 그룹에 가입할 용의가 있음을 통지(단계 701)하고 응답을 기다린다(단계 702). 만약 타이머(timer)에 의한 만료(expiration)까지 응답을 수신하지 못하면(단계 703), 상기 노드는 그 대기 상태(단계 700)로 복귀한다. 그렇지 않다면, 상기 노드는 콘텐트 공급자 그룹(110)의 구성원으로부터의 패키지화된 콘텐트를 수신하기 위하여 대기한다. 상기 패키지화된 콘텐트를 수신(단계 704)하면, 상기 데이터가 설치(단계 705)되고, 이제는 콘텐트 공급자인 상기 노드는 초기화되었음을 상기 그룹 리더에게 통지(단계 706)하고, 스마트링크의 클라이언트측 구성요소(CC)(103)로부터의 서버 요구를 대기함(단계 710)으로써 스마트링크 공급자 구성요소(PC)(250)로서 행동한다.
각 콘텐트 공급자는 네 가지 서로 다른 요구, 즉 메트릭 요구(715), 데이터 요구(716), 탈퇴(exit) 요구(717) 또는 메트릭 갱신 요구(718) 중의 어느 하나를 기다린다. 대기하는 동안, 만약 비주기적 메트릭 갱신 프로토콜이 사용중이라면, 상기 콘텐트 공급자는 갱신이 필요한지를 판단하기 위하여 그의 지역 메트릭(local metric)(114)을 검사한다(780). 상기 메트릭 갱신은 또한 메트릭 갱신 요구(718)를 수신하면 수행될 것이다. 만약 상기 메트릭이 현저히 교란되었다면(단계 781), 또는 메트릭 갱신 요구가 수신되었다면, 상기 콘텐트 공급자는 그의 새로운 메트릭을 그의 그룹의 구성원들에게 멀티캐스트 한다(단계 782).
요구를 수신하면, 콘텐트 공급자(110)는 요구의 성질에 기초하여 수행할 행동을 선택한다(단계 711). 메트릭 요구(715)를 수신하면, PC(250)는 먼저 요구중인 CC(103)가 그 요구에 대한 권한이 있는가를 검사(check)한다(단계 720). 만약 억세스가 허용되지 않으면(단계 799), 상기 PC로 서비스 거부(denial of service)라는 응답을 회신한다. 만약 억세스가 허용되면, 상기 PC는 상기 요구(715)내의 CC(103)에 의하여 포함된 파라미터들에 의하여 결정되는 바와 같은 주석을 첨가한 호스트 목록을 생성한다(단계 721). 이러한 파라미터들은 클라이언트를 식별하며, 그의 특성을 정의하고, 그의 원하는 서비스와 서비스 수준에 관련된 메트릭을 지시한다. 상기 목록은 그의 진정성(authenticity)과 완전성(integrity)을 보증하기 위하여 상기 PC(250)에 의하여 사인(sign)되며, 그리고 나서 상기 클라이언트로 복귀된다. 이 메시지 전송을 완수하는 데에 사용되는 전송 메카니즘은 HTTP 또는 RPC의 어느 하나가 될 수 있다.
데이터 요구를 수신(단계 716)하면, PC(250)는 먼저 상기 요구하는 CC(103)가 상기 데이터를 수신하기 위한 권한이 있는지를 검사한다(단계 730). 만약 억세스가 허용되지 않는다면(단계 799), 상기 PC로 서비스 거부라는 응답을 회신한다. 만약 억세스가 허용되면, 상기 PC는 상기 콘텐트에 그 진정성과 완전성을 보증하기 위하여 사인(sign)하며(단계 731), 그리고 나서 상기 데이터를 상기 클라이언트로 복귀시킨다(단계 732). 상기 콘텐트 공급자상의 로드가 지나치게 작을 때, 상기 그룹 리더(118)에 의하여 탈퇴 요구(717)가 생성된다(이 프로세스에 관한 설명은 도 6을 참조하라). 상기 그룹 리더로부터 탈퇴 요구(717)를 수신하면, 상기 콘텐트 공급자는 상기 서비스를 위한 데이터를 정리(clean up)한다(단계 740). 데이터를 정리한다는 것은 보다 저렴한 저장 장치로 데이터를 이동하는 것이나, 또는 데이터를 완전히 삭제하는 것의 어느 하나를 의미한다. 그리고 나서 상기 콘텐트 공급자는 상기 그룹 리더에게 상기 탈퇴 요구를 통보(acknowledge)(단계 741)하며, 가입 요구를 기다리기 시작한다(단계 700).
본 발명에 의하면, 클라이언트측에서의 개별화된 검색이 가능하며, 콘텐트 공급자들의 서비스에 대한 높은 억세스 가능성을 지원하는 자원 명칭 도출 방법 및 그 시스템을 제공할 수 있다.
상기한 바와 같이, 본 발명을 바람직한 실시예와 그 변형에 따라 기술하였으나, 본 발명의 기술 분야의 통상의 지식을 가진 자라면 다양한 변경과 개선을 가할 수 있을 것이다. 따라서, 상기 바람직한 실시예는 그 예로서 제공된 것이며 그 제한을 위한 것이 아님을 이해하여야 한다. 본 발명의 범위는 첨부된 특허 청구의 범위에 의하여 정의된다.

Claims (16)

  1. 자원이 클라이언트측에서 평가되는 코드와 데이터의 조합(combination)에 의하여 표현되는 분산형 컴퓨팅 환경(distributed computing environment)에서 자원을 명명하기 위한 컴퓨터화된 방법에 있어서,
    상기 클라이언트로부터 서버로 자원 요구를 발하는 단계;
    상기 자원에 대한 레퍼런스를 상기 서버로부터 상기 클라이언트로 전달하는 단계 - 상기 레퍼런스는 상기 코드와 상기 데이터를 포함함 - ;
    자원의 명칭을 획득하기 위하여 상기 클라이언트측에서 상기 코드와 상기 데이터를 평가하여 도출하는 단계를 포함하는 분산형 컴퓨팅 환경의 자원 명명 방법.
  2. 제 1 항에 있어서,
    상기 평가하는 단계가,
    환경 파라미터(environmental parameter)에 대하여 상기 분산형 환경 - 상기 분산형 환경은 최소한 하나의 상기 클라이언트와, 네트워크와, 생성자(creator)와, 상기 서버와, 콘텐트 공급자(content provider)를 포함함 - 에 질의하는 단계를 더 포함하는 분산형 컴퓨팅 환경의 자원 명명 방법.
  3. 제 2 항에 있어서,
    상기 질의하는 단계는 상기 코드와 상기 데이터에서 정의되는 조건의 함수로서 다수의 국면으로 수행되며, 각각의 국면은,
    상기 코드와 상기 데이터를 평가하는 단계; 및
    이후의 국면을 위한 추가적인 환경 파라미터를 획득하기 위하여 상기 분산형 환경에 질의하는 단계를 포함하는 분산형 컴퓨팅 환경의 자원 명명 방법.
  4. 제 1 항에 있어서,
    상기 서버가 생성자에게 개별화 파라미터를 전송하는 단계;
    상기 생성자가 초기 환경 파라미터를 포함하는 상기 코드와 상기 데이터를 조립하는 단계;
    상기 생성자가 상기 코드와 상기 데이터를 상기 서버로 전달하는 단계를 더 포함하는 분산형 컴퓨팅 환경의 자원 명명 방법.
  5. 제 4 항에 있어서,
    상기 개별화 파라미터를 전송하는 단계와, 상기 코드와 상기 데이터를 조립하는 단계, 및 상기 코드와 상기 데이터를 상기 서버로 전달하는 단계는, 각 자원 요구에 응답하여 수행되는 분산형 컴퓨팅 환경의 자원 명명 방법.
  6. 제 4 항에 있어서,
    상기 서버가 또한 상기 생성자인 분산형 컴퓨팅 환경의 자원 명명 방법.
  7. 제 1 항에 있어서,
    상기 평가하는 단계는,
    상기 클라이언트가 상기 서버로 중간 결과(intermediate result)를 송신하는 단계;
    상기 서버가 이후의 자원 요구에 응답하여 전달하기 위하여 상기 중간 결과를 저장하는 단계를 더 포함하는 분산형 컴퓨팅 환경의 자원 명명 방법.
  8. 제 2 항에 있어서,
    상기 질의하는 단계는,
    각 콘텐트 공급자가 일련의 분산형 환경 파라미터를 콘텐트 공급자 그룹의 다른 콘텐트 공급자에게 제공하는 단계 - 여기서 갱신은 그룹 리더가 조정하는 바에 따라 비주기적이거나 주기적인 것의 어느 하나임 - ; 및
    상기 분산형 컴퓨팅 환경내의 노드들이 상기 그룹 리더가 지휘하는 바에 따라 콘텐트 공급자 그룹에 가입하거나 탈퇴하는 단계 - 상기 그룹에 가입하는 노드는 최소한 하나의 그룹 구성원에 의하여 콘텐트 공급자 그룹에 대한 콘텐트 파라미터와 분산형 환경 파라미터를 송신 받으며, 상기 그룹을 탈퇴하는 노드는 직접적으로 또는 상기 그룹 리더에 통지함으로써 상기 그룹내의 콘텐트 공급자들에게 그의 탈퇴를 통지함 - 를 더 포함하는 분산형 컴퓨팅 환경의 자원 명명 방법.
  9. 자원이 클라이언트측에서 평가되는 코드와 데이터의 조합(combination)에 의하여 표현되는 분산형 컴퓨팅 환경(distributed computing environment)에서 자원을 명명하기 위한 메카니즘에 있어서,
    상기 클라이언트로부터 서버로 자원 요구를 발하기 위한 수단;
    상기 자원에 대한 레퍼런스를 상기 서버로부터 상기 클라이언트로 전달하기 위한 수단 - 상기 레퍼런스는 상기 코드와 상기 데이터를 포함함 - ;
    자원의 명칭을 획득하기 위하여 상기 클라이언트측에서 상기 코드와 상기 데이터를 평가하여 도출하기 위한 수단을 포함하는 분산형 컴퓨팅 환경의 자원 명명 메카니즘.
  10. 제 9 항에 있어서,
    상기 평가하기 위한 수단이,
    환경 파라미터(environmental parameter)에 대하여 상기 분산형 환경 - 상기 분산형 환경은 최소한 하나의 상기 클라이언트와, 네트워크와, 생성자(creator)와, 상기 서버와, 콘텐트 공급자(content provider)를 포함함 - 에 질의하기 위한 수단을 더 포함하는 분산형 컴퓨팅 환경의 자원 명명 메카니즘.
  11. 제 10 항에 있어서,
    상기 질의하기 위한 수단은, 상기 코드와 상기 데이터에서 정의되는 조건의 함수로서 다수의 국면으로 수행되며, 각각의 국면은,
    상기 코드와 상기 데이터를 평가하기 위한 수단; 및
    이후의 국면을 위한 추가적인 환경 파라미터를 획득하기 위하여 상기 분산형 환경에 질의하기 위한 수단을 포함하는 분산형 컴퓨팅 환경의 자원 명명 메카니즘.
  12. 제 9 항에 있어서,
    생성자에게 개별화 파라미터를 전송하기 위한 서버 수단; 및
    초기 환경 파라미터를 포함하여 상기 코드와 상기 데이터를 수렴하며, 상기 코드와 상기 데이터를 상기 서버로 전달하기 위한 생성자 수단을 더 포함하는 분산형 컴퓨팅 환경의 자원 명명 메카니즘.
  13. 제 12 항에 있어서,
    상기 개별화 파라미터를 전송하기 위한 상기 서버 수단과, 상기 코드와 상기 데이터를 수렴하고 상기 코드, 및 상기 데이터를 상기 서버로 전달하기 위한 생성자 수단은, 각 자원 요구에 접속되어 그에 응답하도록 되어 있는 분산형 컴퓨팅 환경의 자원 명명 메카니즘.
  14. 제 12 항에 있어서,
    상기 서버가 또한 상기 생성자인 분산형 컴퓨팅 환경의 자원 명명 메카니즘.
  15. 제 9 항에 있어서,
    상기 평가하기 위한 수단은,
    상기 클라이언트로 하여금 서버로 중간 결과(intermediate result)를 송신하도록 하기 위한 수단; 및
    상기 서버로 하여금 이후의 자원 요구에 응답하여 전달하기 위하여 상기 중간 결과를 저장하도록 하기 위한 수단을 더 포함하는 분산형 컴퓨팅 환경의 자원 명명 메카니즘.
  16. 제 10 항에 있어서,
    상기 질의하기 위한 수단은,
    콘텐트 공급자로 하여금 일련의 분산형 환경 파라미터를 콘텐트 공급자 그룹의 다른 콘텐트 공급자에게 제공하도록 하기 위한 수단 - 여기서, 갱신은 그룹 리더가 조정하는 바에 따라 비주기적이거나 주기적인 것의 어느 하나임 - ; 및
    상기 분산형 컴퓨팅 환경내의 노드들로 하여금 상기 그룹 리더가 지휘하는 바에 따라 콘텐트 공급자 그룹에 가입하거나 탈퇴하도록 하기 위한 수단 - 여기서, 상기 그룹에 가입하는 노드는 최소한 하나의 그룹 구성원에 의하여 콘텐트 공급자 그룹에 대한 콘텐트 파라미터와 분산형 환경 파라미터를 송신 받으며, 상기 그룹을 탈퇴하는 노드는 직접적으로 또는 상기 그룹 리더에 통지함으로써 상기 그룹내의 콘텐트 공급자들에게 그의 탈퇴를 통지함 - 을 더 포함하는 분산형 컴퓨팅 환경의 자원 명명 메카니즘.
KR1019970050225A 1996-11-21 1997-09-30 컴퓨터화된 자원 명칭 도출 메카니즘 KR100261386B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US3146296P 1996-11-21 1996-11-21
US60/031,462 1996-11-21
US8/799,816 1997-02-13
US08/799,816 US5944793A (en) 1996-11-21 1997-02-13 Computerized resource name resolution mechanism

Publications (2)

Publication Number Publication Date
KR19980041908A true KR19980041908A (ko) 1998-08-17
KR100261386B1 KR100261386B1 (ko) 2000-07-01

Family

ID=26707278

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970050225A KR100261386B1 (ko) 1996-11-21 1997-09-30 컴퓨터화된 자원 명칭 도출 메카니즘

Country Status (3)

Country Link
US (1) US5944793A (ko)
JP (1) JP3967806B2 (ko)
KR (1) KR100261386B1 (ko)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6237024B1 (en) * 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6272559B1 (en) * 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
GB2331166B (en) * 1997-11-06 2002-09-11 Ibm Database search engine
WO1998032073A1 (en) * 1997-01-17 1998-07-23 International Business Machines Corporation Protecting resources in a distributed computer system
US6587877B1 (en) * 1997-03-25 2003-07-01 Lucent Technologies Inc. Management of time and expense when communicating between a host and a communication network
US6345300B1 (en) * 1997-03-25 2002-02-05 Intel Corporation Method and apparatus for detecting a user-controlled parameter from a client device behind a proxy
US6076111A (en) * 1997-10-24 2000-06-13 Pictra, Inc. Methods and apparatuses for transferring data between data processing systems which transfer a representation of the data before transferring the data
US6223221B1 (en) * 1998-02-05 2001-04-24 International Business Machines Corporation System and method for calculating the transfer rate across a communication medium using a downloaded test program and transferring data accordingly
CN1298514A (zh) 1998-02-26 2001-06-06 太阳微系统公司 确定性散列识别远程方法的方法和系统
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
US6115752A (en) * 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
JP2000076118A (ja) * 1998-09-03 2000-03-14 Fuji Xerox Co Ltd 分散ファイル処理装置および分散ファイル処理方法
US6237143B1 (en) * 1998-09-17 2001-05-22 Unisys Corp. Method and system for monitoring and capturing all file usage of a software tool
US6782431B1 (en) * 1998-09-30 2004-08-24 International Business Machines Corporation System and method for dynamic selection of database application code execution on the internet with heterogenous clients
US6510450B1 (en) * 1999-02-04 2003-01-21 Novell, Inc. Multiple storage class distributed nametags for locating items in a distributed computing system
GB2348659B (en) * 2000-03-23 2001-03-28 Fmc Corp Tubing hanger saddle valve
AU2001247791A1 (en) * 2000-03-23 2001-10-03 Tingo Inc. System and method for managing user-specific data
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US6760815B1 (en) 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
US6763440B1 (en) 2000-06-02 2004-07-13 Sun Microsystems, Inc. Garbage collection using nursery regions for new objects in a virtual heap
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6666377B1 (en) 2000-07-18 2003-12-23 Scott C. Harris Bar code data entry device
US6957224B1 (en) 2000-09-11 2005-10-18 International Business Machines Corporation Efficient retrieval of uniform resource locators
US6782421B1 (en) * 2001-03-21 2004-08-24 Bellsouth Intellectual Property Corporation System and method for evaluating the performance of a computer application
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7369868B2 (en) * 2002-10-30 2008-05-06 Sony Ericsson Mobile Communications Ab Method and apparatus for sharing content with a remote device using a wireless network
US7373416B2 (en) * 2003-04-24 2008-05-13 Akamai Technologies, Inc. Method and system for constraining server usage in a distributed network
US7401072B2 (en) * 2003-06-10 2008-07-15 Google Inc. Named URL entry
US7293012B1 (en) 2003-12-19 2007-11-06 Microsoft Corporation Friendly URLs
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US7529780B1 (en) 2005-12-30 2009-05-05 Google Inc. Conflict management during data object synchronization between client and server
US7738404B2 (en) * 2007-01-23 2010-06-15 Alcatel-Lucent Usa Inc. Method of aggregate statistic computation
US7693833B2 (en) * 2007-02-01 2010-04-06 John Nagle System and method for improving integrity of internet search
US7840662B1 (en) * 2008-03-28 2010-11-23 EMC(Benelux) B.V., S.A.R.L. Dynamically managing a network cluster
US20090265449A1 (en) * 2008-04-22 2009-10-22 Hewlett-Packard Development Company, L.P. Method of Computer Clustering
US20090327466A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Internal uniform resource locator formulation and testing
US9934240B2 (en) * 2008-09-30 2018-04-03 Google Llc On demand access to client cached files
US8620861B1 (en) 2008-09-30 2013-12-31 Google Inc. Preserving file metadata during atomic save operations
US8838751B1 (en) * 2008-12-08 2014-09-16 Amazon Technologies, Inc. Brokering real time service providers

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434974A (en) * 1992-03-30 1995-07-18 International Business Machines Corporation Name resolution for a multisystem network
JPH06149756A (ja) * 1992-11-16 1994-05-31 Hitachi Ltd 分散型情報処理方法およびその装置
JPH08123768A (ja) * 1994-10-21 1996-05-17 Mitsubishi Electric Corp 分散システム管理方式及び分散システム管理方法
US5706501A (en) * 1995-02-23 1998-01-06 Fuji Xerox Co., Ltd. Apparatus and method for managing resources in a network combining operations with name resolution functions
JP2746218B2 (ja) * 1995-02-23 1998-05-06 富士ゼロックス株式会社 資源管理装置および資源管理方法
US5729689A (en) * 1995-04-25 1998-03-17 Microsoft Corporation Network naming services proxy agent
JP3738787B2 (ja) * 1995-10-19 2006-01-25 富士ゼロックス株式会社 資源管理装置及び資源管理方法
US5764906A (en) * 1995-11-07 1998-06-09 Netword Llc Universal electronic resource denotation, request and delivery system

Also Published As

Publication number Publication date
JP3967806B2 (ja) 2007-08-29
JPH10312350A (ja) 1998-11-24
US5944793A (en) 1999-08-31
KR100261386B1 (ko) 2000-07-01

Similar Documents

Publication Publication Date Title
KR100261386B1 (ko) 컴퓨터화된 자원 명칭 도출 메카니즘
Sivasubramanian et al. Replication for web hosting systems
US7509393B2 (en) Method and system for caching role-specific fragments
US8458142B2 (en) Method and system for deploying an asset over a multi-tiered network
US8666933B2 (en) System and method for distributing assets to multi-tiered network nodes
US7136857B2 (en) Server system and method for distributing and scheduling modules to be executed on different tiers of a network
US8032586B2 (en) Method and system for caching message fragments using an expansion attribute in a fragment link tag
US7412535B2 (en) Method and system for caching fragments while avoiding parsing of pages that do not contain fragments
US7730154B2 (en) Method and system for fragment linking and fragment caching
US6038603A (en) Processing customized uniform resource locators
US7640347B1 (en) Method and system for inserting POST data into the GET request to apply normal caching rules
US6092204A (en) Filtering for public databases with naming ambiguities
US20030018694A1 (en) System, method, uses, products, program products, and business methods for distributed internet and distributed network services over multi-tiered networks
JP2004533687A (ja) コンピュータ・ネットワークにおけるサービスの動的配備
US20080104255A1 (en) Sharing state information between dynamic web page generators
JP3899076B2 (ja) 一時的ネットワーク
JP2002540677A (ja) データネットワークの負荷管理
JP2002288058A (ja) 高性能クライアントサーバ通信システム
JP2003162449A (ja) アクセス統合管理システム、アクセス統合管理装置及び方法並びにプログラム
JP2004302564A (ja) ネームサービス提供方法及びその実施装置並びにその処理プログラム
KR100556716B1 (ko) 네트워크를 통해 서로 연결된 복수개의 단말들 간의 분산정보 공유 방법 및 시스템
JPH11161603A (ja) データ中継装置、データ中継方法、情報端末装置、情報端末装置の情報処理方法、データ通信システムおよび記録媒体
JP3900634B2 (ja) データ固定化装置、データ固定化方法、情報端末装置、情報端末装置の情報処理方法、サーバ、サーバの情報処理方法および記録媒体
JPH11134238A (ja) ソフトウェア分散開発環境におけるソフトウェア更新管理方式
Sivasubramanian et al. Web replica hosting systems

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030207

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee