KR100754299B1 - 분산형 프로세서 노드 시스템에서의 노드 어드레스 장애처리 - Google Patents

분산형 프로세서 노드 시스템에서의 노드 어드레스 장애처리 Download PDF

Info

Publication number
KR100754299B1
KR100754299B1 KR1020047019325A KR20047019325A KR100754299B1 KR 100754299 B1 KR100754299 B1 KR 100754299B1 KR 1020047019325 A KR1020047019325 A KR 1020047019325A KR 20047019325 A KR20047019325 A KR 20047019325A KR 100754299 B1 KR100754299 B1 KR 100754299B1
Authority
KR
South Korea
Prior art keywords
processor
node
network
node address
address
Prior art date
Application number
KR1020047019325A
Other languages
English (en)
Other versions
KR20050016471A (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 KR20050016471A publication Critical patent/KR20050016471A/ko
Application granted granted Critical
Publication of KR100754299B1 publication Critical patent/KR100754299B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors

Abstract

적어도 하나의 프로세서와 네트워크에 대한 적어도 하나의 인터페이스를 포함하는 프로세서 노드들의 노드 시스템에서 어드레싱 장애가 처리된다. 노드 어드레스의 결여 또는 중복 어드레스의 존재 등의 네트워크에 대한 프로세서 노드의 노드 어드레스 장애의 검출 시에, 프로세서 노드는 네트워크로부터 디스에이블되고, 그에 따라 일시적으로 프로세서 노드를 정지시킴으로써 시스템이 동작 상태에 있도록 한다. 노드 어드레스 장애를 피하는 비휘발성 메모리에 저장된 대체 노드 어드레스가 선택될 수 있다.

Description

분산형 프로세서 노드 시스템에서의 노드 어드레스 장애 처리{HANDLING NODE ADDRESS FAILURE IN A DISTRIBUTED NODAL SYSTEM OF PROCESSORS}
본 발명은 분산형 프로세서 노드 시스템에 관한 것으로서, 보다 상세하게는 프로세서의 노드 시스템의 네트워크에서의 노드 어드레싱에 관한 것이다. 분산형 프로세서 노드 시스템의 한 예는 자동화된 데이터 스토리지 라이브러리(automated data storage library)를 동작시키는 프로세서들로 이루어져 있다.
"임베디드" 프로세서 시스템이라고도 하는 분산형 프로세서 노드 시스템은 광범위한 응용에서 이용되고 있으며 점차적으로 그 수가 증가하고 있다. 분산형 프로세서 노드 시스템에서, 예를 들어 제어 시스템에서, 전체적인 시스템 제어는 시스템 또는 제품에서 2개 이상의 프로세서 노드들 사이에 분산되어 있다.
이러한 시스템의 이점은 기능들이 시스템의 서로 다른 영역으로 분리되어 있기 때문에 문제 진단 및 보수가 간단화된다는 것이다. 게다가, 이러한 시스템은 전체 시스템을 교체하지 않고 컴포넌트 및 프로세서 노드를 부가함으로써 확장될 수 있다. 분산 제어 시스템의 노드는 보통 본 명세서에서 "네트워크"라고 하는 하나 이상의 통신 네트워크와 상호연결되어 있다.
분산형 프로세서 노드 시스템을 포함하는 제어 시스템의 한 예는 IBM 3584 Ultra Scalable Tape Library과 같은 자동화된 데이터 스토리지 라이브러리를 포함한다. 3584 라이브러리의 프로세서들은 라이브러리의 여러가지 컴포넌트에 내장되어 있고, 버스 네트워크를 통해 통신하며, 컴포넌트들, 그에 따라 라이브러리를 동작시킨다. 분산형 프로세서 노드 시스템에서의 자동화된 데이터 스토리지 라이브러리에 대한 설명은 2002년 3월 12일자로 특허된 미국 특허 제6,356,803에 제공되어 있다. 이러한 시스템에 대한 보수 동작은 개별적인 컴포넌트, 프로세서 노드, 또는 노드에 있는 프로세서를 교체하는 것을 포함할 수 있다. 라이브러리는 하나 이상의 "프레임(frame)"으로 형성되어 있으며, 각 프레임은 데이터 저장 매체를 보관하는 스토리지 선반(storage shelf), 데이터 저장 매체에 대해 데이터의 판독 및/또는 기록을 행하는 하나 이상의 데이터 스토리지 드라이브, 스토리지 선반과 데이터 스토리지 드라이버 사이에서 데이터 저장 매체를 이송시키는 로봇 액세서(robot accessor), 네트워크, 및 복수의 프로세서 노드 등의 라이브러리 컴포넌트 세트 또는 서브셋을 포함한다. 라이브러리는 하나 이상의 프레임 및/또는 하나 이상의 액세서나 다른 노드를 부가함으로써 확장될 수 있다.
분산형 프로세서 노드 시스템을 포함하는 제어 시스템의 다른 예는 자동차 멀티 프로세서 네트워크(automobile multi-processor network)를 포함한다.
네트워크를 통해 통신하기 위해, 컴포넌트 및/또는 프로세서 노드는 당업자에게는 잘 알려져 있는 바와 같이, CAN 버스 또는 이더넷 네트워크에서 사용되는 것과 같은 노드 어드레스를 가져야만 한다. 프레임이 부가될 때, 네트워크에 부가된 프로세서 노드(들)은 노드 어드레스를 가지지 않거나 부분 노드 어드레스를 가 지거나 할 수 있으며, 새로운 프로세서 노드에는 노드 어드레스가 부여되어야만 한다. 개별적인 컴포넌트, 프로세서 노드, 또는 노드에 있는 프로세서가 새로운 컴포넌트 등으로 교체되거나 다른 컴포넌트 등이 스와핑되는 경우, 프로세서 노드는 노드 어드레스를 갖지 않거나 스와핑된 경우라면 그의 이전의 노드 어드레스를 이용하거나 할 수 있다. 게다가, 프로세서 노드 카드는 모든 컴포넌트에 대해 교환가능할 수 있어, 부품 취급이 용이하고 진단 및 보수를 간단화할 수 있지만 각 노드 어드레스에 대해 개별적인 부품 번호가 있는 것인 정적 어드레싱을 사용하지 못하거나 노드 어드레스가 각각의 프로세서 노드 카드에 영구적으로 고정되지 못하게 된다.
새로운 노드 주소를 제공하는 한가지 방법은 오퍼레이터 또는 보수 요원이 노드 어드레스를 할당하는 것이다. 복합 노드 어드레스의 한 예에서, 컴포넌트는 카드에 코딩된 어드레스의 기능 부분을 가질 수 있으며, 프레임 번호가 프로세서 노드에 공급되며, 기능 어드레스 및 프레임 번호는 노드 어드레스를 계산하기 위해 결합된다. 다른 대안에서, 새로운 노드 어드레스를 제공하는 자동 모드가 이용될 수 있다. 한 예로서, 노드 어드레스를 계산하기 위해 이용될 수 있는 이진수를 제공하기 위해 어떤 라인이 하이 또는 로우에 연결되어 있는 케이블이 설계된다. 2001년 5월 14일자로 출원된 미국 특허 출원 제09/854,865호에 기술된 바와 같은 다른 예로서, 펄스 발생기 및 지연 신호 발생기는 자동 프레임 카운트를 제공할 수 있으며, 이 카운트는 노드 어드레스를 계산하기 위해 기능 어드레스와 함께 사용될 수 있다. 다른 예로서, 서버는 프로세서 노드에 IP 주소를 주기 위해 동적 호스트 구성 프로토콜(dynamic host configuration protocol, DHCP)을 이용할 수 있다.
수동 모드에서나 또는 자동 모드에서, 장애는 일어날 수 있다. 예를 들어, 오퍼레이터는 프로세서 노드의 위치 또는 기능을 잘못 판단할 수 있다. 자동 모드에서, 이진 케이블(binary cable)은 결함이 있거나 잘못 꽂아지게 되거나(misplug) 또는 엉뚱한 케이블이 사용될 수도 있다. 다른 예로서, 프레임 카운터 회로는 결함이 있게 되거나 또는 케이블이 잘못 꽂아질 수 있다.
이러한 경우에, 컴포넌트는 네트워크 상에 있는 경우 노드 어드레스를 갖지 않거나, 잘못된 어드레스를 갖거나, 또는 네트워크 상의 다른 컴포넌트와 중복되는 주소를 나타낼 수 있다. 하나의 프로세서 노드가 중복된 기능을 다른 컴포넌트로서 수행하는 컴포넌트에 있고 프레임 번호를 잘못 판독하며 어드레스에 틀린 프레임 번호를 사용하는 경우, 중복된 어드레스가 있을 수 있다. 다른 대안에서, 프로세서 노드는 한 시스템에서 다른 시스템으로 스와핑될 수 있고, 새로운 시스템 내의 서로 다른 장소에 있을 수 있다. 네트워크 상의 미지의 컴포넌트 또는 중복 컴포넌트의 존재 등의 어드레싱 에러는 시스템의 전부 또는 그 일부를 동작할 수 없게 만들어 유지 보수 동작을 필요로 할 수 있다.
시스템 및 고객 기대가 잘 알려진 "365일" 이용가능성 등의 연속적인 이용가능성의 개념으로 이동함에 따라 제품의 장애에 대한 인내심은 점점 더 떨어지고 있다.
예로서, 자동화된 데이터 스토리지 라이브러리는 데이터 스토리지 드라이브 상에 영구적으로 탑재되어 있지 않고 또 스토리지 선반 상에 즉시 이용가능한 형태 로 보관되어 있는 데이터 저장 매체 상에 대량의 데이터를 저장하는 수단을 제공한다. 하나 이상의 로봇 액세서가 스토리지 선반으로부터 선택된 데이터 저장 매체를 탐색하여 이를 데이터 스토리지 드라이브에 제공한다. 일반적으로, 자동화된 데이터 스토리지 라이브러리의 데이터 저장 매체 상에 저장된 데이터는 일단 요청되면 급히 필요한 것이다. 따라서, 자동화된 데이터 스토리지 라이브러리는 가능한 한 연속하여 동작 상태로 유지되어 있는 것이 바람직하다.
자동화된 데이터 스토리지 라이브러리는 외부 인터페이스를 통해 호스트 시스템과 인터페이스하고 또 라이브러리 내의 데이터 저장 매체의 위치 및 내용의 계속 갱신되는 인벤토리(constantly updated inventory)를 제공하는 중앙 제어기 등의 함께 동작하는 복수의 프로세서에 의해 작동되는 시스템, 및 데이터 스토리지 드라이브 및 스토리지 선반의 정확한 위치를 식별하고 또 여러가지 스토리지 선반과 데이터 스토리지 드라이브 사이에서 데이터 저장 매체를 효율적으로 이송시키기 위해 로봇 액세서의 최상의 동작을 계산하는 로봇 제어 시스템을 포함할 수 있다. 컴포넌트들의 대부분은 중복적이어서 프로세서 노드의 장애를 허용하고 여전히 전체 시스템을 동작하게 만들지만 모두가 함께 작동하기 위해서는 적당한 네트워크 어드레싱 구조에 의존한다.
어드레스를 주의하여 분할(segment)함으로써 다수의 "클라우드(cloud)"를 거쳐 어드레스를 할당하는, 예를 들어 미국 특허 제5,987,506호에 의해 개시된 바와 같은 글로벌 어드레싱은 공지되어 있으며, 이는 2개 이상의 클라우드에서 동일한 어드레스가 할당되는 것을 허용하지 않지만 어드레싱 장애를 처리하는 방법을 제공 하지 않는다.
어드레싱에서의 충돌의 많은 예가 있다. 예를 들어, 미국 특허 제5,386,515호는 하드웨어 어댑터의 어드레스 공간을 그다음 순차적인 어드레스 공간으로 시프트시켜 충돌하는 어드레스 공간을 무시함으로써 충돌을 해결한다. 그렇지만, 충돌이 해결될 때까지 시스템은 다운되어 동작하지 않는다. 1998년 1월판의 IBM Technology Disclosure Bulletin Vol. 41, No. 01의 703-705 페이지에서는 송신자 및 수신자 IP 어드레스 둘다의 중복에 응답하여 호스트가 답신하도록 강제하고 있으며, 따라서 중복 호스트는 그의 인터페이스를 턴오프하고 경고 메시지를 발송한다. 답신 호스트(replying host)는 수동으로 정정될 때까지 계속하여 IP 어드레스를 사용할 수 있어 그 장애를 답신 호스트로 축소시킬 수 있게 된다. 노드가 로그온할 때, 네트워크 상의 모든 호스트는 중복 IP 어드레스를 수신하게 되고, 따라서 모두가 답신 프로세스를 겪을 수 있다. 중복 호스트가 답신을 수신하고 그의 인터페이스를 턴오프한 후에만, 답신 호스트는 원래의 IP 어드레스 소유자와 통신할 수 있다.
본 발명에 따르면, 자동화된 데이터 스토리지 라이브러리 등의 분산형 프로세서 노드 시스템, 이 시스템의 프로세서 노드, 방법 및 컴퓨터 판독가능 프로그램 코드는 이 노드 시스템의 어드레싱 장애를 처리한다.
일 실시예에서, 네트워크 내의 분산형 프로세서 노드 시스템이 제공되며, 프로세서 노드는 적어도 하나의 프로세서 및 네트워크에 대한 적어도 하나의 인터페 이스를 포함한다. 프로세서 노드들 중 적어도 하나는 노드 어드레스의 결여, 잘못된 어드레스이거나 예를 들어 프로세서 노드 인터페이스에서 검출되는 중복 어드레스를 포함하는 공칭 어드레스 등의 네트워크에 대한 프로세서 노드의 노드 어드레스 장애의 검출 시에, 상기 프로세서 노드를 네트워크로부터 디스에이블시킨다. 상기 프로세서 노드 또는 그의 공칭 어드레스를 네트워크로부터 디스에이블시킴으로써, 상기 프로세서 노드 및 그의 컴포넌트만이 일시적으로 정지되고, 따라서 시스템은 동작 상태를 유지한다. 상기 노드 어드레스는 네트워크 내의 프로세서 노드의 인에이블 시에 네트워크 내의 프로세서 노드를 어드레싱하기 위한 것이다.
다른 실시예에서, 상기 프로세서 노드는 비휘발성 메모리를 더 포함하며, 상기 프로세서 노드의 대체 노드 어드레스를 상기 비휘발성 메모리에 유지한다. 예로서, 상기 대체 노드 어드레스는 노드 어드레싱의 마지막 성공적인 검출의 노드 어드레스를 포함할 수 있다. 상기 프로세서 노드는, 예를 들어 충돌을 검출하거나 또는 다른 예로서 그 자신의 노드 어드레스를 외부적으로 결정하려고 시도하고 임의의 사용가능한 노드 어드레스를 그 자신의 노드 어드레스로서 결정하는데 실패함으로써 노드 어드레스 장애의 검출 시에, 상기 비휘발성 메모리 내의 대체 노드 어드레스를 선택함으로써 노드 어드레스 장애를 피하는 노드 어드레스를 선택한다.
또다른 실시예에서, 프로세서 노드는 초기에 공칭 노드 어드레스를 그 자신의 노드 어드레스로서 결정하고, 네트워크의 다른 프로세서 노드들의 노드 어드레스를 감지하며, 상기 다른 프로세서 노드들의 감지된 노드 어드레스를 상기 공칭 노드 어드레스와 비교한다. 프로세서 노드가 상기 다른 프로세서 노드들의 감지된 노드 어드레스 중 적어도 하나와 상기 공칭 노드 어드레스 사이의 임의의 충돌의 존재를 결정하면, 존재하는 충돌은 네트워크에 대한 프로세서 노드의 노드 어드레스 장애를 포함하며, 상기 프로세서 노드는 네트워크로부터 디스에이블된다.
또다른 실시예에서, 상기 네트워크의 프로세서 노드들 중 적어도 2개는 리셋되고, 적어도 하나의 프로세서, 상기 네트워크에 대한 적어도 하나의 인터페이스, 및 상기 프로세서 노드가 리셋된 이후의 시간의 표시를 유지하는 타이머를 포함한다. 상기한 바와 같이, 노드 어드레스 장애는 상기 다른 프로세서 노드들의 감지된 노드 어드레스 중 적어도 하나와 프로세서 노드의 공칭 노드 어드레스 사이의 임의의 충돌의 존재 시에 결정된다.
충돌하는 노드 어드레스를 갖는 프로세서 노드는 타이머들을 비교하여 그 타이머가 리셋 이후의 보다 최근의 시간을 갖는지를 결정한다. 프로세서 노드가 보다 최근의 시간을 갖는 경우, 그의 공칭 어드레스는 네트워크로부터 디스에이블된다.
다른 실시예에서, 잘못된 노드 어드레스가 그 노드와 관련된 요소(들)의 지정 정보를 유지하는 프로세서 노드에 의해 결정될 수 있다. 일 예에서, 프로세서 노드에 연결된 데이터 스토리지 드라이브는 고유한 일련 번호를 가지며, 프로세서 노드는 그 일련 번호를 지정 정보로서 저장한다. 노드가 공칭 노드 어드레스를 결정할 때, 그 노드는 관련된 요소의 현재의 지정 정보를 감지하고 이 현재의 지정 정보를 유지된 지정 정보와 비교한다. 일치의 실패의 결정은 프로세서 노드의 노드 어드레스 장애이며, 그 결과 프로세서 노드의 공칭 어드레스를 네트워크로부터 디스에이블시키게 된다.
어드레스 장애를 갖는 프로세서 노드를 네트워크로부터 디스에이블시킴으로써, 단지 그 컴포넌트만이 일시적으로 정지되며 시스템은 동작 상태를 유지한다. 어드레스 장애를 피하는 대체 노드 어드레스를 이용하면 시스템에 대한 어떤 장애도 추가로 예방하며 프로세서 노드 또는 컴포넌트에 대한 임의의 즉각적인 보수 동작을 피한다.
본 발명의 보다 완전한 이해를 위해, 첨부 도면을 참조하여 서술된 이하의 상세한 설명을 참조하기 바란다.
도 1은 본 발명에 따른 복수의 프로세서 노드를 구현할 수 있는 자동화된 데이터 스토리지 라이브러리의 등각 투상도.
도 2는 본 발명에 따른 복수의 프로세서 노드를 이용하는, 도 1의 자동화된 데이터 스토리지 라이브러리의 실시예를 나타낸 블록도.
도 3은 도 2의 복수의 프로세서 노드를 나타낸 블록도.
도 4는 도 2 및 도 3의 프로세서 노드에 대한 어드레싱 장애를 처리하기 위한 본 발명의 방법의 실시예를 나타낸 플로우차트.
본 발명은 유사한 참조 번호가 동일 또는 유사한 요소를 나타내고 있는 도면을 참조하여 이하의 설명에 있는 양호한 실시예들에 기술되어 있다. 본 발명이 본 발명의 목적을 달성하기 위한 최상의 실시 형태의 관점에서 기술되어 있지만, 당업 자라면 본 발명의 사상 또는 범위를 벗어나지 않고 이들 개시 내용을 참조하여 여러 변형이 달성될 수 있음을 잘 알 것이다.
도 1은 본 발명에 따른 복수의 프로세서 노드를 구현할 수 있는 자동화된 데이터 스토리지 라이브러리(10)의 실시예를 나타낸 것이다. 이 라이브러리는 적어도 하나의 외부 호스트 시스템으로부터의 명령에 응답하여 데이터 저장 매체(14)에 액세스하도록 구성되어 있으며 데이터 저장 매체를 보관하기 위한 복수의 스토리지 선반(16), 데이터 저장 매체에 대해 데이터의 판독 및/또는 기록을 행하는 적어도 하나의 데이터 스토리지 드라이브, 및 복수의 스토리지 선반(16)과 데이터 스토리지 드라이브(들) 사이에서 데이터 저장 매체를 이송하는 적어도 하나의 로봇 액세서(18)를 포함하고 있다. 이 라이브러리는 또한 사용자가 라이브러리와 상호작용할 수 있게 해주는 오퍼레이터 패널(23) 또는 웹 기반 인터페이스 등의 다른 사용자 인터페이스를 포함할 수 있다. 라이브러리(10)는 하나 이상의 프레임(11-13)을 포함할 수 있으며, 각 프레임은 로봇 액세서(18)에 의해 액세스가능한 스토리지 선반(16)을 가지고 있다. 로봇 액세서(18)는 하나 이상의 데이터 저장 매체(14)를 파지하기 위한 그리퍼 어셈블리(gripper assembly)(20)를 포함하며, 데이터 저장 매체(14)에 관한 식별 정보를 판독하기 위해 그리퍼(20) 상에 탑재된 바코드 스캐너(22) 또는 스마트 카드 리더 또는 유사한 시스템 등의 판독 시스템을 포함할 수 있다.
도 2는 본 발명에 따른 복수의 프로세서 노드를 사용하는, 도 1의 데이터 스토리지 라이브러리의 실시예를 나타낸 것이다. 본 발명을 구현할 수 있는 데이터 스토리지 라이브러리의 일례는 IBM 3584 Ultra Scalable Tape Library이다. 이 라이브러리는 베이스 프레임(11)을 포함하며, 하나 이상의 확장 프레임(12)을 더 포함할 수 있고, 또 고가용성 프레임(13)을 포함할 수 있다.
라이브러리(10)의 베이스 프레임(11)은 하나 이상의 데이터 스토리지 드라이브(15) 및 로봇 액세서(18)를 포함한다. 전술한 바와 같이, 로봇 액세서(18)는 그리퍼 어셈블리(20)을 포함하고, 데이터 저장 매체(14)에 관한 식별 정보를 "판독"하는 판독 시스템(22)을 포함할 수 있다. 데이터 스토리지 드라이브(15)는 예를 들어 광학 디스크 드라이브 또는 자기 테이프 드라이브일 수 있으며, 데이터 저장 매체(14)는 각각 광학 또는 자기 테이프 매체, 또는 임의의 다른 분리형 매체 및 관련 드라이브를 포함할 수 있다. 예로서, 데이터 스토리지 드라이브는 IBM LTO Ultirum Drive를 포함하거나 DLT 8000 등을 포함할 수 있다. 게다가, 호스트와 라이브러리 사이에서 통신하는 동작을 하는, 예를 들어 호스트로부터의 명령을 수신하고 그 명령을 라이브러리로 포워딩하지만 데이터 스토리지는 아닌 제어 포트가 제공될 수 있다.
확장 프레임(12)은 부가의 스토리지 선반을 포함하며, 부가의 데이터 스토리지 드라이브(15)를 포함할 수 있다. 고가용성 프레임(13)은 또한 부가의 스토리지 선반 및 데이터 스토리지 드라이브(15)를 포함할 수 있으며, 그리퍼 어셈블리(30)을 포함하는 제2 로봇 액세서(28)을 포함하고, 또 바코드 스캐너(32)나 다른 판독 장치 및 오퍼레이터 패널(280)이나 다른 사용자 인터페이스를 포함할 수 있다. 로봇 액세서(18)나 그의 그리퍼(20) 등의 장애 또는 다른 이용불가의 경우, 제2 로봇 액세서(28)가 인계받을 수 있다.
예시적인 라이브러리에서, 로봇 액세서(18, 28) 각각은 스토리지 선반(16)에 있는 데이터 저장 매체를 검색하여 파지(grip)하거나 전달하여 놓아두기 위해 또 데이터 저장 매체를 데이터 스토리지 드라이브(15)에 로딩하거나 언로딩하기 위해 그의 그리퍼를 수평 "X" 방향 및 수직 "Y" 방향이라고 하는 적어도 2개의 방향으로 이동시킨다.
도 2 및 도 3을 참조하면, 라이브러리(10)는 하나 이상의 호스트 시스템(40, 41, 42)으로부터 명령을 수신한다. 호스트 서버 등의 호스트 시스템은 예를 들어 경로(80)를 따라 하나 이상의 제어 포트(도시 생략)를 통하거나 하나 이상의 데이터 스토리지 드라이브(15)를 통해 라이브러리와 직접 통신하여, 특정의 데이터 저장 매체에 액세스하고 예를 들어 스토리지 선반과 데이터 스토리지 드라이브 사이에서 매체를 이동시키기 위한 명령을 제공한다. 이 명령은 일반적으로 매체 및/또는 그 매체에 액세스하기 위한 논리적 위치를 식별하는 논리적 명령이다.
예시적인 라이브러리는 호스트로부터 논리적 명령을 수신하는 분산 제어 시스템에 의해 제어되어, 요청된 동작을 결정하고 그 동작을 로봇 액세서(18, 28)의 물리적 이동으로 변환시킨다.
예시적인 라이브러리에서, 분산 제어 시스템은 복수의 프로세서 노드를 포함하며, 각각의 프로세서 노드는 하나 이상의 프로세서를 갖는다. 분산 제어 시스템의 한 예에서, 통신 프로세서 노드(50)는 베이스 프레임(11)에 위치될 수 있다. 통신 프로세서 노드는 직접 또는 드라이브(15)를 통해 예를 들어 회선(80)에 연결 되어 있는 적어도 하나의 외부 인터페이스를 거쳐 호스트 명령을 수신하기 위한 통신 링크를 제공한다. 통신 프로세서 노드(50)는 부가적으로 데이터 스토리지 드라이브(15)와 통신하기 위한 통신 링크(70)를 제공할 수 있다.
통신 프로세서 노드(50)는 데이터 스토리지 드라이브(15)에 가까이 있는 프레임(11)에 위치될 수 있다. 게다가, 분산 프로세서 시스템의 예에서, 하나 이상의 부가의 작업 프로세서 노드가 제공되어 있으며, 이는 예를 들어 로봇 액세서(18)에 위치될 수 있으며 또 네트워크(60)를 통해 통신 프로세서 노드(50)에 연결되어 있는 작업 프로세서 노드(52)를 포함할 수 있다. 각각의 작업 프로세서 노드는 임의의 통신 프로세서 노드로부터 작업 프로세서 노드들로 브로드캐스트된 수신된 명령에 응답할 수 있으며, 작업 프로세서 노드는 또한 로봇 액세서의 동작을 지시하여 이동 명령을 제공할 수 있다. XY 프로세서 노드(55)가 제공될 수 있으며 로봇 액세서(18)의 XY 시스템에 위치될 수 있다. XY 프로세서 노드(55)는 네트워크(60)에 연결되어 있으며, 이동 명령에 응답하여 XY 시스템을 동작시켜 그리퍼(20)를 위치시킨다.
또한, 오퍼레이터 패널 프로세서 노드(59)가 오퍼레이터 패널과 통신 프로세서 노드(50), 작업 프로세서 노드(52) 및 XY 프로세서 노드(55) 사이의 통신을 위한 인터페이스를 제공하기 위해 오퍼레이터 패널(23)에 제공될 수 있다.
공통 버스(60)를 포함하는 네트워크가 제공되어 여러가지 프로세서 노드들을 연결시킨다. 공통 버스는 예를 들어 독일 D-91058 얼랑겐 암 바이흐 젤가르튼 26(Am Weich selgarten 26, D-91058 Erlangen, Germany) 소재의 CiA, 즉 the CAN in Automation Association에 의해 정의된 바와 같은 표준 액세스 프로토콜 및 와이어링 표준을 갖는 멀티드롭 네트워크인 상용 "CAN" 버스 시스템 등의 안정된 와이어링 네트워크(robust wiring network)를 포함할 수 있다. 당업자는 잘 알고 있는 바와 같이,이더넷 등의 유사한 버스 네트워크 또는 RF, 즉 적외선 등의 무선 네트워크 시스템이 라이브러리에서 이용될 수 있다. 프로세서 노드, 예를 들어 도 3의 노드(50, 52, 55, 59)는 노드 인터페이스(126a, 126b, 126c, 126d)에서 네트워크(60)에 연결될 수 있다. 본 명세서에서, 용어 "네트워크"는 노드 어드레싱을 이용하는 프로세서 노드들 사이의 임의의 통신 수단을 포함한다.
도 2를 참조하면, 통신 프로세서 노드(50)는 회선(70)을 거쳐 베이스 프레임(11)의 데이터 스토리지 드라이브(15) 각각에 연결되어 드라이브 및 호스트 시스템(40, 41, 42)와 통신한다. 다른 대안에서, 호스트 시스템은 입력(80)에서 통신 프로세서 노드(50)에 직접 연결되거나, 드라이브/라이브러리 인터페이스와 유사한 라이브러리 인터페이스를 사용하여 라이브러리를 호스트 시스템(들)에 연결시키는 제어 포트 장치(도시 생략)에 연결될 수 있다. 당업자라면 잘 알고 있는 바와 같이, 호스트와의 통신 및 데이터 스토리지 드라이브와의 통신을 위해 여러가지 통신 장치들이 이용될 수 있다. 도 2의 예에서, 호스트 연결부(80, 81)는 SCSI 버스이다. 버스(82)는 SCSI 버스 시스템보다 장거리에 걸친 전송을 가능하게 해주는 고속 직렬 데이터 인터페이스인 FCAL(Fibre Channel-Arbitrated Loop)의 예를 포함한다.
데이터 스토리지 드라이브(15)는 통신 프로세서 노드(50)에 근접해 있을 수 있으며, SCSI 또는 RS-422 등의 직렬 연결 등의 등의 단거리 통신 방식을 이용할 수 있다. 데이터 스토리지 드라이브(15)는 따라서 회선(70)에 의해 통신 프로세서 노드(50)에 개별적으로 연결된다.
확장 프레임(12)이 제공될 수 있으며, 이는 확장 공통 버스(152)에 의해 네트워크(152, 60)에 연결될 수 있다. 도 3의 통신 프로세서 노드(50)와 유사한 또하나의 통신 프로세서 노드(155)가 확장 프레임에 위치될 수 있으며 예를 들어 입력(156)에서 호스트와 통신하고 예를 들어 회선(170)을 거쳐 확장 프레임(12) 내의 데이터 스토리지 드라이브(15)와 통신할 수 있다. 통신 프로세서 노드(155)는 도 3의 노드 인터페이스(126a)와 유사한 노드 인터페이스에서 네트워크(152, 60)에 연결되고, 통신 프로세서 노드(155)는 네트워크(152, 60)에 명령을 위한 통신 링크를 제공함으로써 명령은 베이스 프레임 작업 프로세서 노드(52)에 링크되게 된다.
통신 프로세서 노드(155)는 확장 프레임(12)의 결합된 데이터 스토리지 드라이브(15)에 근접하여 확장 프레임(12)에 탑재되어, 드라이브와의 통신 및 부착된 호스트 시스템과의 통신을 할 수 있다. 데이터 스토리지 드라이브(15)는 또한 회선(170)에 의해 통신 프로세서 노드(155)에 개별적으로 연결된다.
동일한 통신 프로세서 노드(155), 스토리지 선반(16), 데이터 스토리지 드라이브(15) 및 확장 버스(152)를 갖는 부가의 확장 프레임이 제공될 수 있으며, 그 각각은 인접한 확장 프레임에 연결된다.
게다가, 데이터 스토리지 라이브러리(10)는 예를 들어 고가용성 프레임(13)에 또하나의 로봇 액세서(28)를 더 포함할 수 있다. 로봇 액세서(28)는 데이터 저장 매체에 액세스하기 위한 그리퍼(30) 및 로봇 액세서를 이동시키기 위한 XY 시스 템(255)을 포함할 수 있다. 고가용성 프레임은 확장 프레임(12)에 인접할 수 있거나 베이스 프레임(11)에 인접해 있을 수 있으며, 로봇 액세서(28)는 로봇 액세서(18)와 동일한 수평 기계 경로를 따라 또는 인접한 경로를 따라 작동할 수 있다. 예시적인 제어 시스템은 확장 프레임의 네트워크(152)에 또는 베이스 프레임의 네트워크(60)에 연결된 네트워크를 형성하는 확장 공통 버스(200)를 더 포함한다. 통신 프로세서 노드(50)와 역시 유사한 또하나의 통신 프로세서 노드(250)가 제공될 수 있으며, 이는 입력(256)에서 직접, 또는 제어 포트(도시 생략)를 통해, 또는 예를 들어 입력(256)에서 데이터 스토리지 드라이브(15) 및 회선(270)을 통해 호스트로부터 명령을 수신하기 위해 고가용성 프레임(13)에 위치될 수 있다. 통신 프로세서 노드(250)는 고가용성 프레임 네트워크(200)에 연결되고 예를 들어 도 3의 인터페이스(126a)와 유사한 노드 인터페이스에서 네트워크에 대한 통신 링크를 제공한다.
통신 프로세서 노드(250)는 고가용성 프레임(13)의 연결된 데이터 스토리지 드라이브(15)에 근접하여 탑재될 수 있으며, 드라이브 및 부착된 호스트 시스템과 통신한다. 데이터 스토리지 드라이브(15)는 또한 회선(270)에 의해 및 RS-422 등의 인터페이스를 사용하여 통신 프로세서 노드(250)에 개별적으로 연결된다.
도 2를 참조하면, 본 발명을 구현하는 컴퓨터 프로그램은 프로세서 노드들 중 하나에, 예를 들어 작업 프로세서(52)에, 또는 선택적으로 프로세서(50), 프로세서(155) 또는 프로세서(250)에 제공될 수 있거나, 복수의 프로세서 노드 또는 그 모두에서 구현될 수 있다.
분산형 프로세서 노드 시스템을 포함하는 제어 시스템의 다른 예는 자동차 멀티 프로세서 네트워크(automobile multi-processor network)를 포함한다.
도 3을 참조하면, 프로세서 노드(50, 52, 55, 59)는 공지된 임의의 마이크로프로세서 장치를 포함할 수 있는 프로세서(122a, 122b, 122c, 122d)를 포함한다. 프로세서(122a, 122b, 122c, 122d)는 종종 "펌웨어"라고 하는 프로그램 코드의 제어 하에서 동작하는데, 그 이유는 전술한 바와 같이 그 코드가 라이브러리를 구성하는 하드웨어와 관련되어 있기 때문이다. 펌웨어는 프로세서가 예를 들어 노드 하드웨어(132, 134, 136, 138)로서 도시되어 있는 시스템의 컴포넌트를 작동시키도록 하는 것이다. 펌웨어는 일반적으로 비휘발성 프로그램가능 메모리(124a, 124b, 124c, 124d)에 유지된다. 비휘발성 메모리(124a, 124b, 124c, 124d)는 플래쉬 메모리, 판독 전용 메모리(ROM), 전기적 소거가능 프로그램가능 판독 전용 메모리(EEPROM), 배터리 백업 RAM, 하드 디스크 드라이브 등과 같은 공지된 임의의 비휘발성 메모리 장치를 포함할 수 있다. 다른 대안에서, 비휘발성 메모리(124a, 124b, 124c, 124d)는 각각 프로세서(122a, 122b, 122c, 122d)에 위치될 수 있다.
펌위에 프로그램 코드 이미지는 프로세서 노드 모두에 대해 동일할 수 있으며, 여러가지 기능들 각각에 대해 공통 코드(common code)와 고유 코드(specific code) 둘다를 갖지만, 고유 코드는 특정 기능의 프로세서에 의해서만 사용된다. 다른 대안에서, 프로세서 노드 각각에 대해 서로 다른 코드 이미지가 제공되어, 구체적으로는 특정 기능의 프로세서에 의해 요구되는 코드만 포함할 수 있다.
네트워크를 통해 통신하기 위해, 프로세서 노드는 노드 어드레스를 갖는다. 전술한 바와 같이, CAN 버스 또는 이더넷 네트워크에서 사용되는 것과 같은 노드 어드레스는 당업자라면 잘 알고 있다. 라이브러리의 예에서, 프레임이 부가될 때, 네트워크에 부가된 프로세서 노드는 노드 어드레스를 갖지 않을 수 있으며, 새로운 프로세서 노드에 노드 어드레스가 부여되어야만 한다. 게다가,개별적인 컴포넌트, 프로세서 노드 또는 노드에 있는 프로세서가 새로운 컴포넌트 등으로 교체되거나 다른 컴포넌트 등이 교환될 때, 프로세서 노드는 노드 어드레스를 갖지 않을 수 있거나 다른 노드 위치 또는 다른 라이브러리로부터의 그의 이전의 노드 어드레스를 이용할 수 있다. 이후에 기술하는 바와 같이, 저장된 라이브러리 또는 프레임 고유 정보를 비교함으로써 잘못된 노드 어드레싱이 검출될 수 있다.
새로운 노드 어드레스를 제공하는 한가지 방법은 오퍼레이터가 노드 어드레스를 할당하는 것이다. 복잡한 노드 어드레스의 한 예에서, 컴포넌트는 카드에 코딩된 어드레스의 기능 부분을 가질 수 있으며, 프레임 번호는 프로세서 노드에 제공되고, 기능 어드레스 및 프레임 번호는 노드 어드레스를 계산하기 위해 결합된다. 예로서, 프레임에 연속하여 "01", "02" 등과 같이 번호가 매겨질 수 있으며, 각각의 기능은 서로 다른 번호를 부여받을 수 있다. 예를 들어, 16진수로 "C"인 통신 프로세서 노드 명칭과 "2"의 프레임 번호는 "xC2"의 어드레스를 가질 수 있다. 다른 대안에서, 새로운 노드 어드레스를 제공하는 자동 모드가 이용될 수 있다. 한 예로서, 노드 어드레스를 계산하는 데 이용될 수 있는 이진수를 제공하기 위해 하이 또는 로우에 연결된 어떤 회선을 갖는 케이블이 설계된다. 또하나의 예로서, 2001년 5월 14일자로 출원된 미국 특허 출원 제09/854,865호에 기술된 바와 같이, 펄스 발생기 및 지연 신호 발생기가 상기와 같이 "01", "02"등의 프레임 번호를 결정하기 위해 자동 프레임 카운트를 제공할 수 있다. 자동 프레임 카운트는 노드 어드레스를 계산하기 위해 기능 어드레스와 함께 사용될 수 있다. 또다른 예로서, 서버는 동적 호스트 구성 프로토콜(DHCP, dynamic host configuration protocol)을 이용할 수 있다.
전술한 바와 같이, 장애가 있을 수 있다. 예로서, 오퍼레이터는 프로세서 노드의 배치 또는 기능을 잘못 판단할 수 있다. 자동 모드에서, 이진 케이블(binary cable)은 결함이 발생하거나 잘못 끼워지거나(misplug) 또는 틀린 케이블이 사용될 수도 있다. 또다른 예로서, 프레임 카운터 회로가 결함이 발생하거나 또는 케이블이 잘못 끼워질 수 있다.
이러한 경우에, 컴포넌트는 네트워크상에 있을 때 사용가능한 노드 어드레스를 갖지 않을 수 있거나, 잘못된 어드레스를 가질 수 있거나, 또는 네트워크 상의 다른 컴포넌트와 중복되는 어드레스를 나타낼 수 있다. 한 프로세서 노드가 어떤 컴포넌트에 있는데 그 컴포넌트가 또하나의 컴포넌트로서 이중 기능을 수행하고 또 프레임 번호를 잘못 판독하여 그 잘못된 프레임 번호를 어드레스에 이용하는 경우 중복 어드레스가 발생할 수 있다. 다른 대안에서, 프로세서 노드는 한 시스템에서 다른 시스템으로 교환되어, 새로운 시스템 내의 다른 위치에 있을 수 있다. 네트워크 상에 미지의 컴포넌트, 또는 잘못된 어드레스를 갖는 컴포넌트, 또는 중복의 존재 등의 어드레싱 에러는 시스템의 전부 또는 그 일부를 동작할 수 없게 만들 수 있으며 보수 동작을 필요로 할 수 있다.
또한 도 4를 참조하면, 일 실시예에서, 예를 들어 프로세서 노드 인터페이스에서 검출되는 노드 어드레스의 결여, 또는 중복 어드레스의 존재 등의 네트워크에 대한 프로세서 노드의 노드 어드레스 장애의 검출 시에, 프로세서 노드 또는 시스템은 (1) 프로세서 노드를 네트워크로부터 디스에이블시키며, 및/또는 (2) 노드 어드레스 장애를 피하는 노드 어드레스를 선택한다. 선택된 노드 어드레스는 네트워크 내의 프로세서 노드의 인에이블 시에 네트워크 내의 프로세서 노드를 어드레싱하기 위한 것이다.
프로세스는 단계 190에서 시작한다. 단계 201에서, 도 2 및 도 3의 프로세서 노드(50) 등의 프로세서 노드는 노드 인터페이스(126a)에서 네트워크, 예를 들어 네트워크(60)를 감지한다. 예로서, 예를 들어 프로세서 노드의 프로세서(122a) 및/또는 또하나의 컴포넌트가 업그레이드되었기 때문에, 프로세서 노드는 전원이 투입되거나 위치 교환될 수 있거나 네트워크에 부가된 프레임에 있거나 리셋되었거나 할 수 있다. 예로서, 프로세서 노드는 프로세서 노드를 인에이블시키는 프로세스를 시작하는 펌웨어 또는 하드웨어 파워-온 카운터를 포함한다. 어떤 내부적인 측면이 일단 수행되면, 프로세서 노드는 단계 201을 수행한다. 다른 대안으로서, 프로세서 노드가 설치되자마자, 어떤 신호가 예를 들어 회선 상의 신호에 의해 방해없이 마스터 노드에 제공되고, 마스터 노드는 프로세서 노드, 예를 들어 프로세서 노드(50) 대신에 단계 201을 수행한다.
단계 201에는 프로세서 노드, 예를 들어 프로세서 노드(50)에 대한 노드 어드레스의 검사가 포함되어 있다. 전술한 바와 같이, 어드레스는 수동으로 발생된 또는 자동 표시 등의 수신에 의해 케이블을 코딩함으로써 표시될 수 있고, 내부 정보와 함께 직접 사용되거나 그와 결합되어 노드 어드레스를 결정할 수 있다.
단계 203은 임의의 사용가능한 노드 어드레스가 네트워크의 감지의 결과로서 발생될 수 있는지의 결정을 포함한다. 예를 들어, 사용불가 어드레스는 이진 케이블에 결함이 있어 누락된 비트가 있는 결과 불완전한 어드레스를 나타낼 수 있거나 교차 비트(crossed bit)를 가져 잘못되거나 무효인 어드레스를 나타낼 수 있다. 게다가, 케이블이 잘못 끼워질 수 있거나 잘못된 케이블이 사용될 수 있다. 또다른 예로서, 프레임 카운터 회로에 결함이 있을 수 있거나, 케이블이 잘못 끼워질 수 있다. 따라서, 사용불가 어드레스는 또한 어드레스 신호를 포함하지 않을 수 있다.
그러므로, 사용불가 어드레스는 이 용어가 본 명세서에서 사용되는 바와 같이 불완전한 어드레스, 잘못되거나 무효인 어드레스를 포함하거나, 아무런 어드레스 정보도 포함하지 않는다. 충돌 가능성이 있는 어드레스는 네트워크에서 사용가능하지 않을 수 있지만, 이에 대해서는 이후에 구체적으로 기술한다. 사용가능한 어드레스가 발생될 수 없는 경우, 단계 205에서 프로세서 노드(50)는 그의 노드 어드레스를 내부적으로 결정하려고 시도한다. 한 예로서, 어드레스의 기능 부분은 카드에 인코딩되어 있고, 어드레스의 나머지 부분은 예를 들어 마지막으로 성공한 기지의 어드레스를 포함하는 비휘발성 메모리에 인코딩되어 있다. 본 발명에 따르면, 단계 206에서, 대체 노드 어드레스가 그의 비휘발성 메모리(124a)로부터 판독되며, 이에 대해서는 단계 220과 관련하여 이후에 보다 상세히 기술된다. 다른 대 안에서, 미리 정해진 노드 어드레스가 제공될 수 있다.
단계 205에서, 노드 어드레스가 내부적으로 결정될 수 있는지의 결정이 행해진다. 아니오인 경우, 공칭 노드 어드레스가 없으며, 단계 207로 나타낸 바와 같이 노드 어드레스 장애가 있고, 단계 208에서 프로세서 노드는 네트워크로부터 디스에이블된다.
어드레스 장애를 갖는 프로세서 노드를 네트워크로부터 디스에이블시킴으로써, 그 컴포넌트만 일시적으로 정지되고, 따라서 시스템은 동작 상태를 유지한다.
다른 대안에서, 단계 205 및 단계 206이 노드 어드레스를 발생하는 경우, 단계 207이 생략될 수 있으며, 내부적으로 발생된 어드레스에서의 어떤 문제점도 나중에, 예를 들어 이후에 기술되는 바와 같이 단계 222에서 포착될 수 있다. 또한, 단계 205, 단계 206 및 단계 207이 생략될 수 있다. 이 경우, 단계 203에서의 "아니오" 대답은 직접 단계 208로 가게 된다.
단계 203 또는 단계 205로 나타낸 바와 같이 프로세서 노드에 대해 노드 어드레스가 결정될 수 있는 경우, 그 어드레스는 단계 210에서 최초로 결정되며, 본 명세서에서는 이를 "공칭" 노드 어드레스라고 한다. 이것은 최초로 결정된 노드 어드레스를 유효성 또는 임의의 충돌, 이후에 기술되는 다른 형태의 어드레스 장애에 대한 검사가 행해진 경우 실제로 사용될 노드 어드레스와 구분하기 위한 것이다. 프로세스 단계들 각각은 프로세서 노드 자체에 의해 수행될 수 있거나, 시스템이 예를 들어 마스터 노드에 의해 그 프로세스를 수행할 수 있다.
단계 207에서, 선택적으로, 공칭 노드 어드레스가 유효할 수 있을지 또는 잘 못될 수 있을지의 결정이 행해진다. 예를 들어, 공칭 노드 어드레스는 완전할 수 있으며 외관상 정확한 번호를 갖는 프레임 또는 네트워크 장소에 있을 수 있지만, 프레임 내의 다른 장소에 있거나 및/또는 서로 다른 기능을 수행하거나 서로 다른 라이브러리 또는 네트워크에 있다.
본 발명의 실시예에 따르면, 유효 노드 어드레스에 대한 테스트는 노드에 의해 액세스될 수 있는 일련 번호 등의 고유 식별 정보를 갖는 노드 하드웨어 등의 관련 요소 또는 요소들에 쿼리를 행하는 단계, 및 이를 노드의 로컬 비휘발성 메모리에 유지되는 고유 식별 정보의 복사본과 비교하는 단계를 포함한다.
본 명세서에서, 프로세서 노드와 관련된 하드웨어 또는 다른 요소들을 식별, 정의 또는 지정하는 정보는 관련 요소 등의 "지정 정보(designating information)"라고 한다.
따라서, 데이터 스토리지 드라이브가 노드의 프레임에 할당되어 있는 라이브러리의 예에서, 프레임은 드라이브 또는 드라이브들을 포함하는 것으로 알려져 있으며, 그 각각은 "지정 정보" 비교를 위한 주어진 고유 일련 번호를 갖는다.
예로서, 도 2를 참조하면, 통신 프로세서 노드(50)는 회선(70)을 거쳐 하나 이상의 데이터 스토리지 드라이브(15)에 쿼리를 수행하여 하나 이상의 일련 번호를 획득하고 이 번호(번호들)을 비휘발성 메모리에 저장된 일련 번호(들)과 비교하 ㄹ수 있다. 완전한 일치가 있는 경우, 공칭 노드 어드레스가 유효한 것으로 가정될 수 있다. 보다 상세하게는, 노드는 저장된 노드 어드레스와 저장된 지정 정보 사이의 상관 관계를 포함하고 있다. 드라이브(15)도 역시 교환될 수 있기 때문에, 완전한 일치를 이루지 못하는 것이 무효인 노드 어드레스를 나타내지 않을 수도 있다. 따라서, 노드와 관련된 컴포넌트들에 대한 모든 컴포넌트 식별자는 노드 비휘발성 메모리에 지정 정보로서 저장될 수 있으며, 일치를 구성하기 위해 충분한 비교가 행해지는지를 결정하기 위해 투표 방식(voting scheme)이 이용될 수 있다.
다른 대안에서, 노드 자체는 펌웨어를 통해 판독가능한 "MAC" 어드레스 또는 월드-와이드 이름(world-wide name, WWN), 또는 노드 카드와 관련된 카드 일련 번호 등의 지정 정보를 포함할 수 있다.
일치가 이루어지지 않은 경우, 단계 207은 노드 어드레스 장애가 있는 것으로 결정하고, 프로세스는 단계 222로 진행하며, 프로세서 노드의 공칭 노드 어드레스는 프로세서 노드 인터페이스에서 네트워크로부터 디스에이블된다.
공칭 노드 어드레스가 유효인 것처럼 보이는 경우, 네트워크, 예를 들어 도 2의 네트워크(60, 152, 200)의 다른 프로세서 노드들의 노드 어드레스가 단계 212에서 예를 들어 RS-232 연결 등의 대체 통신 수단을 통해 또는 네트워크 브로드캐스트에 의해 감지된다. 구체적으로 말하면, 노드는 "나는 'C2'인데 아무도 없어요"를 브로드캐스트할 수 있으며, 충돌이 있는 경우 응답을 수신하게 된다. 그 다음에, 단계 215에서, 다른 프로세서 노드들의 감지된 노드 어드레스는 공칭 노드 어드레스와 비교된다. 단계 216에서 아무런 충돌도 발견되지 않은 경우, 공칭 노드 어드레스는 프로세서 노드에 대한 노드 어드레스로서 사용되고, 프로세스는 이후에 기술되는 바와 같이 단계 240으로 진행한다.
그 대신에 단계 216에서 프로세서 노드 또는 시스템이 다른 프로세서 노드들 의 감지된 노드 어드레스 중 적어도 하나와 공칭 노드 어드레스 사이의 임의의 충돌의 존재를 결정하는 경우, 그 존재하는 충돌은 네트워크에 대한 프로세서 노드의 노드 어드레스 장애를 포함할 수 있다. 충돌하는 노드 어드레스를 갖는 프로세서 노드 또는 노드들은 선택적으로 단계 221에서 예를 들어 네트워크 브로드캐스트 등에 의해 경고를 받을 수 있다.
본 발명에 따른 다른 실시예로서, 노드 어드레스의 충돌의 경우, 단계 235와 관련하여 설명되는 바와 같이 추가의 테스트가 수행될 수 있다. 그렇지 않고, 추가의 테스트가 실시되지 않는 경우, 노드 어드레스 장애가 선택적인 단계 222에서 표시되고, 프로세서 노드는 네트워크로부터 디스에이블된다.
추가의 실시예에서, 네트워크의 프로세서 노드들 중 적어도 2개는 리셋되고, 이는 적어도 하나의 프로세서, 네트워크에 대한 적어도 하나의 인터페이스, 및 프로세서노드가 리셋된 이후의 시간의 표시를 유지하는 타이머를 포함한다. 타이머는 프로세서, 예를 들어 각각 프로세서 노드(50,52, 55, 59)의 프로세서(122a, 122b, 122c, 122d)의 펌웨어 타이머로서 도시되어 있을 뿐이지만, 다른 대안에서는 상기한 하드웨어 타이머를 포함할 수 있다. 타이머들은 프로세서 노드의 전원 투입 시에 활성화되거나 리셋되는 파워-업 카운터를 포함할 수 있다. 따라서, 타이머들은 프로세서 노드가 활성이었던 시간의 표시를 제공한다. 타이머들은 0의 값으로 되돌아가지 않을 수 있는 큰 값 카운터을 포함할 수 있거나 일단 최대값이 도달되면 카운팅을 중지할 수 있는데, 그 이유는 프로세서 노드들 중 하나의 리셋 시간에 근접하여 검사가 수행될 가능성이 있기 때문이다. 타이머의 해상도는 그다지 중요하지 않은데, 그 이유는 타이머가 단지 상당한 차이를 식별하기 위한 것이기 때문이다. 다른 대안에서, 타이머는 파워-온 시에 카운트를 시작하지 않고 그 대신에 프로세서 노드가 비충돌 어드레스를 갖는 것으로 결정할 때 리셋될 수 있으며, 이에 대해서는 이하에서 설명한다. 이러한 경우, 임의의 충돌이 해소될 때까지 시간은 새로 리셋된 프로세서 노드에서 0이 된다. 따라서, 보다 최근의 시간을 갖는 프로세서 노드는 최근에 리셋되었을 가능성이 있고 또 새로운 충돌하는 공칭 어드레스를 가질 가능성이 있으며, 보다 최근의 시간을 갖지 않는 프로세서 노드는 지금 충돌하고 있는 어드레스에서 성공적으로 동작했을 가능성이 있다. 이상과 같이, 노드 어드레스 장애는 다른 프로세서 노드들의 감지된 노드 어드레스 중 적어도 하나와 프로세서 노드의 공칭 노드 어드레스 사이의 임의의 충돌의 존재 시에 결정된다. 선택적으로 단계 221에서 노드 어드레스 장애를 결정하는 프로세싱 노드는 예를 들어 전술한 바와 같은 브로드캐스트 등에 의해 그 충돌의 충돌하는 감지된 노드 어드레스를 갖는 상대편 프로세서 노드에 경고를 보낼 수 있다.
단계 221은 새로 리셋된 노드가 보다 최근의 시간을 가질 가능성이 있으며 따라서 충돌의 정보를 요청할 가능성도 있다는 점에서 선택적이다. 충돌하는 어드레스를 갖는 또하나의 노드는 성공적으로 동작하고 있었을 가능성이 있으며, 그 노드가 요청된 어드레스를 가지고 있다는 응답을 제공할 수 있을 뿐이며 충돌이 있는지를 알 필요는 없다. 그렇지만, 응답측 노드는 또한 그의 타이머 값을 응답의 일부로서 제공할 수 있다. 따라서, 요청측 노드는 어드레스 충돌의 존재를 결정하는 바탕이 되는 응답 및 비교를 위한 타이머 값 둘다를 가지게 된다. 다른 대안에서, 응답이 먼저 제공되고, 요청측 노드가 충돌이 있는 것으로 결정한 후에만, 그 노드가 별도로 타이머 값을 요청한다.
프로세서 노드 및 단계 225에 의해 설명한 바와 같은 충돌하는 노드 어드레스를 갖는 상대편 프로세서 노드 또는 시스템은 단계 227에서 타이머들의 시간을 비교하여, 단계 228에서 리셋 이후에 보다 최근의 시간을 갖는 프로세서 노드를 결정한다. 2개의 노드가 리셋되고 충돌하는 공칭 어드레스를 가지고 나타나는 경우, "레이스" 조건(race condition)이 그 충돌을 부정확하게 해소할 수 있다는 점에서, 넓은 대역의 시간은 타이(tie)로 간주되어 충돌을 해소하지 못할 수 있다. 따라서, 에러 상황이 존재하고 이를 해결하기 위해 외부 검사를 필요로 할 수 있다. 따라서, 본 명세서에서, "보다 최근의 시간"은 타이를 포함한다.
다른 대안에서, 단계 221 및 단계 225는 생략될 수 있다. 단계 227 및 단계 228은 어드레스를 할당하기 위한 의도의 브로드캐스트에 응답하여 수행될 수 있다. 게다가, 단계 227 및 단계 228은 아직 노드 어드레스를 할당하지 않은 노드에 의해서만 수행될 수 있는데, 그 이유는 이 검사가 나중의 충돌하는 노드가 나타나지 못하도록 취소하기 위한 것이기 때문이다. 성공적으로 동작하고 있는 노드는 어드레스의 변경 가능성을 고려하지 않아도 된다.
단게 228에서 프로세서 노드가 보다 최근의 시간을 갖지 않는 것으로 결정되는 경우, 프로세서 노드에 의해 사용되고 있는 공칭 노드 어드레스 또는 노드 어드레스는 프로세서 노드에대한 노드 어드레스로서 사용되어질 것이며, 프로세스는 이후에 설명될 단계 240으로 진행한다.
단계 228에서 결정된 바와 같이 보다 최근의 시간을 갖는 프로세서 노드는 단계 222에서 노드 어드레스 장애를 나타낼 수 있으며, 이는 프로세서 노드가 네트워크로부터 디스에이블되게 한다.
본 발명의 다른 실시예에서, 프로세서 노드, 예를 들어 도 3의 프로세서 노드(50)는 부가적으로 비휘발성 메모리(124a)를 포함하며, 프로세서노드의 대체 노드 어드레스를 이 비휘발성 메모리에 유지한다. 예로서, 대체 노드 어드레스는 단계 220과 관련하여 기술되는 바와 같이 마지막으로 성공한 노드 어드레싱의 검출의 노드 어드레스를 포함할 수 있다. 다른 대안에서, 시스템은 마스터 노드(55)의 비휘발성 메모리(124c) 등의 예를 들어 마스터 노드의 기지의 장소에 있는 비휘발성 메모리를 유지한다.
단계 222는 나머지 단계들이 수행되는 동안 프로세서 노드의 일시적인 디스에이블일 수 있거나, 또는 다른 대안에서 단계 222는 생략될 수 있고, 나머지 단계들이 먼저 수행될 수 있으며, 이후에 기술되는 바와 같이 단계 208에서 임의의 노드 어드레스 장애가 수행될 수 있다.
따라서, 노드 어드레스 장애의 검출 시에 예를 들어 단계 228에서, 또는 직접적으로 충돌의 결과로서 예를 들어 단계 216에서, 비휘발성 메모리 내의 대체 노드 어드레스가 단계 235에서 판독된다. 대체 노드 어드레스는 단계 220에서 결정된 것과 같은 충돌을 피할 가능성이 있는 어드레스를 포함한다. 단계 235의 비휘발성 메모리는 단계 206의 비휘발성 메모리와 동일하거나 그와 다를 수 있으며, 대체 노드 어드레스는 단계 206의 노드 어드레스와 다를 수 있다. 대체 노드 어드레 스가 제공되는 경우, 그 노드는 전술한 바와 같은 다른 노드 식별 정보를 사용함으로써 선택될 수 있다.
단계 220에서, 단계 235의 대체 노드 어드레스, 또는 이후에 논의되는 바와 같이 단계 240에서 검증되는 경우 단계 206의 공칭 노드 어드레스로 되는 대체 어드레스는 마지막으로 성공한 노드 어드레싱 검출의 노드 어드레스를 포함한다. 예를 들어, 프로세서 노드가 리셋 프로세스를 거치고 네트워크의 임의의 프로세서 노드와의 충돌을 피하는 노드 어드레스를 갖는 것으로 밝혀진 경우, 그 노드 어드레스는 적어도 그 시점에서 양호한 노드 어드레스인 것으로 알려진다. 따라서, 단계 220에서, 기지의 양호한 노드 어드레스가 프로세서 노드의 비휘발성 메모리에 저장된다.
프로세서 노드가 교환 등이 이루어진 경우, 한때 양호했던 노드 어드레스는 새로운 환경에서 충돌할 수 있다. 따라서, 단계 237에서, 단계 212의 다른 프로세서 노드들의 감지된 노드 어드레스가 비휘발성 메모리 내의 대체 노드 어드레스와 비교된다. 다른 대안에서, 단계 212 및 단계 215는 반복될 수 있거나 유사한 단계들이 행해질 수 있다. 단계 238에서 대체 노드 어드레스가 단계 215의 다른 프로세서 노드들의 감지된 노드 어드레스와의 충돌을 피하고 및/또는 단계 207의 지정 정보 일치 테스트를 통과하는 경우, 대체 노드 어드레스는 노드 어드레스 장애를 피하며 비휘발성 메모리 내의 대체 노드 어드레스가 프로세서 노드의 노드 어드레스로서 선택되고, 프로세스는 단계 240으로 진행한다.
그렇지만, 충돌이 여전히 또는 또다시 존재하는 경우, 프로세서 노드는 네트 워크에 대한 어드레스 장애를 나타내며, 단계 208에서 네트워크로부터 디스에이블된다.
어드레스 장애를 갖는 프로세서 노드를 네트워크로부터 디스에이블시킴으로써, 단지 그 컴포넌트만이 일시적으로 정지되고, 시스템은 동작 상태를 유지한다. 어드레스 장애를 피하는 대체 노드 어드레스를 이용하면 추가로 시스템에 대한 어떤 장해를 예방하며, 프로세서 노드 또는 컴포넌트에 대한 즉각적인 보수 동작을 피한다.
단계 240에서, 프로세서 노드는 외관상 유효하고 충돌하지 않는 어드레스를 사용하여 네트워크 내에 인에이블된다. 단계 220에서, 그 노드 어드레스는 비휘발성 메모리에 대체 노드 어드레스로서 저자아되고, 타이머는 리셋될 수 있다.
그 결과 얻어지는 공칭 노드 어드레스 또는 대체 노드 어드레스는 비록 외관상 유효하고 충돌하지 않지만 여전히 잘못된 것일 수 있다. 따라서, 단계 220의 저장 동작은 또한 추가의 검증, 예를 들면 설정 등의 후에 있을 수 있다. 따라서, 백업으로서 비휘발성 메모리에 저장된 메모리는 기지의 "양호한" 노드 어드레스라는 보장이 더해진다.
단계 220에서, 이제 "양호한" 노드 어드레스를 비휘발성 메모리에 대체 노드 어드레스로서 저장하는 것 이외에, 타이머가 파워-업 타이머가 아닌 경우, 전술한 바와 같이 타이머는 이 때에 리셋될 수 있다.
다른 대안으로서, 단계 240은 단계 220 후에 수행될 수 있으며, 따라서 프로세서 노드는 충돌하지 않는 노드 어드레스를 사용하여 네트워크 내에 인에이블되 고, 단계 240은 부가의 검증을 포함하지 않는다.
당업자라면 상기한 단계들이 도 4에 도시한 것으로부터 그 순서가 수정 및/또는 변경될 수 있음을 잘 알 것이다. 당업자라면 또한 등가 구성 요소가 도 1 내지 도 3에 도시한 것을 대체할 수 있음과 본 발명이 도 3에 따라 구현될 수 있음을 잘 알 것이다. 도 1 및 도 2의 라이브러리의 환경과 다른 대체 환경에서, 한 예는 자동차 멀티 프로세서 네트워크의 프로세싱 노드를 포함한다.
본 발명의 양호한 실시예들이 상세히 설명되었지만, 이하의 청구항들에 기재된 바와 같은 본 발명의 범위를 벗어나지 않고 이들 실시예에 대한 수정 및 조정이 행해질 수 있음은 당업자에게는 자명할 것이다.

Claims (49)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 네트워크와,
    상기 네트워크의 노드들을 포함하는 복수의 프로세서 노드를 포함하되, 상기 복수의 프로세서 노드 중 적어도 2개는 리셋되고,
    적어도 하나의 프로세서와 상기 네트워크에 대한 적어도 하나의 인터페이스 및 타이머를 포함하되, 상기 타이머는 상기 프로세서 노드가 리셋된 이후의 시간의 표시를 유지하는 것인 분산형 프로세서 노드 시스템으로서,
    (I) 상기 복수의 프로세서 노드 중 적어도 하나는,
    공칭 노드 어드레스를 그 자신의 노드 어드레스로서 결정하고,
    상기 네트워크의 다른 프로세서 노드들의 노드 어드레스를 감지하며,
    상기 다른 프로세서 노드들의 감지된 노드 어드레스를 상기 공칭 노드 어드레스와 비교하고,
    상기 다른 프로세서 노드들의 감지된 노드 어드레스 중 적어도 하나와 상기 공칭 노드 어드레스 사이의 임의의 충돌의 존재를 결정하되, 상기 존재하는 충돌은 상기 네트워크 내의 노드 어드레스 장애를 포함하며,
    (II) 상기 충돌하는 감지된 노드 어드레스를 갖는 상기 프로세서 노드는,
    상기 프로세서 노드의 상기 타이머의 시간을, 상기 충돌하는 상기 감지된 노드 어드레스를 갖는 상기 다른 프로세서 노드의 상기 타이머의 시간과 비교하여, 상기 타이머들 중 보다 최근의 시간을 갖는 프로세서 노드를 결정하고,
    상기 프로세서 노드가 상기 보다 최근의 시간을 갖는 경우, 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드의 공칭 노드 어드레스를 상기 네트워크로부터 디스에이블시키는 것인 분산형 프로세서 노드 시스템.
  8. 제7항에 있어서, 상기 보다 최근의 시간을 갖는 상기 프로세서 노드는 부가적으로 상기 노드 어드레스 장애를 피하는 노드 어드레스를 선택하며,
    상기 선택된 노드 어드레스는 상기 네트워크 내의 상기 프로세서 노드의 인에이블 시에 상기 네트워크 내의 상기 보다 최근의 시간을 갖는 상기 프로세서 노드를 어드레싱하기 위한 것인 분산형 프로세서 노드 시스템.
  9. 제8항에 있어서, 상기 보다 최근의 시간을 갖는 상기 프로세서 노드는,
    비휘발성 메모리를 더 포함하고,
    상기 프로세서 노드의 대체 노드 어드레스를 상기 비휘발성 메모리에 유지하며,
    상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 상기 다른 프로세서 노드들의 상기 감지된 노드 어드레스와 추가로 비교하고,
    상기 대체 노드 어드레스가 상기 다른 프로세서 노드들의 상기 감지된 노드 어드레스와의 충돌을 피하는 경우, 상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 선택함으로써 상기 노드 어드레스 장애를 피하는 상기 노드 어드레스를 선택하는 것인 분산형 프로세서 노드 시스템.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 자동화된 데이터 스토리지 라이브러리 시스템으로서,
    데이터 저장 매체를 보관하는 복수의 스토리지 선반과,
    상기 데이터 저장 매체에 대해 데이터의 판독 및/또는 기록을 행하는 적어도 하나의 데이터 스토리지 드라이브와,
    상기 복수의 스토리지 선반과 상기 적어도 하나의 데이터 스토리지 드라이브 사이에서 상기 데이터 저장 매체를 이송하는 적어도 하나의 로봇 액세서와,
    네트워크와,
    상기 자동화된 데이터 스토리지 라이브러리 시스템을 작동시키는 복수의 프로세서 노드
    를 포함하며,
    상기 복수의 프로세서 노드는 상기 네트워크의 노드들을 포함하고, 상기 복수의 프로세서 노드 각각은 적어도 하나의 프로세서 및 상기 네트워크에 대한 적어도 하나의 인터페이스를 포함하며,
    상기 복수의 프로세서 노드 중 적어도 하나는, 상기 네트워크에 대한 상기 프로세서 노드의 노드 어드레스 장애의 검출 시에, 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드를 상기 네트워크로부터 디스에이블시키는 것인 자동화된 데이터 스토리지 라이브러리 시스템.
  20. 삭제
  21. 청구항 21은(는) 설정등록료 납부시 포기되었습니다.
    제19항에 있어서, 상기 적어도 하나의 프로세서 노드는 상기 적어도 하나의 인터페이스에서 상기 네트워크를 감지함으로써 상기 노드 어드레스 장애를 검출하는 것인 자동화된 데이터 스토리지 라이브러리 시스템.
  22. 자동화된 데이터 스토리지 라이브러리 시스템으로서,
    데이터 저장 매체를 보관하는 복수의 스토리지 선반과,
    상기 데이터 저장 매체에 대해 데이터의 판독 및/또는 기록을 행하는 적어도 하나의 데이터 스토리지 드라이브와,
    상기 복수의 스토리지 선반과 상기 적어도 하나의 데이터 스토리지 드라이브 사이에서 상기 데이터 저장 매체를 이송하는 적어도 하나의 로봇 액세서와,
    네트워크와,
    상기 자동화된 데이터 스토리지 라이브러리 시스템을 작동시키는 복수의 프로세서 노드
    를 포함하며,
    상기 복수의 프로세서 노드는 상기 네트워크의 노드들을 포함하고, 상기 복수의 프로세서 노드 각각은 적어도 하나의 프로세서 및 상기 네트워크에 대한 적어도 하나의 인터페이스를 포함하며,
    상기 복수의 프로세서 노드 중 적어도 하나는,
    공칭 노드 어드레스를 그 자신의 노드 어드레스로서 결정하고,
    상기 네트워크의 다른 프로세서 노드들의 노드 어드레스를 감지하며,
    상기 다른 프로세서 노드들의 감지된 노드 어드레스를 상기 공칭 노드 어드레스와 비교하고,
    상기 다른 프로세서 노드들의 감지된 노드 어드레스 중 적어도 하나와 상기 공칭 노드 어드레스 사이의 임의의 충돌의 존재를 결정하되, 상기 존재하는 충돌은 상기 네트워크에 대한 상기 프로세서 노드의 노드 어드레스 장애를 포함하며,
    상기 네트워크에 대한 상기 프로세서 노드의 상기 노드 어드레스 장애의 검출 시에, 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드의 공칭 노드 어드레스를 상기 네트워크로부터 디스에이블시키는 것인 자동화된 데이터 스토리지 라이브러리 시스템.
  23. 삭제
  24. 삭제
  25. 자동화된 데이터 스토리지 라이브러리 시스템으로서,
    데이터 저장 매체를 보관하는 복수의 스토리지 선반과,
    상기 데이터 저장 매체에 대해 데이터의 판독 및/또는 기록을 행하는 적어도 하나의 데이터 스토리지 드라이브와,
    상기 복수의 스토리지 선반과 상기 적어도 하나의 데이터 스토리지 드라이브 사이에서 상기 데이터 저장 매체를 이송하는 적어도 하나의 로봇 액세서와,
    네트워크와,
    상기 자동화된 데이터 스토리지 라이브러리 시스템을 작동시키는 복수의 프로세서 노드
    를 포함하며,
    상기 복수의 프로세서 노드는 상기 네트워크의 노드들을 포함하되, 상기 복수의 프로세서 노드 중 적어도 2개는 리셋되고,
    상기 복수의 프로세서 노드는,
    적어도 하나의 프로세서와,
    상기 네트워크에 대한 적어도 하나의 인터페이스와,
    상기 프로세서 노드가 리셋된 이후의 시간의 표시를 유지하는 타이머
    를 포함하며,
    (I) 상기 복수의 프로세서 노드 중 적어도 하나는,
    공칭 노드 어드레스를 그 자신의 노드 어드레스로서 결정하고,
    상기 네트워크의 다른 프로세서 노드들의 노드 어드레스를 감지하며,
    상기 다른 프로세서 노드들의 감지된 노드 어드레스를 상기 공칭 노드 어드레스와 비교하고,
    상기 다른 프로세서 노드들의 감지된 노드 어드레스 중 적어도 하나와 상기 공칭 노드 어드레스 사이의 임의의 충돌의 존재를 결정하되, 상기 존재하는 충돌은 상기 네트워크 내의 노드 어드레스 장애를 포함하며,
    (II) 상기 충돌하는 감지된 노드 어드레스를 갖는 상기 프로세서 노드는,
    상기 프로세서 노드의 상기 타이머의 시간을, 상기 충돌하는 상기 감지된 노드 어드레스를 갖는 상기 다른 프로세서 노드의 상기 타이머의 시간과 비교하여, 상기 타이머들 중 보다 최근의 시간을 갖는 프로세서 노드를 결정하고,
    상기 프로세서 노드가 상기 보다 최근의 시간을 갖는 경우, 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드의 공칭 노드 어드레스를 상기 네트워크로부터 디스에이블시키는 것인 자동화된 데이터 스토리지 라이브러리 시스템.
  26. 삭제
  27. 삭제
  28. 자동화된 데이터 스토리지 라이브러리의 네트워크의 어드레싱 장애를 처리하는 방법으로서,
    상기 자동화된 데이터 스토리지 라이브러리는 데이터 저장 매체에 액세스하기 위한 것이며,
    상기 자동화된 데이터 스토리지 라이브러리는,
    데이터 저장 매체를 보관하는 복수의 스토리지 선반과,
    상기 데이터 저장 매체에 대해 데이터의 판독 및/또는 기록을 행하는 적어도 하나의 데이터 스토리지 드라이브와,
    상기 복수의 스토리지 선반과 상기 적어도 하나의 데이터 스토리지 드라이브 사이에서 상기 데이터 저장 매체를 이송하는 적어도 하나의 로봇 액세서와,
    네트워크와,
    상기 자동화된 데이터 스토리지 라이브러리를 작동시키는 복수의 프로세서 노드
    를 포함하며,
    상기 복수의 프로세서 노드는 상기 네트워크의 노드들을 포함하고, 상기 복수의 프로세서 노드 각각은 적어도 하나의 프로세서 및 상기 네트워크에 대한 적어도 하나의 인터페이스를 포함하며,
    상기 방법은,
    상기 네트워크에 대한 상기 복수의 프로세서 노드 중 하나의 노드 어드레스 장애를 검출하는 단계와,
    상기 노드 어드레스 장애의 검출 시에, 상기 적어도 하나의 인터페이스에서 상기 노드 어드레스 장애를 갖는 상기 프로세서 노드를 상기 네트워크로부터 디스에이블시키는 단계를 포함하는 것인 방법.
  29. 청구항 29은(는) 설정등록료 납부시 포기되었습니다.
    제28항에 있어서, 상기 적어도 하나의 프로세서 노드는 비휘발성 메모리를 더 포함하고,
    상기 방법은,
    상기 프로세서 노드의 대체 노드 어드레스를 상기 비휘발성 메모리에 유지시키는 단계와,
    상기 프로세서 노드에 대한 노드 어드레스를 결정하려고 시도함으로써 상기 노드 어드레스 장애를 검출하는 단계와,
    상기 프로세서 노드에 대한 임의의 사용가능한 노드 어드레스를 결정하는데 실패하면, 상기 노드 어드레스 장애를 갖는 상기 프로세서 노드에 대한 상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 선택하는 단계를 더 포함하는 것인 방법.
  30. 청구항 30은(는) 설정등록료 납부시 포기되었습니다.
    제28항에 있어서, 상기 노드 어드레스 장애를 검출하는 상기 단계는 상기 적어도 하나의 프로세서 노드가 상기 프로세서 노드 인터페이스에서 상기 네트워크를 감지하는 단계를 포함하는 것인 방법.
  31. 청구항 31은(는) 설정등록료 납부시 포기되었습니다.
    자동화된 데이터 스토리지 라이브러리의 네트워크의 어드레싱 장애를 처리하는 방법으로서,
    상기 자동화된 데이터 스토리지 라이브러리는 데이터 저장 매체에 액세스하기 위한 것이며,
    상기 자동화된 데이터 스토리지 라이브러리는,
    데이터 저장 매체를 보관하는 복수의 스토리지 선반과,
    상기 데이터 저장 매체에 대해 데이터의 판독 및/또는 기록을 행하는 적어도 하나의 데이터 스토리지 드라이브와,
    상기 복수의 스토리지 선반과 상기 적어도 하나의 데이터 스토리지 드라이브 사이에서 상기 데이터 저장 매체를 이송하는 적어도 하나의 로봇 액세서와,
    네트워크와,
    상기 자동화된 데이터 스토리지 라이브러리를 작동시키는 복수의 프로세서 노드
    를 포함하며,
    상기 복수의 프로세서 노드는 상기 네트워크의 노드들을 포함하고, 상기 복수의 프로세서 노드 각각은 적어도 하나의 프로세서 및 상기 네트워크에 대한 적어도 하나의 인터페이스를 포함하며,
    상기 방법은,
    상기 복수의 프로세서 노드 중 적어도 하나의 공칭 노드 어드레스를 결정하는 단계와,
    상기 네트워크의 다른 프로세서 노드들의 노드 어드레스를 감지하는 단계와,
    상기 다른 프로세서 노드들의 감지된 노드 어드레스를 상기 공칭 노드 어드레스와 비교하는 단계와,
    상기 다른 프로세서 노드들의 감지된 노드 어드레스 중 적어도 하나와 상기 공칭 노드 어드레스 사이의 임의의 충돌의 존재를 결정하되, 상기 존재하는 충돌은 상기 네트워크에 대한 상기 프로세서 노드의 노드 어드레스 장애를 포함하는 것인 결정 단계와,
    상기 네트워크에 대한 상기 프로세서 노드의 상기 노드 어드레스 장애의 검출 시에, 상기 적어도 하나의 인터페이스에서 상기 노드 어드레스 장애를 갖는 상기 프로세서 노드의 공칭 노드 어드레스를 상기 네트워크로부터 디스에이블시키는 단계를 포함하는 것인 방법.
  32. 청구항 32은(는) 설정등록료 납부시 포기되었습니다.
    제31항에 있어서, 상기 네트워크에 대한 상기 프로세서 노드의 상기 노드 어드레스 장애의 검출 시에, 상기 노드 어드레스 장애를 피하는 노드 어드레스를 선택하는 단계를 더 포함하고,
    상기 선택된 노드 어드레스는 상기 네트워크 내의 상기 프로세서 노드의 인에이블 시에 상기 네트워크 내의 상기 노드 어드레스 장애를 갖는 상기 프로세서 노드를 어드레싱하기 위한 것인 방법.
  33. 청구항 33은(는) 설정등록료 납부시 포기되었습니다.
    제32항에 있어서, 상기 적어도 하나의 프로세서 노드는 비휘발성 메모리를 더 포함하고,
    상기 방법은,
    상기 적어도 하나의 프로세서 노드의 대체 노드 어드레스를 상기 비휘발성 메모리에 유지하는 단계와,
    상기 충돌의 결정 시에 및 상기 네트워크에 대한 상기 적어도 하나의 프로세서 노드의 상기 노드 어드레스 장애의 검출 시에, 상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 상기 다른 프로세서 노드들의 상기 감지된 노드 어드레스와 추가적으로 비교하는 단계와,
    상기 대체 노드 어드레스가 상기 다른 프로세서 노드들의 상기 감지된 노드 어드레스와의 충돌을 피하는 경우, 상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 선택함으로써 상기 노드 어드레스 장애를 피하는 상기 노드 어드레스를 선택하는 단계를 포함하는 것인 방법.
  34. 청구항 34은(는) 설정등록료 납부시 포기되었습니다.
    자동화된 데이터 스토리지 라이브러리의 네트워크의 어드레싱 장애를 처리하는 방법으로서,
    상기 자동화된 데이터 스토리지 라이브러리는 데이터 저장 매체에 액세스하기 위한 것이며,
    상기 자동화된 데이터 스토리지 라이브러리는,
    데이터 저장 매체를 보관하는 복수의 스토리지 선반과,
    상기 데이터 저장 매체에 대해 데이터의 판독 및/또는 기록을 행하는 적어도 하나의 데이터 스토리지 드라이브와,
    상기 복수의 스토리지 선반과 상기 적어도 하나의 데이터 스토리지 드라이브 사이에서 상기 데이터 저장 매체를 이송하는 적어도 하나의 로봇 액세서와,
    네트워크와,
    상기 자동화된 데이터 스토리지 라이브러리를 작동시키는 복수의 프로세서 노드
    를 포함하며,
    상기 복수의 프로세서 노드는 상기 네트워크의 노드들을 포함하되, 상기 복수의 프로세서 노드 중 적어도 2개는 리셋되고,
    상기 복수의 프로세서 노드는,
    적어도 하나의 프로세서와,
    상기 네트워크에 대한 적어도 하나의 인터페이스와,
    상기 프로세서 노드가 리셋된 이후의 시간의 표시를 유지하는 타이머
    를 포함하며,
    상기 방법은,
    상기 복수의 프로세서 노드 중 적어도 하나의 공칭 노드 어드레스를 결정하는 단계와,
    상기 네트워크의 다른 프로세서 노드들의 노드 어드레스를 감지하는 단계와,
    상기 다른 프로세서 노드들의 감지된 노드 어드레스를 상기 적어도 하나의 프로세서 노드의 상기 공칭 노드 어드레스와 비교하는 단계와,
    상기 다른 프로세서 노드들의 감지된 노드 어드레스 중 적어도 하나와 상기 적어도 하나의 프로세서 노드의 상기 공칭 노드 어드레스 사이의 임의의 충돌의 존재를 결정하되, 상기 존재하는 충돌은 상기 네트워크 내의 노드 어드레스 장애를 포함하는 것인 결정 단계와,
    상기 공칭 노드 어드레스를 갖는 상기 프로세서 노드의 상기 타이머의 시간을, 상기 충돌하는 상기 감지된 노드 어드레스를 갖는 상기 다른 프로세서 노드의 상기 타이머의 시간과 비교하여, 상기 타이머들 중 보다 최근의 시간을 갖는 프로세서 노드를 결정하는 단계와,
    상기 공칭 노드 어드레스를 갖는 상기 프로세서 노드가 상기 보다 최근의 시간을 갖는 경우, 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드의 공칭 노드 어드레스를 상기 네트워크로부터 디스에이블시키는 단계를 포함하는 것인 방 법.
  35. 청구항 35은(는) 설정등록료 납부시 포기되었습니다.
    제34항에 있어서, 상기 노드 어드레스 장애를 피하는, 상기 보다 최근의 시간을 갖는 상기 프로세서 노드에 대한 노드 어드레스를 선택하는 단계를 더 포함하며,
    상기 선택된 노드 어드레스는 상기 네트워크 내의 상기 프로세서 노드의 인에이블 시에 상기 네트워크 내의 상기 보다 최근의 시간을 갖는 상기 프로세서 노드를 어드레싱하기 위한 것인 방법.
  36. 청구항 36은(는) 설정등록료 납부시 포기되었습니다.
    제35항에 있어서, 상기 자동화된 데이터 스토리지 라이브러리는 비휘발성 메모리를 더 포함하고,
    상기 방법은,
    대체 노드 어드레스를 상기 비휘발성 메모리에 유지하는 단계와,
    상기 보다 최근의 시간을 갖는 상기 프로세서 노드에 대한 상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 상기 다른 프로세서 노드들의 상기 감지된 노드 어드레스와 추가로 비교하는 단계와,
    상기 대체 노드 어드레스가 상기 다른 프로세서 노드들의 상기 감지된 노드 어드레스와의 충돌을 피하는 경우, 상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 선택함으로써 상기 노드 어드레스 장애를 피하는 상기 노드 어드레스를 선택하는 단계를 더 포함하는 방법.
  37. 프로그램가능 컴퓨터에서 사용가능한 컴퓨터 판독가능 기록매체로서,
    상기 컴퓨터 판독가능 기록매체는 프로세서 노드 시스템의 어드레싱 장애를 처리하기 위해 그 안에 내장된 컴퓨터 판독가능 프로그램 코드를 가지며,
    상기 노드 시스템은,
    네트워크와,
    상기 네트워크의 노드들을 포함하는 복수의 프로세서 노드
    를 포함하고,
    상기 복수의 프로세서 노드 각각은 적어도 하나의 프로세서 및 상기 네트워크에 대한 적어도 하나의 인터페이스를 포함하며,
    상기 컴퓨터 판독가능 기록매체는,
    상기 프로세서 노드 중 적어도 하나의 상기 적어도 하나의 프로세서로 하여금 상기 네트워크에 대한 상기 프로세서 노드의 노드 어드레스 장애를 검출하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 노드 어드레스 장애의 검출 시에 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드를 상기 네트워크로부터 디스에이블시키도록 하는 컴퓨터 판독가능 프로그램 코드를 포함하는 것인 컴퓨터 판독가능 기록매체.
  38. 청구항 38은(는) 설정등록료 납부시 포기되었습니다.
    제37항에 있어서, 상기 프로세서 노드는 비휘발성 메모리를 더 포함하고,
    상기 컴퓨터 판독가능 기록매체는,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 프로세서 노드의 대체 노드 어드레스를 상기 비휘발성 메모리에 유지시키도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 노드 어드레스 장애를 검출하도록 하고 또 상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 그 자신의 노드 어드레스를 결정하려고 시도하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 임의의 사용가능한 노드 어드레스를 그 자신의 노드 어드레스로서 결정하는데 실패하면, 상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 선택하도록 하는 컴퓨터 판독가능 프로그램 코드를 더 포함하는 것인 컴퓨터 판독가능 기록매체.
  39. 청구항 39은(는) 설정등록료 납부시 포기되었습니다.
    제37항에 있어서, 상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 노드 어드레스 장애를 검출하도록 하는 상기 컴퓨터 판독가능 프로그램 코드는 상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 프로세서 노드 인터페이스에서 상기 네트워크를 감지하도록 하는 컴퓨터 판독가능 프로그램 코드를 포함하는 것인 컴퓨터 판독가능 기록매체.
  40. 청구항 40은(는) 설정등록료 납부시 포기되었습니다.
    프로그램가능 컴퓨터에서 사용가능한 컴퓨터 판독가능 기록매체로서,
    상기 컴퓨터 판독가능 기록매체는 프로세서 노드 시스템의 어드레싱 장애를 처리하기 위해 그 안에 내장된 컴퓨터 판독가능 프로그램 코드를 가지며,
    상기 노드 시스템은,
    네트워크와,
    상기 네트워크의 노드들을 포함하는 복수의 프로세서 노드
    를 포함하고,
    상기 복수의 프로세서 노드 각각은 적어도 하나의 프로세서 및 상기 네트워크에 대한 적어도 하나의 인터페이스를 포함하며,
    상기 컴퓨터 판독가능 기록매체는,
    상기 프로세서 노드의 적어도 하나의 상기 적어도 하나의 프로세서로 하여금 공칭 노드 어드레스를 그 자신의 노드 어드레스로서 결정하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 네트워크의 다른 프로세서 노드들의 노드 어드레스를 감지하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 다른 프로세서 노드들의 감지된 노드 어드레스를 상기 공칭 노드 어드레스와 비교하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 다른 프로세서 노드들의 감지된 노드 어드레스 중 적어도 하나와 상기 공칭 노드 어드레스 사이의 임의의 충돌의 존재를 결정하도록 하되, 상기 존재하는 충돌은 상기 네트워크에 대한 상기 프로세서 노드의 노드 어드레스 장애를 포함하는 것인 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 네트워크에 대한 상기 프로세서 노드의 상기 노드 어드레스 장애의 검출 시에, 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드의 공칭 노드 어드레스를 상기 네트워크로부터 디스에이블시키도록 하는 컴퓨터 판독가능 프로그램 코드를 포함하는 것인 컴퓨터 판독가능 기록매체.
  41. 청구항 41은(는) 설정등록료 납부시 포기되었습니다.
    제40항에 있어서, 상기 컴퓨터 판독가능 기록매체는,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 네트워크에 대한 상기 프로세서 노드의 상기 노드 어드레스 장애의 검출 시에, 상기 노드 어드레스 장애를 피하는 노드 어드레스를 선택하도록 하는 컴퓨터 판독가능 프로그램 코드를 더 포함하고,
    상기 선택된 노드 어드레스는 상기 네트워크 내의 상기 프로세서 노드의 인에이블 시에 상기 네트워크 내의 상기 프로세서 노드를 어드레싱하기 위한 것인 컴퓨터 판독가능 기록매체.
  42. 청구항 42은(는) 설정등록료 납부시 포기되었습니다.
    제41항에 있어서, 상기 프로세서 노드는 비휘발성 메모리를 더 포함하고,
    상기 컴퓨터 판독가능 기록매체는,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 적어도 하나의 프로세서 노드의 대체 노드 어드레스를 상기 비휘발성 메모리에 유지하도록 하는 컴퓨터 판독가능 프로그램 코드를 더 포함하고,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 노드 어드레스 장애를 피하는 노드 어드레스를 선택하도록 하는 상기 컴퓨터 판독가능 프로그램 코드는,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금
    상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 상기 다른 프로세서 노드들의 상기 감지된 노드 어드레스와 추가적으로 비교하도록 하고, 또
    상기 대체 노드 어드레스가 상기 다른 프로세서 노드들의 상기 감지된 노드 어드레스와의 충돌을 피하는 경우, 상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 선택함으로써 상기 노드 어드레스 장애를 피하는 상기 노드 어드레스를 선택하도록 하는 컴퓨터 판독가능 프로그램 코드를 포함하는 것인 컴퓨터 판독가능 기록매체.
  43. 청구항 43은(는) 설정등록료 납부시 포기되었습니다.
    프로그램가능 컴퓨터에서 사용가능한 컴퓨터 판독가능 기록매체로서,
    상기 컴퓨터 판독가능 기록매체는 프로세서 노드 시스템의 어드레싱 장애를 처리하기 위해 그 안에 내장된 컴퓨터 판독가능 프로그램 코드를 가지며,
    상기 노드 시스템은,
    네트워크와,
    상기 네트워크의 노드들을 포함하는 복수의 프로세서 노드
    를 포함하고,
    상기 복수의 프로세서 노드 중 적어도 2개는 리셋되고,
    상기 복수의 프로세서 노드는,
    적어도 하나의 프로세서와,
    상기 네트워크에 대한 적어도 하나의 인터페이스와,
    상기 프로세서 노드가 리셋된 이후의 시간의 표시를 유지하는 타이머
    를 포함하며,
    상기 컴퓨터 판독가능 기록매체는,
    상기 프로세서 노드 중 적어도 하나의 상기 적어도 하나의 프로세서로 하여금 상기 프로세서 노드의 공칭 노드 어드레스를 결정하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 네트워크의 다른 프로세서 노드들의 노드 어드레스를 감지하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 다른 프로세서 노드들의 감지된 노드 어드레스를 상기 프로세서 노드의 상기 공칭 노드 어드레스와 비교하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 다른 프로세서 노드들의 감지된 노드 어드레스 중 적어도 하나와 상기 프로세서 노드의 상기 공칭 노드 어드레스 사이의 임의의 충돌의 존재를 결정하도록 하되, 상기 존재하는 충돌은 상기 네트워크 내의 노드 어드레스 장애를 포함하는 것인 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 공칭 노드 어드레스를 갖는 상기 프로세서 노드의 상기 타이머의 시간을, 상기 충돌하는 상기 감지된 노드 어드레스를 갖는 상기 다른 프로세서 노드의 상기 타이머의 시간과 비교하여, 상기 타이머들 중 보다 최근의 시간을 갖는 프로세서 노드를 결정하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 프로세서 노드가 상기 타이머들 중 상기 보다 최근의 시간을 갖는 것으로 결정된 경우, 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드의 공칭 노드 어드레스를 상기 네트워크로부터 디스에이블시키도록 하는 컴퓨터 판독가능 프로그램 코드를 포함하는 것인 컴퓨터 판독가능 기록매체.
  44. 청구항 44은(는) 설정등록료 납부시 포기되었습니다.
    제43항에 있어서, 상기 컴퓨터 판독가능 기록매체는 상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 프로세서 노드가 상기 타이머들 중 상기 보다 최근의 시간을 갖는 것으로 결정된 경우 상기 노드 어드레스 장애를 피하는 노드 어드레스를 선택하도록 하는 컴퓨터 판독가능 프로그램 코드를 더 포함하며,
    상기 선택된 노드 어드레스는 상기 네트워크 내의 상기 프로세서 노드의 인에이블 시에 상기 네트워크 내의 상기 프로세서 노드를 어드레싱하기 위한 것인 컴퓨터 판독가능 기록매체.
  45. 청구항 45은(는) 설정등록료 납부시 포기되었습니다.
    제44항에 있어서, 상기 프로세서 노드는 비휘발성 메모리를 더 포함하고,
    상기 컴퓨터 판독가능 기록매체는,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 프로세서 노드의 대체 노드 어드레스를 상기 비휘발성 메모리에 유지하도록 하는 컴퓨터 판독가능 프로그램 코드를 더 포함하고,
    상기 보다 최근의 시간을 갖는 상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 노드 어드레스 장애를 피하는 노드 어드레스를 선택하도록 하는 상기 컴퓨터 판독가능 프로그램 코드는,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금
    상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 상기 다른 프로세서 노드들의 상기 감지된 노드 어드레스와 추가로 비교하도록 하고, 또
    상기 대체 노드 어드레스가 상기 다른 프로세서 노드들의 상기 감지된 노드 어드레스와의 충돌을 피하는 경우, 상기 비휘발성 메모리 내의 상기 대체 노드 어드레스를 선택함으로써 상기 노드 어드레스 장애를 피하는 상기 노드 어드레스를 선택하도록 하는 컴퓨터 판독가능 프로그램 코드를 더 포함하는 것인 컴퓨터 판독가능 기록매체.
  46. 청구항 46은(는) 설정등록료 납부시 포기되었습니다.
    자동화된 데이터 스토리지 라이브러리 시스템으로서,
    데이터 저장 매체를 보관하는 복수의 스토리지 선반과,
    상기 데이터 저장 매체에 대해 데이터의 판독 및/또는 기록을 행하는 적어도 하나의 데이터 스토리지 드라이브와,
    상기 복수의 스토리지 선반과 상기 적어도 하나의 데이터 스토리지 드라이브 사이에서 상기 데이터 저장 매체를 이송하는 적어도 하나의 로봇 액세서와,
    네트워크와,
    상기 자동화된 데이터 스토리지 라이브러리 시스템을 작동시키는 복수의 프로세서 노드
    를 포함하며,
    상기 복수의 프로세서 노드는 상기 네트워크의 노드들을 포함하고, 상기 복수의 프로세서 노드 각각은 적어도 하나의 프로세서 및 상기 네트워크에 대한 적어도 하나의 인터페이스를 포함하며,
    상기 복수의 프로세서 노드 중 적어도 하나는 상기 라이브러리 시스템의 적어도 하나의 요소와 관련되어 있고,
    상기 프로세서 노드는,
    상기 프로세서 노드와 관련된 상기 적어도 하나의 요소의 지정 정보를 유지하고,
    상기 네트워크에 대한 공칭 노드 어드레스를 그 자신의 노드 어드레스로서 결정하며,
    상기 프로세서 노드와 관련된 적어도 하나의 요소의 현재의 지정 정보를 감지하고,
    상기 현재의 지정 정보를 상기 유지된 지정 정보와 비교하며,
    상기 비교된 상기 현재의 지정 정보와 상기 유지된 지정 정보가 일치하는지 여부를 결정하되, 상기 일치의 실패는 상기 네트워크에 대한 상기 프로세서 노드의 노드 어드레스 장애를 포함하고,
    상기 네트워크에 대한 상기 프로세서 노드의 상기 노드 어드레스 장애 시에, 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드의 공칭 노드 어드레스를 상기 네트워크로부터 디스에이블하는 것인 자동화된 데이터 스토리지 라이브러리 시스템.
  47. 삭제
  48. 분산형 프로세서 노드 시스템의 프로세서 노드의 어드레싱 장애를 결정하고 처리하는 방법으로서,
    상기 시스템은 네트워크 및 복수의 프로세서 노드를 포함하며,
    상기 복수의 프로세서 노드 중 적어도 하나는 적어도 하나의 요소와 관련되어 있고,
    상기 적어도 하나의 프로세서 노드는 적어도 하나의 프로세서 및 상기 네트워크에 대한 적어도 하나의 인터페이스를 포함하며,
    상기 방법은,
    상기 프로세서 노드와 관련된 상기 적어도 하나의 요소의 지정 정보를 유지 하는 단계와,
    상기 네트워크에 대한 공칭 노드 어드레스를 상기 프로세서 노드에 대한 어드레스로서 결정하는 단계와,
    상기 프로세서 노드와 관련된 적어도 하나의 요소의 현재의 지정 정보를 감지하는 단계와,
    상기 현재의 지정 정보를 상기 유지된 지정 정보와 비교하는 단계와,
    상기 비교된 상기 현재의 지정 정보와 상기 유지된 지정 정보가 일치하는지 여부를 결정하는 결정 단계로서, 상기 일치의 실패는 상기 네트워크에 대한 상기 프로세서 노드의 노드 어드레스 장애를 포함하는 것인 결정 단계와,
    상기 네트워크에 대한 상기 프로세서 노드의 상기 노드 어드레스 장애 시에, 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드의 공칭 노드 어드레스를 상기 네트워크로부터 디스에이블하는 단계를 포함하는 것인 방법.
  49. 프로그램가능 컴퓨터에서 사용가능한 컴퓨터 판독가능 기록매체로서,
    상기 컴퓨터 판독가능 기록매체는 프로세서 노드 시스템의 어드레싱 장애를 결정하고 처리하기 위해 그 안에 내장된 컴퓨터 판독가능 프로그램 코드를 가지며,
    상기 노드 시스템은 네트워크 및 상기 네트워크의 노드들을 포함하는 복수의 프로세서 노드를 포함하며,
    상기 복수의 프로세서 노드 중 적어도 하나는 적어도 하나의 요소와 관련되어 있고,
    상기 적어도 하나의 프로세서 노드는 적어도 하나의 프로세서 및 상기 네트워크에 대한 적어도 하나의 인터페이스를 포함하며,
    상기 컴퓨터 판독가능 기록매체는,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 프로세서 노드와 관련된 상기 적어도 하나의 요소의 지정 정보를 유지하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 네트워크에 대한 공칭 노드 어드레스를 상기 프로세서 노드에 대한 어드레스로서 결정하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 프로세서 노드와 관련된 적어도 하나의 요소의 현재의 지정 정보를 감지하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 현재의 지정 정보를 상기 유지된 지정 정보와 비교하도록 하는 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 비교된 상기 현재의 지정 정보와 상기 유지된 지정 정보가 일치하는지 여부를 결정하도록 하되, 상기 일치의 실패는 상기 네트워크에 대한 상기 프로세서 노드의 노드 어드레스 장애를 포함하는 것인 컴퓨터 판독가능 프로그램 코드와,
    상기 프로세서 노드의 상기 적어도 하나의 프로세서로 하여금 상기 네트워크에 대한 상기 프로세서 노드의 상기 노드 어드레스 장애 시에, 상기 적어도 하나의 인터페이스에서 상기 프로세서 노드의 공칭 노드 어드레스를 상기 네트워크로부터 디스에이블하도록 하는 컴퓨터 판독가능 프로그램 코드를 포함하는 것인 컴퓨터 판독가능 기록매체.
KR1020047019325A 2002-06-26 2003-06-13 분산형 프로세서 노드 시스템에서의 노드 어드레스 장애처리 KR100754299B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/179,186 2002-06-26
US10/179,186 US7092990B2 (en) 2002-06-26 2002-06-26 Handling node address failure in a distributed nodal system of processors
PCT/EP2003/007137 WO2004003779A2 (en) 2002-06-26 2003-06-13 Handling node address failure in a distributed nodal system of processors

Publications (2)

Publication Number Publication Date
KR20050016471A KR20050016471A (ko) 2005-02-21
KR100754299B1 true KR100754299B1 (ko) 2007-09-03

Family

ID=29999136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047019325A KR100754299B1 (ko) 2002-06-26 2003-06-13 분산형 프로세서 노드 시스템에서의 노드 어드레스 장애처리

Country Status (9)

Country Link
US (2) US7092990B2 (ko)
EP (1) EP1535443B1 (ko)
JP (1) JP4076174B2 (ko)
KR (1) KR100754299B1 (ko)
CN (1) CN100571255C (ko)
AT (1) ATE388569T1 (ko)
AU (1) AU2003249953A1 (ko)
DE (1) DE60319548T2 (ko)
WO (1) WO2004003779A2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159150B2 (en) * 2002-12-31 2007-01-02 International Business Machines Corporation Distributed storage system capable of restoring data in case of a storage failure
US8000837B2 (en) * 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
US7436783B2 (en) * 2005-04-04 2008-10-14 Apple Inc. Method and apparatus for detecting a router that improperly responds to ARP requests
US7633855B2 (en) * 2005-11-03 2009-12-15 Cisco Technology, Inc. System and method for resolving address conflicts in a network
US8441919B2 (en) * 2006-01-18 2013-05-14 Cisco Technology, Inc. Dynamic protection against failure of a head-end node of one or more TE-LSPs
US7697443B2 (en) * 2006-04-13 2010-04-13 International Business Machines Corporation Locating hardware faults in a parallel computer
US7893841B2 (en) * 2008-03-19 2011-02-22 International Business Machines Corporation Determining cartridge conflicts with deep slot technology
FR2982066B1 (fr) * 2011-10-28 2013-12-20 Peugeot Citroen Automobiles Sa Procede de compensation de la corruption d'une memoire d'un calculateur electronique.
US9710273B2 (en) * 2014-11-21 2017-07-18 Oracle International Corporation Method for migrating CPU state from an inoperable core to a spare core
CN107606821B (zh) * 2016-07-12 2020-01-10 苏州三星电子有限公司 空调压缩机回油系统及其回油管路堵塞判断方法
US10418777B2 (en) * 2017-05-10 2019-09-17 Applied Optoelectronics, Inc. Coaxial transmitter optical subassembly (TOSA) including side-by-side laser diode and monitor photodiode arrangement
CN111400113B (zh) * 2020-02-28 2023-05-12 苏州浪潮智能科技有限公司 一种计算机系统的整机自检方法、装置及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101499A (en) 1998-04-08 2000-08-08 Microsoft Corporation Method and computer program product for automatically generating an internet protocol (IP) address

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01303543A (ja) * 1988-05-31 1989-12-07 Fujitsu Ltd メモリアクセス制御装置
JPH0314161A (ja) * 1989-06-13 1991-01-22 Toshiba Corp プロセッサ監視処理方式
CA2047321C (en) * 1990-07-19 1997-11-18 Henry Yang Testing a communications network for duplicate station addresses
US5386515A (en) * 1992-05-27 1995-01-31 Intel Corporation Automatic input/output address conflict resolution
US5838894A (en) * 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
EP0796533B1 (en) * 1994-12-09 2003-07-30 BRITISH TELECOMMUNICATIONS public limited company Multi-processor environments
US5539725A (en) * 1995-01-31 1996-07-23 International Business Machines Corp. Port address resolution device
US5832304A (en) * 1995-03-15 1998-11-03 Unisys Corporation Memory queue with adjustable priority and conflict detection
JP3365705B2 (ja) * 1995-05-24 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散型データ処理システム
US5812767A (en) * 1995-07-28 1998-09-22 International Business Machines Corporation System for user registering an address resolution routine to provide address resolution procedure which is used by data link provider interface for resolving address conflicts
JP3628777B2 (ja) * 1995-10-30 2005-03-16 株式会社日立製作所 外部記憶装置
US5724510A (en) * 1996-09-06 1998-03-03 Fluke Corporation Method of configuring a valid IP address and detecting duplicate IP addresses in a local area network
US5761503A (en) * 1996-10-24 1998-06-02 International Business Machines Corporation Automated volser range management for removable media storage library
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6002851A (en) * 1997-01-28 1999-12-14 Tandem Computers Incorporated Method and apparatus for node pruning a multi-processor system for maximal, full connection during recovery
US6012150A (en) * 1997-03-27 2000-01-04 International Business Machines Corporation Apparatus for synchronizing operator initiated commands with a failover process in a distributed processing system
US6324161B1 (en) * 1997-08-27 2001-11-27 Alcatel Usa Sourcing, L.P. Multiple network configuration with local and remote network redundancy by dual media redirect
US6553002B1 (en) * 1997-08-29 2003-04-22 Ascend Communications, Inc. Apparatus and method for routing data packets through a communications network
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
US6032213A (en) * 1997-09-11 2000-02-29 Advanced Micro Devices, Inc. PC core logic chipset comprising a serial register access bus
WO1999050848A1 (en) 1998-03-30 1999-10-07 Disc Incorporated Automated data storage library having a distributed control architecture
US6728781B1 (en) * 1998-05-12 2004-04-27 Cornell Research Foundation, Inc. Heartbeat failure detector method and apparatus
US6185638B1 (en) * 1998-10-07 2001-02-06 International Business Machines Corporation Method and system for dynamically assigning addresses to an input/output device
US6513094B1 (en) * 1999-08-23 2003-01-28 Advanced Micro Devices, Inc. ROM/DRAM data bus sharing with write buffer and read prefetch activity
US6842841B1 (en) * 1999-09-21 2005-01-11 Storage Technology Corporation Method and system for dynamically selecting tape drives to connect with host computers
TW426719B (en) * 1999-11-05 2001-03-21 Hon Hai Prec Ind Co Ltd Formula for conductive patch earth
JP4462697B2 (ja) * 2000-01-31 2010-05-12 株式会社日立製作所 記憶制御装置
US6542962B2 (en) * 2001-03-21 2003-04-01 Hitachi, Ltd. Multiple processor data processing system with mirrored data for distributed access
US6665811B1 (en) * 2000-08-24 2003-12-16 Hewlett-Packard Development Company, L.P. Method and apparatus for checking communicative connectivity between processor units of a distributed system
EP1370947A4 (en) * 2001-02-13 2009-05-27 Candera Inc STORAGE VIRTUALIZATION SERVER SILICON BASE
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6519678B1 (en) * 2001-09-10 2003-02-11 International Business Machines Corporation Virtualization of data storage drives of an automated data storage library
US6920485B2 (en) * 2001-10-04 2005-07-19 Hewlett-Packard Development Company, L.P. Packet processing in shared memory multi-computer systems
US6934880B2 (en) * 2001-11-21 2005-08-23 Exanet, Inc. Functional fail-over apparatus and method of operation thereof
US6718228B2 (en) * 2001-12-27 2004-04-06 Storage Technology Corporation High density data storage library with horizontal array structures
US6782448B2 (en) * 2002-04-02 2004-08-24 International Business Machines Corporation Transparent code update in an automated data storage library
US6981174B1 (en) * 2002-07-18 2005-12-27 Extreme Networks, Inc. Method and apparatus for a redundant port

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101499A (en) 1998-04-08 2000-08-08 Microsoft Corporation Method and computer program product for automatically generating an internet protocol (IP) address

Also Published As

Publication number Publication date
US20040010568A1 (en) 2004-01-15
JP4076174B2 (ja) 2008-04-16
JP2005531075A (ja) 2005-10-13
US7092990B2 (en) 2006-08-15
AU2003249953A1 (en) 2004-01-19
WO2004003779A3 (en) 2004-04-08
DE60319548D1 (de) 2008-04-17
EP1535443A2 (en) 2005-06-01
CN100571255C (zh) 2009-12-16
DE60319548T2 (de) 2009-03-26
ATE388569T1 (de) 2008-03-15
US20060190599A1 (en) 2006-08-24
CN1656777A (zh) 2005-08-17
KR20050016471A (ko) 2005-02-21
EP1535443B1 (en) 2008-03-05
WO2004003779A2 (en) 2004-01-08
AU2003249953A8 (en) 2004-01-19

Similar Documents

Publication Publication Date Title
US20060190599A1 (en) Handling node address failure in a distributed nodal system of processors
US6782448B2 (en) Transparent code update in an automated data storage library
EP0405859B1 (en) Method and apparatus for managing a shadow set of storage media
KR100800342B1 (ko) 분산형 시스템의 백업 펌웨어
US20060294305A1 (en) System and method for storing configuration data of a storage automation device
US8171248B2 (en) Storage system controlling method, switch device and storage system
US8078809B2 (en) System for accessing an offline storage unit through an online storage unit
EP0887739B1 (en) Detection of SCSI devices at illegal locations
JP4490745B2 (ja) ホットスタンバイシステム
CN100395727C (zh) 媒体接入控制地址烧录方法
JP2000330924A (ja) ストレージデバイスのマルチパスシステム
US20020174377A1 (en) Method for automatically detecting and correcting duplicate controller SCSI ids
US7937549B2 (en) Storage system and subsystem to automatically detect hardware configuration changes
US7484036B2 (en) Apparatus system and method for managing control path commands in an automated data storage library
JPH07141120A (ja) 情報記憶媒体障害処理方法
JP3665921B2 (ja) アレイ型記憶装置およびアレイ型記憶管理方法
CN111190539A (zh) 一种在不同主机间切换服务的方法和装置
JPH07210331A (ja) ディスクアレイ装置
JP2009217768A (ja) データベースにおけるパーティション障害管理方法およびシステム
JPS63121953A (ja) バス制御エラ−検出回路
JPH05103083A (ja) 交換機の制御装置内異常検出方式
JP2000112870A (ja) 情報処理装置及びそれに用いるscsi−idの重複回避方法並びにその制御プログラムを記録した記録媒体
JPH04123158A (ja) 情報処理システム
JPH03283861A (ja) メッセージ転送試験方法
JPH08315547A (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: 20100429

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee