KR100237984B1 - 원격 절차 호출 실행 방법 및 트랜잭션 매니저 - Google Patents

원격 절차 호출 실행 방법 및 트랜잭션 매니저 Download PDF

Info

Publication number
KR100237984B1
KR100237984B1 KR1019960065707A KR19960065707A KR100237984B1 KR 100237984 B1 KR100237984 B1 KR 100237984B1 KR 1019960065707 A KR1019960065707 A KR 1019960065707A KR 19960065707 A KR19960065707 A KR 19960065707A KR 100237984 B1 KR100237984 B1 KR 100237984B1
Authority
KR
South Korea
Prior art keywords
server
client
remote procedure
procedure call
connection
Prior art date
Application number
KR1019960065707A
Other languages
English (en)
Other versions
KR970068309A (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 KR970068309A publication Critical patent/KR970068309A/ko
Application granted granted Critical
Publication of KR100237984B1 publication Critical patent/KR100237984B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Abstract

트랙잭션 매니저(transaction manager)가 복수의 클라이언트들 중 임의의 클라이언트들로부터의 모든 서비스 요구들을 인터셉트(intercepting)하고, 작업 요구(task request)들과 독립적으로 접속을 확립하고, 가용한 서버(available server)들을 그 작업 요구들에 할당함으로써, 보다 많은 수의 클라이언트/서버(client/server) 접속을 통해 서비스 자원들을 공평하게 분배하게 된다. 바람직하게는, 상기 트랜잭션 매니저는 어떠한 요구와도 독립적으로 적어도 하나의 서버를 시동하고, 어떤 서버와도 독립적으로 서버 접속을 위한 모든 클라이언트 요구를 트랙잭션 매니저에 향하게 하고, 작업 요구들을 큐(queue)에 배치하고, 큐 길이에 근거하여 추가의 서버들을 시동 및 정지시킨다.

Description

원격 절차 호출 실행 방법 및 트랙잭션 매니저
본 발명은 일반적으로 분산 데이터 처리 시스템 및 네트워크에 관한 것이며, 특히, 그러한 분산 데이터 처리 시스템의 프로세서들 사이에서 클라이언트/서버(client/server) 접속을 전개하는 것에 관한 것이다.
네트워크에 접속된 다수의 데이터 프로세서들 사이의 통신을 허용하는 데이터 처리 시스템은 여러해 동안 공지되어 왔다. 그러한 초기의 네트워크 시스템은 일반적으로 다수의 터미널들 중 임의 것과, 중앙 데이터 기억 설비를 갖추고 있으면서 그로부터 정보를 검색하는 주프로세서 사이의 통신을 수분하였다. 그러나, 소형 데이터 프로세서의 기억 능력과 처리력이 증가됨에 따라, 네트워크에 접속된 데이터 프로세서들 중에서 적어도 몇몇의 데이터 프로세서들 사이에서 데이터 기억 및 처리가 공유되도록 네트워크를 구성하는 것이 일반적인 것이 됨으로써, 대용량 중앙데이터 기억 설비의 필요성이 없어졌다. 데이터 및 관련 데이터 처리를 위한 문의 또는 요구(inquiries or requests)는 다른 데이터 프로세서들로 향하게 될 수 있게 되어, 네트워크에 접속된 하나의 데이터 프로세서가 서버로서 알려진 다른 프로세서의 클라이언트가 될 수 있게 해주는 프로토콜이 개발되게 되었다. 그러한 요구는 데이터에 대한 요구로 한정될 필요가 없으며, 서버가 제공할 수 있는 어떤 형태의 데이터 처리 또는 서비스도 포함하는 것으로 이해되어야 한다. 그러한 프로토콜에 의해 실행된 기본 오퍼레이션은 클라이언트와 서버 사이의 접속을 확립하고(establishing a connection), 요구를 처리한 후, 접속을 차단(terminate)하는 것이다. 서버에 의해 처리될 수 있는 요구는 일반적으로 서비스로 지침되는 서버 상의 소프트웨어 애플리케이션(softward application)에서 제공된다.
일반적으로 원격 절차 호출(RPC)로 지칭되는 요구의 처리는 상당한 양의 시간이 걸리 수도 있으며 또한 접속을 확립하고 접속을 차단하는데 필요한 부가의 처리 시간 부담(overhead)를 포함하며, 상기 접속의 확립과 접속의 차단은 모두 클라이언트/서버 관계를 확립하는데 필요한 프로토콜에 의해 복잡해진다. 서버 구현에 따라서는, 다수의 클라이언트로부터의 접속 및 차단 요구를 처리하기 위한 시간을 포함하여 필요한 처리 시간의 양은 요구를 하는 클라이언트를 대기 상태에 놓이게 하여[예를 들면, 서버 또는 어떤 시스템 매니지먼트 장치(system management arrangement)에 의해 요구가 큐(queue)에 배치됨] 요구 처리를 지연시킬 가능성을 증가시킨다. 요구 처리에 있어서의 모든 그러한 지연은 이론상으로 네트워크로부터 파생될 수 있는 경제성과는 무관하게, 시스템의 실용성을 손상시킨다.
데이터 처리 시스템에 있어서 클라이언트/서버 관계의 실용성은 동일한 프로세서 상에서 동시에 작동하는 다수의 동일한 서버의 개발에 의해 상당히 향상되어서, 잠재적으로 이용가능한 서버의 수를 증가시켜 왔다. 이러한 처리는 다수의 애플리케이션(plural appolications)의 동시 실행과 동등하나, 여기서 동일한 서비스를 제공하는 모든 그러한 동시 실행 애플리케이션들은 동일하다. 그럼에도 불구하고, 통신 프로토콜은 복잡한 상태로 남아있으며, 시스템의 전체 가능성을 잠재적으로 제한한다.
예를 들면, 선 마이크로시스템즈에 의해 개발되어 광범위하게 공지되고 사용된 RPC설비(이후부터 선 RPC로 지칭됨)는 여러해 동안 많은 운영 시스템과 하드웨어 플랫폼(platform) 상에서 사용되어 왔다. 선 RPC는 클라이언트/서버 애플리케이션을 개발할 수 있게 프로그래머를 지원하는 한 세트의 프로그래밍 라이브러리 및 툴(a set of programming libraries and tools)이다. 그러나, 다수의 동시 실행 서버가 단일 프로세서 상에서 전개된다 할 지라도, 선 RPC는 어느 클라이언트의 요구에 대해서나 동시 서버들(concurrent servers)를 지원하지는 않는다. 예를 들면, 한 클라이언트가 처리해야 할 다수의 요구를 가질 수도 있다는 시나리오를 고려해 보자. 선 RPC와 같은 공지의 RPC 설비하에서, 클라이어트와 서버 모두는 서버와의 접속이 확립되는 시간에 서로 구속된다. 다수의 요구가 통신 링크를 차단 및 재확립함(terminating and re-establishing)이 없이 서버에 의해 처리될 수 있지만, 상기 요구 등은 동일한 서버에 의해 순차적으로 반복 처리되어야만 한다. 역으로, 단일 클라이언트가 다수의 이용가능한 서버에 의한 동시 처리의 장점을 얻도록 하기 위하여는, 각각의 서버가 시동될 때, 별도로 등록되고 각각의 그러한 서버에 대해 별도의 통신 링크(separate communication link)가 확립되어야 하기 때문에, 각각의 요구는 특정 서버에 대해 별도의 통신 링크를 확리해야 하는 부담(overhead)을 수반하게 될 것이다. 또한 각각의 새로운 서버 처리를 시동하기 위해 추가의 시간이 요구된다. 그러므로, 클라이언트는 순차 처리 또는 실제 처리 부담 발생의 필연성으로 인해 이용가능한 시스템의 전체 능력을 이용할 수 없다.
기존 클라이언트로부터의 요구를 (순차적으로 또는 동시에) 처리하는 동안 또다른 잠재 클라이언트가 요구를 할 가능성을 부가하여, 동일한 예를 더 고려해 보자. 추가의 요구가 동시에 이용가능한 서버에 의해 동시에 처리될 수 있도록 하려면, 그 서버로부터 요구된 이용가능한 서비스의 등록은 그 클라이언트에 대해 별도로 제공되어야 한다. 이것은 선 RPC 설비에서는 서버 상에 상주하는 소위 포트맵퍼(portmapper)(“포트맵퍼”선 마이크로시스템즈의 상표이다.)에 의해 행해진다. 통신 링크를 확립하기 위한 작동이 개시될 수 있기 전에 이용가능한 서버의 적어도 하나의 어드레스(예를 들면, 포트 번호)가 클라이언트에게 제공되어야만 하기 때문에, 별도 등록 또한 이용가능한 서버와의 통신 링키의 확립 및 차단에 수반되는 부담에 기여한다.
서버가 즉시 이용가능하지 않는 경우(500 이상의 잠재 클라이언트를 갖는 현재 규모의 네트워크에서 있음직한), 요구는 한 요구의 완료시에 또 다른 통신 링크의 차단을 유발할 수도 있거나[차단된 링크를 이전에 이용하고 있던 클라이언트로부터의 나머지 요구가 큐(queue)에 배치되게 함] 또는, 새로운 클라이언트로부터의 요구가 이용가능한 서버를 기다리는 큐에 배치되는 연장된 기간 동안의 대기 상태를 유발할 수도 있다. 어떤 경우에서나, 다수의 클라이언트로부터의 RPC들이 다수의 서버에 의해 공평하게 또는 적시에 서비스되고, 어떤 클라이언트로부터의 접속 및 차단 요구를 포함한 어떤 순차의 RPC 처리 동안에도 그 클라이언트 및 하나 또는 그 이상의 서버가 단단히 결합된 상태로 남게하는 것을 보장하기 위한 수단이 어떠한 공지의 RPC 설비에도 없다. 예를 들면, 선 RPC의 경우, 포트매퍼(portmapper)는 포트매퍼로 등록되는 어떤 서버를 위한 상태 또는 이용가능성 정보를 운반하지 않으며, 잠재 클라이언트에게 제공되는 어드레스 또는 포트 번호는 실제로 랜덤하고 다른 서버들이 이용가능할 때 다른 클라이언트로부터의 요구를 처리하는 서버의 어드레스 또는 포트 번호일 수도 있다. 마찬가지로, 선 RPC는 순서대로 처리될 어떤 특정 서버의 요구에 대해 대비하지 않는다. 요구 처리를 적시(timeliness)에 할 수 있게 해주기 위한 유일한 공지의 잠재적 해결책은, 실제 처리 부담을 물론 수반하며 어쩌면 서버 프로세서의 하드웨어 능력이 쉽게 초과되게 할 수도 있는 각각의 요구에 대해 새로운 서버를 생성하는 것이다.
따라서, 클라이언트/서버 관계를 확립하기 위한 현존하는 프로토콜은 실제 처리 부담을 요구하고, 서버를 클라이언트에게 할당하는 것에 대한 유연성을 제한하며, 클라이언트에게 할당될 수도 있는 서버 능력을 제한하며, 다수의 클라이언트 로부터의 요구를 공평하게 그리고 적시에 처리하지 못한다는 것을 알 수 있다. 요약하면, 서버들을 쉽게 증가시킬 수 있는 반면, 그와 같이 증가된 수효의 서버의 처리 능력은 공지의 RPC 설비에 의해 완전히 이용되어 클라이언트에게 제공되지 못할 수도 있다. 실행 서버 중의 여러 서버들로 통신을 향하게 하는 통신 매니저를 부가하는 것과 같은 다른 해결책은 또한 접속과 관련된 부담을 증가시키며, 접속시에 클라이언트와 서버를 단단히 결합하고, 추가의 클라이언트로부터의 요구를 통신하기 위한 더 이상의 접속을 방해하면서 실행 서버들이 아이들(idle) 상태가 되도록 할 수도 있다.
본 발명의 목적은 하나 또는 그 이상의 클라이언트를 위해 서버들을 동시에 전개하는 것을 지원하는 시스템 구조체를 제공하는 것이다.
본 발명의 또 다른 목적은 이용가능한 서버의 수를 초과할 수도 있는 다수의 클라이언트로부터의 요구를 적시에 공평하게 처리하는 것이다.
본 발명의 또 다른 목적은 공지의 RPC 프로토콜과 호환성이 있는 상태를 유지하는 네트워크 접속 프로세서들 사이에서 단순화된 통신을 제공하기 위한 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 요구된 서비스를 제공하는 프로세서와 클라이언트 사이의 접속을 확립하는 프로세서로부터 하나 또는 그 이상의 서버를 분리시켜, 증가된 수의 클라이언트/서버 접속의 유지를 허용하는 것이다.
본 발명의 이러한 목적 및 다른 목적을 달성하기 위하여, 데이터 프로세서 상에서 원격 절차 호출을 실행하는 방법에 있어서, 원격 절차 호출과 독립적으로 데이터 프로세서 상에서 서비스를 제공하는 서버를 시동하는 단계, 하나의 추가 데이터 프로세서와 상기 데이터 프로세서 사이의 접속을 확립하는 단계, 접속을 통하여 상기 서비스 내에 포함된 작업(task)에 대한 적어도 하나의 요구를 수신하는 단계, 및 접속을 확립하는 것과 무관하게 수신된 순서대로 가용한 서버를 요구에 할당하는 단계를 포함하는 데이터 프로세서 상에서 원격 절차 호출을 실행하는 방법이 제공된다.
본 발명의 또 다른 양상에 따르면, 제1데이터 프로세서 상에서 서비스를 제공하는 서버를 시동하기 위한 장치, 서버와 무관하게 제2데이터 프로세서와 상기 제1데이터 프로세서 사이의 접속을 확립하기 위한 장치, 서비스 내에 포함된 작업에 대한 요구를 수신하기 위한 인터페이스, 및 접속을 확립하기 위한 상기 수단과는 무관하게 수신된 순서대로 상기 작업에 가용한 서버를 할당하기 위한 장치를 포함하는 데이터 처리 네트워크용 트랜잭션 매니저가 제공된다.
본 발명에 따른 트랜잭션 매니저는, 실행 서버를 등록(legistering)하기보다는 포트매퍼 또는 클라이언트에 의해 트랜잭션 매니저를 등록하여, 접속을 확립하는 프로세스로부터 서버들을 분리시키고, 클라이언트 접속과 무관하게 서버들에게 요구들을 할당할 수 있게 함으로써, 클라이언트 요구의 병렬 처리를 지원하는 한편, 현존하는 RPC 설비들과의 호환성을 성취하도록 동작한다. 소켓 핸들(socket handle)에 의한 클라이언트 요구의 표시와 관리 요구(administrative request)의 처리를 위한 대비를 통하여 본 발명이 구현되는 시스템의 유연성 및 효율이 신장될 수 있다.
제1도는 대표적 원격 절차 호출(RPC) 구조(remote procedure call architecture)에 대한 고레벨 개략도.
제2도는 본 발명을 포함하는 네트워크 구조를 대표하는 고레벨 개략도.
제3도는 본 발명의 트랙잭션 매니저의 양호한 형태에 대한 개략 블록도.
제4,5 및 6도는 본 발명의 양호한 형태의 동작을 함께 설명하는 플로우차트.
* 도면의 주요부분에 대한 부호의 설명
10 : 시스템 구조체 12,20 : 프로세서
14,130,132 : 서버 16,16′: 포트매퍼
18,18′: 어드레스 30 : 네트워크
110 : 트랙잭션 매니저 300 : 네트워크 인터페이스
302,304,306,308 : 레지스터 310 : 요구 큐
312 : 스위치 316 : 서비스 시동/정지 소자
상기 및 다른 목적, 양상 및 장점은 도면을 참조한 본 발명의 양호한 실시예에 대한 다음의 상세한 설명에 의해 잘 이해될 것이다.
도면, 특히 제1도에는, 공지의 RPC 설비를 대표하는 것으로 간주되는 선 RPC 설비에 따른 시스템 구조체(10)가 도시되어 있다. 선 RPC 설비는 공지되어 있고 광범위하게 사용되고 있을 지라도, 선 RPC 설비 및 다른 유사한 설비에 대한 세부 사항은 본 발명의 실시예에는 중요하지 않으므로, 제1도는 본 발명의 이해를 용이하게 할 정도의 설명 수준으로 한정된 고레벨의 개략 설명도이다. 동일한 이유로, 제1도의 어떤 부분도 본 발명에 관한 종래의 기술인 것으로 인정되지는 않는다.
제1도에서 네트워크(30)은 클라이언트로 기능하는 다수의 프로세서(20)를 선 RPC 설비와 서비스 애클리케이션이 상주하면서 실행중인 프로세서(12)와 상호 접속한다. 이러한 관점에서, 임의의 프로세서(20) 또는 모든 프로세서(20)는 동일하거나 또는 다른 서비스를 위한 서버로서 기능하는 능력을 가질 수는 있지만 반드시 그럴 필요는 없으며, 다른 서버가 존재할 경우 프로세서(12)가 하나의 클라이언트로서 기능할 수 있음을 이해해야 한다. 어떤 프로세서 상에 서버의 기능을 제공하는데 필요한 모든 것을 상주하는 RPC 설비와 서비스 애플리케이션 및 그들을 실행할 처리 능력이다.
선 RPC 설비는 프로세서(12) 상에 RPC 서버(14) 및 포트매퍼(16)를 설치한다. 즉, RPC 설비 및 포트매퍼는 선 RPC 설비와 같은 RPC 프로토콜을 이용하여 설치된다. 이러한 기능 소자들은 다른 RPC 설비의 유사한 기능 소자들을 표시하며, RPC 설비에 의해 특정된 설정에 따라 로직(logic), 레지스터, 특정 메모리 어드레스 블록 및 그러한 종류의 것에 의해 구체화될 것이며; 그 구체적인 내용은 본 발명의 실시에는 중요하지 않다. 그러한 기능 소자는 특정 목적 데이터 처리 회로 및 전용 하드웨어에 의해 전체적으로 또는 부분적으로 제공될 수도 있다.
포트매퍼(16)는 서버가 시도될 때 서버 요구에 응답하여 각각의 서버에 대해 등록 서비스를 제공하며 서비스 내에서 요구될 수도 있는 작업(tasks)의 설명과 그러한 작업을 포함하는 서비스를 제공하는 서버의 어드레스(18)를 유지하는 프로그램인 것이 바람직하다. 따라서, 포트매퍼(16)는 또한 바람직하게는 조회 테이블(look-up table)의 형태로 클라이언트를 위한 조회 서비스를 제공할 수도 있다. 포트매퍼(16)는 또한 네트워크 접속을 확립하기 위하여 클라이언트에 의해 사용된 RPC 프로그램 번호 및 버전도 또한 유지한다.
RPC 서버는 RPC 프로그램 번호 및 버전 번호를 이용하여 고유하게 식별되는 특정 서비스(예를 들면, 작업의 세트)를 실행하도록 소프트웨어 개발자에 의해 구성된다. RPC 서버가 시동될 때(따라서, 클라이언트에게 이용가능하게 됨), 서버는 포트매퍼(14)로 등록한 다음, 클라이언트 프로세서로부터의 접속 요구 및 후속 작업 요구를 기다린다.
RPC 클라이언트(예를 들면, 클라이언트 1, 클라이언트 2, 클라이언트 3, ..., 클라이언트 N)은 특정 작업을 수행할 수 있는 서버에게 그들 작업에 대한 RPC의 요구를 전송하는 능력을 갖도록 소프트웨어 개발자에 의해 구성된다. 클라이언트 애플리케이션은 포트매터(16)로부터 접속 정보를 요구하며, 그 정보를 이용하여 RPC 서버(14)와의 접속을 요구하며; 그 다음, 하나 또는 그 이상의 요구가 서버(14)에 의해 보유된 접속을 통해 서버에게 이루어질 수 있다.
동작시, 서버와 클라이언트는 접속시에 단단히 결합되며, 접속은 하나 또는 그 이상의 요구의 완료시에 해제될 때까지 유지된다. 서버가 사용중에 있으면, 더 이상의 접속이 이루어질 수 없다. (각각의 서버가 포트매퍼에 의해 별도로 등록되고 접속 요구가 특정 서버에게 이루어지므로, 단지 하나의 서버만이 고려될 필요가 있음을 주목해야 한다. 공지의 RPC 설비하에서는, 클라이언트로부터의 요구는 서버에서 대기하는 것을 차단하므로, 결국 서로 다른 클라이언트로부터의 요구가 실제로 무작위 순서로 처리된다. 몇몇 큐잉(queueing) 또는 통신 인터럽트 장치가 통신 매니저의 형태로 (서버 정보가 수신된 순서로 요구하는 클라이언트에게 제공되도록 접속 요구를 큐잉함으로써) 포트매퍼 레벨에서 제공될 수 있으나, 그러한 매니지먼트는 포트매퍼의 한 기능이 아니라는 것은 본 발명을 이해하는데 중요하다. 또한, 위에서 지적된 바와 같이, 어떤 특정 클라이언트로부터의 모든 요구는 접속이 이루어진 서버에 의해 반복 처리되어야만 한다.
이론상으로는 한 클라이언트로부터 다수의 서버 각각으로의 접속이 다양한 요구를 서비스하도록 이루어질 수 있지만, 각각의 요구 또는 순차적인 요구가 동시에 처리되도록 하려면 특정 서버로의 별도 접속이 요구될 것이다. 그러나, 이것은 위에서 주목된 바와 같이 접속을 확립하는 추가의 처리 부담을 요할 뿐만 아니라, 단일 장치 상에서 별개의 동일한 처리들로서 충분한 수의 서버를 불러낼 수 있는 훨씬 증가된 프로세서 능력도 또한 필요로 한다. 더 나아가, 한 클라이언트가 다수의 서버에 대한 다수의 접속을 확립하는 것이 허용될 경우, 그러한 접속 각각은 상기 클라이언트로부터의 특정 세트의 요구를 특정 서버와 단단히 결합하는 결과를 초래하게 된다. 더욱이, 복귀된 정보(returned information)를 특정 요구 또는 한 세트의 요구와 결합하기 위한 대비가 이루어져야만 한다. 더 나아가, 어느 때나 이용할 수 있거나 또한 한 순차의 요구를 처리하는 기간 동안 이용할 수 있게 될 수 있는 만큼 많은 서버 및 프로세서 용량을 한 클라이언트가 이용함으로써, 다른 클라이언트에게 제공될 서비스가 방해되거나 또는 부당하게 대기되게 하는 결과를 피하기 어려울 것이다.
제2도에서, 본 발명의 구조체(100)가 설명될 것이다. 네트워크(30) 및 다수의 클라이언트(20)은 제1도에서와 같이 제시된다. 포트매퍼(16′)는 위에서 설명된 바와 같이 제공되지만, 다른 점이라면, 접속을 확립하기 위해 클라이언트에게 제공되는 서버 어드레스(예를 들면, 포트 번호)가 이후 때때로 XMAN으로 지칭되는 트랜잭션 매니저(110)의 어드레스일 것이라는 점이다.
비록 다수의 서버라 할 지라도 단지 하나의 단일 서비스가 제공될 경우, 이것은 각각의 클라이언트에게서 유익하게 저장될 수 있는 단일 어드레스(예를 들면, 상기 서비스를 제공하는 애클리케이션의 프로그램 번호)일 것이다. 이는 이하 상세히 논의될 것이다. 이러한 의미에서, 포트매퍼(16′)의 존재 이유는 근본적으로 현존하는 선 RPC 설비 및 다른 RPC 설비와의 호환성을 유지하는 것이다. 그러나, 포트매퍼는 서버가 시동될 때 서비스의 등록을 수신 및 유지하는 능력을 유지하며, 다른 서비스가 네트워크를 통해 이용가능할 때나 또는 어떤 서비스가 방해될 수도 있을 때 몇가지 호환성 및 편의를 제공한다. 이러한 견지에서, 상기 시스템이 추가의 어드레스(18′)(예를 들면, XMAN B)를 구비할 필요가 있는 복제된 발명(예를 들면, (132,134)에서 도시된 바와 같은)의 구조체 및 둘 또는 그 이상의 서로 다른 서비스를 채용할 수도 있는 것으로 추정된다. 물론, 서버 프로세서의 하드웨어 능력에 따라, 둘 또는 그 이상의 서로 다른 서비스(각각의 서비스는 잠재적으로 다수의 서버를 이용한다.)가 XMAN(110)을 갖는 동일한 프로세서 상에 제공될 수도 있다. 어떤 경우에서나, 포트매터는 요구된 작업에 적합한 고유 프로그램 번호와 같은 서로 다른 어드레스를 제공할 수 있기만 하면 된다.
제3도에는 트랙잭션 매니저의 기본 소자들이 도시되어 있다. 또다시, 이러한 소자는 소프트웨어에 의해 개발되는 것이 바람직하지만, 하드웨어 또는 하드웨어와 소프트웨어 모두의 조합으로 구현될 수 있다. 4개의 레지스터(302,304,306,308)는 트랙잭션 매니저(110)용의 기본 설정 값을 기억하도록 제공된다. 레지스터(302)는 요구가 없을 때 실행될 최소수의 서버를 확립하며 임의로 1로 세트된다. 레지스터(304)는 추가의 서버를 시동하기 전에 허용될 대기 요구의 수를 확립하며 임의로 2로 세트된다. 레지스터(306)는 프로세서(12′)의 용량과 일치하기면 언제나 실행하도록 허용될 최대 수를 기억한다. 각각의 서버가 한정된 양의 처리 부담을 취하여 로딩하는 소프트웨어 애플리케이션임을 상기하면, 레지스터 또는 카운터(308)는 서버가 얼마나 자주 정지될 것인가를 제어하기 위한 파라미터를 포함하며, 예를 들어, 컴퓨터 부담 기여(computer overhead contributions), 사용자의 편의, 평균 요구 실행시간 등의 균형(balancing)에 근거하여 예를 들면, 30초로 설정된다(30초는 현재의 네트워크 억세스 시간의 견지에서 볼 때 사용자에게 종종 충분한 시간이 될 것이다). 모든 이러한 파라미터는 자유롭게 설정할 수 있다. 바람직하게는 서버의 시동은 큐(queue) 길이의 함수이지만, 이하에 설명되는 바와 같이, 어떤 상황들에서는 다수의 서버를 시동할 때 서버의 시동의 빈도수를 제어하기 위해 유사한 파라미터가 유익하게 사용될 수도 있음을 알아야 한다.
양방향 네트워크 통신은 네트워크 인터페이스(300)를 통하여 트랜잭션 매니저(110)를 출입한다. 이에 대한 설명을 위해, 이러한 네트워크 인터페이스는 작업 요구와 접속 요구을 변별할 수 있다고 가정한다. 일반적으로, 이것은 포트매퍼에 의해 클라이언트에게 제공된 포트 번호에 근거하여 달성되며, 상기 포트 번호가 상기 서비스의 프로그램 번호일 것이기 때문에 특히 본 발명에 따르면 용이해 진다. 이러한 변별이 어떻게 실행되는가 하는 것과 무관하게, 접속 요구가 수신될 때, 신호가 포트매퍼(16′)에 전송되어, 트랜잭션 매니저(110)의 어드레스(예를 들면, 서버 프로세서 상에서 실행하는 서비스의 프로그램 번호)가 클라이언트 및/또는 통신 링크를 확립하도록 실행된 다른 오퍼레이션에 전송될 수 있게 된다. 제1도의 구조체와 구별하여, 서버(130)는 이러한 처리에 관련되지 않는다.
트랙잭션 매니저가 시동될 때, 레지스터(302)의 제어하에서 서버(1)가 시동된다. 요구가 수신될 때 이것은 일시적으로 요구 큐(310)로 향하며, 서버(1)가 시동되었고 이용가능한 것으로 추정되기 때문에 스위치(312)는 서버(1)에 요구를 즉시 향하게 하고, 거기서 요구가 처리되고, 그 결과는 네트워크 인터페이스(300)를 통하여 클라이언트로 복귀된다. 실행의 문제로서, 소켓 핸들(socket handle)로서 알려진 요구를 나타내는 에일리어스(alias)가 큐에 배치되고 서버로 전달되어, 요구 그 자체의 보관 전달(store-and-forward)을 실행하기 보다는 오히려 처리될 요구를 식별하는 것이 바람직하다는 것도 이해해야 할 것이다[특히 작업을 처리할 수 있는 서비스의 프로그램 번호가 이미 제공되었고 트랜잭션 매니저와의 접속이 이에 의해 확립되었기 때문에, 트랜잭션 매니저는 상기 요구 또는 상기 요구의 다른 특성(specifics)에 포함된 정보에 대한 필요성을 갖고 있지 않다. 본 발명의 양호한 실시예의 이러한 특성은 이하에 더 설명될 소위 송신 제어 프로토콜/인터넷 프로토콜(TCPIP)과 개방 소프트웨어 설치/분산 계산 환경(OSF/DCE) 프로토콜과 같은 다른 RPC 설비 및 시스템에 본 발명을 적용하는데 중요한 사항이다].
서버(1)에서 요구를 처리하는 동안 제2 요구가 동일한 클라이언트 또는 다른 클라이언트로부터 수신된 것으로 가정하자. 상기 제2 요구는 다른 서버가 이용가능하지 않기 때문에 요구 큐(310)에 배치되어 대기한다. 그러나, 서버(1)가 상기 제1요구를 계속 처리하는 동안 제3 요구가 동일한 클라이언트 또는 다른 클라이언트로 부터 수신되면, 큐 길이는 레지스터(304)에 있어서의 서버 시동 값과 동일하며, 한 신호가 서버(2)를 시동시키는 서비스 시동/정지 소자(service start/stop element)(316)에 전송된다. 따라서 서버(2)가 이용가능하게 될 때 제2 요구는 스위치(312)를 통하여 서버(2)로 전달된다. 각 서버가 시동된 것으로 간주할 때 스위치(312)는 각각의 서버의 상태에 응답한다[특정 서비스가 이용가능함을 포트매퍼에게 알리기 위해 상기 제1 서버의 시동이 아닌, 선 RPC 설비에서처럼, 개별 서버의 상태를 포트매퍼(16′)에 보고할 필요는 없다. 일단 서비스가 이용가능하면, 포트매퍼는 접속이 요구될 때 XMAN 어드레스를 공급할 필요만이 있으며, 요구에 대한 서버 할당은 XMAN에 의해 처리될 것이다].
제3 요구는 양호하게는 선입선출 버퍼 형태인 요구 큐(310)에서 진행될 것이나, 서버 시동값이 큐 길이를 초과하기 때문에 그 이상의 서버는 아직 시동되지 않을 것이다. 제1 또는 제2 요구의 처리가 완료되기 전에 제4 요구가 수신되면 서버(3)가 위에서 논의된 것과 동일한 방식으로 시동될 것이다. 어떤 요구의 처리가 완료되고 그 결과가 네트워크 인터페이스(300)를 통하여 복귀될 때 서버는 이용가능하게 되어 요구 큐로부터 다음 요구(예를 들면, 제3 요구)를 수신할 수 있다.
서버는 요구의 부수 사건(an incident of the request)으로서 그리고 서버가 다른 요구도 처리할 수 있다는 것을 표시하는 것 이외에 XMAN(110)의 어떠한 개입 없이도 요구 처리의 결과를 클라이언트에게 직접 통신한다. 이것은 또한 접속 및 차단 요구에 대해 참이며, 여기서 클라이언트에게 직접 복귀된 결과는 일반적으로 접속을 위한 승인 및 인증이고 차단을 위한 승인 및 복귀 코드이다. 요구 큐내에 요구가 없을 경우, 서버는 아이들 상태로 되지만, 레지스터 또는 카운터(308)내의 값에 의해 확립되는 바와 같은 시간 주기(예를 들면, 30초)가 경과될 때까지 정지되지 않는다.
서버들은 시동함에 있어서 대략 동일한 시간 분량의 지연 또는 요구 큐의 길이가 서버를 시동하는데 필요한 처리 부담의 견지에서 레지스터(302) 내에 지정된 값보다 큰지에 따라서 지연을 제공하는 것도 또한 편리하다. 동일한 이유로, 레지스터(304) 내의 값을 1 이상으로 설정하는 것은, 비록 이것이 동시 서버 이용을 위한 총 용량 이하의 용량이 얻어짐을 의미한다 할 지라도, 편리하다. 예를 들면, 서버를 시동하는데 30초가 요구될 경우, 서버 정지 값과는 무관하게 서비스 시동 값을 1로 세트하는 하는 것은 처리율에 있어서 이득이 없을 것이다. 서비스 시동 값을 2(또는 그 이상)로 설정하고 그리고 서비스 정지 값을 서버로 시동하는데 필요한 시간과 유사하게 설정함으로써, 요구 큐(310)에서 남아있는 요구가 다른 앞선 요구의 완료시에 어떠한 이용가능한 서버로 즉시 전달될 것이므로, 처리율에 있어서의 이득은 사실상 달성된다.
위의 사실로부터, 요구가 수신되는 순차로 요구들이 처리되므로, 클라이언트들과 서버들과의 구속은 없는 것으로 이해되어야 한다. 따라서, 서버들은 사실상 클라이언트 정체(identity)를 알지 못하며(결과의 목적지를 제외하고), XMAN은 선 RPC 설비하에서 클라이언트 오퍼레이션과 완전히 일치하는 방식으로 서버에 요구를 전송시킨 RPC 클라이언트에게는 완전히 없는 것처럼 보인다(transparent).
마찬가지로, 서버들은 동일한 속도로 어떠한 클라이언트 또는 클라이언트의 집단으로부터의 요구를 동시에 처리할 수 있으며, RPC 설비로부터 반복 요구 처리의 제약이 제거된다. 이와 유사하게, 접속시키기보다는 오히려 서버들을 요구와 관련시키는 것이 서버의 수가 처리될 요구의 수를 초과할 경우 요구를 기다리는 서버의 수를 감소시킨다. 따라서, 프로세서(12′)의 처리력 중 서버 오퍼레이션에 할당되는 부분이 최소로 유지된다.
게다가, 어떠한 주어진 시간에 요구를 서버에 전송할 수도 있는 것보다 더 많은 접속이 확립되고 유지될 수 있다. 그러나, 더 중요한 것은, 어떠한 단일 클라이언트로부터의 일련의 요구(a sequence of requests)의 동시 처리가 추가 접속을 확립하는데 부담 없이 제공되며, 동시에 (요구된 작업을 포함하는 서비스와 관련된 트랜잭션 매니저의 이용가능성만이 포트매퍼에 의해 필수적으로 모니터되기 때문에) 등록의 복잡성이 감소된 상태로 적시의 방식으로(in a timely fashion) 모든 클라이언트 요구에 대한 요구 처리를 공평하게 제공하기 위한 메카니즘이 제공되어 서비스는 각각의 클라이언트에 대해 최적화된다는 점이다. 따라서, 본 발명에 의해 달성되는 가치 있는 기능은, 직접 인입되는 요구들을 여러 실행 서버로 보내고 접속시에 클라이언트와 서버의 단단한 구속에 의해 여전히 제한될 접속 매니저의 추가에 의해 달성될 수 있는 것과는 많이 다르고 그보다 훨씬 더 포괄적이며 유익하다.
본 발명의 동작에 대한 특정 설명을 위에서 제공하였으나, 본 발명의 양호한 동작은 다음의 의사 코드로 구체화된다.
상기 의사 코드는 제4,5 및 6의 플로우챠트에서 설명된 처리를 구체화한다. 그러나, 제4,5,6도에서 설명된 방법론은 양호한 방법론을 대표하는 것으로서, 본 발명의 양호한 기능이 달성될 수 있는 방법을 이해할 수 있도록 의도된 것이며, 다음의 논의의 견지에서 그 위에 많은 변형이 본 기술 분야의 기술자에게는 명백할 것임을 이해해야 한다. 더 나아가, 설명된 방법론은 본 발명과 그 기능의 이해를 전하기 위하여 단순화된 것이며, 이 설명에서는 특정 프로그래밍 언어로 기록된 프로그램에서 구현되는 바와 같은 이 방법론을 구현한 프로그램 또는 그의 어떠한 변형의 실행 또는 프로그래밍의 상대적 효율에 대해서는 고려하지 않았음을 이해해야 한다. 예를 들면, 처리 효율의 관점에서는 요구 그 자체 대신 요구 큐에 소켓 핸들을 배치하는 것이 바람직한 반면, 이러한 방식으로의 소켓 핸들의 사용은 본 발명의 완전한 특징이며, 본 발명의 실시에 필수적이지 않고, 그 동작의 원리에 중요하지도 않다. 이 설명에서는, 설명된 모든 처리 사이에 어느 정도 지연이 있을 것이며, 요구의 상태가 어떠한 설명된 실행 단계 사이에서 변경될 수도 있음을 이해해야 한다. 제4-6도에 대한 다음의 설명은 또한 상기 의사 코드상에 관한 추가의 주석을 제공하는 것으로 간주되어야 한다.
제4도에서, 본 방법에 따른 처리는 에러 회복을 위해 유용할 수도 있는 로깅(logging) 오포레이션 개시를 포함할 수 있지만 반드시 그럴 필요는 없는 XMAN(110)의 초기화와 함께 시작한다. 초기 최소 수의 서버의 시동은 “서버 최소치(server min)”의 설정값(302)에 따라 시작될 것이다(제3도). 이러한 오퍼레이션은 “초기화(initialize)” 단계(405)에 포함되는 것으로 간주된다. 이러한 처리에 상당한 양의 시간이 걸리므로, 이용가능한 서버의 수는 0으로 설정되며, 이 값은 각각의 서버 시동 오퍼레이션이 완료될 때 증가될 것이다. 또한, 큐 크기 또는 길이 변수는 0으로 설정되며, 제5도와 관련하여 논의되는 바와 같이, 포트매퍼(16′, 18′)로 XMAN(110)의 등록을 실행하는데 편리하며 선 RPC와 같은 현존하는 RPC 설비와의 호환성을 위한 다른 변수 “초기치(init)”는 마찬가지로 단계(410)에서 0으로 설정된다.
XMAN(110)은 잠재적(XMAN으로의 접속이 이루어지지 않았기 때문에) 클라이언트 또는 서버로부터 올 수도 있는 요구를 단계(415)에서 기다린다. 짧은 시간내에 수신될 수도 있는 요구의 수에 근거하여 분기 기능(Branching function)(420)은 접속의 수용에 대해 우선 순위를 부여하는 순서로 요구들을 서비스하기 위해 다수의 서로 다른 루프를 통해 처리를 제어하고, 유사한 형태의 요구에 대해 클라이언트와 서버 사이의 우선 순위를 확립하여, 요구의 수용에 대해 우선 순위를 부여하고, 요구를 서버에 할당하기 전에 요구 사이에 순서를 확립하는데 편리한 것으로 간주된다. 따라서, 처리는 모든 인입 요구가 요구 큐에 배치되었을 때에만(요구=0) C2로 분기할 것이다.
요구가 수신될 때 요구 변수는 증가되어, 요구의 수가 0을 초과하게 되고 요구는 이 요구가 (예를 들면, 접속, 작업 또는 차단을 위한) 클라이언트 요구인가 또는 (예를 들면, 등록을 위한) 서버 요구인가를 결정하기 위해 검사된다. 요구가 잠재 클라이언트로부터의 것이면, 제1요구는 클라이언트 접속을 위한 것일 것이며, 단계(425)에서 검출되어 단계(430)에서 실행된다(예를 들면, 수용된다). 따라서, 요구의 수는 단계(435)에서 감소되고, 프로세스는 단계(420)로 복귀하여, 서버로의 요구의 할당을 위해 및/또는 서버의 시동 또는 저지(요구=0일 경우)와 같은 다른 처리를 위해 C2로 분기하거나 또는 단계(420)에서 또 다른 요구를 수용(요구>0일 경우)한다.
요구가 클라이언트 접속을 위한 것이 아닐 경우, 본 발명의 프로세스는 그 요구가 서버 시동 오퍼레이션의 일부로서 발생하는 서버 접속 요구인지를 단계(440)에서 검사하며, 만약 그러하다면, 클라이언트 접속 요구와 동일한 방식으로 단계(430)에서 접속이 수용된다. 분기 오퍼레이션(425,430)의 순서는 실제로 임의적이나, 서버 접속이 내부 처리 능력에 영향을 미치기 때문에 그리고 클라이언트 접속 요구에 대한 응답이 일반적으로 훨씬 더 많고 사용자 편의에 영향을 미치는 동안 추가의 서버 접속이 서버에 요구를 할당하기 전에 수용되는 것이 중요하기 때문에 클라이언트 접속의 우선 순위가 다소 앞선다.
서버 시동 과정의 최종 부분으로서, 등록을 위한 서버 요구가 발행될 것이며, 그러한 요구는 아래에 설명될 제5도의 등록 처리와 C1로의 분기를 유발시키는 단계(445)에서 검출된다. 그렇지 않을 경우 (예를 들면, 작업을 위한 또는 차단을 위한) 클라이언트 요구는 단계(450)에서 검출될 것이며, 요구는 요구 큐에 배치될 것이며, 큐 크기 또는 길이 변수는 단계(460)에서 증가되고; A1 및 단계(435)로 형성된 루프를 통하여 부가의 처리를 위한 단계(420)로 복귀한다. 본 발명이 관리 요구의 처리없이 실행될 수 있는 한, 그러한 능력은 본 발명이 구현되는 시스템의 유연성과 능력을 상당히 신장시킨다. 관리 요구는 클라이언트로부터나 또는 서버 프로세서 내에서부터(예를 들면, 인터럽트나 또는 서버 프로세서 관리를 위하여) 수신될 수도 있다. 다른 관리 명령들은 서버 프로세서가 이용되는 운영 시스템이 아닌 운영 시스템과 호환성 있는 서비스를 시동 또는 정지하기 위해, 네트워크에 접속된 다른 프로세서 상의 서버 또는 서버 상태를 제공하도록 미러링(mirroring)하기 위해, 또는 문의를 어카운팅/로깅(accounting/logging)하기 위해서와 같이 클라이언트로부터의 추가 형태의 명령을 처리하기 위하여 제공되는 관리 인터페이스로부터 제공될 수도 있다. 분기 오퍼레이션(425,440,445,450)은 클라이언트/서버 관계와의 어떠한 관련으로 이루어진 모든 형태의 요구를 각각 검출하며, 단계(450)에서 클라이언트 요구를 검출하지 못하면 단계(470)에서 관리 요구를 처리하도록 분기가 발생되므로써, 후속 처리를 위한 클라이언트 요구의 수용 및 오더링(ordering) 보다 앞서지 않으나 클라이언트 요구의 실제 처리보다 앞선 우선 순위가 제공된다.
분기 오퍼레이션(445)으로 돌아가서, 서버 요구가 서버의 시동의 나중 단계 또는 서버의 시동의 완료시에 발생되는 것으로 위에서 설명되었다. 또한, (개별 서버 보다는 오히려) XMAN(110)이 서버가 클라이언트에게 서비스를 제공하기 위하여 실행될 때 포드매퍼(16′, 18′)에 의해 등록되어야만 하는 것으로 위에서 설명되었다. 또한, 변수 “초기치(init)”가 0으로 설정된 것은 XMAN 초기화 절차와 관련하여 위에서 설명되었다. 이하, XMAN의 등록에 대하여 제5도를 참조하여 설명하겠다.
특히, 서버(예를 들면, 서버 최소치(min)에 의해 상술된 상기 수효의 서버중 하나)가 시동되었고 클라이언트 요구를 서비스할 수 있을 때 (선 RPC에서 처럼 개별 서버가 아닌) XMAN이 포트매퍼(16′,18′)에 의해 등록될 필요가 있다. 일단 XMAN이 포트매퍼에 의해 등록되면, 부가의 등록이 불필요하고, 만약 부가의 등록이 이루어지면, 처리의 불명료성과 비효율성을 초래할 수 있다. 그럼에도 불구하고, 특정 서비스를 제공하는 모든 서버가 동일한 애플리케이션임을 상기하면, 완료시의 서버 시동 처리는 등록을 위한 요구를 발행할 것이다. 제5도의 처리는 서버에 의한 등록을 위한 초기 요구시에 단 한 번 XMAN의 등록을 제공하며, 그 후(예를 들면, 추가의 서버들이 요구 큐 길이에 응답하여 시동될 때 발생된) 부가의 그러한 요구를 인터럽트하는 작용을 한다. 이것은 특정 순서로 시동되어야만 하고 개별적으로 기억 및 억세스 되어야만 하며 애플리케이션들이 유지되고 갱신될 때 제공되는 서비스에서의 차이를 잠재적으로 포함할 수도 있는, 분리되고 약간씩 서로 다른 서버 애플리케이션들을 제공하는데 상당히 바람직하다.
등록을 위한 서버 요구의 검출은 분기 어퍼레이션(445)에서 검출되며, 제5도의 C1로 분기하게 만든다[예를 들어, 단계(306)에서 유지된]. 이용가능한 서버의 수를 나타내는 변수가 증가되어 다른 서버가 이미 시동되어 있어서 이용할 수 있음을 나타낸다. 서버 요구가 등록을 위한 것이면, 단계(510)에서 검출된 바와 같이, “초기치(init)” 변수는 단계(515)에서 평가된다. 초기치(init)가 0이면, 이것은 1로 설정되고, XMAN은 포트매퍼에 의해 등록된다. 초기치(init)가 이미 1과 동일하면, XMAN은 사전에 등록된 것이며, 제5도의 처리는 제4도의 A1(435 및 420)으로 진행된다. 작업 또는 에러 회복 인터럽트의 입력을 제어하기 위한 것과 같이, 시동시 서버 요구가 등록을 위한 것이 아닐 경우 A1으로의 유사한 분기가 단계(510)에서 제공된다.
선택적으로, 본 발명의 원리를 이해하는데 무관하거나 또는 그 실시에 필요하지 않기는 하겠지만, A1로 복귀하기 전에 동일한 분기 오퍼레이션(510)에 응답하여 단계(525)에서 다른 서버 요구들이 처리될 수도 있다. 예를 들면, (위에서 언급된 바와 같이, 관리 인터페이스에 의해 문의될 수도 있는 바와 같은) 각각의 서버에 대해 로깅 및 어카운팅 기능을 수행하고 서버_정지(server_stop) 변수와 아이들 시간의 비교를 위해 서버의 최종 이용 시간을 확보하기 위해 이러한 분기 작동(510)을 이용하는 것이 매우 유익한 것으로 밝혀졌다.
이러한 관점에서 볼 때, 이용가능성의 표시에 의해 오퍼레이션(505)에서 서버의 아이들 상태가 실행된다는 것이 주지되어야 한다. 어떤 경우에서나, 이러한 분기 오퍼레이션(510)은 클라이언트 요구를 처리할 때 서버가 만족스럽게 동작하며 클라이언트 요구를 서버에서 할당하기 전에 적시의 방식으로 서버 상태가 갱신되도록 보장하기에 충분할 정도로 다른 처리(그러나 접속 처리는 아님) 보다 앞서는 처리 우선 순위를 제공한다.
제4도의 분기 오퍼레이션(420)으로 돌아가면, 본 발명에 따른 처리는 단계(435)에서 감소되어 요구 변수가 0과 동일할 때 제6도의 C2로 분기한다. 이용가능한 서버의 수가 0 이상이고 어떠한 요구가 단계(605)에서 결정된 바와 같이 큐에서 남아있을 경우, 상기 큐에서의 다음 요구는 처리를 위해 이용가능한 서버로 통과되고 그 결과를 클라이언트에게 보고하며, 이용가능한 서버의 수와 큐 길이는 단계(610)에서 감소된다. 처리는 단계(605)로 되돌아가서, 큐가 비게 되거나 또는 모든 서버가 이들 서버로 전송된 작업을 가질 때까지 반복한다. 이러한 대안은 단계(615,625)에서 간접적으로 구별되어 있다.
XMAN이 현재 구성되어 있어서(그에 따라 큐 크기가 0이 아님) 큐 길이가 서버_시동(server_start) 변수(제6도에서 N)보다 크고 따라서 이용가능한 서버의 수가 0 또는 서버_시동 변수 이하임을 분기 오퍼레이션(615)이 결정할 경우, 실행되는 서버의 수가, 서버_최대 변수 이하이면, 다른 서버의 시동이 단계(620)에서 개시되고 이때 XMAN이 구성된다. 시간 지연은 희망할 경우 단계(615)에서 이러한 처리에 부과될 수도 있다[마찬가지로, 서버_최대(server_max) 변수에 대한 서버의 수의 검사는 희망할 경우 설명된 바와 같이 단계(620)에서 보다는 오히려 단계(615)에서 실행될 수 있다]. 서버가 시동되거나 또는 서버의 수가 서버_최대치와 동일할 경우, 분기 작동(625)은 제4도의 A0로 분기되어 처리가 계속된다. 부가의 서버의 시동이 개시되었으며, 이러한 처리는 위에서 설명된 바와 같이 서버가 성공적으로 시동되었을 때 제5도로 분기하고, 이용가능한 서버의 수를 증가시키고 또다시 순서적으로, 요구를 새롭게 시동된 서버로 통과시키기 위하여 제6도의 C2로 분기하는 것을 포함할 것이다.
다른 한편, 큐 크기 길이가 서버_시동보다 클 경우 서버는 아이들 상태에 있고 또는 더 이상의 클라이언트 요구가 수신되지 않을 경우 서버는 곧 아이들 상태로 될 것이다. 더 이상의 클라이언트 요구가 사실상 수신되면, 이들은 접속을 수용하거나, 서버 요구를 처리하거나 또는 큐에 클라이언트 요구를 배치함으로써 정식으로 처리되며, 이때 위에서 설명된 바와 같이 가능한 한 하나 또는 그 이상의 서버가 시동된다. 그렇지 않을 경우, 큐가 비게되고 작업이 완료되어 서버가 아이들 상태로 될 때 각각의 서버는 아이들 시간 값 동안 폴(poll)될 것이다. 그 값이 서버_정지(server_stop) 변수를 초과할 경우, 서버는 단계(630)에서 정지되어 서버 프로세서(12′)에서의 이용가능한 처리 용량이 최대로 되고, 제6도에서의 처리는 제4도에서의 A0으로 나아가서, 추가의 처리를 기다린다.
본 발명의 방법론이 클라이언트/서버 관계를 확립하는 선 RPC와 같은 RPC 설비의 세부 사항들과 완전히 관계가 없다는 것은 위의 설명으로부터 주지해야 한다. 특히, 이 방법론은 접속이 확립되는 방법과는 완전히 독립적이며, 접속을 확립하기 위하여 RPC 설비에서 제공되는 모든 배열이 위에서 설명된 것과 동일한 방식으로 수용될 수 있다. 요구되는 모든 것은 잠재 클라이언트로부터의 서비스에 대한 요구에 응답하여 포트매퍼로부터 특정 서버 어드레스가 아닌 XMAN 어드레스를 복귀시키는 것과 같이 XMAN에 대응하는 서비스가 제공할 수 있는 요구된 작업과 관련하여 [제5도에 도시되어 있고 상기 의사 코드에 포함된 프로세스_서버_요구 루틴에 의해 포트매퍼(16′,18′)에 제공된] XMAN 어드레스를 제공하는 것이다. 더 나아가, 특정 서버로부터 접속 해제 처리는 요구가 큐되도록 허용하며 서버로 하여금 요구가 수신되는 순서로 요구된 작업에 할당되도록 허용하므로써, 결국 훨씬 많은 클라이언트 접속이 유지되도록 추가로 허용되는 동안 서비스가 적시에 이루어지고 클라이언트들에게 서비스가 매우 공평한 할당이 이루어진다.
또한, 위에서 주목한 바와 같이, 접속의 확립은 서버로부터 완전히 결합 해제되고[예를 들면, 단계(425,440,445,450)에서의 루프에 의해(후자는 A1을 통해)], 모든 통신 프로토콜, 서로 다른 운영 시스템의 수용, 로깅 서비스, 허가 파일, 관리 인터페이스, 및 클라이언트의 서버 사이의 호환성의 다른 문제들은 확립된 접속을 통해 네트워크 통신의 사건으로서 공지의 방식으로 수용될 수 있다. 따라서, 서버는 이러한 문제들 중 어떤 것도 수용할 필요가 없으며, 본 발명은 따라서 어떤 운영시스템 및 통신 배열에 응용할 수 있도록 만들어져 있다. 위의 사실로 비추어 볼 때, 본 발명은 통신 부담의 증가 없이 단일 클라이언트를 위한 동시 서버를 위한 지원을 제공하여 모든 요구하는 클라이언트에게 자원을 공평하게 할당하고 적시에 서비스를 제공한다. 더 나아가, 언제나 유지될 수 있는 클라이언트/서버 접속의 수는 훨씬 증가되고 제공될 수 있는 서버의 수에 의해 제한되지 않으며, 클라이언트로부터 현재 요구된 모든 작업의 완료시에 접속을 해제하고 부가의 요구가 있을 때 접속을 재확립하는데 필요한 처리 부담이 감소된다.
본 발명이 단일의 양호한 실시예를 들어서 설명되었을지라도, 본 기술 분야에서 숙련된 자이면 첨부된 청구 범위의 진의 및 범위 내에서 본 발명을 수정할 수 있을 것이다.

Claims (15)

  1. 제1데이터 프로세서 상의 원격 절차 호출 클라이언트로부터의 원격 절차 호출(remote procedure call)을 제2데이터 프로세서 상에서 동작하는 서버에 의하여 실행하는 방법-상기 제2데이터 프로세서는 원격 절차 호출 트랜잭션 매니저를 포함함-에 있어서, 원격 절차 호출에 상응하는 서비스를 제공하는 애플리케이션을 상기 제2데이터 프로세서 상에 로드하고 초기화함으로써 원격 절차 호출과 무관하게 서버를 시동하는 단계, 상기 원격 절차 호출 클라이언트와 상기 트랜잭션 매니저 내의 접속 핸들(connection handle)간의 접속을 확립하는 단계, 상기 접속을 통하여 원격 절차 호출의 표현(representation)을 상기 트랜잭션 매니저에서 수신하는 단계, 상기 원격 절차 호출 및 상기 접속 핸들을 수신 순서대로 그리고 상기 접속을 확립하는 단계와 무관하게 상기 트랜잭션 매니저로부터 이용 가능한 서버로 전송하는 단계, 및 상기 원격 절차 호출의 결과를 상기 접속 핸들에 따라서 상기 클라이언트에 통신하고 상기 접속 핸들을 상기 트랜잭션 매니저에 리턴시키도록 상기 서버를 제어하는 단계를 포함하는 원격 절차 호출 실행 방법.
  2. 제1항에 있어서, 서버의 할당을 기다리는 요구의 수가 설정값(configuration value)을 초과할 때 상기 제2데이터 프로세서에서 또 다른 서버를 시동하는 단계를 더 포함하는 원격 절차 호출 실행 방법.
  3. 제2항에 있어서, 아이들 서버(idle server)에 대응하는 상기 애플리케이션을 상기 제2데이터 프로세서로부터 언로드(unloading)함으로써 일정 시간 지연 후에 상기 제2데이터 프로세서에서 상기 아이들 서버를 정지시키는 단계를 더 포함하는 원격 절차 호출 실행 방법.
  4. 제3항에 있어서, 상기 시간 지연은 서버를 시동하는 데 필요한 시간의 양에 따라 설정되는 원격 절차 호출 실행 방법.
  5. 제2항에 있어서, 원격 절차 호출의 표현을 큐(queue)에 배치하는 단계를 더 포함하는 원격 절차 호출 실행 방법.
  6. 제5항에 있어서, 상기 원격 절차 호출의 표현은 소켓 핸들(socket handle)인 원격 절차 호출 실행 방법.
  7. 제2항에 있어서, 원격 절차 호출을 큐에 배치하는 단계를 더 포함하는 원격 절차 호출 실행 방법.
  8. 제1항에 있어서, 서버 트랜잭션들을 로깅(logging)하는 단계를 더 포함하는 원격 절차 호출 실행 방법.
  9. 제1항에 있어서, 서버에 의한 클라이언트 요구의 처리 완료를 시간 스탬핑(time stamping)하는 단계를 더 포함하는 원격 절차 호출 실행 방법.
  10. 제1항에 있어서, 관리 명령(administrative command)을 처리하는 단계를 더 포함하는 원격 절차 호출 실행 방법.
  11. 제1데이터 프로세서에서의 원격 절차 호출 클라이언트 및 제2데이터 프로세서에서의 자원을 포함하는 데이터 처리 네트워크용 트랙잭션 매너저에 있어서, 원격 절차 호출과 무관하게 상기 제2데이터 프로세서 상에 원격 절차 호출에 대응하는 서비스를 제공하는 애플리케이션을 로드함으로써 상기 제2데이터 프로세서 상에 상기 서비스를 제공하는 서버를 시동하는 수단, 접속 핸들을 포함하고, 상기 서버와 무관하게 상기 원격 절차 호출 클라이언트와 상기 접속 핸들간의 접속을 확립하는 수단, 상기 접속을 통하여 원격 절차 호출의 표현을 수신하는 수단, 및 상기 접속 핸들을 포함하는 상기 원격 절차 호출을 수신 순서대로 그리고 상기 접속을 확립하는 수단과 무관하게 이용 가능한 서버에 전송하는 수단을 포함함으로써, 상기 서버가 상기 원격 절차 호출의 결과를 상기 접속 핸들에 따라서 상기 원격 절차 호출 클라이언트에 통신하고 상기 접속 핸들을 상기 트랜잭션 매니저에 리턴할 수 있게 되어 있는 데이터 처리 네트워크용 트랙잭션 매니저.
  12. 제11항에 있어서, 서버의 할당을 기다리는 요구의 수가 설정값을 초과할 때 상기 데이터 프로세서에서 추가의 서버를 시동하는 수단을 더 포함하는 데이터 처리 네트워크용 트랙잭션 매니저.
  13. 제12항에 있어서, 아이들 서버에 대응하는 상기 애플리케이션을 상기 제2데이터 프로세서로부터 언로드함으로써 일정 시간 지연 후에 상기 제2데이터 프로세서에서 상기 아이들 서버를 정지시키는 수단을 더 포함하는 데이터 처리 네트워크용 트랙잭션 매니저.
  14. 제13항에 있어서, 상기 시간 지연은 설정가능한 파라미터(configurable parameter)를 저장하는 수단을 포함하는 데이터 처리 네트워크용 트랙잭션 매니저.
  15. 제14항에 있어서, 상기 설정가능한 파라미터는 서버를 시동하는 데 필요한 시간 양에 따라 설정되는 데이터 처리 네트워크용 트랙잭션 매니저.
KR1019960065707A 1996-03-05 1996-12-14 원격 절차 호출 실행 방법 및 트랜잭션 매니저 KR100237984B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/610,943 US5761507A (en) 1996-03-05 1996-03-05 Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
US08/610,943 1996-03-05
US8/610,943 1996-03-05

Publications (2)

Publication Number Publication Date
KR970068309A KR970068309A (ko) 1997-10-13
KR100237984B1 true KR100237984B1 (ko) 2000-01-15

Family

ID=24447022

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960065707A KR100237984B1 (ko) 1996-03-05 1996-12-14 원격 절차 호출 실행 방법 및 트랜잭션 매니저

Country Status (5)

Country Link
US (1) US5761507A (ko)
EP (1) EP0794491B1 (ko)
JP (1) JP3364575B2 (ko)
KR (1) KR100237984B1 (ko)
DE (1) DE69728601T2 (ko)

Families Citing this family (246)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6088515A (en) * 1995-11-13 2000-07-11 Citrix Systems Inc Method and apparatus for making a hypermedium interactive
US6370552B1 (en) 1997-05-14 2002-04-09 Citrix Systems, Inc. Apparatus and method for displaying application output in an HTML document
US6950991B2 (en) * 1995-11-13 2005-09-27 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US7555529B2 (en) 1995-11-13 2009-06-30 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6437803B1 (en) 1998-05-29 2002-08-20 Citrix Systems, Inc. System and method for combining local and remote windows into a single desktop environment
US6128657A (en) * 1996-02-14 2000-10-03 Fujitsu Limited Load sharing system
US6185611B1 (en) * 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
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
US6466947B2 (en) * 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6006266A (en) 1996-06-03 1999-12-21 International Business Machines Corporation Multiplexing of clients and applications among multiple servers
US5864669A (en) * 1996-07-11 1999-01-26 Microsoft Corporation Method and system for accessing a particular instantiation of a server process
US6073177A (en) * 1997-08-05 2000-06-06 Sterling Software, Inc. Dynamic method for connecting a client to a server application
US7181525B1 (en) 1996-08-05 2007-02-20 Computer Associates Think, Inc. Dynamic method for connecting a client to a server application
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US5946498A (en) * 1996-11-12 1999-08-31 International Business Machines Corporation Delivery of client remote procedure calls to a server via a request queue utilizing priority and time-out
US7926097B2 (en) * 1996-11-29 2011-04-12 Ellis Iii Frampton E Computer or microchip protected from the internet by internal hardware
US20050180095A1 (en) * 1996-11-29 2005-08-18 Ellis Frampton E. Global network computers
US7024449B1 (en) 1996-11-29 2006-04-04 Ellis Iii Frampton E Global network computers
US8312529B2 (en) 1996-11-29 2012-11-13 Ellis Frampton E Global network computers
US8225003B2 (en) 1996-11-29 2012-07-17 Ellis Iii Frampton E Computers and microchips with a portion protected by an internal hardware firewall
US7805756B2 (en) 1996-11-29 2010-09-28 Frampton E Ellis Microchips with inner firewalls, faraday cages, and/or photovoltaic cells
US7035906B1 (en) 1996-11-29 2006-04-25 Ellis Iii Frampton E Global network computers
US6725250B1 (en) * 1996-11-29 2004-04-20 Ellis, Iii Frampton E. Global network computers
US6732141B2 (en) 1996-11-29 2004-05-04 Frampton Erroll Ellis Commercial distributed processing by personal computers over the internet
US7634529B2 (en) * 1996-11-29 2009-12-15 Ellis Iii Frampton E Personal and server computers having microchips with multiple processing units and internal firewalls
US7506020B2 (en) 1996-11-29 2009-03-17 Frampton E Ellis Global network computers
US6167428A (en) * 1996-11-29 2000-12-26 Ellis; Frampton E. Personal computer microprocessor firewalls for internet distributed processing
GB2320112B (en) * 1996-12-07 2001-07-25 Ibm High-availability computer server system
US6026404A (en) * 1997-02-03 2000-02-15 Oracle Corporation Method and system for executing and operation in a distributed environment
US6845505B1 (en) * 1997-02-03 2005-01-18 Oracle International Corporation Web request broker controlling multiple processes
US6710786B1 (en) 1997-02-03 2004-03-23 Oracle International Corporation Method and apparatus for incorporating state information into a URL
US6067580A (en) * 1997-03-11 2000-05-23 International Business Machines Corporation Integrating distributed computing environment remote procedure calls with an advisory work load manager
CA2202572C (en) * 1997-04-14 2004-02-10 Ka Lun Eddie Law A scaleable web server and method of efficiently managing multiple servers
US5964832A (en) * 1997-04-18 1999-10-12 Intel Corporation Using networked remote computers to execute computer processing tasks at a predetermined time
US6098067A (en) * 1997-05-02 2000-08-01 Kabushiki Kaisha Toshiba Remote computer management system
US5961586A (en) * 1997-05-14 1999-10-05 Citrix Systems, Inc. System and method for remotely executing an interpretive language application
US6157944A (en) * 1997-05-14 2000-12-05 Citrix Systems, Inc. System and method for replicating a client/server data exchange to additional client notes connecting to the server
US5941949A (en) * 1997-05-14 1999-08-24 Citrix Systems, Inc. System and method for transmitting data from a server application to more than one client node
JPH10334064A (ja) * 1997-05-27 1998-12-18 Shikoku Nippon Denki Software Kk 負荷分散方式
US6411805B1 (en) 1997-06-05 2002-06-25 Mci Communications Corporation System and method for a network-based call continuation service
US6675195B1 (en) * 1997-06-11 2004-01-06 Oracle International Corporation Method and apparatus for reducing inefficiencies caused by sending multiple commands to a server
US6088728A (en) * 1997-06-11 2000-07-11 Oracle Corporation System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server
US6243751B1 (en) * 1997-06-11 2001-06-05 Oracle Corporation Method and apparatus for coupling clients to servers
JPH1157215A (ja) * 1997-08-20 1999-03-02 Fuji Xerox Co Ltd ネットワークゲームシステム、ネットワークゲームサーバ装置、ネットワークゲームクライアント装置、対局者選定プログラムを記録した媒体及び対局者情報取得プログラムを記録した媒体
US6253253B1 (en) * 1997-08-25 2001-06-26 International Business Machines Corporation Method and apparatus for optimizing references to objects in a data processing system
US6360279B1 (en) * 1997-10-14 2002-03-19 Bea Systems, Inc. True parallel client server system and method
GB2330923A (en) * 1997-10-28 1999-05-05 Ibm Transaction manager
US6334114B1 (en) 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US6493447B1 (en) 1997-11-21 2002-12-10 Mci Communications Corporation Contact server for call center for syncronizing simultaneous telephone calls and TCP/IP communications
US6360262B1 (en) * 1997-11-24 2002-03-19 International Business Machines Corporation Mapping web server objects to TCP/IP ports
US6324584B1 (en) * 1997-11-26 2001-11-27 International Business Machines Corp. Method for intelligent internet router and system
GB2333379A (en) * 1998-01-16 1999-07-21 Ibm Client/server computing
US7054935B2 (en) * 1998-02-10 2006-05-30 Savvis Communications Corporation Internet content delivery network
US6185598B1 (en) 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
US8296396B2 (en) 1998-02-10 2012-10-23 Level 3 Communications, Llc Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions
GB2334353B (en) * 1998-02-12 2002-08-07 Ibm An apparatus,method and computer program product for client/server computing with the ability to select which servers are capable of creating transaction stat
WO1999044127A1 (en) * 1998-02-26 1999-09-02 Sun Microsystems, Inc. Dynamic lookup service in a distributed system
WO1999044296A2 (en) 1998-02-26 1999-09-02 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6272546B1 (en) 1998-03-12 2001-08-07 Sony Corporation Method of and apparatus for managing resource allocation and bandwidth overflow in a cooperative, distributed computing environment
US20020046228A1 (en) * 1998-03-20 2002-04-18 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6205498B1 (en) 1998-04-01 2001-03-20 Microsoft Corporation Method and system for message transfer session management
US6529932B1 (en) 1998-04-01 2003-03-04 Microsoft Corporation Method and system for distributed transaction processing with asynchronous message delivery
US6446206B1 (en) 1998-04-01 2002-09-03 Microsoft Corporation Method and system for access control of a message queue
GB2336449A (en) * 1998-04-14 1999-10-20 Ibm A server selection method in an asynchronous client-server computer system
DE19822543A1 (de) * 1998-05-20 1999-11-25 Alcatel Sa Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium
US6813777B1 (en) * 1998-05-26 2004-11-02 Rockwell Collins Transaction dispatcher for a passenger entertainment system, method and article of manufacture
US6976093B2 (en) 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US6317786B1 (en) 1998-05-29 2001-11-13 Webspective Software, Inc. Web service
US7035943B2 (en) 1998-05-29 2006-04-25 Yahoo! Inc. Web server content replication
US6279001B1 (en) 1998-05-29 2001-08-21 Webspective Software, Inc. Web service
US6314463B1 (en) * 1998-05-29 2001-11-06 Webspective Software, Inc. Method and system for measuring queue length and delay
US7143193B1 (en) * 1998-05-29 2006-11-28 Yahoo! Inc. Content collection
US7581006B1 (en) 1998-05-29 2009-08-25 Yahoo! Inc. Web service
US6636900B2 (en) * 1998-06-29 2003-10-21 Sun Microsystems, Inc. Method and apparatus for executing distributed objects over a network
US6256634B1 (en) 1998-06-30 2001-07-03 Microsoft Corporation Method and system for purging tombstones for deleted data items in a replicated database
US6275912B1 (en) 1998-06-30 2001-08-14 Microsoft Corporation Method and system for storing data items to a storage device
US6202089B1 (en) * 1998-06-30 2001-03-13 Microsoft Corporation Method for configuring at runtime, identifying and using a plurality of remote procedure call endpoints on a single server process
US6848108B1 (en) * 1998-06-30 2005-01-25 Microsoft Corporation Method and apparatus for creating, sending, and using self-descriptive objects as messages over a message queuing network
US6108703A (en) * 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
US6370583B1 (en) * 1998-08-17 2002-04-09 Compaq Information Technologies Group, L.P. Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image
US6119160A (en) * 1998-10-13 2000-09-12 Cisco Technology, Inc. Multiple-level internet protocol accounting
US6311205B1 (en) * 1998-10-19 2001-10-30 International Business Machines Corporation Persistent user groups on servers managed by central servers
US6195682B1 (en) 1998-10-27 2001-02-27 International Business Machines Corporation Concurrent server and method of operation having client-server affinity using exchanged client and server keys
US7107591B1 (en) * 1998-11-05 2006-09-12 Hewlett-Packard Development Company, L.P. Task-specific flexible binding in a software system
JP3223355B2 (ja) * 1998-11-12 2001-10-29 株式会社エヌ・ティ・ティ・ドコモ 通信制御方法、通信制御装置、記録媒体およびデータ端末
US9239763B2 (en) 2012-09-28 2016-01-19 Oracle International Corporation Container database
US7075895B1 (en) * 1998-12-04 2006-07-11 Sun Microsystems, Inc. System and method for facilitating discovery of network addresses and selected charateristics of computer systems and the like which are connected in digital data networks
US6928469B1 (en) * 1998-12-29 2005-08-09 Citrix Systems, Inc. Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques
DE60040846D1 (de) * 1999-02-26 2009-01-02 Henry Haugland Massenerzeugung individualer virtueller servern, vertueller webseiten sowie virtueller webobjekten
US6920475B1 (en) * 1999-04-23 2005-07-19 Oracle International Corporation Communication architecture for distributed computing environment
US6275470B1 (en) 1999-06-18 2001-08-14 Digital Island, Inc. On-demand overlay routing for computer-based communication networks
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6668317B1 (en) * 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6427196B1 (en) * 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
WO2001016702A1 (en) 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
US7191309B1 (en) 1999-09-01 2007-03-13 Intel Corporation Double shift instruction for micro engine used in multithreaded parallel processor architecture
US6754714B1 (en) 1999-10-05 2004-06-22 Cisco Technology, Inc. Multilink point-to-point protocol network access server channel allocation method and apparatus
US6874028B1 (en) * 1999-10-25 2005-03-29 Microsoft Corporation System and method for unified registration information collection
US8543901B1 (en) 1999-11-01 2013-09-24 Level 3 Communications, Llc Verification of content stored in a network
US6928477B1 (en) * 1999-11-18 2005-08-09 International Business Machines Corporation Availability and scalability in clustered application servers by transmitting expected loads of clients to load balancer
US6718330B1 (en) 1999-12-16 2004-04-06 Ncr Corporation Predictive internet automatic work distributor (Pre-IAWD) and proactive internet automatic work distributor (Pro-IAWD)
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US7620702B1 (en) 1999-12-28 2009-11-17 Intel Corporation Providing real-time control data for a network processor
US6307789B1 (en) * 1999-12-28 2001-10-23 Intel Corporation Scratchpad memory
US6631430B1 (en) * 1999-12-28 2003-10-07 Intel Corporation Optimizations to receive packet status from fifo bus
US6625654B1 (en) * 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6952824B1 (en) 1999-12-30 2005-10-04 Intel Corporation Multi-threaded sequenced receive for fast network port stream of packets
US6584522B1 (en) * 1999-12-30 2003-06-24 Intel Corporation Communication between processors
US6976095B1 (en) * 1999-12-30 2005-12-13 Intel Corporation Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch
US7480706B1 (en) 1999-12-30 2009-01-20 Intel Corporation Multi-threaded round-robin receive for fast network port
US6631462B1 (en) * 2000-01-05 2003-10-07 Intel Corporation Memory shared between processing threads
US20040259774A1 (en) * 2000-03-08 2004-12-23 Enrique Alvarez Therapeutic polypeptides, nucleic acids encoding same, and methods of use
US7254607B2 (en) * 2000-03-30 2007-08-07 United Devices, Inc. Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
USRE42153E1 (en) * 2000-03-30 2011-02-15 Hubbard Edward A Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US8010703B2 (en) * 2000-03-30 2011-08-30 Prashtama Wireless Llc Data conversion services and associated distributed processing system
US8898340B2 (en) 2000-04-17 2014-11-25 Circadence Corporation Dynamic network link acceleration for network including wireless communication devices
US8024481B2 (en) 2000-04-17 2011-09-20 Circadence Corporation System and method for reducing traffic and congestion on distributed interactive simulation networks
US8065399B2 (en) 2000-04-17 2011-11-22 Circadence Corporation Automated network infrastructure test and diagnostic system and method therefor
US20110128972A1 (en) 2000-04-17 2011-06-02 Randy Thornton Peer to peer dynamic network link acceleration
US7127518B2 (en) 2000-04-17 2006-10-24 Circadence Corporation System and method for implementing application functionality within a network infrastructure
US8996705B2 (en) 2000-04-17 2015-03-31 Circadence Corporation Optimization of enhanced network links
US8510468B2 (en) 2000-04-17 2013-08-13 Ciradence Corporation Route aware network link acceleration
US8195823B2 (en) 2000-04-17 2012-06-05 Circadence Corporation Dynamic network link acceleration
US7783695B1 (en) * 2000-04-19 2010-08-24 Graphics Properties Holdings, Inc. Method and system for distributed rendering
US7092983B1 (en) * 2000-04-19 2006-08-15 Silicon Graphics, Inc. Method and system for secure remote distributed rendering
US7062527B1 (en) * 2000-04-19 2006-06-13 Silicon Graphics, Inc. Management and scheduling of a distributed rendering method and system
US6912576B1 (en) * 2000-05-04 2005-06-28 Broadcom Corporation System and method of processing data flow in multi-channel, multi-service environment by dynamically allocating a socket
US6922724B1 (en) 2000-05-08 2005-07-26 Citrix Systems, Inc. Method and apparatus for managing server load
US6785726B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for delivering local and remote server events in a similar fashion
US6785713B1 (en) 2000-05-08 2004-08-31 Citrix Systems, Inc. Method and apparatus for communicating among a network of servers utilizing a transport mechanism
US6789112B1 (en) 2000-05-08 2004-09-07 Citrix Systems, Inc. Method and apparatus for administering a server having a subsystem in communication with an event channel
US6941379B1 (en) * 2000-05-23 2005-09-06 International Business Machines Corporation Congestion avoidance for threads in servers
US7565651B1 (en) * 2000-05-25 2009-07-21 Oracle International Corporation Parallel task scheduling system for computers
JP2001345992A (ja) * 2000-06-05 2001-12-14 Murata Mach Ltd ファクシミリ装置
US7200666B1 (en) * 2000-07-07 2007-04-03 International Business Machines Corporation Live connection enhancement for data source interface
US6910074B1 (en) * 2000-07-24 2005-06-21 Nortel Networks Limited System and method for service session management in an IP centric distributed network
US6880156B1 (en) * 2000-07-27 2005-04-12 Hewlett-Packard Development Company. L.P. Demand responsive method and apparatus to automatically activate spare servers
AU2001276932B2 (en) * 2000-07-27 2007-06-21 Oracle International Corporation System and method for concentration and load-balancing of requests
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US6804819B1 (en) 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
US6977927B1 (en) 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US7386610B1 (en) 2000-09-18 2008-06-10 Hewlett-Packard Development Company, L.P. Internet protocol data mirroring
US7020871B2 (en) 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US7296275B2 (en) * 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
JP4307747B2 (ja) * 2001-01-25 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 接続受付システム、受付サーバ、クライアント端末、接続受付管理方法、記憶媒体、コンピュータプログラム
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US20020169680A1 (en) * 2001-05-10 2002-11-14 International Business Machines Corporation Method and apparatus for building commercial distributed computing networks via computer cost subsidization
US7571215B2 (en) * 2001-07-16 2009-08-04 Bea Systems, Inc. Data replication protocol
US20030023898A1 (en) * 2001-07-16 2003-01-30 Jacobs Dean Bernard Layered architecture for data replication
US6918013B2 (en) * 2001-07-16 2005-07-12 Bea Systems, Inc. System and method for flushing bean cache
US7337441B2 (en) * 2001-07-17 2008-02-26 Bea Systems, Inc. System and method for prepreparing a transaction process involving a chain of servers in a circular flow
US7315903B1 (en) * 2001-07-20 2008-01-01 Palladia Systems, Inc. Self-configuring server and server network
US7290059B2 (en) * 2001-08-13 2007-10-30 Intel Corporation Apparatus and method for scalable server load balancing
US6868476B2 (en) * 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US20030046398A1 (en) * 2001-08-29 2003-03-06 Charles Buckley Method and system for managing a plurality of console devices in a network
US7028030B2 (en) 2001-08-30 2006-04-11 Bea Systems, Inc. Cluster caching with concurrency checking
US20030046230A1 (en) * 2001-08-30 2003-03-06 Jacobs Dean Bernard Method for maintaining account consistency
WO2003021464A2 (en) * 2001-09-05 2003-03-13 Rubenstein, Allen, I. Secure remote access between peers
US6826601B2 (en) * 2001-09-06 2004-11-30 Bea Systems, Inc. Exactly one cache framework
US7113980B2 (en) * 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US20030051029A1 (en) * 2001-09-07 2003-03-13 Reedy Dennis G. Dynamic provisioning of sevice components in a distributed system
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7228337B1 (en) * 2001-09-11 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing a network service to a virtual machine
US7860964B2 (en) 2001-09-28 2010-12-28 Level 3 Communications, Llc Policy-based content delivery network selection
US7126952B2 (en) 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
EP2403219B1 (en) 2001-09-28 2014-10-22 Level 3 CDN International, Inc. Method for name to address resolution
US7373644B2 (en) 2001-10-02 2008-05-13 Level 3 Communications, Llc Automated server replication
US20030079027A1 (en) 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
JP2003143153A (ja) * 2001-11-01 2003-05-16 Nec Corp サーバコンピュータ、そのコネクションクローズ方法及びプログラム
US7158964B2 (en) * 2001-12-12 2007-01-02 Intel Corporation Queue management
US7107413B2 (en) 2001-12-17 2006-09-12 Intel Corporation Write queue descriptor count instruction for high speed queuing
US7269179B2 (en) * 2001-12-18 2007-09-11 Intel Corporation Control mechanisms for enqueue and dequeue operations in a pipelined network processor
US7895239B2 (en) 2002-01-04 2011-02-22 Intel Corporation Queue arrays in network devices
US7181573B2 (en) 2002-01-07 2007-02-20 Intel Corporation Queue array caching in network devices
US7181489B2 (en) * 2002-01-10 2007-02-20 International Business Machines Corporation Method, apparatus, and program for distributing a document object model in a web server cluster
US6934951B2 (en) * 2002-01-17 2005-08-23 Intel Corporation Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section
US7181594B2 (en) * 2002-01-25 2007-02-20 Intel Corporation Context pipelines
US7149226B2 (en) * 2002-02-01 2006-12-12 Intel Corporation Processing data packets
US7930704B2 (en) * 2002-02-06 2011-04-19 Oracle International Corporation J2EE component extension architecture
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
CA2372092C (en) * 2002-02-15 2010-04-06 Cognos Incorporated A queuing model for a plurality of servers
US8135843B2 (en) * 2002-03-22 2012-03-13 Citrix Systems, Inc. Methods and systems for providing access to an application
US7228353B1 (en) * 2002-03-28 2007-06-05 Emc Corporation Generating and launching remote method invocation servers for individual client applications
US7350149B1 (en) 2002-03-28 2008-03-25 Emc Corporation Backup reporting framework graphical user interface
US7404145B1 (en) 2002-03-28 2008-07-22 Emc Corporation Generic mechanism for reporting on backups
US7571221B2 (en) * 2002-04-03 2009-08-04 Hewlett-Packard Development Company, L.P. Installation of network services in an embedded network server
US8554929B1 (en) 2002-05-03 2013-10-08 Foundry Networks, Llc Connection rate limiting for server load balancing and transparent cache switching
US7707295B1 (en) * 2002-05-03 2010-04-27 Foundry Networks, Inc. Connection rate limiting
US8819252B1 (en) 2002-05-03 2014-08-26 Foundry Networks, Llc Transaction rate limiting
US7269752B2 (en) * 2002-06-04 2007-09-11 Lucent Technologies Inc. Dynamically controlling power consumption within a network node
TW561740B (en) * 2002-06-06 2003-11-11 Via Tech Inc Network connecting device and data packet transferring method
US7471688B2 (en) 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7165103B2 (en) * 2002-06-26 2007-01-16 Microsoft Corporation Method and system for matching network clients and servers under matching constraints
US7747730B1 (en) 2002-06-28 2010-06-29 Netfuel, Inc. Managing computer network resources
US8020162B2 (en) * 2002-07-19 2011-09-13 International Business Machines Corporation Employing a resource broker in managing workloads of a peer-to-peer computing environment
US7506342B2 (en) * 2002-07-23 2009-03-17 Bea Systems, Inc. System and method for implementing J2EE connector architecture
US20040255036A1 (en) * 2002-07-25 2004-12-16 Yee James D. System and method for providing computer services
US7698434B2 (en) * 2002-08-29 2010-04-13 Bea Systems, Inc. J2EE connector architecture
US7352769B2 (en) 2002-09-12 2008-04-01 Intel Corporation Multiple calendar schedule reservation structure and method
US7433307B2 (en) 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US6941438B2 (en) * 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7443836B2 (en) 2003-06-16 2008-10-28 Intel Corporation Processing a data packet
DE10345535B4 (de) * 2003-09-30 2005-10-06 Siemens Ag Überprüfung der Verfügbarkeit eines Servers
US7363369B2 (en) * 2003-10-16 2008-04-22 International Business Machines Corporation Monitoring thread usage to dynamically control a thread pool
US8726278B1 (en) * 2004-07-21 2014-05-13 The Mathworks, Inc. Methods and system for registering callbacks and distributing tasks to technical computing works
US7213099B2 (en) * 2003-12-30 2007-05-01 Intel Corporation Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches
JP4297792B2 (ja) * 2004-01-08 2009-07-15 株式会社リコー Webサーバ組み込みビジネス機器
CA2491274A1 (en) * 2004-01-08 2005-07-08 Lpi Level Platforms, Inc. A method and system for secure remote access to computer systems and networks
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US7739418B2 (en) * 2004-04-12 2010-06-15 Hewlett-Packard Development Company, L.P. Resource management system
US7689998B1 (en) * 2004-07-13 2010-03-30 Microsoft Corporation Systems and methods that manage processing resources
US7908313B2 (en) * 2004-07-21 2011-03-15 The Mathworks, Inc. Instrument-based distributed computing systems
US7415470B2 (en) * 2004-08-12 2008-08-19 Oracle International Corporation Capturing and re-creating the state of a queue when migrating a session
US7502824B2 (en) * 2004-08-12 2009-03-10 Oracle International Corporation Database shutdown with session migration
DE102004062116B3 (de) * 2004-12-23 2006-05-11 Ab Skf Lageranordnung für einen Computertomographen
US9176772B2 (en) * 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
US9183347B1 (en) * 2005-02-17 2015-11-10 The Mathworks, Inc. Methods and system for simulation of chemical and biological processes in a distributed technical computing environment
JP2006293885A (ja) * 2005-04-14 2006-10-26 I Broadcast:Kk 情報配信システムと方法およびプログラム
JP5011927B2 (ja) * 2006-10-02 2012-08-29 セイコーエプソン株式会社 アプリケーション実行システム、コンピュータ、アプリケーション実行システムのアプリケーション実行方法およびプログラム
US8738703B2 (en) 2006-10-17 2014-05-27 Citrix Systems, Inc. Systems and methods for providing online collaborative support
US7934027B2 (en) * 2007-01-19 2011-04-26 Hewlett-Packard Development Company, L.P. Critical resource management
US8125796B2 (en) 2007-11-21 2012-02-28 Frampton E. Ellis Devices with faraday cages and internal flexibility sipes
US7441135B1 (en) 2008-01-14 2008-10-21 International Business Machines Corporation Adaptive dynamic buffering system for power management in server clusters
US8031713B2 (en) * 2008-01-29 2011-10-04 International Business Machines Corporation General multi-link interface for networking environments
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
WO2009123868A2 (en) 2008-04-04 2009-10-08 Level 3 Communications, Llc Handling long-tail content in a content delivery network (cdn)
US8516080B2 (en) 2008-12-03 2013-08-20 Mobophiles, Inc. System and method for providing virtual web access
US8949842B2 (en) * 2008-12-31 2015-02-03 AT&T Intellectual I, L.P. Method and apparatus for locating load-balanced facilities
US8886787B2 (en) * 2009-02-26 2014-11-11 Microsoft Corporation Notification for a set of sessions using a single call issued from a connection pool
US8549038B2 (en) * 2009-06-15 2013-10-01 Oracle International Corporation Pluggable session context
US9021510B2 (en) 2009-12-04 2015-04-28 International Business Machines Corporation Remote procedure call (RPC) bind service with physical interface query and selection
US8266639B2 (en) * 2009-12-04 2012-09-11 International Business Machines Corporation Remote procedure call (RPC) bind service with physical interface query and selection
US8429735B2 (en) 2010-01-26 2013-04-23 Frampton E. Ellis Method of using one or more secure private networks to actively configure the hardware of a computer or microchip
US8516284B2 (en) 2010-11-04 2013-08-20 International Business Machines Corporation Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint
US10067547B2 (en) * 2012-06-28 2018-09-04 Intel Corporation Power management control of remote servers
US10666574B2 (en) 2015-09-28 2020-05-26 Amazon Technologies, Inc. Distributed stream-based database triggers
US10289617B2 (en) 2015-12-17 2019-05-14 Oracle International Corporation Accessing on-premise and off-premise datastores that are organized using different application schemas
US10387387B2 (en) 2015-12-17 2019-08-20 Oracle International Corporation Enabling multi-tenant access to respective isolated data sets organized using different application schemas
US10303894B2 (en) 2016-08-31 2019-05-28 Oracle International Corporation Fine-grained access control for data manipulation language (DML) operations on relational data
CN110134698A (zh) * 2019-04-15 2019-08-16 平安普惠企业管理有限公司 数据管理方法及相关产品
CN113946430B (zh) * 2021-12-20 2022-05-06 北京并行科技股份有限公司 一种作业调度方法、计算设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0319796B1 (en) * 1987-11-26 1995-08-16 Hitachi, Ltd. Job control for an on-line system
US5062037A (en) * 1988-10-24 1991-10-29 Ibm Corp. Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
JP2967999B2 (ja) * 1989-07-06 1999-10-25 富士通株式会社 プロセスの実行多重度制御処理装置
US5339392A (en) * 1989-07-27 1994-08-16 Risberg Jeffrey S Apparatus and method for creation of a user definable video displayed document showing changes in real time data
EP0473913A3 (en) * 1990-09-04 1992-12-16 International Business Machines Corporation Method and apparatus for providing a service pool of virtual machines for a plurality of vm users
US5249290A (en) * 1991-02-22 1993-09-28 At&T Bell Laboratories Method of and apparatus for operating a client/server computer network
US5329619A (en) * 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
JPH076043A (ja) * 1993-03-05 1995-01-10 Mitsubishi Electric Corp マルチスレッド・サーバ
JP2508589B2 (ja) * 1993-05-25 1996-06-19 日本電気株式会社 サ―バ運用方式
JPH06332834A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd リモートプロシジャコール方法
US5553242A (en) * 1993-11-03 1996-09-03 Wang Laboratories, Inc. Client/server connection sharing
EP0694837A1 (en) * 1994-07-25 1996-01-31 International Business Machines Corporation Dynamic workload balancing
US5581552A (en) * 1995-05-23 1996-12-03 At&T Multimedia server
US5603029A (en) * 1995-06-07 1997-02-11 International Business Machines Corporation System of assigning work requests based on classifying into an eligible class where the criteria is goal oriented and capacity information is available

Also Published As

Publication number Publication date
EP0794491B1 (en) 2004-04-14
KR970068309A (ko) 1997-10-13
JPH09319600A (ja) 1997-12-12
DE69728601T2 (de) 2005-03-17
US5761507A (en) 1998-06-02
EP0794491A2 (en) 1997-09-10
EP0794491A3 (en) 1999-01-13
DE69728601D1 (de) 2004-05-19
JP3364575B2 (ja) 2003-01-08

Similar Documents

Publication Publication Date Title
KR100237984B1 (ko) 원격 절차 호출 실행 방법 및 트랜잭션 매니저
US6192389B1 (en) Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
EP0817043B1 (en) Apparatus and method for operating an aggregation of server computers using a dual-role proxy server computer
EP0362107B1 (en) Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
KR100383381B1 (ko) 제한된메모리컴퓨터시스템에서의클라이언트관리흐름제어를위한방법과장치
US6085217A (en) Method and apparatus for controlling the assignment of units of work to a workload enclave in a client/server system
EP0426323B1 (en) Portable, resource sharing file server using co-routines
US5060140A (en) Universal programmable data communication connection system
EP0817445B1 (en) Apparatus and method for indentifying server computer aggregation topologies
US7246167B2 (en) Communication multiplexor using listener process to detect newly active client connections and passes to dispatcher processes for handling the connections
US6345296B1 (en) Method system and computer program product for providing pull model data communication
US6047338A (en) System for transferring a data directly from/to an address space of a calling program upon the calling program invoking a high performance interface for computer networks
EP0312739A2 (en) Apparatus and method for interconnecting an application of a transparent services access facility to a remote source
WO2003071435A1 (en) Management of message queues
JP3308026B2 (ja) 二重プロセス表示サーバシステム
US5592673A (en) Loosely coupled compound computer system using lock and semaphore mechanism for performing exclusive control of shared resource which is accessed through a distinct bus
EP1322097A1 (en) A method and computer system for client server inter process communication
IM management, device management, virtual file system management and other functions. Configurable components are components that provide specific functional requirements for different airborne software, mainly including C
KR100442599B1 (ko) 교환 시스템에서 워크스테이션의 분산 객체를 이용한메시지 처리 장치 및 방법
US7475031B1 (en) Communication interface for providing accounting support for print services
EP0958688B1 (en) Method and system for data communication using an intraconnect architecture
KR19980086588A (ko) Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴
KR19980086586A (ko) Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴
KR960006472B1 (ko) TICOM IOP 환경에서 FDDI펌웨어(firmware) 구동방법
JP2000267960A (ja) プロセス間のパケット通信方法及びパケット通信装置

Legal Events

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

Payment date: 20100824

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee