KR20070059956A - 서버 애플리케이션의 선택적 활성화 방법, 컴퓨터 네트워크시스템 및 프로그램 저장 장치 - Google Patents
서버 애플리케이션의 선택적 활성화 방법, 컴퓨터 네트워크시스템 및 프로그램 저장 장치 Download PDFInfo
- Publication number
- KR20070059956A KR20070059956A KR1020060113334A KR20060113334A KR20070059956A KR 20070059956 A KR20070059956 A KR 20070059956A KR 1020060113334 A KR1020060113334 A KR 1020060113334A KR 20060113334 A KR20060113334 A KR 20060113334A KR 20070059956 A KR20070059956 A KR 20070059956A
- Authority
- KR
- South Korea
- Prior art keywords
- server
- application
- applications
- state
- network system
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/12—Arrangements for remote connection or disconnection of substations or of equipment thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 컴퓨터 네트워크 시스템 내에서 서버 애플리케이션을 선택적으로 활성화하는 방법을 개시한다. 컴퓨터 네트워크 시스템은 서버 컴퓨터, 복수의 클라이언트 컴퓨터, 서버 컴퓨터 상에 로딩되는 서버 애플리케이션의 세트 및 상기 서버 애플리케이션의 활성화를 관리하는 소정의 프로토콜 스택을 포함한다. 이러한 방법은 시스템 관리자가 네트워크 시스템의 복수의 상태를 정의하는 단계와, 각각의 서버 애플리케이션이 각각의 상태로 활성화될 수 있는지 여부를 판정하기 위한 조건을 지정하는 단계를 포함한다. 다음에 소정의 프로토콜 스택은 지정된 조건에 따라서 서버 애플리케이션의 활성화를 관리한다.
Description
도 1은 본 발명을 사용할 수 있는 컴퓨터 네트워크 시스템을 도시하는 도면.
도 2는 본 발명을 구현할 수 있는 도 1의 시스템의 서버를 도시하는 단순화된 블록도.
도 3은 본 발명에 따른 선택적 활성화를 나타내는 도면.
도면의 주요 부분에 대한 부호의 설명
100 : 데이터 처리 시스템 102 : 네트워크
104 : 서버 106 : 저장 유닛
108, 110, 112 : 클라이언트
기술 분야
본 발명은 일반적으로 컴퓨터 네트워크에 관한 것이고, 보다 구체적으로는 하나 이상의 서버 애플리케이션을 구비하는 컴퓨터 네트워크에 관한 것이다. 보다 더 구체적으로, 본 발명은 이러한 서버 애플리케이션이 활성화되는 시기를 판정하는 절차에 관한 것이다.
종래 기술
컴퓨터 네트워크는 점점 널리 보급되고, 회사, 대학 및 정부를 포함하는 여러 종류의 기업에게 점차 중요해지고 있다. 일반적으로, 컴퓨터 네트워크는 통신 장치에 의해 접속되는 2개 이상의 컴퓨터(또는 연결 장치)이다. 한가지 타입의 컴퓨터 네트워크로는 클라이언트/서버 네트워크가 있다. 클라이언트/서버 네트워크는 네트워크의 사용자에게 공유 리소스를 제공하는 컴퓨터 또는 프로세스인 서버와, 통신 장치를 이용하여 서버에 의해 제공되는 공유 네트워크 리소스를 액세스하는 컴퓨터 또는 프로세스인 클라이언트를 포함한다.
일반적으로, 클라이언트/서버 네트워크 내의 클라이언트는 서버에게 요청을 전달하는 것에 의해 서버로부터 정보를 획득한다. 서버가 요청을 수신할 때, 서버 상의 서버 애플리케이션은 요청된 정보를 획득하고, 네트워크를 통해 클라이언트에게 정보를 전달하는 것에 의해 요청을 충족시킨다. 인터넷(WWW(World Wide Web)을 통해 이루어짐)은 클라이언트/서버 네트워크의 일례이다. 인터넷은 클라이언트가 원격 서버에 위치된 데이터를 요청 및 수신할 수 있게 하는 공용 WAN(wide-area network)이다.
서버 컴퓨터는 네트워크를 거쳐 서버 컴퓨터와 클라이언트 컴퓨터 사이에서 데이터의 패킷을 물리적으로 송신 및 수신하는 네트워크 어댑터 카드를 포함한다. 서버 컴퓨터는 또한 데이터를 처리하는 소프트웨어인 서버 애플리케이션을 포함한다. 예를 들면, 서버 애플리케이션은 데이터베이스 공급(database serving), 파일 공급 및 트랜잭션(transaction) 처리를 포함할 수 있다. 각각의 서버 애플리케이션은 네트워크 어댑터 카드를 통해 네트워크를 액세스할 수 있다. 보다 구체적으로, 하나 이상의 스레드(threads)로 이루어진 애플리케이션 프로세스는 소켓(socket)을 통해 네트워크 어댑터 카드에 접속되는데, 이 소켓은 서버 애플리케이션의 스레드가 네트워크 어댑터 카드의 가상 포트와 통신할 수 있게 하는 소프트웨어 객체이다.
여러 서버에서, 이러한 서버 애플리케이션의 몇몇 측면은 프로토콜의 규정된 계층인 스택으로서 지칭되는 메커니즘에 의해 관리된다. 이러한 프로토콜은 특정 애플리케이션이 개시되기 전에 충족되어야만 하는 조건을 제시할 수 있고, 리소스 획득을 위해 경쟁하는 애플리케이션들 사이에 우선 순위를 결정할 수 있다. 인터넷에 접속된 서버 상에서, 이러한 프로토콜 스택은 TCP/IP(Transmission Control Protocol/Internet Protocol) 스택으로서 지칭된다.
예를 들면, 시스템 초기화 동안에, 시스템 리소스 및 서비스는 제한된다. 이러한 제한은 시스템 초기화가 완료될 때까지 TCP/IP 소켓 애플리케이션이 개시되지 못하게 한다. 대부분의 플랫폼에서, 모든 소켓 애플리케이션은 시스템이 초기화되고 네트워크가 개시될 때에만 개시될 수 있다. 몇몇 애플리케이션은 해당 애플리케이션에 의해 요구되는 구성 데이터가 원격 시스템으로부터 최초로 업로딩되 지 않으면 정확하게 개시되지 않을 것이다. 이러한 구성 데이터의 예로는 항공 운임 규칙 및 현재 재고(current inventory)/가격 데이터가 있다. 애플리케이션을 개시하기 전에 조작자가 데이터를 수동으로 업로딩하는 절차는 에러를 유발하기 쉬운 것으로 확인되었다. 소비자의 요구 사항은 원격 플랫폼과 대화하는 시스템 초기화 프로세스 동안에 특정한 시스템 서비스를 개시할 수 있게 하는 것이다. 구성 데이터를 업로딩하는 것 외에, 다른 예로는 초기화 프로세스 동안에 원격 조작자가 서버에 액세스할 수 있게 하는 필요성이 존재한다.
본 발명의 목적은 컴퓨터 네트워크 시스템에서 서버의 시스템 관리자가 소정의 서버 소켓 애플리케이션이 개시될 시기를 지정할 수 있게 하는 것이다.
본 발명의 다른 목적은 컴퓨터 네트워크 시스템의 시스템 관리자가 여러 시스템 상태를 정의할 수 있게 하고, 소정의 소켓 애플리케이션이 서버 상에서 개시될 수 있는 시기를 지정할 수 있게 하는 것이다.
본 발명의 또 다른 목적은 컴퓨터 네트워크 시스템의 서버가 시스템 초기화 동안에 소켓 애플리케이션의 서브세트를 개시할 수 있는 가능성을 제공하는 것이다.
본 발명의 다른 목적은 컴퓨터 네트워크 시스템 내에서, 시스템 구성 데이터 및 애플리케이션 데이터가 원격 시스템으로부터 업로딩되게 하는 등의 동작을 허용하고, 또한 원격 조작자가 초기화 프로세스 동안에 서버를 액세스하게 하여 시스템 초기화를 완료하는 데 필요한 동작을 실행할 수 있는 가능성을 제공하는 것이다.
이러한 목적 및 다른 목적은 컴퓨터 네트워크 시스템 내에서 서버 애플리케이션의 선택적 활성화 방법에 의해 달성된다. 컴퓨터 네트워크 시스템은 서버 컴퓨터, 복수의 클라이언트 컴퓨터, 서버 컴퓨터 상에 로딩되는 서버 애플리케이션의 세트 및 서버 애플리케이션의 활성화를 관리하는 소정의 프로토콜 스택을 포함한다. 이러한 방법은 시스템 관리자가 네트워크 시스템의 복수의 상태를 정의하는 단계와, 각각의 서버 애플리케이션이 각각의 상태로 활성화될 수 있는지 여부를 판정하기 위한 조건을 지정하는 단계를 포함한다. 다음에 소정의 프로토콜 스택은 지정된 조건에 따라서 서버 애플리케이션의 활성화를 관리한다.
이하에 상세하게 설명되는 본 발명의 바람직한 실시예는 시스템 관리자가 여러 시스템 상태를 정의할 수 있게 하고, 소정의 소켓 애플리케이션이 소정의 상태로 개시될 수 있는 시기를 지정하도록 허용한다. TCP/IP 스택은 그 정의된 최소의 시스템 상태에 도달하기 전에는 애플리케이션이 개시되도록 허용하지 않을 것이다. 본 발명은 INETD(Internet Daemon) 내에 통합되어 INETD가 해당 애플리케이션이 그 요구되는 최소의 시스템 상태에 도달할 때 자동적으로 개시되게 할 수 있다. 이러한 애플리케이션은 또한 최소의 시스템 상태에 도달된 후에 수동으로 개시되거나, 임의의 다른 방법에 의해 개시될 수 있다.
예를 들면, 애플리케이션이 개시되기 전에 FTP를 통해 애플리케이션을 위한 구성 파일을 업로딩하기 위해서, FTP는 구성 파일을 필요로 하는 애플리케이션이 개시되도록 허용되기 전에 시스템 상태로 개시될 수 있다. 다른 예로는 본 발명을 이용하여 오버로딩 상태(overload situations)를 처리하고, 상위 우선 순위 애플리케이션에 대한 트래픽을 한정하는 것이 있다. 예를 들면, 서버는 (최저로부터 최고 순위로) 제한된 상태, 상위-우선 순위 전용(HIGH-PRIORITY-ONLY) 상태, 한정된 트래픽(LIMITED TRAFFIC) 상태 및 정규(NORMAL) 상태 등의 시스템 상태를 가질 수 있다.
이러한 시스템은 초기화 동안에 제한된 상태가 된다. 오로지 특정한 애플리케이션(FTP 및 원격 조작자 명령 장치 등)만이 실행되도록 허용된다. 초기화가 완료된 후, 시스템은 정규 상태에 도달하고 여기에서 모든 애플리케이션이 실행될 수 있다. 시스템이 정규 상태이고, (CPU 사용량, 메모리 사용량 또는 다른 사용자 정의 기준에 기초하여) 특정 리소스 임계치에 도달하면, 시스템은 한정된 트래픽 상태가 되어 몇몇 애플리케이션이 실행되는 것을 방지한다. 리소스가 더욱 고갈되면, 시스템은 상위-우선 순위-전용 상태가 되어 오로지 최고 우선 순위 애플리케이션만으로 트래픽을 제한한다.
본 발명의 다른 이점 및 장점은 본 발명의 바람직한 실시예를 지정 및 표시하는 첨부된 도면을 참조하여 제시된 이하의 상세한 설명을 고찰하는 것에 의해 명확해질 것이다.
도 1은 본 발명을 구현할 수 있는 컴퓨터의 네트워크인 분산형 데이터 처리 시스템(100)을 도시한다. 처리 시스템(100)은 데이터 처리 시스템(100) 내에 접속 된 여러 장치 및 컴퓨터 사이에 통신 링크를 제공하는 데 이용되는 매체인 네트워크(102)를 포함한다. 네트워크(102)는 회선(wire) 또는 광섬유 케이블 등과 같은 영구적 접속 또는 전화 접속을 통해 형성된 일시적 접속을 포함할 수 있다. 접속은 컴퓨터 내부 및 외부를 향하는 포트로 알려진 경로를 통해 이루어진다. 도시된 예에서, 서버(104)는 저장 유닛(106)과 함께 네트워크(102)에 접속된다. 또한, 클라이언트(108, 110, 112)도 네트워크(102)에 접속된다. 이러한 클라이언트(108, 110, 112)는 예를 들면, 퍼스널 컴퓨터 또는 네트워크 컴퓨터일 수 있다.
네트워크 컴퓨터는 네트워크에 결합된 다른 컴퓨터로부터 프로그램 또는 다른 애플리케이션을 수신하는 네트워크에 결합된 임의의 컴퓨터로서 간주된다. 도시된 예에서, 서버(104)는 클라이언트(108-112)에 부팅 파일, 운영 시스템 이미지 및 애플리케이션 등과 같은 데이터를 제공한다. 클라이언트(108, 110, 112)는 서버(104)에 대한 클라이언트이다. 분산형 데이터 처리 시스템(100)은 도시되지 않은 추가적인 서버, 클라이언트 및 다른 장치를 포함할 수 있다. 분산형 데이터 처리 시스템(100)은 또한 프린터(114, 116, 118)를 포함한다. 클라이언트(110) 등과 같은 클라이언트는 프린터(114)에 직접적으로 인쇄할 수 있다. 클라이언트(108) 및 클라이언트(112) 등과 같은 클라이언트는 직접 연결된 프린터를 갖지 않는다. 이러한 클라이언트는 서버(104)에 연결된 프린터(116)에 대해 인쇄하거나, 문서 인쇄를 위해 컴퓨터에 대한 접속을 요구하지 않는 네트워크 프린터인 프린터(118)에 대해 인쇄할 수 있다. 이와 다르게, 클라이언트(110)는 프린터 타입 및 문서 요건에 따라서 프린터(116) 또는 프린터(118)로 인쇄할 수 있다.
도시된 예에서, 분산형 데이터 처리 시스템(100)은 서로 통신하기 위해 프로토콜의 TCP/IP 집합을 이용하는 네트워크 및 게이트웨이의 전세계적 집합을 나타내는 네트워크(102)를 갖는 인터넷이다. 인터넷의 중심부에는 데이터 및 메시지를 라우팅하는 수 천 개의 상업, 정부, 교육 및 그 외의 컴퓨터 시스템으로 이루어진 주요 노드 또는 호스트 컴퓨터 사이에 있는 고속 데이터 통신 라인의 백본(backbone)이 있다. 물론, 분산형 데이터 처리 시스템(100)은 또한 예를 들면 인트라넷 또는 근거리 네트워크 등과 같은 다수의 서로 다른 타입의 네트워크로서 구현될 수 있다.
도 1은 일례로서 제공되었고, 본 발명의 프로세스에 대한 구조적 한계로서 의도된 것이 아니다.
도 2를 참조하면, 도 1의 서버(104) 등과 같이 서버로서 구현될 수 있는 데이터 처리 시스템(200)에 대한 단순화된 블록도가 본 발명에 따라서 도시되어 있다. 도 2에 도시된 바와 같은 서버(200)는 애플리케이션(202), INETD(204), 리소스 모니터(206)(CPU(210), 메모리(212) 및 서버 내의 다른 리소스를 검사하기 위한 것임), TCP/IP 스택(214), 및 네트워크 어댑터(216)를 포함한다. 원격 클라이언트로부터의 메시지는 네트워크 어댑터를 통해 서버로 전달된 다음, TCP/IP 스택으로 전달되는데, 이 TCP/IP 스택은 리소스 모니터와 인터페이스로 연결되어 애플리케이션 또는 소켓에 할당된 우선 순위에 기초하여, 애플리케이션에 메시지를 전달하기 위해 충분한 이용 가능 리소스가 존재하는지 여부를 판정한다. 그 판정 결과가 "예"라면, 메시지는 처리를 위해 애플리케이션으로 전달된다. 판정 결과가 "아니 오"라면, 메시지는 필수적인 리소스가 이용 가능하게 될 때까지 TCP/IP 스택 내에 내부적으로 큐잉(queued)된다(TCP/IP 스택은 또한 "하위 우선 순위" 메시지를 폐기하는 선택 사항을 갖는다). 다시 말해서, TCP/IP 스택은 서버가 정규 상태가 아닌 동안에 네트워크로부터 데이터가 도착하지 않는 것처럼 애플리케이션이 착각하게 만든다.
당업자라면 서버 컴퓨터(200)가 도 2에 도시되지 않은 추가 또는 대체 구성 요소를 포함할 수 있다는 것을 이해할 것이다. 예를 들면, 광학 디스크 드라이브 등과 같은 다른 주변 장치도 도시된 하드웨어에 추가 또는 대체하여 사용될 수 있다. 도시된 예는 본 발명에 대한 구조적 한계를 의도하지 않는다.
도 2에 도시된 데이터 처리 시스템은 예를 들면, 뉴욕 아몬크에 소재한 인터내셔널 비지네스 머신즈 코포레이션의 제품으로서, AIX(Advanced Interactive Executive) 운영 시스템을 실행하는 IBM RS/6000일 수 있다.
서버 애플리케이션(202)은 데이터베이스 공급, 파일 공급 및 트랜잭션 처리를 포함할 수 있다. TCP/IP 스택(214)은 서버 애플리케이션의 특정 측면을 관리하기 위해 제공되고, 예를 들면, 스택(214)은 특정 애플리케이션이 개시되기 전에 충족되어야만 하는 최소의 조건을 결정 또는 식별할 수 있고, 애플리케이션이 접속되는 소켓을 결정할 수 있다.
본 발명에 따르면, 시스템(100)의 관리자는 소정의 서버 소켓 애플리케이션이 개시될 시점(예를 들면, 시스템 초기화 도중 또는 초기화가 완료된 이후에만)을 지정하는 기능을 구비한다. 이를 위해서, 도 3을 참조하면 단계(302)에서 관리자 는 여러 시스템 상태를 정의하고, 단계(304)에서 이들 상태 중 어떤 상태에서 소정의 서버 소켓 애플리케이션이 개시될 수 있는지를 지정한다. TCP/IP 스택은 그 정의된 최소 시스템 상태가 도달되기 전에는 애플리케이션이 개시되도록 허용하지 않을 것이다.
예를 들면, 애플리케이션이 개시되기 전에 FTP를 통해 애플리케이션에 대한 구성 파일을 업로딩하기 위해서, FTP는 구성 파일을 필요로 하는 애플리케이션이 개시되도록 허용되기 전에 시스템 상태로 개시될 수 있다. 다른 예로는, 본 발명을 이용하여 오버로드 상태를 처리하고 상위 우선 순위 애플리케이션으로 트래픽을 한정하는 것이 있다. 예를 들면, 서버는 (최저로부터 최고 순위로) 제한된 상태, 상위-우선 순위 전용 상태, 한정된 트래픽 상태 및 정규 상태 등의 시스템 상태를 가질 수 있다.
이러한 시스템은 초기화 동안에 제한된 상태가 된다. 오로지 특정한 애플리케이션(FTP 및 원격 콘솔 등)만이 실행되도록 허용된다. 초기화가 완료된 후, 시스템은 정규 상태에 도달하고 여기에서 모든 애플리케이션이 실행될 수 있다. 시스템이 정규 상태이고, 특정 리소스 임계치에 도달하면, 시스템은 한정된 트래픽 상태가 되어 입력된 메시지가 TCP/IP 스택에 의해 하위 우선 순위 애플리케이션으로 전달되는 것이 방지된다. 리소스가 더욱 고갈되면, 시스템은 상위-우선 순위-전용 상태가 되어 오로지 최고 우선 순위 애플리케이션만으로 트래픽을 제한한다.
본 발명의 바람직한 실시예에 대한 중요한 특징은 우선 순위가 단지 애플리케이션 레벨에서 이뤄지는 것이 아니라는 점이다. 예를 들면, 애플리케이션(X)에 접속된 모든 클라이언트에게 상위 우선 순위를 할당하는 것 대신에, 서로 다른 클라이언트에 서로 다른 우선 순위를 할당하여 애플리케이션(X)에 접속된 몇몇 클라이언트가 상위 우선 순위를 갖고, 다른 클라이언트가 하위 우선 순위를 갖게 할 수 있다. 서버 애플리케이션이 여러 사업 파트너와 관계를 가질 수 있고, 그 사업 파트너 중 몇몇은 상시 처리를 필요로 하는 주요 파트너일 수 있기 때문에 이러한 점이 중요한 것이다. 우선 순위값은 서버(서버 시스템 관리자 또는 서버 애플리케이션)에 의해 할당된다―우선 순위값은 클라이언트 노드/애플리케이션에 의해 할당되지 않는다. 우선 순위값은 메시지 그 자체의 일부분으로서 전달되지 않는다. 이 예에서 우선 순위는 해당 메시지가 서버 노드에 의해 처리될 수 있는 우선 순위를 지칭한다. 이러한 우선 순위값은 네트워크 우선 순위값이 아니고, 이것은 다시 말해서 서버에 의해 할당된 우선 순위값이 메시지가 네트워크 내에서 전달되는 방식에 영향을 주지 않는 것을 의미한다. 차별화된 서비스 등과 같이, 메시지가 네트워크 내에서 전달될 때 서로 다른 우선 순위를 메시지에 할당하는 데 이용될 수 있는 다른 방법/프로토콜이 존재한다.
본 발명은 INETD(Internet Daemon) 내에 통합되어 INETD가 그 요구되는 최소 시스템 상태에 도달될 때 자동적으로 애플리케이션을 개시하게 할 수 있다. 애플리케이션은 또한 최소 시스템 상태에 도달된 후에 수동으로 개시되거나 임의의 다른 방법에 의해 개시될 수 있다.
본 발명의 바람직한 실시예는 다수의 중요한 이점을 제공한다. 예를 들면, 본 발명은 서버가 시스템 초기화 동안에 소켓 애플리케이션의 서브세트를 개시하는 기능을 제공한다. 이것은 시스템 구성 데이터 및 애플리케이션 데이터가 원격 시스템으로부터 업로딩되게 하는 등의 동작을 가능하게 한다. 이러한 기능은 또한 원격 조작자가 초기화 프로세스 동안에 서버에 액세스하여 시스템 초기화를 완료하는 데 필요한 동작을 실행할 수 있게 한다.
본 발명과 다른 플랫폼 상에서의 구현 사이의 주된 차이점은, 본 발명에 따르면 서버가 리소스 부족 상태인 경우에도 네트워크로부터 트래픽을 판독할 수 있도록 허용한다는 점이다. 대부분의 시스템에서, 서버가 리소스 부족 상태로 실행되면 서버는 새로운 트래픽이 도착하는 것을 방지하고, 네트워크 어댑터로부터의 판독을 중지시킨다. 본 발명에 따르면, 트래픽이 판독되고 상위 우선 순위 메시지가 계속 처리된다. 이러한 상위 우선 순위 메시지는 애플리케이션이 리소스 제한으로부터 해제되게 하거나, 원격 조작자가 고장난 장치를 수리하도록 명령할 수 있게 하여 또한 리소스 제한으로부터 해제되게 하고 서버가 정규 상태로 복귀될 수 있게 한다.
본 발명의 다른 중요한 측면은, 본 발명이 메시지 분실을 감소하고, 에러 복원 처리(재전송된 메시지 등)를 향상시키는 데 효과적으로 이용될 수 있다는 점이다. 전통적인 서버에서, 서버가 네트워크 어댑터로부터의 판독을 중지하면, 서버를 향하도록 정해진 패킷은 폐기된다. 이것은 원격 클라이언트 상에서 타임아웃 조건(timeout conditions)을 유발하여 클라이언트가 해당 메시지를 재전송하도록 유도한다. 이것은 네트워크 트래픽이 증가되게 한다. 이것은 또한 최종 사용자(클라이언트)에 대한 응답 시간 지연을 초래할 수 있다. 예를 들면, 0초의 시간에 서, 서버는 리소스 부족 상태로 실행되고, 네트워크 어댑터로부터의 판독을 중지한다. 0.1초의 시간에서, 클라이언트로부터의 메시지는 서버 네트워크 어댑터에 도달하고, 어댑터의 버퍼가 최대로 채워져 있으므로 이 메시지는 폐기된다. 0.3초의 시간에서, 리소스가 이용 가능해지고 서버는 다시 네트워크 어댑터로부터의 판독을 개시한다. (클라이언트 메시지가 서버에 의해 인식되지 않기 때문에) 클라이언트가 타임아웃이 되어 메시지를 재전송하기 위해서는 1.5초까지의 시간이 소요된다. 재전송된 메시지는 1.6초의 시간에 서버에 도달하고, 그 후 응답 메시지는 1.7초의 시간에 클라이언트에 다시 도달하며 트랜잭션이 완료된다.
본 발명에 따르면, 동일한 예를 이용할 때 그 트랜잭션이 훨씬 빠르게 완료된다. 특히, 이 예에서 0.1초의 시간에, 클라이언트로부터의 메시지는 네트워크 어댑터에 도달하고, 서버에 의해 판독된다. 이러한 메시지는 하위 우선 순위 애플리케이션/소켓을 위한 것이므로, 서버는 이 메시지를 내부적으로 큐잉한다. 0.3초의 시간에서, 리소스는 다시 이용 가능해져서 서버는 큐잉된 메시지의 처리를 시작한다. 서버 애플리케이션은 0.4초의 시간에 클라이언트에 도달한 응답 메시지를 전달하고 트랜잭션은 완료된다. 예전의 모델에서는, 트랜잭션을 완료하는 데 1.7초의 시간이 소요되었으나(또한 메시지는 2회 전달되어야 했음), 본 발명에 따르면 그와는 다르게 트랜잭션을 완료하는 데 0.4초의 시간만이 소요되었다(또한 메시지는 오로지 1회만 전달됨).
당업자라면 쉽게 이해할 수 있듯이, 본 발명은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 임의의 종류의 컴퓨터/서버 시스템(들)―또는 본 명세서에 설명된 방법을 실행할 수 있는 다른 장치―도 적합하다. 하드웨어 및 소프트웨어의 전형적인 조합은 로딩 및 실행될 때 본 명세서에 개시된 각 방법을 실행하는 컴퓨터 프로그램을 갖는 범용 컴퓨터 시스템이 될 수 있다. 이와 다르게, 본 발명의 하나 이상의 기능적 작업을 실행하는 전문용 하드웨어를 포함하는 특수용 컴퓨터를 이용할 수도 있다.
본 발명은 또한 본 명세서에 설명된 방법의 구현을 가능하게 하는 각 특징을 모두 포함하고, ―컴퓨터 시스템 상에 로딩될 때― 이러한 방법을 실행할 수 있는 컴퓨터 프로그램 제품으로 구현될 수 있다. 본 명세서의 문맥 내에서 컴퓨터 프로그램, 소프트웨어 프로그램, 프로그램 또는 소프트웨어는 임의의 언어, 코드 또는 표기법으로 된 임의의 표현을 의미하는데, 이 임의의 표현은 정보 처리 기능을 갖는 시스템이 직접적으로, 또는 (a) 다른 언어, 코드 또는 표기법으로의 변환 및/또는 (b) 다른 자료 형태로의 재생 중 어느 하나 또는 모두를 수행한 후에, 특정한 기능을 수행하게 하도록 의도된 인스트럭션의 세트에 대한 표현일 수 있다.
본 명세서에 개시된 본 발명은 상술된 목적을 실행하도록 잘 계획된 것임이 명확한 한편, 당업자에 의해 여러 변형 및 실시예가 고려될 수 있다는 것을 인식할 수 있고, 첨부된 청구항은 이러한 모든 변형 및 실시예가 본 발명의 진정한 정신 및 범주에 속하도록 의도되었다는 것을 이해할 것이다.
본 발명은 컴퓨터 네트워크 시스템 내에서 서버 애플리케이션의 선택적 활성 화 방법을 제공함으로써, 컴퓨터 네트워크 시스템의 시스템 관리자가 여러 시스템 상태를 정의할 수 있게 하고, 소정의 소켓 애플리케이션이 서버 상에서 개시될 수 있는 시기를 지정할 수 있게 한다.
Claims (18)
- 컴퓨터 네트워크 시스템 내에서 서버 애플리케이션을 선택적으로 활성화하는 방법으로서,상기 컴퓨터 네트워크 시스템은 서버 컴퓨터, 복수의 클라이언트 컴퓨터, 상기 서버 컴퓨터 상에 로딩되는 서버 애플리케이션의 세트 및 상기 서버 애플리케이션의 활성화를 관리하는 소정의 프로토콜 스택을 포함하고,상기 방법은(a) 시스템 관리자가 상기 네트워크 시스템에 대한 복수의 상태를 정의하는 단계와,(b) 상기 시스템 관리자가, 각각의 상기 서버 애플리케이션이 상기 상태의 각각에서 활성화될 수 있는지 여부를 판정하기 위한 조건을 지정하는 단계와,(c) 상기 소정의 프로토콜 스택이 상기 지정된 조건에 따라서 상기 서버 애플리케이션의 활성화를 관리하는 단계를 포함하는 서버 애플리케이션의 선택적 활성화 방법.
- 제 1 항에 있어서,상기 네트워크 시스템은 주기적으로 초기화되고,상기 단계 (b)는 상기 서버 애플리케이션의 서브세트를 상기 시스템 초기화 동안에 활성화될 수 있는 애플리케이션으로서 지정하는 단계를 포함하는서버 애플리케이션의 선택적 활성화 방법.
- 제 1 항에 있어서,상기 지정된 조건은 적어도 몇 개의 상기 애플리케이션이 각각 상기 상태 중 적어도 하나의 상태로 활성화되기 이전에 충족되어야 하는 최소의 조건을 포함하는서버 애플리케이션의 선택적 활성화 방법.
- 제 3 항에 있어서,상기 소정의 프로토콜 스택, INETD, 정책 에이전트(policy agent) 또는 그 임의의 조합은 정의된 최소의 시스템 상태에 도달하기 전에 애플리케이션이 개시되는 것을 방지하는서버 애플리케이션의 선택적 활성화 방법.
- 제 1 항에 있어서,상기 상태는 제한된 상태(restricted state), 한정된 트래픽 상태(limited traffic state) 및 정규 상태(normal state)를 포함하고,상기 제한된 상태에서는 오로지 특정한 애플리케이션만이 실행되도록 허용되고,상기 한정된 트래픽 상태에서는 입력된 메시지가 상기 소정의 프로토콜 스택에 의해 하위 우선 순위 애플리케이션으로 전달되는 것이 방지되고,상기 정규 상태에서는 모든 상기 애플리케이션이 실행되도록 허용되는서버 애플리케이션의 선택적 활성화 방법.
- 제 5 항에 있어서,상기 서버 컴퓨터는 상기 정규 상태로부터 상기 한정된 트래픽 상태로 전이될 때 애플리케이션을 중지하지 않고, 그 대신에 상기 프로토콜 스택은 메시지가 하위 우선 순위 애플리케이션으로 전달되는 것을 방지하는서버 애플리케이션의 선택적 활성화 방법.
- 제 5 항에 있어서,상기 단계 (b)는 상기 애플리케이션의 서브세트를 최고 우선 순위 애플리케이션으로서 지정하는 단계를 포함하고,상기 상태는 상기 최고 우선 순위 애플리케이션만이 실행되도록 허용되는 상위 우선 순위 상태를 더 포함하는서버 애플리케이션의 선택적 활성화 방법.
- 컴퓨터 네트워크 시스템으로서,서버 컴퓨터와,복수의 클라이언트 컴퓨터와,상기 서버 컴퓨터 상에 로딩되는 서버 애플리케이션의 세트와,상기 서버 애플리케이션의 활성화를 관리하는 소정의 프로토콜 스택과,상기 서버 애플리케이션의 선택적 활성화를 가능하게 하는 수단을 포함하고,상기 수단은a. 시스템 관리자로부터, 상기 네트워크 시스템에 대한 복수의 상태를 정의하는 입력을 수신하는 수단과,b. 상기 시스템 관리자로부터, 각각의 상기 서버 애플리케이션이 상기 상태의 각각에서 활성화될 수 있는지 여부를 판정하기 위한 조건을 지정하는 입력을 수신하는 수단을 포함하고,상기 소정의 프로토콜 스택은 상기 지정된 조건에 따라서 상기 서버 애플리케이션의 활성화를 관리하는컴퓨터 네트워크 시스템.
- 제 8 항에 있어서,상기 네트워크 시스템은 주기적으로 초기화되고,상기 시스템 관리자로부터 조건을 지정하는 입력을 수신하는 상기 수단은, 상기 시스템 관리자로부터 상기 서버 애플리케이션의 서브세트를 상기 시스템 초기화 동안에 활성화될 수 있는 애플리케이션으로서 지정하는 입력을 수신하는 수단을 포함하는컴퓨터 네트워크 시스템.
- 제 8 항에 있어서,상기 지정된 조건은 적어도 몇 개의 상기 애플리케이션이 각각 상기 상태 중 적어도 하나의 상태로 활성화되기 이전에 충족되어야 하는 최소의 조건을 포함하는컴퓨터 네트워크 시스템.
- 제 10 항에 있어서,상기 소정의 프로토콜 스택은 정의된 최소의 시스템 상태에 도달하기 전에 애플리케이션이 개시되는 것을 허용하지 않는컴퓨터 네트워크 시스템.
- 제 8 항에 있어서,상기 상태는 제한된 상태, 한정된 트래픽 상태 및 정규 상태를 포함하고,상기 제한된 상태에서는 오로지 특정한 애플리케이션만이 실행되도록 허용되고,상기 한정된 트래픽 상태에서는 입력된 메시지가 상기 소정의 프로토콜 스택에 의해 하위 우선 순위 애플리케이션으로 전달되는 것이 방지되고,상기 정규 상태에서는 모든 상기 애플리케이션이 실행되도록 허용되는컴퓨터 네트워크 시스템.
- 제 12 항에 있어서,상기 시스템 관리자로부터 조건을 지정하는 입력을 수신하는 상기 수단은, 상기 시스템 관리자로부터 상기 애플리케이션의 서브세트를 최고 우선 순위 애플리케이션으로서 지정하는 입력을 수신하는 수단을 포함하고,상기 상태는 상기 최고 우선 순위 애플리케이션만이 실행되도록 허용되는 상위 우선 순위 상태를 더 포함하는컴퓨터 네트워크 시스템.
- 머신에 의해 실행되어 컴퓨터 네트워크 시스템 내에서 서버 애플리케이션의 선택적 활성화를 가능하게 하는 방법 단계를 실행하는 인스트럭션의 프로그램을 실제적으로 구현하는 머신 판독 가능한 프로그램 저장 장치로서,상기 컴퓨터 네트워크 시스템은 서버 컴퓨터, 복수의 클라이언트 컴퓨터, 상기 서버 컴퓨터 상에 로딩되는 서버 애플리케이션의 세트 및 상기 서버 애플리케이션의 활성화를 관리하는 소정의 프로토콜 스택을 포함하고,상기 방법 단계는(a) 시스템 관리자가 상기 네트워크 시스템을 위한 복수의 상태를 정의하게 하는 단계와,(b) 상기 시스템 관리자가 각각의 상기 서버 애플리케이션이 각각의 상기 상태로 활성화될 수 있는지 여부를 판정하기 위한 조건을 지정하게 하는 단계와,(c) 상기 소정의 프로토콜 스택이 상기 지정된 조건에 따라서 상기 서버 애플리케이션의 활성화를 관리하는 단계를 포함하는프로그램 저장 장치.
- 제 14 항에 있어서,상기 네트워크 시스템은 주기적으로 초기화되고,상기 단계 (b)는 상기 시스템 관리자가 상기 서버 애플리케이션의 서브세트 를 상기 시스템 초기화 동안에 활성화될 수 있는 애플리케이션으로서 지정할 수 있게 하는 단계를 포함하는프로그램 저장 장치.
- 제 14 항에 있어서,상기 지정된 조건은 적어도 몇 개의 상기 애플리케이션이 각각 상기 상태 중 적어도 하나의 상태로 활성화되기 이전에 충족되어야 하는 최소의 조건을 포함하는프로그램 저장 장치.
- 제 13 항에 있어서,상기 상태는 제한된 상태, 한정된 트래픽 상태 및 정규 상태를 포함하고,상기 제한된 상태에서는 오로지 특정한 애플리케이션만이 실행되도록 허용되고,상기 한정된 트래픽 상태에서는 입력된 메시지가 상기 소정의 프로토콜 스택에 의해 하위 우선 순위 애플리케이션으로 전달되는 것이 방지되고,상기 정규 상태에서는 모든 상기 애플리케이션이 실행되도록 허용되는프로그램 저장 장치.
- 제 17 항에 있어서,상기 단계 (b)는 상기 시스템 관리자가 상기 애플리케이션의 서브세트를 상위 우선 순위 애플리케이션으로서 지정하고, 상기 애플리케이션의 다른 서브세트를 하위 우선 순위 애플리케이션으로서 지정할 수 있게 하는 단계를 포함하고,상기 상태는 입력된 메시지가 상기 소정의 프로토콜 스택에 의해 하위 우선 순위 애플리케이션으로 전달되는 것이 방지되는 상위 우선 순위 상태를 더 포함하는프로그램 저장 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/296,624 | 2005-12-07 | ||
US11/296,624 US7664841B2 (en) | 2005-12-07 | 2005-12-07 | Selective activation of TCP/IP link and traffic |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070059956A true KR20070059956A (ko) | 2007-06-12 |
KR100974159B1 KR100974159B1 (ko) | 2010-08-04 |
Family
ID=38120072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060113334A KR100974159B1 (ko) | 2005-12-07 | 2006-11-16 | 서버 애플리케이션의 선택적 활성화 방법, 컴퓨터 네트워크 시스템 및 컴퓨터 판독 가능한 저장 매체 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7664841B2 (ko) |
JP (1) | JP5128117B2 (ko) |
KR (1) | KR100974159B1 (ko) |
CN (1) | CN1980239B (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100241760A1 (en) * | 2009-03-18 | 2010-09-23 | Microsoft Corporation | Web Front-End Throttling |
US20110208854A1 (en) * | 2010-02-19 | 2011-08-25 | Microsoft Corporation | Dynamic traffic control using feedback loop |
CN113225344B (zh) * | 2021-05-10 | 2022-09-30 | 深信服科技股份有限公司 | 一种访问控制方法、装置、设备及可读存储介质 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5261104A (en) | 1990-03-22 | 1993-11-09 | International Business Machines | Flexible computer initialization |
US5249270A (en) | 1991-03-29 | 1993-09-28 | Echelon Corporation | Development system protocol |
JPH0744276A (ja) | 1993-07-26 | 1995-02-14 | Canon Inc | 情報処理装置 |
US5692129B1 (en) | 1995-07-07 | 1999-08-17 | Novell Inc | Managing application programs in a computer network by using a database of application objects |
DE19734515A1 (de) * | 1997-08-08 | 1999-02-11 | Siemens Ag | Verfahren zur Einrichtung und/oder Bearbeitung eines Dienstes eines intelligenten Netzes |
US7024450B1 (en) * | 1997-10-06 | 2006-04-04 | Mci, Inc. | Method and apparatus for deploying service modules among service nodes distributed in an intelligent network |
US6279032B1 (en) | 1997-11-03 | 2001-08-21 | Microsoft Corporation | Method and system for quorum resource arbitration in a server cluster |
US6272544B1 (en) * | 1998-09-08 | 2001-08-07 | Avaya Technology Corp | Dynamically assigning priorities for the allocation of server resources to completing classes of work based upon achievement of server level goals |
US7137119B1 (en) * | 2000-05-02 | 2006-11-14 | Microsoft Corporation | Resource manager architecture with resource allocation utilizing priority-based preemption |
GB2362776B (en) * | 2000-05-23 | 2002-07-31 | 3Com Corp | Allocation of asymmetric priority to traffic flow in network switches |
US6763378B1 (en) | 2000-10-12 | 2004-07-13 | International Business Machines Corporation | Synchronous TCP/IP port monitor for enhanced computer system security |
US6934952B2 (en) | 2001-04-09 | 2005-08-23 | International Business Machines Corporation | Method and apparatus for managing multiple instances of server code on a machine |
US6944678B2 (en) * | 2001-06-18 | 2005-09-13 | Transtech Networks Usa, Inc. | Content-aware application switch and methods thereof |
US6922727B2 (en) | 2001-06-26 | 2005-07-26 | International Business Machines Corporation | Method and system for managing parallel data transfer through multiple sockets to provide scalability to a computer network |
US20030074421A1 (en) * | 2001-08-14 | 2003-04-17 | Mieko Kusano | Internet access via specific server and via proprietary application for selecting and controlling content: remote and local |
DE10229676B4 (de) | 2002-06-27 | 2013-05-29 | Robert Bosch Gmbh | Verfahren zur Steuerung des Ablaufs eines multitaskingfähigen Computerprogramms |
KR20050000445A (ko) * | 2003-06-24 | 2005-01-05 | (주)엠타이드 | 터미널 서비스 기반 컴퓨팅 환경에서의 어플리케이션 배포시스템 및 방법 |
US8213422B2 (en) * | 2004-06-04 | 2012-07-03 | Rockstar Bidco, LP | Selective internet priority service |
US7711835B2 (en) | 2004-09-30 | 2010-05-04 | Citrix Systems, Inc. | Method and apparatus for reducing disclosure of proprietary data in a networked environment |
US7752624B2 (en) * | 2004-12-21 | 2010-07-06 | Hewlett-Packard Development Company, L.P. | System and method for associating workload management definitions with computing containers |
-
2005
- 2005-12-07 US US11/296,624 patent/US7664841B2/en not_active Expired - Fee Related
-
2006
- 2006-11-14 CN CN200610144659.XA patent/CN1980239B/zh not_active Expired - Fee Related
- 2006-11-16 KR KR1020060113334A patent/KR100974159B1/ko not_active IP Right Cessation
- 2006-12-06 JP JP2006329359A patent/JP5128117B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1980239B (zh) | 2014-06-18 |
JP2007157160A (ja) | 2007-06-21 |
US20070130307A1 (en) | 2007-06-07 |
CN1980239A (zh) | 2007-06-13 |
JP5128117B2 (ja) | 2013-01-23 |
US7664841B2 (en) | 2010-02-16 |
KR100974159B1 (ko) | 2010-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108124003B (zh) | 网络管理设备连接处理方法、装置及系统 | |
JP4452185B2 (ja) | 管理ポリシーに基づいた要求トラフィックのリソース認識管理 | |
RU2363040C2 (ru) | Доставка сообщений между двумя конечными пунктами с конфигурируемыми гарантиями и признаками | |
US9705752B2 (en) | Reliably updating a messaging system | |
US7519067B2 (en) | Method, system, and computer product for controlling input message priority | |
US7970925B2 (en) | Method and apparatus for an improved bulk read socket call | |
US10250496B2 (en) | Router based maximum transmission unit and data frame optimization for virtualized environments | |
US8001176B2 (en) | Web service with multiple listening endpoints | |
US7817560B2 (en) | Acknowledging packet receipt based on expected size of sender's congestion window | |
MXPA04002727A (es) | Mejora en disponibilidad y escalabilidad en un sistema de envio de mensajes en una forma transparente para la aplicacion. | |
US20090316581A1 (en) | Methods, Systems and Computer Program Products for Dynamic Selection and Switching of TCP Congestion Control Algorithms Over a TCP Connection | |
US9807154B2 (en) | Scalable logging control for distributed network devices | |
JP2006338666A (ja) | 分散カーネルオペレーティングシステム | |
TWI239732B (en) | A method, computer readable medium and system for providing QoS for an iSCSI environment | |
JP2006340354A (ja) | 分散カーネルオペレーティングシステム | |
US20030110154A1 (en) | Multi-processor, content-based traffic management system and a content-based traffic management system for handling both HTTP and non-HTTP data | |
KR100974159B1 (ko) | 서버 애플리케이션의 선택적 활성화 방법, 컴퓨터 네트워크 시스템 및 컴퓨터 판독 가능한 저장 매체 | |
US9282151B2 (en) | Flow control in a distributed environment | |
JP3469501B2 (ja) | ネットワーク機器制御装置及び通信システム | |
US8423827B2 (en) | Topology based correlation of threshold crossing alarms | |
WO2008121690A2 (en) | Data and control plane architecture for network application traffic management device | |
JP4415391B2 (ja) | データをネットワークに送信する方法及び装置並びにデータをネットワークから受信する方法及び装置 | |
CN105573935B (zh) | 调平io | |
Burleigh et al. | NASA ION (Interplanetary Overlay Network) Developer Course Materials | |
Braithwaite | Implementation of aqms on linux made easy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |