KR100221380B1 - 네트워크 시스템에서 최소 지연을 갖는 네트워크 장애를 검출하는 프로세스 및 컴퓨터 프로그램 제품 - Google Patents

네트워크 시스템에서 최소 지연을 갖는 네트워크 장애를 검출하는 프로세스 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR100221380B1
KR100221380B1 KR1019960039274A KR19960039274A KR100221380B1 KR 100221380 B1 KR100221380 B1 KR 100221380B1 KR 1019960039274 A KR1019960039274 A KR 1019960039274A KR 19960039274 A KR19960039274 A KR 19960039274A KR 100221380 B1 KR100221380 B1 KR 100221380B1
Authority
KR
South Korea
Prior art keywords
service request
network service
network
timeout
time
Prior art date
Application number
KR1019960039274A
Other languages
English (en)
Other versions
KR970022793A (ko
Inventor
토마스 조셉 포카로
테오도어 클레이톤 3세 월드론
리차드 바이런 워드
크리쉬나 키쇼어 옐레페디
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 KR970022793A publication Critical patent/KR970022793A/ko
Application granted granted Critical
Publication of KR100221380B1 publication Critical patent/KR100221380B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

데이타 통신 링크(data communication link)가 접속해제(disconnect)되었음을 선언하기 전에 클라이언트 시스템 대기(client system waits)의 시간 길이를 최소화하는 개선된 화일 시스템 장치 및 방법이 제공된다. 이 장치 및 방법은 각 화일 시스템 요구(file system request)를 서비스하는데 필요한 실질적인 시간 길이에 기초하여 화일 시스템 타임아웃 값(file system request time-out value)을 동적으로 수정한다. 본 실시예에서, 타임아웃 값은 실질적인 응답 시간(response time)및 각 요구 유형에 대한 버퍼 시간(buffer time)에 기초하여 각 요구 유형에 대해 결정된다. 응답 타이머(response timer)는 시스템 클럭(system clock)으로부터의 판단독에 기초하여, 오버헤드가 낮은 프로세스(low overhead process)로서 동작한다. 모니터링 시스템(monitoring system)은 서버를 주기적으로 테스트하여 물리적 접속이 여전히 존재하도록 보장한다.

Description

네트워크 시스템에서 최소 지연으로 네트워크 장애를 검출하는 프로세스
본 발명은 데이터 처리 시스템에 관한 것으로, 특히, 원격 서버(remote server)로부터의 데이터를 액세스하기 위한 분산 데이터 처리 시스템(distributed data processing system)에 관한 것이다. 보다 구체적으로, 본 발명은 가변 대역폭 네트워크상에서의 저급 화일 시스템 요구(low level file system request)를 모니터하는 장치 및 방법에 관한 것이다.
개별 컴퓨터 시스템은 흔히 근거리 네트워크(LAN) 또는 광역 네트워크(WAN) 기술을 이용하여 다른 컴퓨터 시스템에 접속된다. 상호접속된 시스템은 디스크 저장장치 및 프린터와 같은 시스템 자원을 공유할 수 있다. 이러한 환경에서, 클라이언트/서버 시스템(client/server system)은 클라이언트와 서버 워크스테이션(workstation)간에 처리, 저장 또는 기능을 분산시킴으로써 구현된다. 클라이언트 워크스테이션은 요구를 발생하며, 이 요구는 서버 워크스테이션에 의해 만족된다.
LAN/WAN 네트워크는 전형적으로 각 워크스테이션이 지정된 대역폭(bandwidth)으로 서버와 견고히 접속하도록 구현되었다. 견고한 접속 및 지정된 대역폭은 클라이언트 시스템과 서버 시스템 사이에 비교적 균일한 액세스 시간을 제공한다.
분산 터미널 시스템은 터미널과 컴퓨터 시스템 사이에 비동기 접속을 이용하여 구현된다. 비동기 접속은 전용 회선을 통해서 또는 다이얼 업(dial-up) 전화선을 통해서 이루어질 수 있다. 비동기 처리는 통신 속도에 있어서 큰 편차를 허용한다. 전송시 임의의 접속중단(disconnection) 또는 지연이 시스템에 의해 인식되어 처리될 수 있도록 시스템상의 각 요구는 인식응답(acknowledge)된다. 손실된 전송 데이터는 전체 메시지가 수신될 때까지 재전송될 수 있다. 비동기 처리는 다양한 접속 매체를 허용하나, 통상 직접 접속된 LAN 워크스테이션보다 큰 오버헤드를 가지며 속도가 느리다.
발전하고 있는 네트워크 시장은 워크스테이션을 상호접속하는 방법의 수를 증가시켰다. 한 방법은 전화선을 통해 LAN 으로 비동기 접속하는 것이다. 이 방법은 IBM LAN 원거리 프로그램 제품(Distance Program Product)에서 발견된다. 이 제품은 클라이언트 워크스테이션이 원격 위치로부터 LAN 으로 다이얼링할 수 있게 한다. 이와 같이 구현할 경우, 클라이언트 워크스테이션과 서버 워크스테이션 양쪽 모두에 특정 LAN 원거리 소프트웨어가 필요하다.
다른 상호접속 기술은 적외선(IR) 접속이다. 적외선 직접 액세스 접속(Infrared Direct Access connection ;IRDA)은 종래의 회선 시스템을 적외선 신호를 이용하여 데이터를 전송하는 무선 시스템으로 교체하였다. IRDA 시스템의 한가지 단점은 시선 경로(line of sight path)의 물리적인 장애가 적외선 장치의 간헐적인 접속해제를 야기시킨다는 점이다. IRDA 링크상에서 동작하는 소프트웨어는 간헐적인 접속중단에도 불구하고 처리를 계속할 수 있어야 한다.
무선 주파수(RF) 링크는 LAN 에 접속하기 위한 다른 무선 방법이다. RF 신호도 또한 간헐적인 중단을 겪는다.
셀룰라 전화 기술(cellular telephone technology)은 LAN 접속에 대한 또 다른 무선 방법을 제공한다. 셀룰라 신호는 터널 또는 구조물과 같은 물리적 장애물에 의한 스위칭(switching) 또는 방해(interruption)로 인해 중단된다.
이들 기술은 원격 클라이언트에 대해 데이터 통신 링크를 확립하는 메카니즘을 제공한다. 이들 메카니즘은 점점 더 많은 가입자에 의해 이용되는 다수의 이동 제품으로 구체화되었다. 랩탑(laptop) 또는 팜탑(palmtop) 컴퓨터 시스템과 같은 이동 제품, 및 개인용 디지탈 보조장치(personal digital assistants: PDA)는 흔히 무선통신 데이터 링크를 이용하여 원격 장치로부터 서버로 직접 접속한다.
이동 클라이언트에 대해 서버로서 동작하는 컴퓨터는 전형적으로 클라이언트 시스템이 서버상에 화일을 저장하고 그를 액세스할 수 있게 하는 서버 화일 관리 시스템(server file management system)을 포함한다. 이 화일 관리 시스템은 서버 네트워크 오퍼레이팅 시스템(Network Operating System ; NOS)의 일부이다. 이러한 시스템은 IBM LAN 서버 프로그램 제품 및 노벨 네트웨어 프로그램 제품(Novell Netware Program Product)을 포함한다. 또한, 네트워크 화일 시스템(NFS) 및 앤드류 화일 시스템(Andrew File System ; AFS)은 UNIX*오퍼레이팅 시스템에 기초한 서버상에 제공된다. (UNIX 는 X/Open Company Ltd.에게 독점적으로 허가된 미합중국 및 다른 국가에서 등록된 상표이다.)
기존의 서버 화일 시스템은 각각의 저급 화일 시스템 액세스 요구에 대해 타임아웃 기간(time-out period)을 할당하므로써 일시적인 접속해제를 보상한다. 요구가 타임아웃 기간내에 충족되지 않는 경우, 시스템은 데이터 통신 링크가 접속해제 되었음을 신호하고 더 이상의 처리를 중단시킨다.
저급 화일 시스템 요구에 대해 적절한 타임아웃 값을 결정하는 것은 어려울 수 있다. 타임아웃 기간이 너무 짧게 설정되면, 신호가 단지 간헐적인 방해를 받게 되었을 때에도 시스템이 접속해제를 신호하게 된다. 반면에, 타임아웃 기간이 길면, 시스템이 진짜 데이터 통신 링크 접속해제를 검출하는데 너무 긴 기간을 기다리게 될 수 있다. 통상, 타임아웃 값은 거짓 접속해제 표시를 피하는데 필요한 값보다 높게 설정되었다. 대부분의 서버는 상이한 유형의 데이터 통신 링크를 갖는 이동장치를 지원해야 하기 때문에 긴 지속기간 타임아웃과 짧은 지속기간 타임아웃을 동시에 지원해야 한다는 사실에 의해, 타임아웃 값 선택은 더 복잡해진다.
일시적 통신 링크 방해로 인한 간헐적인 접속해제를 적절히 지원하면서 실제의 접속해제를 검출하는데 필요한 시간을 최소화하는 타임아웃 전략을 찾기 위한 기술적 요구가 존재한다.
따라서, 본 발명의 목적은 클라이언트 워크스테이션에 의해 확립된 데이터 통신 링크에 고유한 실제 지연을 측정하고 그 측정에 기초하여 화일 시스템 요구 타임아웃 값을 조정하는 것이다.
본 발명의 다른 목적은 통신 링크의 간헐적인 접속해제와 완전한 접속해제를 구별하는 장치를 제공하여 실제의 접속해제를 검출하는데 필요한 시간을 최소화하는 것이다.
본 발명의 또 다른 목적은 각 유형의 화일 시스템 요구에 고유한 처리 지연을 인식하여 각종 유형의 화일 시스템 요구에 대해 개별적인 타임아웃 값을 확립하는 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 상기한 접속해제 대역폭 및 주파수를 갖는 다수의 접속 유형에 대해 단일의 화일 시스템 요구 타임아웃 전략을 제공하는 것이다.
전술한 내용 및 본 발명의 다른 목적, 특성 및 장점은, 첨부도면을 참조한 이하의 본 발명의 바람직한 실시예의 보다 구체적인 설명으로부터 더 명확해질 것이며, 도면중에 유사한 참조부호는 본 발명의 유사 부분을 나타낸다.
제1도는 본 발명의 바람직한 실시예가 구현되는 시스템의 블럭도.
제2도는 본 발명이 구현되는 컴퓨터 시스템의 블럭도.
제3도는 응용 그로그램, 오퍼레이팅 시스템 및 화일 시스템 프로그램간의 관계를 도시하는 블럭도.
제4도는 네트워크를 통한 화일 시스템 요구의 타이밍을 예시하는 타이밍도.
제5도는 본 발명의 단계들을 예시하는 흐름도.
제6도는 본 발명의 다른 실시예들에 따른 단계들을 보다 자세히 예시하는 흐름도.
제7도는 본 발명의 응답 모니터링 단계들을 도시하는 흐름도.
제8도는 접속 상태 검사 단계들을 도시하는 흐름도.
* 도면의 주요부분에 대한 부호의 설명
100 : 컴퓨터 네트워크 102 : 근거리 네트워크/광역 네트워크
104 : 서버 106, 108, 110 : 클라이언트
202 : 워크스테이션 204 : 프로세서
206 : 메모리 208 : 입/출력 장치
210 : 통신 제어기 212 : 데이터 링크 접속
214 : 모니터 216 : 키보드
218, 220 : 착탈가능 저장매체
본 발명은 네트워크 접속의 실제의 특성에 기초하여 화일 시스템 요구 타임 아웃 값을 동적으로 변화시키는 메카니즘을 제공하는 것이다. 본 발명은 이용중인 데이터 통신 링크에서 발견되는 지연을 측정하고 현재의 지연 특성에 기초하여 타임아웃 값을 동적으로 변화시키는 클라이언트측의 장치 및 방법에 관한 것이다.
본 발명은 하나의 소스 장치(source device)에 하나 이상의 타겟 장치(one or more target devices)가 접속되는 네트워크 시스템에서 최소 지연으로 네트워크 장애를 검출하는, 컴퓨터에 의해 실행되는 프로세스에 관한 것으로, 네트워크 시스템은 가변 통신 대역폭을 각각 구비하고, 간헐적인 비장애 접속해제(non-failure disconnection)를 갖는 다수의 통신 링크들중 임의의 한 통신 링크상에서 동작한다. 본 발명에 따른 프로세스는, 하나 이상의 타겟 장치중 하나의 타겟 장치에 대해 네트워크 서비스 요구의 타임아웃 기간을 초기화하는 단계와, 상기 하나의 타겟 장치에 대한 다수의 네트워크 서비스 요구의 각각에 대해, 통신 링크를 통해 네트워크 서비스 요구를 송출하는 단계, 상기 네트워크 서비스 요구가 타임아웃 기간내에 만족되지 않는 경우 네트워크 장애(failure)를 신호하는 단계, 상기 네트워크 서비스 요구가 만족되는 경우 네트워크 서비스 요구 시간을 측정하는 단계, 및 상기 네트워크 서비스 요구 시간에 응답하여 타임아웃 기간을 수정하는 단계를 포함한다.
본 발명의 바람직한 실시예는 컴퓨터 시스템의 네트워크에서 이용된다. 제1도는 본 발명이 실시될 수 있는 컴퓨터의 네트워크 구성(100)을 예시한다. 근거리 네트워크(LAN) 또는 광역 네트워크(WAN)는 서버(104)를 클라이언트 워크스테이션들(106, 108, 110)과 상호접속한다. 클라이언트는 데이터 통신 링크를 통해 각각 접속되는데, 클라이언트 워크스테이션(108)은 적외선 링크를 이용하여 접속되고, 클라이언트(106)는 전화 또는 셀룰라 전화 링크를 통해 접속되며, 클라이언트(110)는 전용 네트워크 회선을 통해 접속된다. 이들 클라이언트의 각각에 대해 상이한 네트워크 지연 및 간헐적인 접속해제의 빈도를 예상할 수 있다. 본 발명의 바람직한 실시예는 앞서 언급한 데이터 통신 링크 유형중 어떤 유형과도 동작하며, 또한 이들로만 제한되지 않는다. 무선 또는 광 링크의 다른 형태가 이용될 수도 있다. 또한 토큰링 및 이서네트 프로토콜을 포함하는 네트워크 프로토콜의 임의의 형태가 이용될 수도 있다.
클라이언트 및 서버 워크스테이션의 각각은 제2도에 도시된 워크스테이션과 유사한 구조를 갖는다. 워크스테이션(202)은 프로세서(204), 메모리(206), I/O 제어기(208), 통신 제어기(210)를 포함한다. I/O 프로세서(208)는 그래픽 디스플레이(214), 키보드(216), 영구적이고 착탈가능한 저장 매체(218, 220)와 같은 다수의 장치를 지원한다. 저장 매체는 자기 및 광학적 디스크 또는 카트리지를 포함하는 임의의 공지된 유형일 수 있다. 통신 제어기(210)는 데이터 링크 접속(212)을 통해 통신을 관리한다. 본 발명은 많은 상이한 구성의 컴퓨터 시스템에 의해 실시될 수 있다. 바람직한 실시예는 IBM 싱크패드(ThinkPad) 컴퓨터 시스템상에서 구현된다.(IBM 및 ThinkPad 는 IBM 사의 상표이다.)
본 발명은 응용 프로그램 또는 시스템 프로그램이 통신 링크를 통해 서버상에서 데이터를 액세스할 수 있게 한다. 제3도는 본 발명의 바람직한 실시예에 따른 시스템의 소프트웨어 구조를 예시한다. 응용 프로그램(302)은 오퍼레이팅 시스템(304)으로 데이터 요구를 송출하므로써 처리할 데이터를 요구한다. 오퍼레이팅 시스템은 시스템 자원을 관리하고 자원에 대한 응용 프로그램 및 시스템의 요구를 만족시킨다. 본 발명은 IBM OS/2 WARP 오퍼레이팅 시스템, 마이크로소프트 윈도우 NT 오퍼레이팅 시스템, 및 UNIX 오퍼레이팅 시스템과 같은 오퍼레이팅 시스템상에서 실시될 수 있다. 오퍼레이팅 시스템(304)은 데이터 저장장치(308)를 액세스하므로써 응용 프로그램 또는 시스템의 화일 요구를 만족시킨다. (저장장치(308)는 영구적으로 설치(install) 또는 착탈가능한 구성의 전술한 데이터 저장 매체중 어느 것일 수 있다.) 오퍼레이팅 시스템은 이 오퍼레이팅 시스템에 포함된 화일 시스템 액세스 서비스를 이용하거나 설치가능 화일 서비스(installable file service ; IFS)(310)를 이용할 수 있다. 설치가능 화일 서비스는 컴퓨터 시스템의 사용자가 자신의 특정 요구를 지원할 수 있는 특정 화일 시스템을 설치할 수 있게 한다. 설치가능 화일 시스템의 예로서, IBM 고성능 화일 시스템( High Performance File System ; HPFS)과, IBM 어태치팩(attachpak) 프로그램 제품의 IBM 이동 화일 동기 특징(Mobile File Synch feature)이 있다. IBM LAN 리퀘스터(Requester)와 같은 LAN 클라이언트 소프트웨어는 화일 시스템 요구를 인터셉트하여 이들을 네트워크를 통해 서버에 보내어 처리하는 설치가능 화일 시스템이다.
설치가능 화일 시스템은 오퍼레이팅 시스템의 화일 서비스 요구를 인터셉트하여 설치가능 화일 시스템의 특정 서비스를 이용해서 요구를 서비스한다. 본 발명의 바람직한 실시예는 이동 화일 동기 설치가능 화일 시스템(Mobile File Sync Installable File System)으로 구현된다. 이동 화일 동기 IFS 는 네트워크를 이용하는 사용자에 대해 이동 컴퓨팅을 지원하도록 설계된다. 사용자가 네트워크 링크(314)를 통해 LAN/WAN 구성에 접속되는 경우, 응용 프로그램의 화일 시스템 요구는 IFS 에 의해 네트워크 인터페이스를 통해 LAN/WAN 서버로 전송되어 서비스된다. 이동 화일 동기(Mobile File Sync)는 클라이언트 시스템에 의해 이용중인 데이터를 지역적으로 캐슁(caching)하는 메카니즘을 포함한다. 이동 화일 동기는 데이터 링크(314)의 접속해제를 검출하면, 화일 시스템 요구를 지역 캐쉬(312)로부터 만족시키도록 시도한다. 바람직한 실시예에서는 캐쉬 기능을 구비하는 화일 시스템이 이용되고 있지만, 본 발명은 이러한 시스템으로 제한되지 않으며, 오퍼레이팅 시스템의 화일 시스템 요구를 인터셉트할 수 있는 어떤 LAN 클라이언트와도 이용될 수 있다.
본 발명은, 저급 화일 시스템 요구를 처리한다는 점에서 비동기 화일 전송 시스템과 상이하다. 통상, 비동기 화일 전송은 특정 화일이 서버로부터 클라이언트로 전송될 것을 요구한다. 화일 전송 소프트웨어는 전송을 모니터링하여 모든 블럭이 송신되어 수신될 수 있게 보장한다. 몇몇 화일 전송 프로그램은 손실된 데이터 블럭을 재전송할 수 있게 한다. 본 발명은 데이터 화일로부터 하나의 레코드를 판독하라는 요구와 같은 저급 화일 시스템 요구를 서비스한다. 이들 요구는 데이터가 지역적인지 또는 원격적인지를 알지 못하는 응용 프로그램 또는 시스템 프로그램(302)에 의해 송출된다. 본 발명은 요구를 원격 서버로부터 투명하게(transparently)서비스한다. 원격 서버는 임의의 다른 지역적 데이터 요구를 서비스하는 것과 동일한 방식으로 요구를 서비스한다. 요구를 직접 서비스함으로써 네트워크 소프트웨어에 의해 관리되는 네트워크간 데이터 전송에 고유한 지연을 회피할 수 있다.
본 발명은 모든 유형의 저급 화일 시스템 요구를 지원한다. 제4도는 응용 프로그램으로부터의 화일 판독 요구(FileRead) 처리를 예시한다. 이 요구는 응용 프로그램에 의해 송출되어 처리할 부가적인 데이터를 얻는데, 예컨대, 데이터 화일로부터의 다음 레코드에 대한 요구일 수 있다.
응용 프로그램의 화일 판독 요구는 오퍼레이팅 시스템으로 전송되며, OS는 화일 시스템 서비스로 화일 시스템 판독(file system read; FSRead)요구를 송출한다. 설치가능 화일 시스템(IFS)은 이 요구를 인터셉트하여, 네트워크를 통해 서버로 FSRead를 송출한다. 본 발명에 따른 FSRead는 이후 보다 상세히 개시되는 방식으로 결정되는 동적 타임아웃 값과 함께 송출된다. 타임아웃을 갖는 FSRead는 데이터 통신 링크를 통해 서버로 전송되어 처리된다. 서버는 요구된 데이터를 복귀시키는 물리적 장치로 FSRead를 송출한다. 데이터는 네트워크와, 설치가능 화일 시스템 및 오퍼레이팅 시스템에 의해 응용 프로그램으로 복귀된다.
제4도에 표시된 바와 같이 FSRead 처리에 시간 지연이 존재한다. 구체적으로, 서버로 송출된 설치가능 화일 시스템의 FSRead 요구가 응답 수신되기 까지의 지연이 tr로서 표시되었다. 시간 tr이 FSRead와 함께 전송된 타임아웃에 지정된 타임아웃 값을 초과하면, 설치가능 화일 시스템은 접속해제를 신호한다. 시간 tr이 타임아웃 값보다 작으면, 실제로 일시적 접속해제가 발생하더라도, IFS 는 접속해제에 대해 아무런 동작을 취하지 않는다. 제4도는 네트워크 전송 지연 t1및 t3와, FSRead 요구를 서비스하는데 소요되는 지연 t2을 포함하는 tr의 성분을 예시한다. 요구(FSRead, FSWrite, 등)의 각 유형에 따라 상이한 서비스 시간이 소요되므로, 총 지연 및 이에 따른 타임아웃 값은 요구 유형에 의해 바람직하게 변화한다.
본 발명은 요구를 서비스하는데 소요되는 실제 시간을 측정하므로써 타임아웃 값을 동적으로 변화시킨다. 바람직한 실시예에서는 타임아웃에 대해 상한 및 하한을 설정하여, 간헐적인 접속해제에 대한 보호의 최소 수준 및 실제 접속해제를 위한 최대 대기시간을 제공한다. 바람직한 실시예는 이들 파라미터가 특정 상황에 적응하도록 시스템 사용자에 의해 설정될 수 있게 한다.
본 발명의 프로세스가 제5도에 도시되어 있다. 프로세스는 단계(502)에서 출발하여, 최소, 최대 및 현재의 타임아웃 값을 설정함으로써 시작한다(단계 504). 바람직한 실시예는 15초의 최소 타임아웃 값 및 60초의 최대 타임아웃 값을 이용한다. 초기에, 현재의 타임아웃 값은 최대 타임아웃 값으로 설정된다. 다음에, 시스템은 서버 화일 시스템에 대한 접속을 초기화한다(단계 506). 접속 타이머는 접속 요구가 전송된 때에 개시된다(단계508). 타임아웃 기간의 만료 전에 접속이 완료되지 않은 경우, 시스템은 접속에 실패했음을 신호하며, 화일 시스템은 접속이 확립될 때까지 접속해제 모드(disconnected mode)로 동작한다(단계 514). 접속이 성공하면(단계 510), 접속에 소요된 시간이 접속 타이머로부터 측정된다(단계 512). 바람직한 실시예에서는 시스템의 31.25 밀리초(millisecond) 클럭으로부터 판독하여 경과된 시간을 결정한다(제7도 참조). 예컨대, 비동기 DOS 타이머와 같은 다른 접속 타이머가 이용될 수 있다.
다음에, 접속 시간은 최소 타임아웃 값과 비교된다(518). 최소 타임아웃 값보다 작거나 같은 경우, 현재 타임아웃 값을 최소 타임아웃 값으로 설정한다(단계 520). 그렇지 않은 경우, 현재의 타임아웃 값을 (접속 시간 +지정된 버퍼 시간)으로 설정한다(단계 522). 바람직한 실시예에서, 이 버퍼 시간은 각 상이한 유형의 화일 시스템 호출에 대해 상이하다.
접속시에 설정된 현재 타임아웃 값은 다음 화일 시스템 요구에 대해 이용되며(단계 524), 이 요구에 대한 응답 시간에 기초하여 조정된다. 화일 시스템 요구를 서버로 전송하기 전에, 본 발명의 화일 시스템은 접속이 존재하는지의 여부를 테스트한다(단계 526). 접속이 존재하지 않는 경우, 접속해제를 신호하고, 화일 시스템은 접속해제 모드(514)로 진입한다. 접속이 존재하는경우, 설정된 타임아웃 값과 함께 화일 시스템 요구를 서버로 전송한다.(단계 527). 화일 시스템 요구 타이머가 개시되어(단계 530), 성공적인 완료시에 측정된다(단계 532). 시스템은 화일 시스템 요구가 타임아웃 기간내에 만족되었는지의 여부를 테스트한다(단계 528). 만족되지 않은 경우, 시스템은 접속해제 모드(514)로 진입한다. 만족되는 경우, 실제의 요구 서비스 시간이 계산된다. 각 화일 시스템 요구에 대해 타임아웃 값을 동적으로 조정하는 이러한 단계들(518~522)이 반복된다.
바람직한 실시예에서, 버퍼 값은 각 화일 시스템 요구 유형에 대해 확립된다. 각 화일 시스템 요구 유형에는 실제의 요구 서비스 시간에 기초하여 개벌적인 타임아웃 값이 주어진다. 각 화일 시스템 요구 유형에 대한 버퍼 값 및 타임아웃 값은 그 유형의 요구가 송출될 때마다 액세스되는 표로 저장된다. 각 화일 시스템 요구에 대해 버퍼 및 타임아웃 값의 표를 이용하는 것이 제6도의 블럭도에 예시되어 있다. 다른 실시예는 단일 버퍼 값 및 타임아웃 값에 기초된다. 이들 대안적인 실시예의 타임아웃 값은 다수의 서비스 유형으로 인해 보다 큰 편차를 고려해야 한다. 버퍼 값은 가장 긴 화일 서비스 요구를 처리할 수 있도록 충분히 길어야 한다. 이것은 보다 짧은 기간의 화일 시스템 요구에 대한 최적의 접속해제 인식보다 짧다.
화일 시스템은 네트워크 접속이 복구되었다는 표시를 수신할 때까지 접속해제 모드로 유지된다(단계 514, 516). 이 표시는 몇가지 방법으로 발생될 수 있다. 바람직한 실시예에서, 화일 시스템은 서버를 주기적으로 폴링(polling)하여 화일 시스템이 서버에 접속되었는지의 여부를 판정한다(제8도 참조). 바람직한 실시예에서, 화일 시스템은 접속되어야 하는 디렉토리로 경로질의(QueryPath) 요구를 송출한다. 이 프로세스는 응답이 수신될 때까지 대기한다. 5초 후, 응답 수신을 성공했는지를 테스트한다. 수신하지 못한 경우, 접속해제 모드가 신호된다. 수신한 경우, 접속 모드(connected mode)가 신호된다.
대안적으로, 서버는 클라이언트에 대해 접속이 재확립될 때마다 신호를 전송 할 수 있다.
이상의 설명으로부터 본 발명의 바람직한 실시예에서 본 발명의 진정한 정신으로부터 벗어나지 않고 각종 수정 및 변형이 이루어질 수 있음이 이해될 것이다. 구체적으로, 상세한 설명에서는 화일 시스템 요구가 이용되었지만, 직렬 장치, 프린터, 프로세서 시간과 같은 다른 공유 자원에 대한 요구가 유사하게 처리될 수 있다. 본 설명은 예시를 목적으로 한 것이며 제한적인 의미로 이해되어서는 안된다. 본 발명의 범위는 다음의 청구 범위에 의해서만 제한되어야 한다.
본 발명은 요구를 서비스하는데 소요되는 실제 시간을 측정하여, 타임아웃 값을 동적으로 변화시킴으로써, 간헐적인 접속해제에 대한 보호의 최소 수준 및 실제 접속해제를 위한 최대 대기시간을 제공한다. 바람직한 실시예에서, 이들 파라미터는 특정 상황에 적응하도록 시스템 사용자에 의해 설정될 수 있다.

Claims (9)

  1. 하나의 소스 장치(a source device)에 하나 이상의 타겟 장치(one or more target devices)가 접속되어 이루어지고, 가변 통신 대역폭을 각기 갖되 간헐적인 비장애 접속해제(non-failure disconnection)를 갖는 네트워크 시스템에서, 오 검출(false detection)을 회피하면서 네트워크 장애를 검출하는 컴퓨터에 의해 실행되는 프로세스에 있어서,
    ① 상기 하나 이상의 타겟 장치들중 하나의 타겟 장치의 사용자 각각에 대해 최소 및 최대 타임아웃 값을 수신하는 단계와,
    ② 상기 하나 이상의 타겟 장치들중 상기 하나의 타겟 장치에 대한 다수의 네트워크 서비스 요구들 각각에 대해,
    ㉮ 상기 통신 링크를 통해 네트워크 서비스 요구를 송출하는 단계와,
    ㉯ 상기 네트워크 서비스 요구가 상기 타임아웃 기간내에 만족되지 않는 경우 네트워크 장애를 신호하는 단계와,
    ㉰ 상기 네트워크 서비스 요구가 상기 타임아웃 기간내에 만족되는 경우 네트워크 서비스 요구 시간을 측정하는 단계와,
    ㉱ 상기 만족된 서비스 요구 각각의 상기 네트워크 서비스 요구 시간에 응답하여 상기 사용자에 대해 상기 타임아웃 기간을 수정하는 단계를 반복하는 단계를 포함하되,
    상기 타임아웃 기간을 수정하는 단계㉱는
    ㉠ 상기 네트워크 서비스 요구 시간이 상기 최소 타임아웃 값보다 작거나 같은 경우 상기 타임아웃 기간을 최소 타임아웃 값으로 설정하는 단계와,
    ㉡ 상기 네트워크 서비스 요구 시간이 상기 최소 타임아웃 값보다 큰 경우(상기 네트워크 서비스 요구 시간+서비스 요구 버퍼 기간) 또는 상기 최대 타임아웃 값중 더 작은 값으로 상기 타임아웃 기간을 설정하는 단계를 포함하는 컴퓨터에 의해 실행되는 네트워크 장애 검출 프로세스.
  2. 제1항에 있어서, 상기 소스 장치는 시스템 클럭(a system clock)을 포함하며, 상기 네트워크 서비스 요구 시간을 측정하는 단계㉰는,
    ㉠ 상기 시스템 클럭을 판독하여 소정의 저장 영역에 제1시스템 클럭값을 저장하는 단계와,
    ㉡ 상기 타임아웃 값이 종료하기 전에 상기 네트워크 서비스 요구가 성공적으로 완료된 경우에 상기 시스템을 판독하여 제2시스템 클럭을 결정하는 단계와,
    ㉢ 네트워크 서비스 요구 시간을 상기 제2시스템 클럭값과 상기 제1시스템 클럭값 사이의 차이로서 결정하는 단계를 포함하는 컴퓨터에 의해 실행되는 네트워크 장애 검출 프로세스.
  3. 제1항에 있어서, 상기 네트워크 장애를 선호하는 단계㉯는
    ㉠ 독립적인 타이머(an independent timer)를 상기 타임아웃 기간으로 초기화 하는 단계와,
    ㉡ 상기 네트워크 서비스 요구가 송출된 때에 상기 독립적인 타이머를 동작개시시키는 단계와,
    ㉢ 상기 네트워크 서비스 요구가 상기 독립적인 타이머의 상기 타임아웃 기간 만료 전에 만족된 경우 상기 독립적인 타이머를 삭제시키는 단계와,
    ㉣ 상기 네트워크 서비스 요구가 만족되기 전에 상기 독립적인 타이머의 상기 타임아웃 기간이 만료된 경우에 상기 네트워크 서비스 요구를 삭제하고, 상기 독립적인 타이머를 삭제하며, 상기 네트워크 장애를 신호하는 단계를 포함하는 컴퓨터에 의해 실행되는 네트워크 장애 검출 프로세스.
  4. 제1항에 있어서, 상기 네트워크 서비스 요구는 다수의 네트워크 서비스 요구 유형들(a plurality of network service request types)중 임의의 하나일 수 있고, 상기 네트워크 서비스 요구 유형들 각각에 대해 상기 서비스 요구 버퍼 값 및 상기 타임아웃 기간이 독립적으로 저장되어 적용되는 컴퓨터에 의해 실행되는 네트워크 장애 검출 프로세스.
  5. 제1항에 있어서, 상기 네트워크 서비스 요구는 저 수준 화일 시스템 요구(low-level file system requests)인 네트워크 시스템에서 최소 지연으로 네트워크 장애를 검출하는 프로세스.
  6. 제1항에 있어서, 상기 네트워크 장애의 신호에 응답하여 상기 소스 장치를 접속해제 상태로 설정하는 단계를 더 포함하는 컴퓨터에 의해 실행되는 네트워크 장애 검출 프로세스.
  7. 제8항에 있어서, 네트워크 서비스 요구를 송출하기 전에 접속된 상태에 대해 상기 네트워크를 검사하는 단계와, 상기 소스 장치가 상기 접속해제 상태에 있는 임의의 기간동안 접속 상태에 대해 주기적으로 검사하는 단계를 더 포함하는 컴퓨터에 의해 실행되는 네트워크 장애 검출 프로세스.
  8. 제9항에 있어서, 타겟 장치 장애에 응답하여 사전결정된 횟수의 시도 후에 상기 소스 장치를 정지 상태로 설정함으로써 네트워크 서비스 요구에 인식응답(acknowledge)하는 단계와, 재접속시에 상기 타겟 장치로부터의 신호를 상기 소스 장치로 전송하는 단계를 더 포함하는 컴퓨터에 의해 실행되는 네트워크 장애 검출 프로세스.
  9. 제8항에 있어서, 상기 소스 장치가 상기 접속해제 상태에 있는 경우에 상기 소스 장치의 캐쉬(a cache)로부터 네트워크 서비스 요구를 만족시키는 컴퓨터에 의해 실행되는 네트워크 장애 검출 프로세스.
KR1019960039274A 1995-10-10 1996-09-11 네트워크 시스템에서 최소 지연을 갖는 네트워크 장애를 검출하는 프로세스 및 컴퓨터 프로그램 제품 KR100221380B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/540,431 US5699511A (en) 1995-10-10 1995-10-10 System and method for dynamically varying low level file system operation timeout parameters in network systems of variable bandwidth
US08/540,431 1995-10-10
US8/540,431 1995-10-10

Publications (2)

Publication Number Publication Date
KR970022793A KR970022793A (ko) 1997-05-30
KR100221380B1 true KR100221380B1 (ko) 1999-09-15

Family

ID=24155440

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960039274A KR100221380B1 (ko) 1995-10-10 1996-09-11 네트워크 시스템에서 최소 지연을 갖는 네트워크 장애를 검출하는 프로세스 및 컴퓨터 프로그램 제품

Country Status (7)

Country Link
US (1) US5699511A (ko)
EP (1) EP0767558B1 (ko)
JP (1) JP3268978B2 (ko)
KR (1) KR100221380B1 (ko)
CN (1) CN1095618C (ko)
DE (1) DE69624543T2 (ko)
MY (1) MY112341A (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2085550C (en) 1991-12-19 1999-07-06 Kentaro Yano Method of controlling an ink-jet recording apparatus according to recording head information, and ink-jet recording apparatus in which the method is implemented
US5768620A (en) * 1996-04-09 1998-06-16 International Business Machines Corporation Variable timeout method in a missing-interrupt-handler for I/O requests issued by the same operating system
US5822543A (en) * 1996-07-08 1998-10-13 International Business Machines Corporation Gathering data handling statistics in non-synchronous data communication networks
US6842820B2 (en) 1997-10-03 2005-01-11 Macronix International Co., Ltd. Processor with embedded in-circuit programming structures
US6282675B1 (en) * 1997-08-06 2001-08-28 Macronix International Co., Ltd. Fault-tolerant architecture for in-circuit programming
DE19712375A1 (de) * 1997-03-25 1998-10-01 Bosch Gmbh Robert Watchdog-Schaltung
US7240087B1 (en) * 1997-06-27 2007-07-03 International Business Machines Corporation Communication network having adjustable response timeouts and method therefore
JPH11194963A (ja) * 1997-12-26 1999-07-21 Fujitsu Ltd コマンド実行監視方法、及び、コマンド実行監視装置
DE19807565A1 (de) * 1998-02-23 1999-08-26 Meid Verfahren und Gerät zur Datenübertragung im Veranstaltungsbereich
US6260158B1 (en) * 1998-05-11 2001-07-10 Compaq Computer Corporation System and method for fail-over data transport
US6289463B1 (en) 1998-12-29 2001-09-11 Ncr Corporation Establishing communications between a computer system using a Unix operating platform and a computer system using a Windows NT operation platform
US6484217B1 (en) * 1999-04-20 2002-11-19 International Business Machines Corporation Managing shared devices in a data processing system
EP1077559A1 (en) * 1999-08-17 2001-02-21 Telefonaktiebolaget Lm Ericsson Method and device for determining a time-parameter
US6393435B1 (en) 1999-09-22 2002-05-21 International Business Machines, Corporation Method and means for evaluating the performance of a database system referencing files external to the database system
US6834305B1 (en) * 1999-11-16 2004-12-21 International Business Machines Corporation System and method for automatically connecting local and remote data processing systems
US6526433B1 (en) * 1999-12-15 2003-02-25 International Business Machines Corporation Adaptive timeout value setting for distributed computing environment (DCE) applications
US6782496B2 (en) * 2001-04-13 2004-08-24 Hewlett-Packard Development Company, L.P. Adaptive heartbeats
US6782489B2 (en) * 2001-04-13 2004-08-24 Hewlett-Packard Development Company, L.P. System and method for detecting process and network failures in a distributed system having multiple independent networks
US6895534B2 (en) * 2001-04-23 2005-05-17 Hewlett-Packard Development Company, L.P. Systems and methods for providing automated diagnostic services for a cluster computer system
US7124181B1 (en) * 2001-06-29 2006-10-17 Mcafee, Inc. System, method and computer program product for improved efficiency in network assessment utilizing variable timeout values
US7154859B2 (en) * 2001-10-24 2006-12-26 The Boeing Company Method for improving bandwidth performance of a mobile computer network
CA2393502A1 (en) * 2002-07-15 2004-01-15 Mark J. Frazer System and method for reliable transport in a computer network
KR100512982B1 (ko) * 2002-09-05 2005-09-07 삼성전자주식회사 무선 화상형성장치 및 방법
US7409431B2 (en) * 2002-09-13 2008-08-05 Canon Kabushiki Kaisha Server apparatus, communications method, program for making computer execute the communications method, and computer-readable storage medium containing the program
JP4120436B2 (ja) * 2003-03-24 2008-07-16 富士ゼロックス株式会社 連携処理装置及びプログラム
JP2004295285A (ja) * 2003-03-26 2004-10-21 Sony Corp ネットワーク接続の管理方法および電子機器
US7339885B2 (en) * 2003-06-05 2008-03-04 International Business Machines Corporation Method and apparatus for customizable surveillance of network interfaces
US7493394B2 (en) * 2003-12-31 2009-02-17 Cisco Technology, Inc. Dynamic timeout in a client-server system
US7426569B2 (en) * 2004-02-25 2008-09-16 Research In Motion Limited System and method for maintaining a network connection
US7499994B2 (en) * 2004-03-30 2009-03-03 Emc Corporation System and method of providing performance information for a communications network
US20050223091A1 (en) * 2004-03-30 2005-10-06 Zahavi William Z System and method providing network object performance information with threshold selection
JP2005301913A (ja) * 2004-04-15 2005-10-27 Sony Corp 通信システム及び情報処理端末、並びに通信方法
US8046488B2 (en) * 2004-05-21 2011-10-25 Intel Corporation Dynamically modulating link width
US7437169B2 (en) 2004-06-07 2008-10-14 Microsoft Corporation System and method for optimizing network communication in response to network conditions
US7603459B2 (en) * 2004-09-14 2009-10-13 International Business Machines Corporation System, method and program to troubleshoot a distributed computer system or determine application data flows
US20060070077A1 (en) * 2004-09-30 2006-03-30 Microsoft Corporation Providing custom product support for a software program
US7899921B2 (en) * 2004-12-08 2011-03-01 Microsoft Corporation Verifying and maintaining connection liveliness in a reliable messaging for web services environment
US8327003B2 (en) * 2005-02-03 2012-12-04 International Business Machines Corporation Handling backend failover in an application server
JP4502389B2 (ja) * 2005-03-15 2010-07-14 キヤノン株式会社 通信装置及びその制御方法
JP4356997B2 (ja) * 2005-03-15 2009-11-04 キヤノン株式会社 通信装置及びその通信方法
JP4366323B2 (ja) * 2005-03-15 2009-11-18 キヤノン株式会社 通信装置およびその制御方法
GB0509904D0 (en) 2005-05-14 2005-06-22 Ibm Method, apparatus and computer program for facilitating communication between a client application and a server application
US7809357B2 (en) * 2005-05-20 2010-10-05 Microsoft Corporation System and method for optimizing network communication in response to network conditions
CN100421493C (zh) * 2005-05-30 2008-09-24 华为技术有限公司 在设备连接会话过程中延时等待的实现方法
US7480837B2 (en) * 2005-06-01 2009-01-20 Freescale Semiconductor, Inc. Method of monitoring timeout conditions and device therefor
US20070180287A1 (en) * 2006-01-31 2007-08-02 Dell Products L. P. System and method for managing node resets in a cluster
US20080165796A1 (en) * 2007-01-05 2008-07-10 International Business Machines Corporation Method for a heartbeat algorithm for a dynamically changing network environment
US8566625B2 (en) * 2011-07-01 2013-10-22 Intel Corporation System and method for determining transmitting frequency to maintain remote application server connectivity
CN104067255B (zh) * 2011-09-01 2016-12-28 谷歌公司 建立网络连接
US8806250B2 (en) 2011-09-09 2014-08-12 Microsoft Corporation Operating system management of network interface devices
US9049660B2 (en) 2011-09-09 2015-06-02 Microsoft Technology Licensing, Llc Wake pattern management
US8892710B2 (en) 2011-09-09 2014-11-18 Microsoft Corporation Keep alive management
US9189320B2 (en) * 2012-08-15 2015-11-17 International Business Machines Corporation Handling intermittent recurring errors in a network
US10362434B2 (en) 2014-10-31 2019-07-23 Comcast Cable Communications Management, Llc Methods and systems for communication management
CN104462447B (zh) * 2014-12-15 2018-04-03 北京国双科技有限公司 访问超时的数据处理方法和装置
JP6554011B2 (ja) * 2015-10-07 2019-07-31 日本電信電話株式会社 タイムアウト時間設定装置とタイムアウト時間設定方法
CN108901079B (zh) * 2018-06-20 2021-03-09 Oppo(重庆)智能科技有限公司 超时时间确定方法、装置、设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4117459A (en) * 1977-04-08 1978-09-26 Honeywell Inc. Time-out interface means
JPS58153436A (ja) * 1982-03-08 1983-09-12 Fuji Xerox Co Ltd 誤り再送方式
US5058056A (en) * 1983-09-12 1991-10-15 International Business Machines Corporation Workstation takeover control
US4616359A (en) * 1983-12-19 1986-10-07 At&T Bell Laboratories Adaptive preferential flow control for packet switching system
US5041966A (en) * 1987-10-06 1991-08-20 Nec Corporation Partially distributed method for clock synchronization
US5167035A (en) * 1988-09-08 1992-11-24 Digital Equipment Corporation Transferring messages between nodes in a network
JP3516344B2 (ja) * 1990-10-22 2004-04-05 株式会社日立製作所 分散処理システムの多重データ処理方法
US5287362A (en) * 1992-05-18 1994-02-15 Sun Microsystems, Inc. Mechanism for implementing multiple time-outs
US5375068A (en) * 1992-06-03 1994-12-20 Digital Equipment Corporation Video teleconferencing for networked workstations
US5459837A (en) * 1993-04-21 1995-10-17 Digital Equipment Corporation System to facilitate efficient utilization of network resources in a computer network
JP2606136B2 (ja) * 1994-06-20 1997-04-30 日本電気株式会社 データ通信端末装置および再送タイマ制御方法
US5475813A (en) * 1994-07-18 1995-12-12 International Business Machines Corporation Routing transactions in the presence of failing servers

Also Published As

Publication number Publication date
CN1151551A (zh) 1997-06-11
EP0767558A1 (en) 1997-04-09
MY112341A (en) 2001-05-31
DE69624543D1 (de) 2002-12-05
US5699511A (en) 1997-12-16
JPH09153897A (ja) 1997-06-10
EP0767558B1 (en) 2002-10-30
DE69624543T2 (de) 2003-06-26
CN1095618C (zh) 2002-12-04
KR970022793A (ko) 1997-05-30
JP3268978B2 (ja) 2002-03-25

Similar Documents

Publication Publication Date Title
KR100221380B1 (ko) 네트워크 시스템에서 최소 지연을 갖는 네트워크 장애를 검출하는 프로세스 및 컴퓨터 프로그램 제품
US7444550B2 (en) System and method for communicating a software-generated pulse waveform between two servers in a network
US7386610B1 (en) Internet protocol data mirroring
US7013349B2 (en) Managing links between processor-based systems
TW406228B (en) Reliable event delivery system
US7676616B2 (en) Method, apparatus and program storage device for providing asynchronous status messaging in a data storage system
EP0825536B1 (en) A server controller configured to snoop and receive a duplicate copy of display data presented to a video controller
US7680129B2 (en) Preemptive retransmission of buffered data in a network
US20070233855A1 (en) Adaptible keepalive for enterprise extenders
EP0825535A2 (en) A server controller for storing and retrieving sequences of video screens forwarded by a server host computer
KR20200031630A (ko) 네트워크 구성 데이터의 조건부 브로드캐스팅을 위한 방법 및 장치
US7558886B2 (en) Method and apparatus for controlling data flows in distributed storage systems
CN114138825A (zh) 一种服务器及为应用程序提供数据查询服务的方法
JPS63193742A (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: 20060522

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee