KR20010085904A - 클러스터화된 시스템용 무정지형 버스 - Google Patents

클러스터화된 시스템용 무정지형 버스 Download PDF

Info

Publication number
KR20010085904A
KR20010085904A KR1020017004481A KR20017004481A KR20010085904A KR 20010085904 A KR20010085904 A KR 20010085904A KR 1020017004481 A KR1020017004481 A KR 1020017004481A KR 20017004481 A KR20017004481 A KR 20017004481A KR 20010085904 A KR20010085904 A KR 20010085904A
Authority
KR
South Korea
Prior art keywords
active
application
address
computer system
backplane
Prior art date
Application number
KR1020017004481A
Other languages
English (en)
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 KR20010085904A publication Critical patent/KR20010085904A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/74Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for increasing reliability, e.g. using redundant or spare channels or apparatus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

컴퓨터 시스템은 다수의 상호 의존적인 프로세서들을 포함한다. 각각의 상호 의존적인 프로세서들은 파일 시스템 상태 정보를 공유하지 않고 독립적인 운영체제 이미지를 수행하고, 각각의 독립적인 프로세서는 제1 네트워크 연결 및 제2 네트워크 연결을 갖는 네트워크 억세스 카드를 더 갖는다. 상기 컴퓨터 시스템은 각 프로세서의 각 제1 네트워크에 연결된 제1 능동 백플래인(146); 각 프로세서의 각 제2 네트워크 연결에 연결된 제2 능동 백플래인(148)을 가지며, 상기 제2 능동 백플래인(148)은 돌발사고 발생대비(fail-over)의 경우에 제1 능동 백플래인을 대신하여 동작하고; 또한 제1 및 제2 능동 백플래인에 연결되고 제1 및 제2 백플래인을 통해 전달된 데이터 요구에 응답하는 하나 이상의 주변장치들을 갖는다.

Description

클러스터화된 시스템용 무정지형 버스{FAULT TOLERANT BUS FOR CLUSTERED SYSTEM}
막대한 양의 전세계 공유 데이터로의 빠르고, 신뢰성 있으며 안전한 억세스의 필요성은 애플리케이션, 데이터 저장 장치, 프로세싱 전력 및 다른 자원들이 프로세서들 사이에 분배된 멀티 프로세싱 패러다임의 성장을 촉진시켜왔다. 멀티프로세싱의 요구를 처리하기 위해 오랫동안 많은 구조들이 개발되어 왔다. 상기 프로세서들이 공유하는 자원들에 따라, 멀티프로세싱 구조들은 3개의 분야, 즉 전부분 공유 구조(shared everything architecture), 불공유 구조(shared nothing architecture), 일부분 공유 구조(shared something architecture)로 분류된다.
전부분 공유 구조의 한 예는 대칭 멀티프로세싱 (Symmetric Multiprocessing ;SMP)구조 이다. SMP 시스템은 멀티-프로세스 또는 멀티-스레디드(multi-threaded) 로드를 스케일링 할 수 있어서, 애플리케이션 코드가 소프트웨어를 바꾸지 않고도 시스템의 어느 프로세서 상에서든 실행될 수 있다. SMP 시스템에 새로운 처리량을 추가하는 것은, 운영체제가 그것을 이용할 수만 있다면 새로운 CPU 보드를 추가하는것 만큼 간단하다. SMP의 구현은 일반적으로 서로 간에도 통신이 가능하고 넓고 빠른 버스를 통해 입/출력 보드와도 통신 가능한 다수의 CPU 및 메모리 보드를 제공한다.
SMP 접근 방식은 프로세서들 사이의 밀접한 통신을 필요로 한다. 프로세서들 간의 일관성 유지 또한 중요하다. 일관성 프로토콜의 오버헤드 및 복잡성은 SMP 구조의 스케일 능력에 부정적인 영향을 미친다. 또한 SMP 구조의 프로세서들은 통상적으로 운영체제의 한 복사본을 공유한다. SMP 구조의 스케일 능력을 제한하는것에 더하여, 운영 체제의 복사본을 공유하는 것은, 많은 자원들이 공유될때 발생하는 많은 오류들의 발생 가능성을 만들어 낸다.
무정지성(fault-tolerance)을 제공하기 위해 보통 사용되는 기술은 서버가 요구를 만족시킬 수 없는지를 감지하는 클라이언트 애플리케이션에 따라 다르며, 서버가 요구에 대응할 수 없음을 감지한 경우에는 다른 서버를 위치시키거나 상기 요구를 모두 부정하게 된다. 예를 들어, CORBA 또는 마이크로소프트의 컴포넌트 오브젝트 모델(COM) 및 디스트리뷰티드 컴포넌트 오브젝트 모델(DCOM)과 같은 오브젝트 테크닉들이 이 테크닉을 구현하는데 사용될 수 있다. 이러한 오브젝트 구조들은 클라이언트 및 서버 사이의 일대일 관계를 필요로 한다. 서버가 어떤 이유에서든 고장나면, 클라이언트는 동일한 서비스를 수행할 수 있는 다른 서버를 찾거나 에러 조건을 조절하므로써 그 고장을 조절할 필요가 있다. 이러한 접근 방식은 애플리케이션에 충분한 무정지성을 제공하기 위해 복잡하고 시간이 많이 소비되는 통신 셋업을 필요로 한다.
서버 프로세스들에 대한 고장처리를 써포트하는 다른 시스템은 워싱턴, 레드먼드의 마이크로소프트 코포레이션의 마이크로소프트 클러스터 서버(MSCS)라고 불린다. MSCS 시스템은 주 서버 및 스탠바이 서버가 "생존 지속(keep alive)" 메시지를 앞뒤로 송신하여, 스탠바이 서버가 주된 서버와 접속하지 못하는 경우에는 스탠바이 서버가 활성화되는 핫-스탠바이(hot-standby) 테크닉을 사용한다. 이것은 시간이 많이 소비되는 고장-처리 프로세스이다. 게다가, 이 시스템은 고장이 발생할 때가지 스탠바이 서버의 컴퓨터 자원들이 사용되지 않기 때문에 비효율적이다.
본 발명은 스케일가능(scalable)하며 무정지형(fault-tolerant) 컴퓨터 시스템에 관련된 것이다.
도 1은 제1 컴퓨터 시스템을 설명하는 블록도.
도 2는 파일에 억세스하기 위한 프로세스를 설명하는 블록도.
도 3은 제2 컴퓨터 시스템을 설명하는 블록도.
도 4는 본 발명의 컴퓨터 시스템의 컴퓨터 노드를 설명하는 블록도.
도 5는 제3 컴퓨터 시스템을 설명하는 블록도.
도 6은 제4 컴퓨터 시스템을 설명하는 블록도.
도 7은 본 발명의 컴퓨터 시스템에 의해 써포트되는 소프트웨어의 다이어그램.
도 8은 본 발명의 컴퓨터 시스템에 의해 써포트되는 전화 모듈의 다이어그램.
도 9는 본 발명의 컴퓨터 시스템에 의해 써포트되는 내부 서비스 모듈의 다이어그램.
도 10은 본 발명의 컴퓨터 시스템에 의해 써포트되는 외부 서비스 모듈의 다이어그램.
컴퓨터 시스템은 다수의 상호 의존적인 프로세서들을 포함한다. 각 상호 의존적인 프로세서는 파일 시스템 상태 정보를 공유하지 않고 독립적인 운영체제 이미지를 수행하고, 각 상호 의존적인 프로세서는 제1 네트워크 커넥션 및 제2 네트워크 커넥션을 갖는 네트워크 억세스 카드를 더 갖는다. 컴퓨터 시스템은 각 프로세서의 제1 네트워크 커넥션에 연결된 제1 능동 백플래인(active backplane); 각 프로세서의 제2 네트워크 커넥션에 연결된 제2 능동 백플래인; 및 제1 및 제2 능동 백플래인의 각각에 연결되어 있으며, 제1 및 제2 능동 백플래인을 통해 전달된 데이터 요구에 반응하는 하나 이상의 주변장치들을 포함하고, 상기 제2 능동 백플래인은 돌발사고 발생대비(fail-over)를 하는 경우에 제1 능동 백플래인을 대신하여 동작한다.
본 발명의 실시예는 다음을 포함한다. 각 능동 백플래인은 스위치일 수 있다. 상기 스위치는 이더넷 스위치일 수 있다. 하나 이상의 네트워크화된 데이터 저장 장치는 제1 및 제2 능동 백플래인에 연결된다. 또한, 하나 이상의 서버들이 제1 및 제2 능동 백플래인에 연결된다. 각 디렉터가 제1 및 제2 능동 백플래인의 각각에 연결된다. 각 디렉터는 라우터에도 연결된다. 어드레스를 갖는 주변장치는 제1 또는 제2능동 백플래인에 연결된다. 상기 어드레스는 인터넷 프로토콜(IP)일 수 있다. 또한, 상기 주변장치는 제1 또는 제2능동 백플래인으로부터 억세스되면 IP에 응답한다. 상기 어드레스는 미디어 억세스 프로토콜(MAC;Media Access Protocol) 어드레스일 수도 있다.
제2관점에서, 컴퓨터 시스템을 동작시키기 위한 방법은, 상호 의존적 프로세서들의 그룹 중 각각의 프로세서에 의해 파일 시스템 상태 정보를 공유하지 않고 독립적인 운영체제 이미지를 수행하고, 각 상호 의존적 프로세서는 제1네트워크 커넥션 및 제2네트워크 커넥션을 갖는 네트워크 억세스 카드를 갖는 단계;및 각 프로세서의 각 제1네트워크 커넥션에 연결된 제1능동 백플래인 또는 각 프로세서의 제2네트워크 커넥션에 연결된 제2능동 백플래인 상의 데이터를 전송하고, 상기 제2 능동 백플래인은 돌발사고 발생대비(fail-over)의 경우에 제1능동 백플래인을 대신하여 동작하는 단계를 포함한다.
상기 방법의 실시예는 다음을 포함한다. 상기 전송하는 단계는 각 능동 백플래인을 통해서 데이터를 라우팅하는 단계를 포함하고, 상기 능동 백플래인은 스위치를 사용하는데, 상기 스위치는 이더넷 스위치이다. 데이터는 제1 및 제2 능동 백플래인에 연결된 하나 이상의 네트워크화된 데이터 저장 장치이다. 요구들은 제1 또는 제2능동 백플래인을 통해서 하나 이상의 서버들로부터 전달된다. 각 디렉터는로드 균형을 제공하기 위해 제1 및 제2능동 백플래인에 연결된다. 각 디렉터는 또한 라우터에도 연결된다. 제1 또는 제2 능동 백플래인에 연결된 주변 장치는 소정의 주소에서 억세스된다. 주소는 소정의 인터넷 프로토콜(IP)이고, 주변 장치는 제1 및 제2능동 백플래인으로부터 소정의 IP 어드레스에 억세스된다. 상기 주소는 미디어 억세스 프로토콜(MAC) 어드레스이다.
본 발명의 장점은 다음을 포함한다. 본 발명은 스케일 능력 및 무정지성을 포함한다. 본 발명은 많은 서버들로 하여금 능동/능동 스케일가능 방식으로 동일한 작업을 수행하도록 한다. 본 발명은 또한 유사한 서버들의 풀(pool) 사이에서 로드 균형을 써포트(support)한다. 클라이언트 프로세스에 로드 균형이 잡힌 유사 서버들 풀로의 억세스를 제공하므로써, 본 발명은 각 요구에 대한 응답시간을 최소로 유지한다. 그리하여, 본 발명은 높은 데이터 사용가능성, 공유 데이터로의 빠른 억세스 및 데이터 통합을 통한 낮은 관리 비용을 써포트한다. 추가적으로, 본 발명은 전체 시스템 비용을 감소시키기 위해 표준 기성 컴포넌트를 사용하여 구성된다.
도 1은 본 발명에 다른 컴퓨터 시스템을 도시한다. 평범한 구식 전화 서비스(POTS;plain old telephone service) 네트워크로부터의 전화가 셀룰러 스위치(100)에 의해 수신된다. 상기 셀룰러 스위치(100)는 다중 T1 라인 쌍들(101-103 및 105-107)을 통하여 상기 전화를 다수의 컴퓨터로 전송한다.
T1 라인 쌍들(101-103 또는 105-107)에서 상기 셀룰러 스위치(100)로의 인터페이스는 네트워크로부터 아날로그 음성 신호를 수신하고, 상기 라인 인터페이스에 의해 상기 신호를 통과대역 필터링 및 조절하며, 상기 신호를 COder/DECoder(CODEC) 회로에 인가시킨다. 상기 CODEC는 상기 돌아오는 아날로그 오디오 신호를 필터링, 샘플링 및 디지털화하고, 다음의 디지털 신호 프로세싱(DSP)동안 이 디지털화된 오디오 신호를 통과시킨다. 나가는 데이터에 대해서, 상기 인터페이스는 저장 및 압축된 오디오 데이터를 재생을 위해 확장시키고, 애플리케이션 또는 사용자 요구 상에서의 재생의 볼륨 및 속도를 조절하고, DTMF,MF 또는 어떠한 애플리케이션-정의 범용 톤과 같은 톤들을 필요한 대로 발생시킨다.
컴퓨터(102 및 104)의 각각은 능동 백플래인(110)을 통해 서로 통신한다. 추가적으로, 다중 데이터 저장 장치(106 및 108) 또한 능동 백플래인(110)에 연결된다. 상기 능동 백플래인(110)은 캘리포니아, 산호세의 시스코 시스템즈 인코포레이티드의 시스코 2900 스위치 같은 이더넷 스위치일 수 있다. 능동 백플래인(110)은 상기 이더넷 네트워크를 다수의 더 작고 더 효율적인 붕괴 도메인 또는 세그먼트들로 분할하여 상기 이더넷 네트워크를 최적화한다. 능동 백플래인(110)에 의해 발생된 개개의 세그먼트들은 파일 서버같은 한개의 컴퓨터, 한 그룹의 컴퓨터나 전체 비지니스 네트워크로도 구성될 수 있다. 능동 백플래인(110)은 다수의 노드들 사이의 포인트 투 포인트의 양방향 통신을 제공하여 각각의 노드는 데이터 저장 장치(106 또는 108)로의 전체 대역폭 억세스를 갖는다. 데이터 저장 장치(106 및 108)는 네트워크 레이드(RAID;redundant array of inexpensive disk) 데이터 저장 시스템이다. 각각의 네트워크 RAID 데이터 저장 시스템(106 또는 108)은 직접 능동 백플래인(110)으로 연결된다. 상기 네트워크 RAID 데이터 저장 시스템은 네트워크 어플라이언스, 인코포레이티드의 RAID 어레이 일 수 있으며, 10 Mbit, 100Mbit 또는 1Gbit 이더넷 백플래인(110)과 같은 이더넷 백플래인(110)에 직접 연결된다.
네트워크 RAID 데이터 저장 장치(106 또는 108)는 리던던트 RAID 콘트롤러를 포함하고 완전히 무정지형이다. 그에 따라, 상기 네트워크 RAID 데이터 저장장치(106 또는 108)는 하드웨어 또는 소프트웨어에 의해 콘트롤되는 디스크의 집합이며, 한개의 드라이브 고장이 도 1의 시스템을 다운시키지는 않는다. 네트워크 RAID 데이터 저장 장치(106 또는 108)는 팬과 파워 고장을 보호하는 역할도 하고, 원격 고장 통지 기능도 제공한다.
데이터 저장 장치(106 또는 108) 각각은 RAID-1 시스템일 수 있으며, 이 시스템 내에서 모든 디스크는 다른 디스크에 저장된 데이터의 미러 이미지를 갖는다. 마찬가지로, 상기 데이터 저장 장치(106 또는 108)는 한 그룹의 데이터 드라이브(통상적으로 그룹당 4 또는 8개의 드라이브)를 통해 사용자 데이터에 줄을 붙이는(stripe) RAID-2 또는 RAID-3 하부-시스템일 수 있다. 데이터 저장 장치(106 또는 108)는 또한 데이터 블록(또는 몇 그룹의 블록들)에 줄을 붙이고 데이터를 완전히 개개의 디스크 상에 저장하는 RAID-4 또는 RAID-5 하부-시스템일 수 있다. 추가적으로, 각각의 데이터 저장 장치(106 또는 108)상에서 동작하는 운영체제는 파일 동작에 최적화되고 스레드-기초(thread-based), 비우선(non-preemtive) 멀티태스킹 환경을 갖는다. 데이터 요구는 파일 공유 프로토콜에 따라 능동 백플래인(110)을 거쳐 전송되며, 상기 프로토콜은 컴퓨터(102 또는 104)상에서 실행되는 요구자와 네트워크 RAID 데이터 저장 시스템(106 또는 108) 사이의 통신을 위한 특별한 규칙들의 집합이다. 게다가, 애플리케이션들은 컴퓨터 네트워크의 서버 프로그램으로부터의 서비스를 요구할 수 있다. 파일 공유 프로토콜을 통해서, 애플리케이션은 프린터, 메일슬롯 및 지정된 파이프들을 포함하는 다른 자원 뿐만 아니라 원거리 서버에서도 파일에 억세스하여 원거리 서버 상의 파일들을 읽고, 만들고, 업데이트할 수 있다. 상기 프로토콜 또한 클라이언트 요구를 수신하도록 셋업된 어떠한 프로그램과도 통신할 수 있다.
파일 공유 프로토콜은 마이크로소프트-기반용 공통 인터넷 파일 시스템 (CIFS) 또는 유닉스-기반용 네트워크 파일 시스템(NFS)을 포함한다. 마찬가지로, 파일 공유 프로토콜은 서버 메시지 블록(SMB) 프로토콜일 수 있으며, 이 프로토콜은 그 TCP/IP 프로토콜 상이나 IPX 또는 NetBEUI 같은 다른 네트워크 프로토콜 상의 인터넷에서 사용된다. RAID 데이터 저장 장치(106 또는 108)에 의해 써포트되는 파일 공유 프로토콜은 파일 잠금 장치 또는 바이트 범위의 잠금 장치인 잠금 장치를 제공한다. 상기 잠금 장치는 도 1의 파일 공유 환경에 대한 데이터 통합성을 향상시킨다. 잠금은 다중 애플리케이션 및 사용자에 의한 파일에 동시 억세스를 조화시키는데 사용될 수 있다. 잠금은 공유 데이터 동시 독자 및 기록자가 "상한" 데이터를 읽는 것(다른 애플리케이션에 의해 업데이트되는 프로세스에 있는 데이터 및/또는 서로의 업데이트를 덮어쓰는 것을 막아준다.
파일 잠금에 있어서, 애플리케이션은 상기 파일을 열린 상태로 홀드하면서 모든 다른 애플리케이션/사용자의 그 파일로의 읽기 억세스가 거부될 것을 요구한다. 만일 다른 애플리케이션이 이 거부-모드와 함께 열려 있는 동안 읽기 위해(또는 읽고 쓰기 위해) 상기 파일 불러오기를 시도한다면, 상기 시도는 실패할 것이다. 마찬가지로, 바이트-범위의 잠금은, 통상적으로 상기 바이트-범위의 잠금 홀더가 상기 잠금된 섹션에 읽거나 쓰려고하는 동안 다른 애플리케이션이 파일 불러오기 섹션으로의 억세스를 제한하는데 사용될 수 있다. 어떤 실시예에서는, 바이트-범위의 잠금은 이미 불러온 파일 상에서만 행해질 수 있다.
인터프로세서 통신에 대해서, 메시지 시스템은 메시지 포인터 리스트 및 참조 카운트를 포함하는 통합된 메일박스를 제공받는다. 상기 CIFS 파일 시스템 잠금 및 불러오기, 잠금, 업데이트, 닫기 및 애플리케이션 실시간 프로그래밍 프로세스는 상기 메일박스로의 억세스를 필요로하는 각각의 애플리케이션에 제공된다. 잠금 매니지먼트 및 디스크 할당 전략은 RAID 콘트롤러(106 또는 108)상에서 실행되는 CIFS 파일 시스템에 의해 조절된다. 이런 식으로, 각각의 애플리케이션 전화 서버 및 전자 메일 서버는 스레디드 파일 또는 데이타베이스 서버 없이도 직접 메시지 시스템 상에서 작동할 수 있다. 따라서, 최대 스케일능력이 써포트된다.
또한, 상기 CIFS 프로토콜은 네트워크 연결이 몇 프로그래머블 시간 주기후에 끊어 지면, 자동으로 잠금을 푼다. 도 1에 설명된 시스템의 어떤 컴퓨터(102 또는 104)도 그것이 가진 눈에 띄는 잠금에 상관없이 고장날 수 있으며, 동일한 데이터 상에서 동작하기를 원하는 어떤 다른 컴퓨터의 동작에도 영향을 미치지 않는다. 따라서, 각각의 컴퓨터 또는 클러스터의 노드는 다른 노드들의 상태나 동작에 독립적인 전체 파일 시스템 상에서 동작할 수 있다.
도 2는 데이터 저장 장치에 저장된 파일에 억세스하기 위한 프로세스(120)를 설명하는 흐름도이다. 프로세스(120)은 적절한 때에 파일을 잠궈서 어떠한 애플리케이션도 전체 데이터 저장 장치(106 또는 108)를 소유한 것처럼 전체 파일 시스템 상에서 동작할 수 있다. 상기 프로세스(120)는 처음에 특정 데이터 저장 장치의 요구된 파일이 잠궈졌는지를 판단한다(스텝 122). 다른 애플리케이션이 이미 그 파일에 억세스한 경우는 상기 파일은 잠궈진다. 잠궈진 경우에는, 상기 프로세스(120)는 스텝(122)로 되돌아 가서 상기 파일을 체크하기 전까지 소정의 시간 동안 기다린다(스텝 124). 상기 파일이 사용가능한 경우에는, 상기 프로세스는 계속 진행하여 디스크 상의 파일을 잠그고(스텝 126) 요구된 데이터 프로세싱 동작을 수행한다(스텝 128). 동작을 끝내자 마자, 상기 프로세스(120)는 빠져나가기(스텝 132) 전에 디스크 상의 파일을 해제시킨다(스텝 130).
도 3은 리던던트 백플래인을 갖는 제2 컴퓨터 시스템을 도시한다. 도 1의 시스템에서와 같이, 상기 POTS네트워크로부터의 음성 데이터는 셀룰러 스위치(140)로 전해진다. 상기 셀룰러 스위치(140)는 이번에는 들어오는 전화를 다수의 컴퓨터(142 및 144)로 분배한다. 셀룰러 스위치(140)은 각각 다중 T1 라인(141-143 및 145-147)을 통하여 컴퓨터(142 및 144) 각각과 통신한다. 컴퓨터(142 및 144)는 제1 능동 백플래인(146) 및 제2 능동 백플래인(148)을 통해 교대로 서로 및 다른 주변장치와 통신한다. 제1 및 제2 능동 백플래인(146 및 148)은 함께 연결된다.
능동 백플래인(146 및 148)의 각각은 시스코2900 스위치 같은 이더넷 스위치일 수 있다. 백플래인(146 및 148)은 상기 이더넷 네트워크를 다수의 더 작고 더 효율적인 충돌 도메인 또는 세그먼트로 나눈다. 각각의 백플래인(146 또는 148)는 컴퓨터(142-144) 사이의 포인트 투 포인트 양방향 통신을 제공하여, 각각의 컴퓨터는 데이터 저장 장치(154 및 156) 같은 공유 주변 장치로의 전 대역 억세스를 갖는다. 정보를 네트워크 상의 모든 장치로 전송하여 불필요한 트래픽을 발생시키는 대신에, 각각의 백플래인(146 또는 148)은 데이터의 정확한 목적지를 결정하고 그것을 상기 장치가 연결된 포트로만 전송한다. 각각의 백플래인(146 또는 148)은 또한 한번에 다수의 전송을 조절할 수도 있다. 도 3에 설명된 시스템에서, 한 컴퓨터가 네트워크 상의 다른 장치로 향하는 정보를 전송하면, 백플래인(146 또는 148)은 상기 데이터가 정확하게 어디로 가야하는지를 결정하여 2개의 컴퓨터 사이에 일시적인 연결을 발생시킨다. 이 연결은 데이터 전송을 완료하는데 필요한 시간 동안에만 만들어지는 사적 링크이다. 또한, 공유 이더넷 허브와는 달리, 상기 백플래인(146 또는 148)은 다수의 동시 전화 통화를 조절할 수 있고, 따라서 전체적인 네트워크 성능을 증가시킨다. 상기 백플래인(146 또는 148)은 또한 버스 억세스에 있어서도 리던던시를 제공한다. 리던던트 백플래인(146 및 148)의 사용은 프로세서 대 프로세서(노드 대 노드 통신과 같이) 및 프로세서 대 I/O 통신(네트워크 연결 RAID 장치의 경우와 같이) 모두에 스케일 능력을 제공한다. 상기 프로세서 대 메모리 통신 대역폭 제한은 한 클러스터내의 노드들이 노드 내에서 프로세서 대 메모리 억세스를 제공하고 랜 억세스를 필요로 하지 않는 사실에 의해 방지될 수 있다.
또한, 서버(150 및 152)는 능동 백플래인(146 및 148)에 연결된다. 서버(150 및 152)는 교대로 인터넷(160)에 연결된다. 추가적으로, 다수의 네트워크 데이터 저장 장치(154 및 156) 또한 능동 백플래인(146 및 148)에 연결되어 컴퓨터(142 및 144) 또는 서브(150 및 152)로부터의 데이터 요구를 만족시킨다.
듀얼 백플래인(146 및 148)은 스케일 능력 및 무정지성을 제공한다. 게다가, 다수의 서버는 능동/능동 스케일 가능 방식으로 동일한 작업을 수행한다. 클라이언트 프로세스에 로드 균형이 잡힌 서버들로의 억세스를 제공하므로써, 각각의 요구에 대한 응답 시간이 최적화된다.
도 4는 컴퓨터(142)를 더 상세히 설명한다. 컴퓨터(142)는 프로세서 버스(174)에 연결된 프로세서(172)를 갖는다. 프로세서(172)는 CPU 버스(174)를 통해 RAM(176) 및 ROM(178)과 통신한다. 추가적으로, 상기 프로세서(172)는 I/O 콘트롤러를 통해 하나 이상의 주변 장치와 통신한다. 상기 I/O 콘트롤러(180)는 교대로 디스플레이 장치(184), 데이터 저장 장치(186), 전화 인터페이스 카드(187) 및 네트워크 인터페이스 시스템(188)과의 통신을 위한 I/O 버스를 제공한다.
전화 인터페이스 카드(187)는 뉴저지주, 파시퍼니, 다이얼로직 코포레이션의 디지털 SS7, 디지털 E&M, 디지털 루프 시작, 디지털 DID, 아날로그 E&M, 아날로그 루프 시작 및 아날로그 DID를 써포트하는 D/21H 또는 D/41H 음성 보드일 수 있다. 2개(D/21H) 또는 4개(D/41H) 루프 시작 인터페이스의 각각은 전화 네트워크로부터의 음성 및 전화 신호 정보를 수신한다. 일반적으로, 셀룰러 스위치(100 또는 140)로부터의 아날로그 신호는 인터페이스를 사용하여, 대역통과 필터링되고 라인 인터페이스에 의해 검사된 후 COder/DECoder(CODEC) 회로에 인가된다. 상기 CODEC은 들어오는 아날로그 신호를 필터링, 샘플링 및 디지털화 하고 이 디지털화된 신호를 디지털 신호 프로세서(DSP)로 전달한다. 상기 DSP는 들어오는 아날로그 신호의 레벨에 있어서의 변화를 보상하기 위해 자동 이득 콘트롤을 사용하고, 신호를 압축하고 디스크 저장 공간을 절약하기 위해 적합한 차동 펄스 코드 변조(ADPCM) 또는 펄스 코드 변조(PCM) 알고리즘을 인가한다. 상기 DSP는 또한 톤-DTMF, MF 또는 싱글또는 듀얼 주파수 톤으로 정의된 애플리케이션-의 존재를 검출한다. 그리하여, 안으로 향하는 전화 신호(벨 검출 및 루프 전류 검출)는 라인 인터페이스에 의해 검사되고, 상기 DSP로의 제어 버스를 통해 전해진다. 상기 DSP는 이러한 신호에 응답하고, 애플리케이션에 전화 신호 상태를 알려주며, 상기 라인 인터페이스로 하여금 밖으로 나가는 신호(온-훅/오프-훅)를 전화 네트워크로 전달하도록 지시한다. 음성을 녹음할때, 상기 DSP는 최상의 음성 및 가장 효율적인 저장 용량의 애플리케이션에 의해 선택된 것처럼 24 내지 26 Kb/s(Kilobit per econd)의 서로 다른 디지털화 속도를 사용할 수 있다. 디지털화 속도는 채널 단위로 선택이 되며 녹음 또는 재생 기능이 시작될 때마다 변화될 수 있다.
밖으로 나가는 프로세싱은 들어오는 프로세싱과 반대이다. 상기 DSP 프로세싱된 음성은 저장을 위해 호스트 프로세서로 전송된다. 저장된 파일을 재생시키면, 음성 정보가 호스트 프로세서로부터 수신되고 상기 DSP로 전송되며, 상기 파일을 디지털화된 음성으로 변환한다. 상기 DSP는 상기 디지털화된 음성을 CODEC으로 전송하여 아날로그 음성으로 변환되도록 하고, 전화 네트워크로의 전송을 위해 라인 인터페이스로 전송한다. 나가는 데이터에 대해서, 상기 DSP는 저장되고 압축된 오디오 데이터를, 재생을 위해 압축해제하고; 애플리케이션 또는 사용자 요구에 따라 재생의 볼륨 및 속도를 조절하며; 톤-DTMF, MF 또는 어느 애플리케이션-정의 범용 톤-을 발생시킨다.
네트워크 인터페이스 시스템(188)은 다수의 네트워크 인터페이스 카드(189-190)을 갖는다. 네트워크 인터페이스 시스템(188)은 텍사스주, 휴스턴, 컴팩 컴퓨터 코포레이션의 네텔리전트 10/100 TX PCI 인텔 UTP 콘트롤러일 수 있다. 상기 네텔리전트 10/100 유닛은 10 또는 100 Mb/s(Megabits per second)에서 동작할 수 있으며, 네트워크에 연결되었을때 자동으로 최고 공통 속도에 맞춰간다. 네텔리전트 10/100 유닛은, 네트워크 연결이 실패하면, 자동적으로 백업 네트워크 인터페이스로 스위칭되므로써 그 콘트롤러로 하여금 능동 링크를 유지할 수 있도록 하는 네트워크 무정지 특징을 갖는다.
도 5에는, 또다른 컴퓨터 시스템이 도시되어 있다. 다수의 컴퓨터(200 및 202)는 제1 버스(204) 및 제2 버스(206)와 듀얼 버스를 통해 통신한다. 추가적으로, 제1 이더넷 스위치(210)가 제1 버스(204)에 연결된다. 이더넷 스위치(210)는 시스코 2900 스위치일 수 있다. 상기 이더넷 스위치(210)은 교대로 웹 서버(214)의 인터넷 풀(pool)에 연결된다. 서버(214)는 웹 콘텐츠 검색, 이메일, 데이터베이스 매니지먼트 및 시스템 매니지먼트를 써포트한다. 상기 이더넷 스위치(210)도 제2 디렉터(220) 및 제1 디렉터(216)에 연결된다. 제1 디렉터(216)는 교대로 인터넷 라우터(222)와 통신한다. 인터넷 라우터(222)는 허브(226) 및 인터넷(160)에 연결된다.
이와 유사하게, 제2 이더넷 스위치(212)는 제2 버스(206)에 연결된다. 시스코 2900 스위치일 수 있는 제2 이더넷 스위치(212) 또한 인터넷 웹 서버(218) 및 제2 디렉터(220)에 연결된다. 제2 디렉터(220)는 교대로 인터넷(160)에 연결된 인터넷 라우터(224)에 연결된다. 상기 인터넷 라우터(224)는 허브(226)에도 연결된다.
디렉터는 서버의 풀(pool)과 관련된 URL 또는 IP를 감지한다. 서버가 사용불가 상태에 있게 되면, 서버 요구는 단지 느린 폴 모드(poll mode)에 놓이게 되고, 서버 요구는 응답을 시작할 때까지 전송되지 않는다. 디렉터는 다양한 서버들 간의 밖으로까지 로드-균형 알고리즘을 제공한다. 이러한 장치들은 높은 이용도 및 스케일 가능을 확실히 한다. 그러한 클러스터화된 시스템에서 디렉터(216 및 220)를 사용하므로써, 능동/능동 서버들을 공급하는 것은 기성 컴포넌트를 사용하여, 모든 서버 자원들로 클라이언트들의 스케일 가능하고, 로드 균형이 잡혔으며, 무정지성의 억세스를 확실히 하므로써 제공될 수 있다.
도 6은 본 발명의 또다른 실시예를 보여준다. POTS 네트워크로부터 들어오는 데이터는 셀룰러 스위치(240)에 의해 수신된다. 상기 셀룰러 스위치(240)는 교대로 다중 T1 연결을 통해 POTS 데이터를 컴퓨터(242 및 244)에 각각 공급한다. 컴퓨터(242 및 244) 각각은 교대로 제1 능동 백플래인(246) 및 제2 능동 백플래인(248)로 구성된 듀얼 백플래인 시스템에 연결된다. 다수의 서버들(270 및 280) 또한 제1 능동 백플래인(246) 및 제2 능동 백플래인(248)에 연결된다. 마찬가지로, 데이터 저장 장치(250 및 252)는 제1 능동 백플래인(246) 및 제2 능동 백플래인(248)에 연결된다.
추가적으로, 다수의 디렉터(254 및 260) 또한 제1 능동 백플래인(246) 및 제2 능동 백플래인(248)에 연결된다. 디렉터(254 및 260) 각각은 라우터(256 및 262) 각각에 연결된다. 라우터(256 및 262)는 서로 허브(258)를 통해 통신한다. 라우터(256 및 262) 또한 인터넷(160)에 연결된다.
듀얼 백플래인(246 및 248) 및 디렉터(254 및 260)의 배치는 많은 서버들로 하여금 능동/능동 스케일 가능 방식으로 동일한 작업을 수행할 수 있게 한다. 클라이언트 프로세스에 로드 균형이 잡힌 유사 서버들로의 억세스를 제공하므로써, 상기 시스템은 각 요구에 대한 응답 시간을 최소화 한다.
이제 도 7로 넘어가면, 위에서 설명된 컴퓨터 시스템 상에서 수행되는 프로세스들의 개관이 도시되어 있다. 이러한 프로세스들은 하나 이상의 전화 애플리케이션 모듈 및 자동 음성 인식(ASR) 서버 모듈의 집합인 전화 프로세스(300)를 포함한다. 전화 그룹(300)은 클라이언트/서버 통신을 통해 내부 서비스 프로세스(320)와 통신한다. 상기 내부 서비스 프로세스(320)는 CIFS 애플리케이션 모듈, 애플리케이션 매니저 모듈, 팩시밀리 매니저 모듈, 페이저(pager) 및 메시지 전달 매니저 모듈, 자원 매니저 모듈 및 동작 및 경영 매니저(OA&M) 모듈과 같은 소프트웨어의 집합이다. 외부 서비스 프로세스(340)는 인터넷 메시지 억세스 프로토콜4(IMAP4)/포스트 오피스 프로토콜3(POP3) 전자 메일, 단문 메시지 시스템(SMS) 서버, 웹 에이전트 서버, 네트워크 및 시스템 매니지먼트 모듈, 개인 정보 매니지먼트/전자 메일 동기화 서버 모듈 및 웹 메시징 서버 모듈과 같은 작업들을 조절하는 서비스들의 집합이다.
전자 메일 서버는 IMAP4 및 POP3 SMTP 프로토콜을 사용하여 메시지를 전송 및 수신한다. 상기 전자 메일 서버는 전화 애플리케이션 서버와 동일한 파일 저장 방법을 사용하여, 전화 및 데스크탑으로 통합된 메일박스 개념을 써포트한다. 상기 웹 서버는 메시지 억세스, 서비스 매니지먼트, 시스템 매니지먼트, PIM 동기화 및인터넷 데이터 집합을 위한 웹 사용자 인터페이스를 구현한다. Active-X 및 Java 애플릿 또는 스크립트를 통해서, 통합된 메시지들은 마이크로소프트 인터넷 익스플로러 및 넷스케이프 내비게이터와 같은 웹 브라우저를 사용하여 인터넷 상에서 억세스될 수 있다. 사용자는 캘린더, 어드레스 북 및 작업 리스트에 억세스하기 위해 웹 브라우저를 사용할 수 있다. 사용자는 또한 인터넷으로부터 웹서버에 억세스하여 서비스 및 구성 서비스 파라미터들을 추가하거나 변경할 수 있다. 폼과 메뉴를 활용하여, 사용자는 구성 파라미터들과 상호작용할 수 있다. 게다가, 서비스 파라미터들로의 제한된 억세스는 전화 사용자 인터페이스를 통해 써포트된다.
개인 정보 매니저 모듈은 사용자의 주소록, 캘린더 및 작업 리스트를 처리한다. 주소록은 이름, 제목, 회사 주소, 회사 전화, 이동 전화, 집전화, 팩스, 이메일, 웹 페이지 주소 및 주목할 사항에 대한 필드를 갖는 기재사항을 포함한다. 캘린더는 주제/안건, 위치, 날짜/시간 및 약속의 소요시간과 같은 특징들과 함께, 약속을 기억하게 된다. 작업 리스트는 해야할 일들을 기억한다. 작업 리스트의 기재사항은 주제/안건, 우선권, 마감 날짜/시간 및 기억할 사항들에 대한 필드를 제공한다. 상기 시스템은 작업 리스트 콘텐츠와 함께 전자 메일을 찾고, 호출(call)하거나 전송한다. 웹 상의 PIM 동기화는 팜탑 컴퓨터 상의 정보를 전화 또는 웹 클라이언트 억세스에 의해 언제 어디서나 사용자에게 사용가능하도록 하기 위해 제공된다. 웹 서버는 이 동기화를 조절하는 통로이다.
전화 모듈(300)은 도 8에서 더 상세히 설명된다. 전화 모듈(300)에서, 다수의 클라이언트 애플리케이션 모듈(302, 304 및 306)은 하나 이상의 자동 음성인식(ASR) 클라이언트 모듈(308)과 통신하고, 각 모듈 중의 하나는 통신 포트마다 할당된다. ASR 클라이언트 모듈(308)은 교대로 음성인식 작업을 조절하는 ASR 서버(310)와 통신한다. ASR 서버 소프트웨어는 캘리포니아주, 멘로 파크의 누언스(Nuance) 통신의 누언스-6 소프트웨어일 수 있다. 상기 ASR 서버(310)는 사용자들이 마치 사람과 이야기 하듯이 컴퓨터에게 말할 수 있게 해주는 음성 인식 애플리케이션을 가능케한다. ASR 서버(310)는 언어 및 통계 모델을 이용하여 인간의 음성을 번역(interpret) 및 이해하고 장치, 언어, 애플리케이션 및 어휘 모든 범위에 걸쳐 높은 인식 정확도를 제공한다. 시스템의 스케일가능한 클라이언트/서버 구조는 높은 신뢰성을 제공하면서 모든 크기의 통화 볼륨 및 어휘를 조절한다. 추가적으로, 각 클라이언트 모듈(302, 304 및 306)은 또한 팩시밀리, 텍스트, 자동 음성 인식 및 음성 프로세싱을 써포트하는 전화 프로토콜(312)을 통해 통신한다.
전화 애플리케이션 서버는 전자 메일 서버와 동일한 파일 저장 방법을 사용한다. 사용자들은 음성 및 팩스 메시지를 송신 및 수신하고 전화 애플리케이션을 사용하여 전자 메일 및 웹 텍스트를 음성으로 변환한다. 전자 메일은 전화 애플리케이션과 동일한 메시지 저장 방법을 사용하는 IMAP4 전자 메일 서버로부터 또는 서버로 전송된다. 이런 식으로, 사용자는 전화 및 데스크탑 모두로부터 통합된 메일박스 및 첨단 웹 서비스 개념을 전달받게 된다.
전화 애플리케이션(300)용 서버가 다운되면, 그 노드의 모든 포트들이 상실된다. 애플리케이션 서버에서는 어떤 공유 서비스들도 구현되지 않기 때문에, 돌발 사고 발생대비(fail-over)가 요구되지 않는다. 그 서버로의 모든 그 다음 호출은중단될 것이다. 버스(204 및 206)는 남아있는 전화 애플리케이션 서버로 새로운 호출을 라우팅할 것이다.
도 9는 내부 서비스 모듈(320)을 더 상세히 보여준다. 파일 공유 프로토콜 조절기(322)는 클라이언트 애플리케이션으로부터의 요구를 처리하여 애플리케이션들이 파일들을 읽거나 파일들에 기록하거나, 컴퓨터 네트워크의 서버 프로그램으로부터의 서비스를 요구할 수 있다. 이 경우에 파일 공유 프로토콜 조절기는 CIFS 조절기이다. CIFS 잠금 전략을 사용하므로써, 시스템 범위의 자원 및 큐는 지역적으로, 또한 자원 매니저, 애플리케이션 매니저, 페이저/아웃다이얼러(outdialer) 매니저 및 팩스 매니저와 같은 동등 서버들과 병렬적으로 처리될 수 있다. 잠금 기술은 병렬성과 스케일성을 향상시키는 반면에, 로드 균형과 돌발사고 발생대비(fail-over) 복잡성을 감소시킨다.
상기 CIFS 파일 프로토콜 조절기(322)는 하나 이상의 할당 및 잠금과 같은 애플리케이션 명령어로부터의 요구를 구현한다. 애플리케이션 매니저(326)는 하나이상의 유니버설 포트를 할당하고, 리던던트 들어오는/나가는(inbound/outbound) 요구를 삭제하며, 유니버설 포트를 할당 및 할당 해제하여 필요한 만큼의 다양한 교섭 통로를 확보한다.
애플리케이션 매니저(326)는 또한 팩스 배달 매니저(324) 및 페이저 전달 매니저(328)와 통신한다. 팩스 전달 매니저(324)는 팩스 요구를 유지하고 제공되었거나 동적으로 할당된 다이얼 아웃 포트의 사용가능성을 감지한다. 팩스 전달 매니저(324)는 또한 필요한 경우에는 팩스 전달의 재시도를 책임진다. 팩스 전달매니저(324)는 팩스 큐 매니지먼트 및 팩스 검색 프로세스에 관한 CIFS 소프트웨어(322)정보와 통신한다. 페이저 전달 매니저(328)는 페이저 큐를 유지하고 제공 및/또는 동적으로 할당된 다이얼-아웃 포트를 감지하며, 또한 페이저 전달 프로세스의 재시도를 매니지한다. 내부 서비스 모듈(320)은 또한 사용가능한 교섭 통로(conference bridge)를 할당하는 자원 매니저(330)를 포함한다. 내부 서비스 모듈(320)은 또한 메일박스, 포트 및 디스크 유틸리티를 서포트하는 OA&M(Operation, Administration and Maintenance) 매니저(332)를 갖는다.
도 10은 외부 서비스 모듈(340)을 상세하게 도시한다. 외부 서비스 모듈(340)은 IMAP4/POP3 전자 메일 서버(342)를 포함한다. 서버(342)는 전자 메일 통합을 조절하고 웹으로의 메일박스 억세스를 통합한다. 상기 IMAP4/POP3 서버(342)는 LDAP(Lightweight Directory Access Protocol)를 사용하여 X.500 디렉토리 서버(344)와 통신한다. LDAP는 인터넷 상의 디렉토리 서비스로의 오픈 억세스를 제공할 수 있고, 디렉토리를 통합할 수 있으며, 전체 디렉토리 서비스를 제공할 수 있는 표준이다. X.500는 컴퓨팅 애플리케이션 및 네트워크 플랫폼과 독립적인 전체 디렉토리 서비스에 대한 프로토콜 및 정보 모델을 정의하는 ISO/ITU에 의해 만들어진 표준이다. 상기 X.500 표준은 브라우즈(browse) 및 서치를 할 수 있는 계층적으로 명명된 정보 개체들(디렉토리 엔트리들)에 기초한 부유하고, 전세계적으로 보급된 디렉토리에 대한 설명서를 정의한다. X.500은 디렉토리 서버(DSAs) 집합의 한 모델을 사용하는데, 각 모델은 전세계적인 디렉토리 정보 베이스(DIB)의 한 부분을 홀드한다. 상기 DSAs는 함께 동작하여 사용자 애플리케이션에 디렉토리 서비스를 제공하는데, 이것은 이러한 애플리케이션들은 그들이 억세스하고 있는 정보의 위치를 알 필요가 없다는 것을 의미한다.
상기 IMAP4/POP3 서버(342) 및 상기 X.00 디렉토리 서버(344)는 교대로 인터넷(319)을 통하여 통신한다. 또한, IMAP4/POP3 서버(342)는 SMS 서버(346)과 통신한다. 추가적으로, 상기 X.500 디렉토리(344)는 개인 정보 매니지먼트(PIM)-전자메일 동기화 시스템(348)-와 통신한다. 상기 PIM-전자 메일 동기화장치(348)는 교대로 인터넷(319)와 통신하여 사용자는 인터넷을 통해 그 PIM 및 전자 메일을 동기화할 수 있다.
추가적으로, 외부 서비스 모듈(340)은 CIFS 메시지 저장 시스템으로의 인터페이스로 작용하는 네트워크 매니지먼트 모듈(350)을 포함한다. 상기 네트워크 매니지먼트 모듈(350)은 또한 인터넷(319)을 통하여 통신한다. 네트워크 매니지먼트를 동작시키는 시스템 경영자는 보호 장치를 제공받아서 네트워크를 통하여 시스템을 매니지한다. 서버 매니지먼트, 네트워크 매니지먼트 및 자원 매니지먼트 및 메일박스 매니지먼트는 모두 웹으로부터 억세스될 수 있다.
웹 메시징 모듈(358)은 다양한 메시지 콘텐츠 제시를 위한 서비스 공급자로서의 역할을 하기 위해 제공된다. 상기 웹 메시징 소프트웨어(358)는 또한 시스템 매니지먼트 및 시스템 구성에 대한 프로파일에 저장된 사용자 선택 구성(user preference configuration)을 조절한다. 게다가, 외부 서비스 모듈(340)은 전화 에이전트(354)와 함께 동작하여 인터넷을 통한 서치 또는 애플리케이션을 동작시키기 위한 사용자로부터의 음성 요구를 프로세스하는 웹 에이전트 서버(352)를 포함한다. 전화 에이전트(354)는 교대로 명령어를 웹 방법 인터프리터(356)에 공급한다. 웹 방법 인터프리터(356)는 인터넷 서치에 대한 구두 요구 또는 명령어를 번역하고 인터넷(319)에 적절하게 억세스한다. 사용자는 이동전화로부터 주식 시세나 날씨 정보와 같은 인터넷 데이터에 억세스할 수 있다.
위의 프로세스들은, 위에 설명된 컴퓨터 시스템과 함께, 무정지성이며 동시에 스케일 가능하게 동작한다. 게다가, 서버들은 이러한 프로세스들을 능동/능동 스케일가능 방식으로 수행한다. 위의 프로세스에 로드 균형이 잡힌 유사 서버들로의 억세스를 제공하므로써, 시스템은 각각의 요구에 대한 빠른 응답 시간을 제공한다.
위에 언급된 모듈 또는 프로그램의 각각은 하이 레벨 절차적 또는 개체 지향 프로그래밍 언어로 구현되어 컴퓨터 시스템과 함게 동작할 수 있다. 그러나, 원한다면, 프로그램은 어셈블리 또는 기계어로도 구현될 수 있다. 어느 경우든, 상기 언어는 컴파일 또는 번역된(interpreted) 언어이다.
각 컴퓨터 프로그램은, 저장 매체 또는 장치가 컴퓨터에 의해 읽히고 설명된 절차들을 수행할 때, 컴퓨터를 구성 및 동작시키기 위해 범용 또는 특정 목적의 프로그램 가능 컴퓨터에 의해 해독가능한 저장 매체 또는 장치(예컨대, CD-ROM, 하드 디스크 또는 자기 디스켓)에 저장될 수 있다. 시스템은 또한 컴퓨터 프로그램으로 형성된 컴퓨터-해독가능(computer-readable) 저장매체로 구현될 수 있으며, 그렇게 형성된 저장 매체는 컴퓨터로 하여금 특정 또는 소정의 방식으로 동작하도록 한다.
하나 이상의 백플래인을 갖는 컴퓨터 시스템이 개시되었으나, 다른 적절한네트워크 구조가 사용될 수도 있다. 또한, 본 발명이 특정 실시예를 참조하여 설명되었으나, 해당 분야의 당업자는 다음의 청구항의 범위를 벗어나지 않고도 다양한 형태의 변화들이 가해질 수 있다는 사실을 이해할 것이다.

Claims (20)

  1. 컴퓨터 시스템에 있어서,
    시스템 상태 정보를 공유하지 않고 독립적인 운영체제 시스템을 각각 수행하고 제1 네트워크 커넥션 및 제2 네트워크 커넥션을 갖는 네트워크 억세스 카드를 각각 더 갖는 다수의 상호 의존적 프로세서들;
    각 프로세서의 각 제1 네트워크 커넥션에 연결된 제1능동 백플래인(active backplane);
    각 프로세서의 각 제2 네트워크 커넥션에 연결되고, 돌발사고 발생대비(fail-over)의 경우에는 상기 제1능동 백플래인을 대신하여 동작하는 제2능동 백플래인; 및
    상기 제1 및 제2 능동 백플래인의 각각에 연결되고 상기 제1 및 제2 능동 백플래인을 통해 전송된 데이터 요구에 응답하는 하나 이상의 주변장치를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  2. 제1항에 있어서, 각 능동 백플래인은 스위치인 것을 특징으로 하는 컴퓨터 시스템.
  3. 제2항에 있어서, 상기 스위치는 이더넷 스위치인 것을 특징으로 하는 컴퓨터 시스템.
  4. 제1항에 있어서, 상기 제1 및 제2 능동 백플래인에 연결된 하나 이상의 네트워크화된 데이터 저장 장치를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  5. 제1항에 있어서, 상기 제1 및 제2 능동 백플래인에 연결된 하나 이상의 서버들을 더 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  6. 제1항에 있어서,
    상기 제1 및 제2 능동 백플래인 각각에 연결된 디렉터; 및
    상기 디렉터 및 인터넷에 연결된 라우터를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  7. 제1항에 있어서, 전화 애플리케이션, 음성 인식 애플리케이션, 전자 메일 애플리케이션, 팩시밀리 애플리케이션, 개인정보 매니지먼트 애플리케이션, 동기화 애플리케이션, 메시지 전달 애플리케이션 및 페이저(pager) 애플리케이션으로 구성된 그룹에서 선택된 하나 이상의 애플리케이션을 더 포함하는 것을 특징으로 하는 컴퓨터 시스템.
  8. 제1항에 있어서, 각 주변 장치는 소정의 어드레스를 갖는 것을 특징으로 하는 컴퓨터 시스템.
  9. 제8항에 있어서, 상기 어드레스는 유일한 인터넷 프로토콜(IP) 어드레스이고 상기 주변장치는 상기 제1 또는 제2 능동 백플래인으로부터 억세스 되었을때, 상기 유일한 IP어드레스에 응답하는 것을 특징으로 하는 컴퓨터 시스템.
  10. 제8항에 있어서, 상기 어드레스는 유일한 미디어 억세스 프로토콜(MAC;Media Access Protocol) 어드레스이고, 상기 주변장치는 상기 제1 또는 제2 능동 백플래인에 의해 억세스 되었을때, 상기 유일한 MAC 어드레스에 응답하는 것을 특징으로 하는 컴퓨터 시스템.
  11. 컴퓨터 시스템을 운영하기 위한 방법으로서,
    상호의존적 프로세서들 그룹의 각 프로세서에 의해, 파일 시스템 상태 정보를 공유하지 않고 독립적인 운영체제 이미지를 수행하는 단계; 및
    각 프로세서의 각 제1 네트워크 커넥션에 연결된 제1 능동 백플래인 또는 각 프로세서의 각 제2 네트워크 커넥션에 연결된 제2 능동 백플래인 상에 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는데,
    상기 수행하는 단계의 각 상호의존적 프로세서는 제1 네트워크 커넥션 및 제2 네트워크 커넥션을 갖고,
    상기 전송하는 단계의 상기 제2 능동 백플래인이 돌발사고 발생대비(fail-over)의 경우에는 상기 제1 능동 백플래인을 대신하여 동작하는 것을 특징으로 하는 컴퓨터 시스템 운영 방법.
  12. 제11항에 있어서, 상기 전송하는 단계는 스위치를 사용하는 각 능동 백플래인을 통하여 데이터를 라우팅(routing)하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 시스템 운영 방법.
  13. 제12항에 있어서, 상기 스위치는 이더넷 스위치인 것을 특징으로 하는 컴퓨터 시스템 운영 방법.
  14. 제11항에 있어서, 상기 제1 및 제2 능동 백플래인에 연결된 하나 이상의 네트워크화된 데이터 저장 장치의 데이터에 억세스하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템 운영 방법.
  15. 제11항에 있어서, 상기 제1 및 제2 능동 백플래인을 통해서 하나 이상의 서버들로부터의 요구들을 전달하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템 운영 방법.
  16. 제11항에 있어서, 상기 제1 및 제2 능동 백플래인에 연결된 하나 이상의 디렉터를 사용하여 다수의 서버들로 향하는 요구들의 로드 균형을 잡는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템 운영 방법.
  17. 제16항에 있어서, 전화 애플리케이션, 음성 인식 애플리케이션, 전자메일 애플리케이션, 팩시밀리 애플리케이션, 개인정보 매니지먼트 애플리케이션, 동기화 애플리케이션, 메시지 전달 애플리케이션 및 페이저 애플리케이션으로 구성된 그룹으로부터 선택된 하나 이상의 애플리케이션을 수행하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템 운영 방법.
  18. 제11항에 있어서, 소정의 어드레스에 있는 상기 제1 및 제2 능동 백플래인에 연결된 주변 장치에 억세스하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템 운영 방법.
  19. 제18항에 있어서, 상기 어드레스는 소정의 인터넷 프로토콜(IP) 어드레스이고, 상기 제1 또는 제2 능동 백플래인으로부터 소정의 IP 어드레스에 있는 주변 장치에 억세스하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템 운영 방법.
  20. 제18항에 있어서, 상기 어드레스는 미디어 억세스 프로토콜(MAC) 어드레스이고, 상기 제1 및 제2 능동 백플래인으로부터 소정의 MAC 주소에 있는 주변 장치에 억세스하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 시스템 운영 방법.
KR1020017004481A 1998-10-09 1999-10-06 클러스터화된 시스템용 무정지형 버스 KR20010085904A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/169,361 1998-10-09
US09/169,361 US6397345B1 (en) 1998-10-09 1998-10-09 Fault tolerant bus for clustered system
PCT/US1999/023377 WO2000022711A1 (en) 1998-10-09 1999-10-06 Fault tolerant bus for clustered system

Publications (1)

Publication Number Publication Date
KR20010085904A true KR20010085904A (ko) 2001-09-07

Family

ID=22615347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017004481A KR20010085904A (ko) 1998-10-09 1999-10-06 클러스터화된 시스템용 무정지형 버스

Country Status (7)

Country Link
US (1) US6397345B1 (ko)
EP (1) EP1119892A1 (ko)
JP (1) JP2002527840A (ko)
KR (1) KR20010085904A (ko)
AU (1) AU6419599A (ko)
CA (1) CA2346373A1 (ko)
WO (1) WO2000022711A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3196843B2 (ja) * 1998-12-02 2001-08-06 日本電気株式会社 ファイバ・チャネル仲裁型ループにおける障害ポートの検出/排除システム及びその検出/排除方法
US7286990B1 (en) 2000-01-21 2007-10-23 Openwave Systems Inc. Universal interface for voice activated access to multiple information providers
US6898727B1 (en) * 2000-03-22 2005-05-24 Emc Corporation Method and apparatus for providing host resources for an electronic commerce site
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6691257B1 (en) * 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6633996B1 (en) * 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6513092B1 (en) * 2000-04-18 2003-01-28 Nec Eluminant Technologies, Inc. 1:N protection switching architecture for common processing units
US7013394B1 (en) * 2000-04-18 2006-03-14 International Business Machines Corporation Data flow pattern recognition and manipulation
US6594776B1 (en) * 2000-06-28 2003-07-15 Advanced Micro Devices, Inc. Mechanism to clear MAC address from Ethernet switch address table to enable network link fail-over across two network segments
US6807269B1 (en) 2000-07-20 2004-10-19 Cisco Technology, Inc. Call management implemented using call routing engine
US6801613B1 (en) * 2000-08-31 2004-10-05 Cisco Technology, Inc. Associating call appearance with data associated with call
US6690789B1 (en) 2000-08-31 2004-02-10 Cisco Technology, Inc. Fault tolerant telephony control
US6674852B1 (en) 2000-08-31 2004-01-06 Cisco Technology, Inc. Call management implemented using call routing engine
US7296073B1 (en) * 2000-09-13 2007-11-13 Network Appliance, Inc. Mechanism to survive server failures when using the CIFS protocol
JP2002152259A (ja) * 2000-11-13 2002-05-24 Yozan Inc 通信端末装置および課金処理装置
US6795885B1 (en) * 2001-06-21 2004-09-21 Hewlett-Packard Development Company, L.P. Electronic device backplane interconnect method and apparatus
US20030018657A1 (en) * 2001-07-18 2003-01-23 Imation Corp. Backup of data on a network
US6766482B1 (en) 2001-10-31 2004-07-20 Extreme Networks Ethernet automatic protection switching
US7930215B2 (en) * 2002-07-31 2011-04-19 Truecontext Corporation Contextual computing system
US7363534B1 (en) * 2002-09-30 2008-04-22 Cisco Technology, Inc. Method and system for stateful switch-over in a high-availability point to point system
US7389510B2 (en) * 2003-11-06 2008-06-17 International Business Machines Corporation Load balancing of servers in a cluster
US7219255B2 (en) * 2004-07-27 2007-05-15 Mks Instruments, Inc. Failsafe switching of intelligent controller method and device
US8898246B2 (en) * 2004-07-29 2014-11-25 Hewlett-Packard Development Company, L.P. Communication among partitioned devices
US8090844B2 (en) * 2004-10-08 2012-01-03 Truecontext Corporation Content management across shared, mobile file systems
US8799242B2 (en) 2004-10-08 2014-08-05 Truecontext Corporation Distributed scalable policy based content management
WO2006077481A1 (en) * 2005-01-19 2006-07-27 Truecontext Corporation Policy-driven mobile forms applications
US7676026B1 (en) 2005-03-08 2010-03-09 Baxtech Asia Pte Ltd Desktop telephony system
US7573810B2 (en) * 2005-12-14 2009-08-11 International Business Machines Corporation Avoiding deadlocks in performing failovers in communications environments
US8108719B2 (en) * 2006-10-13 2012-01-31 Nec Corporation Information processing device and failure concealing method therefor
US8117495B2 (en) 2007-11-26 2012-02-14 Stratus Technologies Bermuda Ltd Systems and methods of high availability cluster environment failover protection
US8782238B2 (en) 2010-11-05 2014-07-15 Verizon Patent And Licensing Inc. Server clustering in a computing-on-demand system
JP7372784B2 (ja) * 2019-08-30 2023-11-01 マツダ株式会社 中央演算装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4872106A (en) * 1983-04-06 1989-10-03 New Forney Corp. Industrial process control system with back-up data processors to take over from failed primary data processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5577209A (en) * 1991-07-11 1996-11-19 Itt Corporation Apparatus and method for providing multi-level security for communication among computers and terminals on a network
US5485455A (en) * 1994-01-28 1996-01-16 Cabletron Systems, Inc. Network having secure fast packet switching and guaranteed quality of service
US5473599A (en) * 1994-04-22 1995-12-05 Cisco Systems, Incorporated Standby router protocol
US5768623A (en) * 1995-09-19 1998-06-16 International Business Machines Corporation System and method for sharing multiple storage arrays by dedicating adapters as primary controller and secondary controller for arrays reside in different host computers
US5805785A (en) * 1996-02-27 1998-09-08 International Business Machines Corporation Method for monitoring and recovery of subsystems in a distributed/clustered system
US5790548A (en) * 1996-04-18 1998-08-04 Bell Atlantic Network Services, Inc. Universal access multimedia data network

Also Published As

Publication number Publication date
CA2346373A1 (en) 2000-04-20
EP1119892A1 (en) 2001-08-01
US6397345B1 (en) 2002-05-28
WO2000022711A9 (en) 2002-08-22
AU6419599A (en) 2000-05-01
WO2000022711A1 (en) 2000-04-20
JP2002527840A (ja) 2002-08-27

Similar Documents

Publication Publication Date Title
US6412079B1 (en) Server pool for clustered system
US6230190B1 (en) Shared-everything file storage for clustered system
US6397345B1 (en) Fault tolerant bus for clustered system
US8645542B2 (en) Distributed intelligent virtual server
US7844691B2 (en) Scalable distributed storage and delivery
US6779082B2 (en) Network-based disk redundancy storage system and method
US7209551B1 (en) Provisioning unified messaging system services
CN111130835A (zh) 数据中心双活系统、切换方法、装置、设备及介质
US5872929A (en) Method and system for managing terminals in a network computing system using terminal information including session status
US20030200222A1 (en) File Storage system having separation of components
WO1999040503A1 (en) Market data enterprise an domain system implemented by master entitlement processor
US20040034687A1 (en) Extensible instant messaging service
US6219799B1 (en) Technique to support pseudo-names
US20020147807A1 (en) Dynamic redirection
US7627650B2 (en) Short-cut response for distributed services
US7447739B1 (en) Data and voice messaging system
Cisco Cisco CallManager Clusters
Cisco Designing a uOne Solution for Optimal Service Quality and Availability
Cisco Designing a uOne Solution for Optimal Service Quality and Availability
Cisco Designing a uOne Solution for Optimal Service Quality and Availability
EP1360817B1 (en) Method for the distribution of a real-time multi-client service
SE523204C2 (sv) Arrangemang, kommunikationsnätverk och metod där en anordning hos klienter innefattandes en databas med information om resurser hos servrar, styr kommunikationen mellan klienter och servrar

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid