KR100314387B1 - 컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령메시지의 통신을 제어하는 방법 - Google Patents

컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령메시지의 통신을 제어하는 방법 Download PDF

Info

Publication number
KR100314387B1
KR100314387B1 KR1020007013418A KR20007013418A KR100314387B1 KR 100314387 B1 KR100314387 B1 KR 100314387B1 KR 1020007013418 A KR1020007013418 A KR 1020007013418A KR 20007013418 A KR20007013418 A KR 20007013418A KR 100314387 B1 KR100314387 B1 KR 100314387B1
Authority
KR
South Korea
Prior art keywords
computer
data
process control
memory
control computer
Prior art date
Application number
KR1020007013418A
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 그래햄 이. 테일러
Application granted granted Critical
Publication of KR100314387B1 publication Critical patent/KR100314387B1/ko

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • G05B19/0425Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/41855Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication by local area network [LAN], network structure
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24167Encryption, password, user access privileges
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24182Redundancy
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

보안 프론트 엔드 통신 시스템은 다수의 능동형 용장 프로세스 제어컴퓨터를 컴퓨터 네트워크에 결합한다. 이러한 시스템은 컴퓨터 네트워크상에 하나 이상의 컴퓨터 엔티티를 구비한 시간 제한 통신 계약을 확립할 수 있다. 각각의 시간 제한 통신 계약은 프론트 엔드 컴퓨터로부터 예측할 수 없는 신호의 전송에 응답하여 받아들일 수 있음에 기초하고, 의사 난수의 이러한 암호화된 변형은 프론트 엔드 컴퓨터에 의해 야기된다. 보안 테이블은 프론트 엔드 컴퓨터가 연결되도록 프로세스 제어컴퓨터에 대해 기록 명령 메시지를 보내도록 허락하는 네트워크 엔티티를 식별하는데 이용된다. 또한, 프론트 엔드 컴퓨터는 네트워크 엔티티로부터의 기록 명령 메시지가 메시지를 고려하기 위한 프로세스 제어컴퓨터에 대해 전송되어야만 하는가의 여부를 결정하는데 이용되는 적어도 하나의 허용 테이블을 포함한다.

Description

컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령 메시지의 통신을 제어하는 방법{A METHOD FOR CONTROLLING THE COMMUNICATION OF A COMMAND MESSAGE FROM A COMPUTER ENTITY TO A PROCESS CONTROL COMPUTER}
본 발명은 프로세스 제어 컴퓨터(process control computers)와 플랜트/근거리 통신망(plant/local area network) 사이의 '프론트-엔드(front-end)'통신기술에 관한 것으로, 특히 프로세스 제어 컴퓨터의 동작에 영향을 미치는 플랜트 에어리어 네트워크(plant area network)로부터의 메시지를 보안적으로 처리할 수 있는 프론트-엔드 통신시스템에서 컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령 메시지의 통신을 제어하는 방법에 관한 것이다.
화학제조 플랜트와 다른 비교적 큰 제조 플랜트에 있어서, 제어컴퓨터 네트워크와 오퍼레이터 워크스테이션이 플랜트에서 진행중인 물리적 프로세스의 자동화된 제어를 달성하는데 필요로 된다. 예컨대, 1987년 5월 5일자로 발행된 존스등에 의한 미국 특허 제4,663,704호는 단일 데이터 하이웨이가 모든 다양한 입력/출력 터미널과, 데이터 획득 스테이션, 제어장치 및, 기록유지장치등을 연결하는 플랜트용 분배 처리 시스템을 나타낸다. 마찬가지로, 1986년 8월 19일자로 발행된 헨젤에 의한 미국 특허 제4,607,256호는 네트워크상의 물리적 컴퓨터 모듈에 데이터를 전송하기 위한 플랜트 제어버스를 이용하는 플랜트 매니지먼트 시스템을 나타낸다.
이러한 프로세스 제어 컴퓨터 네트워크의 대부분에 있어서, 용장 프로세스 제어 컴퓨터가 플랜트 제어와 모니터링 시스템의 신뢰성을 향상시키는데 채용된다. 예컨대, 1991년 4월 16일자로 발행된 파이빅등에 의한 미국 특허 제5,008,805호는 네트워크상에 전송된 센더(sender) 프로세서로부터의 제어 메시지를 비교하기 위해 제어 스케쥴 테이블을 동시에 처리하는 '핫 스탠바이(hot standby)' 용장 프로세서를 포함하는 네트워크 제어시스템을 나타낸다. 용장 리스너 프로세서(redundant listener processor)는 센더 프로세서가 부족한 경우 시스템의 제어를 대신하도록 준비되는 메모리의 2중 구조를 유지한다. 다른 예로서 1990년 9월 18일자로 발행된 맥라우린등에 의한 미국 특허 제4,958,270호는 1차 콘트롤러와 2차 콘트롤러를 채용하는 네트워크화된 제어 시스템을 나타낸다. 1차 데이터 베이스와 데이터 베이스의 2차 이미지 사이의 일관성을 유지하기 위해 오직 변화된 소정 영역만이 갱신 기능의 효율을 증가시키는 방법으로서 갱신된다. 마찬가지로, 1989년 10월 3일에 발행된 슬래터에 의한 미국 특허 제4,872,106호는 1차 데이터 프로세서와 백업 데이터 프로세서를 채용하는 네트워크 제어 시스템을 나타낸다. 통상적으로, 백업 프로세서는 백업 모드동작에서 필요로 되는데, 입력/출력 장치를 통해 제어를 수행하거나 입력/출력 장치의 상태와 관련되는 데이터를 수신하도록 동작하지는 않게 된다. 따라서, 입력/출력장치를 통한 제어는 1차 프로세서에 의해 배타적으로 수행된다. 그러나, 1차 프로세서는 2개의 프로세서 사이에 연결된 2중 포트 메모리를 매개로 백업 데이터 프로세서에 입력/출력장치의 제어에서의 동작과 관련되는 상태 데이터를 주기적으로 전송한다.
한편, 상기한 네트워크 제어 시스템에 있어서, 용장 프로세스 제어 컴퓨터를 위한 다른 제어기술이 입력 데이터에 대해 동작함과 더불어 동일한 출력 장치에 제어명령을 내리는 양 프로세스 제어 컴퓨터에 존재한다. 제어기술의 이러한 형태는 액티브 리던던시(active redundancy; 능동 용장성)로서 언급되는데, 이는 각각의 용장 프로세스 제어 컴퓨터가 공통의 입력 데이터에 대해 독립적임과 더불어 동시적으로 동작하기 때문이다. 이러한 형태의 제어기술의 논의는 1991년 3월 31일에 출원된 글래서등에 의한 미국 특허 출원 제07/864,931호인 '3중 용장 리모트 필드유니트를 갖춘 프로세스 제어 인터페이스 시스템'에서 찾을 수 있다. 이 출원은 여기서 참고자료로서 취급한다.
제어기술로서의 액티브 리던던시의 이용은, 각 능동형 용장 프로세스 제어 컴퓨터(actively redundant process control computer)가 한 세트의 입력값을 수신함과 더불어 이러한 각 프로세스 제어 컴퓨터가 한 세트의 출력값을 발생시킴에 따라 플랜트간 컴퓨터 네트워크의 통신에 있어서 어려운 문제를 야기시킨다. 능동형 용장 프로세스 제어컴퓨터가 일부분 또는 모든 입력 및/또는 출력값을 조정 또는 결정하는 경우에, 차이가 존재한다는 점에서 다중 세트의 입력 및 출력값이 발생될 수 있게 된다. 예컨대, 한 세트의 전-조정(pre-arbitration) 및 후-조정(post-arbitration) 입력 데이터값이 각 능동형 용장 프로세스 제어컴퓨터로부터 잠정적으로 이용할 수 있게 된다. 따라서, 매치되어지는 일부분 또는 모든 이러한 데이터 세트가 인에이블되어, 능동형 용장 프로세스 제어 컴퓨터의 동작을 방해하거나 서서히 저하시키는 것 없이 플랜트간 네트워크상의 다른 컴퓨터에의해 분석되어지는 것이 요구된다.
더욱이, 각 능동형 용장 프로세스 컴퓨터에서 프로그램에 의해 이용된 아날로그 상수(analog constants)와 같은 필요성이 제기될 수 있는 소정 값을 변형시키기 위해 플랜트간 네트워크상에서 하나 이상의 컴퓨터를 허용하는 것이 요구된다. 그러나, 이는 외형적 장치의 예측 가능한 변화가 확신되어야만 함에 따라 어떠한 방법으로든 제한이 필요로 된다는 점을 인식해야만 한다.
본 발명은 상기한 점을 감안하여 발명된 것으로, 컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령 메시지의 통신을 제어하는 방법을 제공함에 그 목적이 있다.
도 1은 본 발명에 따른 비밀 인터페이스(stealth interface)를 이용하는 다수의 능동형 용장 프로세스 제어컴퓨터용 인텔리전트 프론트-엔드 통신 시스템의 블록도,
도 2a 및 도 2b는 도 1에 도시된 시간 정렬 반사 메모리버퍼와 상관 버퍼에 저장된 테이터 테이블을 도식적으로 나타낸 도면,
도 3은 도 1에 도시된 비밀 인터페이스의 블록도,
도 4a 및 도 4b는 도 1 및 제2도의 비밀 인터페이스의 도면,
도 5a 및 도 5b는 비밀 인터페이스를 위한 2개의 타이밍도,
도 6a 내지 도 6e는 본 발명에 따른 보안 및 방법의 특정 측면을 설명하는 플로우차트,
도 7은 도 1에 도시된 프론트 엔드 컴퓨터용 응용 소프트웨어의 블록도,
도 8은 프론트 엔드 컴퓨터를 위한 구성을 설명하는 도면,
도 9는 프론트 엔드 컴퓨터의 반사 메모리버퍼와, IFS회로에서의 전송맵 및, 프로세스 제어컴퓨터에서의 데이터 메모리간의 관계를 설명하기 위한 도면,
도 10은 도 1에 도시된 IFS회로의 블록도,
도 11은 도 1에 도시된 IFQ회로의 블록도이다.
상기 목적을 달성하기 위한 본 발명은, 다수의 능동형 용장 프로세스 제어컴퓨터와 컴퓨터 네트워크와의 사이에 개재된 보안 프론트-엔드 통신 시스템을 제공한다. 보안 프론트-엔드 통신 시스템은 컴퓨터 네트워크상에서 하나 이상의 컴퓨터 엔티티를 구비하는 시간 제한 통신 계약을 확립할 수 있는 프론트 엔드 컴퓨터를 포함한다. 본 발명의 방법에 따르면, 이러한 각각의 시간 제한 통신 계약은 프론트 엔드 컴퓨터로부터의 예상할 수 없는 신호의 전송에 대해 받아들여질 수 있는 응답을 기초로 한다. 특히, 받아들여질 수 있는 응답은 프론트 엔드 컴퓨터에 의해 발생된 의사-난수의 암호화된 전송의 형태가 바람직하다. 더욱이, 시간 제한 통신 계약이 만료되기 전에, 프론트 엔드 컴퓨터는 새로운 의사-난수를 이용하는 컴퓨터 네트워크상에서 컴퓨터 엔티티를 구비하는 새로운 시간 제한 통신 계약을 고려하게 된다.
본 발명의 하나의 형태에 있어서, 프론트 엔드 컴퓨터는 또한 네트워크 엔티티로부터의 기록 명령 메시지가, 메시지가 고려되는 프로세스 제어컴퓨터에 전송되어져야만 하는가의 여부를 결정하는데 이용되는 적어도 하나의 허용 테이블을 포함한다. 또한, 보안 서버는 프론트 엔드 컴퓨터에 보안 테이블을 전송하기 위해 컴퓨터 네트워크상에 포함된다. 보안 테이블은 프론트 엔드 컴퓨터가 연결된 프로세스 제어 컴퓨터에 기록 명령 메시지를 보내도록 허용하는 네트워크 엔티티들을 식별하는데 이용된다.
도 1은 능동형 용장 프로세스 제어컴퓨터(12a,12b)의 쌍에 결합된 인텔리전트 프론트-엔드 통신 시스템(10)을 나타낸 블록도로서, 각 프로세스 제어컴퓨터(12a,12b)는 필드 컴퓨터 유니트(도시되지 않았음)나 다른 적절한 필드 수단으로부터 공통 입력데이터를 수신한다. 이러한 점에서 상기 참조한 글레이서등에 의한 미국 특허 출원 제07/864,931호는 프로세스 제어컴퓨터(12a,12b)와 같은 능동형 용장 프로세스 제어컴퓨터의 쌍과, 제어되어지는 외형적 프로세스와 직접 관련되는 입력/출력장치 사이의 통신 및 제어링크를 상세하게 설명하고 있다.
2개의 능동형 동작 프로세스 제어컴퓨터의 용장성이 프로세스 제어컴퓨터를 만드는 단일 결정을 거쳐 소정의 고장 허용 한계 이점을 갖는 반면, 본 발명의 원리는 어느 특정한 프로세스 제어컴퓨터에 한정되지 않는다는 것을 이해해야만 한다. 따라서, 예컨대 적절한 환경하에서 도 1에 도시된 2개의 프로세스 제어컴퓨터(12a,12b) 대신 3개의 프로세스 제어컴퓨터를 채용하는 것이 요구될 수 있다.
본 실시예에 있어서, 프로세스 제어컴퓨터(12a,12b)는 하나 이상의 필드 컴퓨터 유니트로부터 전송된 모든 신호와 동시에 동작하는 것이 바람직하다. 즉, 각 프로세스 제어컴퓨터(12a,12b)는 필드로부터의 이러한 용장 컴퓨터에 의해 수신된 데이터를 기초로 독립적인 결정을 만들 수 있다. 이러한 결정은 적절한 필드 컴퓨터 유니트에 의해 특정 출력장치(예컨대, 밸브, 펌프 모터 및 반응기 히터)에 궁극적으로 보내지는 출력신호값을 결정하는 프로세스 제어컴퓨터(12a,12b)에 의해 만들어진다. 필드에 대해 이와 같은 신호가 전송되기 전에 2개의 능동형 용장 프로세스 제어컴퓨터(12a,12b) 사이에서 적어도 어느 정도로 일치되는 것이 바람직한 반면, 출력신호값 2개의 독립적 세트는 필드 컴퓨터 유니트에 대해 통신되어질 수 있음을 이해해야만 한다. 이러한 관점에서 필드 컴퓨터 유니트로부터 수신된 입력값은 조정되어질 수 있고, 이는 일치 또는 조정 출력값을 불필요하게 만든다. 이는 양 프로세스 제어컴퓨터(12a,12b)가 동일한 프로세스 제어 프로그램과 함께 작업을 함과 더불어 조정된 입력값의 세트와 동일한 동작을 하기 때문이다.
상기한 가능값 일치의 형태의 예로서, 각 프로세스 제어컴퓨터(12a,12b)의 대응하는 입력값 테이블은 현재 시간 주기 동안 비교되어, 값중 하나가 프로세스 제어프로그램을 수행하는 각 입력값 신호를 위해 선택될 수 있다. 우측 프로세스 제어컴퓨터(12b)에 의해 결정된 값이 소정 퍼센트 한계(예컨대, 2.5%) 이내인 경우, 좌측 프로세스 제어컴퓨터(12a)의 이용과 같은 입력값의 이러한 선택은 프로세스가 제어되어지도록 적절한 경계를 만들 수 있게 된다. 한편, 좌측 및 우측 프로세스 제어컴퓨터의 별개의 입력값은 이러한 값이 소정 퍼센트 한계 이외로 되도록 찾아질 경우 각각 채용될 수 있다. 그리고, 좌측 및 우측 프로세스 제어컴퓨터로부터의 다른 입력/출력값의 선택은 우선적으로 실행된 소프트웨어를 기초로 만들어질 수 있게 된다. 따라서, 예컨대 소정 프로세스 조건하에서 값이 좌측 또는 우측 프로세스 제어컴퓨터에 의해 결정되는가에 상관 없이 하이 또는 로우 값의 양쪽을 선택하도록 더욱 적절히 고려될 수 있다.
이러한 조정이나 일치 처리를 이용하기 위해 병렬 통신 링크(14)가 프로세스 제어컴퓨터(12a,12b) 사이에 제공된다. 병렬 통신 링크(14)는 프로세스 제어컴퓨터 사이에서 데이터와 타이밍신호의 직접 전송을 허용함으로써 '메이저(major)'링크로 언급된다. 또한, 좌측 프로세스 제어컴퓨터(12a)는 '폭스(fox)'로 분류되어지는 한편, 우측 프로세스 제어컴퓨터(12b)는 '독(dog)'으로 분류되어져 있음을 주목해야만 한다. 이는 프로세스 제어컴퓨터(12a,12b)의 양 동작 모드를 위한 논리적 명칭이다.
각 프로세스 제어컴퓨터(12a,12b)가 조정을 수행할 수 있는 독립적인 결정을 만드는 동안, 일반적으로 폭스모드에서의 프로세스 제어컴퓨터는 상대적 동기화로 2개의 프로세스 제어컴퓨터의 공동 노력을 유지하기 위해 독모드에서의 프로세스 제어컴퓨터를 프로그램된 시퀀스에서의 연속적인 단계로 이동하도록 할 수 있게 한다. 더욱이, 폭스모드에서의 프로세스 제어컴퓨터는 프로세스 제어 프로그램 사이클의 시작(예컨대, 하나의 제2구간)에서 독모드의 프로세스 제어컴퓨터에 타이밍신호를 전송하고, 따라서 독모드에서의 프로세스 제어컴퓨터는 새로운 프로세스 제어 프로그램 사이클이 잘 시작하는 것을 알 수 있게 된다. 프로세스 제어컴퓨터(12a,12b)가 자신의 클럭발진기하에서 동작함에 따라, 독모드에서의 프로세스 제어컴퓨터에 의한 이러한 프로그램 사이클 타이밍신호의 검출과 해석은 상대적 동기화로 이러한 프로세스 제어컴퓨터를 주기적으로 유지하는데 도움을 주게 된다. 그러나, 독모드에서의 프로세스 제어컴퓨터의 프로그램 사이클은 전형적으로 시간 주기에 의해 만들어진 폭스모드에서의 프로세스 제어컴퓨터의 프로그램 사이클을 따르고, 이는 전송되어 프로그램 사이클 타이밍신호(예컨대, 20마이크로세컨드 내지 20밀리세컨드)를 검출한다.
프로세스 제어컴퓨터(12a,12b)가 잠정적으로 메이저링크를 매개로 통신될 수 없을 경우, 이러한 각 프로세스 제어컴퓨터는 혼자 동작하는 것을 가정하는 모드에서의 동작을 계속하게 된다. 이러한 동작 모드에서 프로세스 제어컴퓨터(12a,12b)의 프로그램 사이클은 서로 관련되는 시간에서 점차 편류(drift)되어 멀어짐을 알 수 있다. 그럼에도 불구하고, 이하의 설명으로부터 알 수 있는 바와 같이 프론트 엔드 통신시스템(10)은 실시간 분석을 위해 정렬되는 시간으로 되도록 프로세스 제어컴퓨터(12a,12b)로부터 수신된 데이터를 인에이블시키도록 설계된다.
도 1에서 설명한 바와 같이, 각 프로세스 제어컴퓨터(12a,12b)는 본 발명에 따른 비밀 인터페이스회로를 포함한다. 특히, 프로세스 제어컴퓨터(12a)는 비밀 인터페이스회로(16a)를 포함하는 한편, 프로세스 제어컴퓨터(12b)는 비밀 인터페이스회로(16b)를 포함한다. 비밀 인터페이스회로(16a,16b)가 동일한 회로로 이루어짐에 따라, 이러한 비밀 인터페이스회로는 일반적으로 비밀 인터페이스회로(16)로도 언급한다. 프론트-엔드 통신 시스템(10)의 용장 특성에 기인하여 일반적인 참조부호가 본 시스템에서 중복되는 구성요소에 대해 이용된다.
비밀 인터페이스회로(16)는 연결되어진 프로세스 제어컴퓨터와 외부 통신장치 사이에서 유효한 데이터 전송을 제공한다. 이러한 점에서, 프로세스 제어컴퓨터의 동작이 지연되지 않거나 그렇지 않으면 하나 이상의 외부 통신장치에 대해 데이터의 전송에 의해 불리하게 영향을 미치는 점에서 데이터전송이 프로세스 제어컴퓨터(12)에 대해 투명성이 있게 된다. 또한, 비밀 인터페이스회로(16)는 프로세스 제어컴퓨터(12)의 동작에 영향을 미치는 것 없이 외부 통신장치로부터의 메시지의 전송을 인에이블시킨다. 용장 프론트 엔드 컴퓨터(18a,18b)의 쌍으로 이루어진 이러한 외부통신장치의 제1예가 도 1에 도시되어 있다. 통신 경로가 양 비밀 인터페이스회로(16a,16b)에 따라 데이터와 메시지를 교환하도록 각 프론트 엔드 컴퓨터를 인에이블시키기 위해 제공되기 때문에, 프론트 엔드 컴퓨터(18a,18b)는 용장 특성을 갖는다.
각 프론트 엔드 컴퓨터(18a,18b)는 비밀 인터페이스회로(16a,16b)와 플랜트/근거리 통신망 사이에서 고도의 인텔리전트 인터페이스를 제공하는 바, 이는 일반적으로 참조부호 20으로 표시되어진다. 그러나, 각 용장 프론트 엔드 컴퓨터(18a,18b)는 각 비밀 인터페이스회로(16a,16b)에 따라 통신을 하게 됨으로써, 이러한 용장성은 요구되지 않고, 단일 프론트 엔드 컴퓨터가 적절한 응용에 이용될 수 있음을 알 수 있다. 더욱이, 이하의 설명으로부터 더욱 명확히 알 수 있는 바와 같이, 각 비밀 인터페이스회로는 다른 외부 통신장치 뿐만 아니라 프론트 엔드 컴퓨터(18a,18b)에 따라 데이터와 메시지를 교환할 수 있다.
도 1에 도시한 바와 같이, 비밀 인터페이스회로(16)는 프로세스 제어컴퓨터(12)의 버스 구조에 위치하는 2중 포트 메모리 'DPM'(22; 22a,22b)를 특징으로 한다. 실질적으로 여기에 개시된 실시예에 있어서, 2중 포트 메모리(22)는 프로세스 제어컴퓨터(12)를 위한 제1차 또는 단지 오직 데이터 메모리만을 제공한다. 따라서, 본 발명에 따르면, 비밀 인터페이스회로(16)는 프로세스 제어컴퓨터 자체의 데이터 메모리에 직접적으로 억세스하는 외부 장치를 선택적으로 승인한다. 2중 포트 메모리(22)는 프로세스 제어컴퓨터(12)의 버스구조에 연결된 내부포트와, 여기서 비밀포트로서 종종 언급되는 외부포트를 포함한다. 2중 포트 메모리(22)는 부가적인 포트를 제공하도록 구성될 수 있는 한편, 2중 포트 메모리는 비밀포트에 대해 상호 억세스를 갖도록 다수의 외부 통신장치를 인에이블시키는 조정회로를 포함하는 것이 바람직하다. 즉, 단지 하나의 외부장치는 하나 이상의 외부장치가 비밀포트의 데이터 및 어드레스 라인에 궁극적으로 결합됨에도 불구하고, 2중 포트 메모리에 대한 억세스가 비밀 포트를 통해 허용될 경우, 소정의 주어진 시간에서의 비밀포트의 데이터와 어드레스라인을 이용할 수 있게 된다. 본 발명의 실시예에서, 비밀 인터페이스 조정회로는 승인 억세스권(granting access right)에 대한 퍼스트-컴, 퍼스트-서브(first-come, first-serve) 억세스를 채용한다.
그러나, 본 발명에 따르면, 이러한 조정회로가 비밀 포트상에서만 동작한다.원래 비밀 인터페이스회로(16)의 내부 및 외부 포트사이에는 조정이 없다. 외부/비밀포트로부터의 2중 포트 메모리(22)에 대한 억세스는 프로세스 제어컴퓨터(12)가 2중 포트 메모리를 억세스할 수 없을때의 시간 동안에만 가능하다. 특히, 여기에 개시된 발명의 형태에서 프로세스 제어컴퓨터(12)의 머신 사이클은 2중 포트 메모리(16)에 대한 억세스를 제어하도록 이용된다. 잘 알려진 바와 같이 소정 컴퓨터의 중앙처리장치는 하나 이상의 데이터 워드상에서 동작하기 위해 하나 이상의 프로그램된 명령을 패치 및 디코드해야만 한다. 본 뉴먼(von Neumann) 구조를 기초로 하는 컴퓨터에 있어서, 명령을 페치, 디코드 및 실행하기 위해 다양한 컴퓨터 클럭 사이클을 취한다. 그러나, 본 실시예에 있어서, 프로세스 제어컴퓨터(12)는 하버드(Harvard) 구조를 기초로 하고, 이는 동일한 클럭사이클에서 패치되는 명령을 위한 op-코드 명령과 오퍼랜드 데이터의 양쪽을 허용한다. 이는 물리적으로 분리되는 명령과 데이터 저장을 포함하는 하버드구조를 기초로 하기 때문이고, 이러한 각각의 저장은 중앙처리장치에 대해 그들 자신의 어드레스와 데이터 라인을 포함한다. 따라서, 명령을 패치 및 디코드하도록 하는 프로세스 제어컴퓨터(12)를 위한 클럭사이클의 부분 동안 2중 포트 데이터 메모리(22)는 비밀포트로부터 억세스된다. 이 때, 데이터저장으로부터의 오퍼랜드를 패치하도록 하는 프로세스 제어컴퓨터(12)를 위한 클럭사이클의 부분 동안 프로세스 제어컴퓨터는 내부 포트로부터의 2중 포트 메모리(22)에 대한 억세스를 갖게 된다.
본 발명에 따르면, 비밀포트가 2중 포트 데이터 메모리(16)에 대해 억세스할 수 있는 때를 결정하기 위해 비밀 인터페이스회로(16)는 프로세스 제어컴퓨터(12)의 메모리 클럭신호에서의 특정 천이를 위해 감시한다. 이러한 관점에서 프로세스 제어컴퓨터(12)가 2중 포트 데이터 메모리(22)를 억세스하는데 필요로 되지 않게 될때 그 시간 주기 동안에만 외부 억세스가 비밀 인터페이스회로(16)에 의해 허용됨에 따라 프로세스 제어컴퓨터 그 자체는 이러한 외부 억세스에 의해 영향 받지 않게 된다. 사실상 프로세스 제어컴퓨터(12)는 외부적으로 발생된 독출/기록 액티비티가 데이터 저장과 관련하여 실질적으로 발생하는 것을 알아야만 함에도 불구하고 그렇게는 하지 않게 된다. 그럼에도 불구하고, 본 발명에 따르면, 비밀 포트가 관련되는 한, 중요한 구별이 2중 포트 데이터 메모리(22)로부터의 '독출'에 대한 능력과 2중 포트 데이터 메모리에 대한 '기록'능력 사이에서 이루어진다. 2중 포트 데이터 메모리(22)에서의 각각 및 모든 메모리 위치에 대해 외부 통신장치를 인에이블하도록 요구되는 동안, 이는 2중 포트 데이터 메모리의 메모리 위치에 대해 기록하도록 외부 장치의 능력과 관련하여 참(true)으로 되지 않는다. 이러한 점에서 2중 포트 데이터 메모리(22)는 물리적 프로세스가 제어되는 것과 관련한 다이나믹 데이터 뿐만 아니라 아날로그 및 디지털 상수와 같은 다른 프로세스 제어변수를 저장한다.
따라서, 2중 포트 데이터 메모리(22)는 2개의 '논리' 메모리부, 즉 가변부(24)와 메일박스부(26)를 포함한다. 이는 동일한 물리적 메모리회로칩 또는 칩세트 양쪽에 위치할 수 있음에도 불구하고, 분리적으로 처리되기 때문에 이러한 메모리부는 논리적으로 구별된다. 본 실시예에 있어서, 메일박스부(26)는 2중 포트 데이터 메모리(22)에서 256 메모리워드 위치(각 16비트)의 세트로 구성되고,가변부(24)는 2중 포트 데이터 메모리(22)에서 나머지 메모리 위치(예컨대, 64K 메모리 워드 위치의 블록)로 구성된다. 또한, 가변부(24)는 프로세스 제어컴퓨터(12)로부터 프론트 엔드 컴퓨터(18)로 시스템 메시지를 홀딩하기 위한 메시지영역을 포함한다. 그리고, 메일박스부(26)는 프론트 엔드 컴퓨터(18a,18b)와 같은 외부장치로부터 메시지를 저장하기 위한 메모리에 특정 영역을 제공한다. 이러한 점에서 메일박스부(26)의 메모리위치는 물리적으로 인접되게 할 필요가 없다. 메일박스부(26)는 채용된 메시지 전송 프로토콜에 따라 동시에 하나 이상의 메시지를 유지하도록 구성되는 한편, 메일박스부는 하나의 완전한 메시지를 유지하기에 충분히 큰 것만이 필요로 된다. 이러한 메시지는 그다지 흔하지 않게 얻을 수 있는 원격 필드 컴퓨터 유니트로부터의 헬스/상태 데이터를 수집하여 전송하도록 프로세스 제어컴퓨터(12)를 위한 외부 요구 만큼 간단할 수 있게 된다. 또한, 메시지는 2중 포트 데이터 메모리(22)에 저장된 특정 변수를 변화시키는 명령을 포함한다. 더욱이, 2중포트 데이터 메모리(22)의 메일박스부(26)는 프로세스 제어컴퓨터(12)에 프로그램 수정을 전자적으로 운반하는데 이용된다.
이하, 상세히 설명하는 바와 같이 비밀 인터페이스회로(16)는 2중 포트 데이터 메모리(22)의 가변부(24)에서의 소정 메모리 위치에 대한 기록으로부터 소정의 외부 엔티티를 방지하는 보호회로를 포함한다. 따라서, 2중 포트 데이터 메모리(22)의 일부분 또는 모든 메모리 위치는 비밀포트로부터 독출될 수 있고, 외부 엔티티는 오직 2중 포트 메모리(22)의 메일박스부(26)에서의 메모리위치에 대해 기록되도록 허용된다. 본 발명의 이러한 특징은 외부 엔티티가 프로세스 제어컴퓨터(12)의 데이터 처리동작과 우연치 않게 인터페이스되지 않는 것을 보증하는 2중 포트 데이터 메모리(22)에서의 하드웨어 보안 보호를 제공한다. 이하, 더욱 명백히 설명하는 바와 같이 본 발명의 이러한 특징은 2중 포트 데이터 메모리(22)에서 소정의 특정 메모리위치나 메모리위치의 세트에 대해 외부 기록 억세스를 부정하거나 승인하도록 채용된다.
급속하게 비밀포트로 데이터를 집어넣거나 비밀포트로부터 데이터를 빼내기 위해, 도 1의 프론트 엔드 통신시스템(10)은 비밀 'IFS'회로(28; 28a,28b)에 대한 인터페이스와, Q-버스 'IFQ'회로(30)에 대한 인터페이스 및, 그 사이에 배치된 광섬유 케이블(32)의 세트를 포함하도록 도시되어 있다. IFS회로(28)는 2중 포트 데이터 메모리(22)의 비밀포트에 연결되는 한편, IFQ회로(30)는 프론트 엔드 컴퓨터(18)의 'Q버스'상에 위치한다. 프론트 엔드 통신 시스템(10)의 용장 특성에 기인하여 IFS회로(28a)는 2중 포트 데이터 메모리(22a)의 비밀포트에 연결되는 한편, IFS회로(28b)는 2중 포트 데이터 메모리(22b)의 비밀포트에 연결된다. 마찬가지로, IFQ회로(30a)는 프론트 엔드 컴퓨터(18a)의 Q버스에 연결되는 한편, IFQ회로(30b)는 프론트 엔드 컴퓨터(18b)의 Q버스에 연결된다. 여기서 개시된 실시예에 있어서, 프론트 엔드 컴퓨터(18)는 디지털 이큐입먼트 코포레이션 'DEC'의 실시간 ELN 동작 시스템을 이용하는 MICROVAX 3400으로 구성하는 것이 바람직하다. 한편, DEC 컴퓨터의 VAX군은 상당한 속도와 네트워킹을 제공하고, 다른 적절한 프론트 엔드 컴퓨터가 적절한 응용으로 채용될 수 있음을 알 수 있다.
비밀 인터페이스회로(16a,16b)의 양쪽과 양방향 통신을 수행하도록 각 프론트 엔드 컴퓨터(18a,18b)를 허용하기 위해, 실제로 광섬유 케이블(32)은 송신 및 수신 광섬유(예컨대, 62.5/125/0.275NA형 섬유)의 2세트를 포함한다. 그러나, 각 프론트 엔드 컴퓨터(18a,18b)를 위한 분리 송신 및 수신 광섬유는 단순함을 위해 도 1에서는 단일 채널로서 표시된다. 즉, 광섬유 채널(34a)은 프론트 엔드 컴퓨터(18a)로부터 비밀 인터페이스회로(22a)로 정보를 송신하기 위한 광섬유와, 비밀 인터페이스회로(22a)로부터 정보를 수신하기 위한 광섬유를 포함한다. 마찬가지로, 광섬유 채널(36a)은 프론트 엔드 컴퓨터(18a)로부터 비밀 인터페이스회로(22b)로 정보를 송신하기 위한 분리 광섬유와, 비밀 인터페이스회로(22b)로부터 정보를 수신하기 위한 광섬유를 포함한다. 이 광섬유의 구성은 프론트 엔드 컴퓨터(18b)를 위해 또한 2중으로 된다.
본 발명의 실시예에 있어서, IFS회로(28)와, IFQ회로(30) 및, 광섬유 케이블(32)의 조합은 프론트 엔드 컴퓨터(18a,18b)가 프로세스 제어 컴퓨터(12a,12b)로부터 멀리 위치되도록 허용하는 광전송 인터페이스를 제공한다. 예컨대, 본 실시예에서, 프론트 엔드 컴퓨터(18a,18b)는 프로세스 제어 컴퓨터(12a,12b)로부터 2km까지 멀리 위치되어지는 것이 가능하다. 더욱이, 'FDDI(Fiber Distributed Data Interface)'프로토콜은 광섬유 케이블(32)을 거쳐 IFQ 및 IFS회로 사이에서 정보를 전송하는데 이용될 수 있음을 주목해야 한다.
IFS회로(28)는 2중 포트 데이터 메모리(22)의 비밀 포트에 대해 정보를 전송하기 위한 적절한 어드레스 및 데이터 버퍼회로(도시되지 않았음)를 포함한다. 또한, IFS회로(28)는 하나의 인접하는 데이터 블록으로서 수집되고 전송되도록 2중포트 데이터 메모리(22)의 선택된 위치로부터 데이터를 인에이블하는 전송 맵(37)을 포함한다. 전송 맵(37)은 2중 포트 데이터 메모리(22)의 모든 이용가능한 메모리 위치로부터 데이터를 수집하기에 충분한 어드레스 저장 능력을 갖춘 스태틱 RAM으로 구성될 수 있다.
더욱이, IFS회로(28)는 송신기(38a)와 수신기(40a)와 같이 각 2개의 프론트 엔드 컴퓨터(18a,18b)를 위한 분리 송신기 및 수신기회로를 포함한다. 송신기(38a)는 비밀포트로부터의 병렬 데이터워드(예컨대, 16비트)를 광섬유 케이블(32)중 하나를 거쳐 전송하기에 적절한 직렬 비트 스트림으로 변환하기 위해 채용된다. 마찬가지로, 수신기(40a)는 프론트 엔드 컴퓨터(18)로부터의 직렬 비트 스트림을 하나 이상의 IFS회로 버퍼를 통해 비밀 포트에 전송을 위한 병렬 데이터 워드로 변환하기 위해 채용된다. 또한, 송신기 및 수신기의 대응하는 세트는 송신기(38b) 및 수신기(40b)와 같이 IFQ회로(30)에 제공된다. 상기한 바와 같이, 2세트의 송신기-수신기 세트의 이용은 IFS회로(28a,28b)의 양쪽과 IFQ회로(30a,30b)의 양쪽 사이에서 동시에 전송 및/또는 수신되는 데이터를 인에이블하는 것을 인지하여야 한다. 따라서, 예컨대 IFS회로(28a)는 프로세스 제어 컴퓨터(12a)로부터 얻어진 데이터를 프론트 엔드 컴퓨터(18a,18b)의 양쪽에 동시에 전송할 수 있다.
간단화를 위해 도시되지는 않았지만, 레이저나 LED광원이 각 송신기[예컨대, 송신기(38a,38b)]와 각 광섬유 사이에 삽입되어 있음을 인식하여야 한다. 마찬가지로, 광-검출기는 또한 각 수신기[예컨대, 수신기(40a,40b)]와 각 광섬유 사이에 삽입된다. 예컨대, 이들 광 변환기는 AT&T ODL200 시리즈 변환기의 쌍으로 구성될수 있다. 광섬유 케이블은 동축 케이블과 같은 매체 이상으로 속도와, 낮은 에러율 및, 보안 유용성을 위해 바람직한 반면, 적절한 데이터 전송 매체가 적절한 응용에 채용되어져야만 함을 이해해야 한다.
본 실시예에 있어서, IFS 및 IFQ회로의 송신기 및 수신기는 캘리포니아주, 산타 클라라, 오웬스가 2300에 위치한 트리퀸트 반도체 주식회사(Triquint Semiconductor, Inc.,)의 '가젤(Gazelle)' GA 9011 송신기 및 GA9012 수신기와 같은 고성능 갈륨 아세나이드(Gallium Aresenide)칩 세트로 구성하는 것이 바람직하다. 이러한 특정 송신기 및 수신기는 200M비트/초를 넘는 데이터 전송율을 허용한다. 이러한 송신기 및 수신기는 FDDI표준 4B/5B 인코딩을 이용하는 50보(baud) 워드로 인코드되도록 데이터를 인에이블하는 40비트 광역 병렬 버스를 이용한다. 이러한 인코딩에 있어서, 4비트 데이터 니블은 5보 코드심볼로 전송된다. 따라서, 4B/5B 인코딩은 데이터 프레임을 구성하기 위해 10개의 4비트 데이터 니블로부터 10개의 5보 심볼을 발생시킨다. 또한, GA9011 송신기는 넌-리턴 투 제로(Non-Return to Zero) 'NRZ' 포맷으로부터의 직렬 스트림을, 데이터와 클럭신호의 전송을 단일 파형으로 결합하는 하나의 넌-리턴 투 제로, 인버트(Non-Return to Zero, Invert) 'NRZI'포맷으로 변환시킨다. NRZI파형은 비트-시간-프레임(bit-time-frame)내에서 천이가 없는 극성 천이 및 논리 0을 갖는 하나의 논리를 나타낸다. 이들 논리 1과 논리 0은 보(bauds)라고 칭해지고, 각 그룹의 5보는 심볼로 칭해진다. 예컨대, '0000' 4비트 2진 입력은 '11110' 5보 2진 심볼 출력으로 변환되는 한편, '1011' 4비트 2진 입력은 '10111' 5보 2진 심볼 출력으로 변환된다.
4B/5B 인코딩 및 NRZI포맷팅의 이용은 광섬유 케이블을 거쳐 고속 데이터 전송의 신뢰성을 실질적으로 증가시키도록 결합된다. GA9012 수신기는 클럭과 데이터 복구(예컨대, NRZI-NRZ변환)를 확립하고, 또한 타당성을 위해 도입되는 5B 심볼을 모니터한다. 이러한 점에서, 4B/5B 인코딩은 GA9012 수신기에서 점검되어질 수 있는 다수의 무효 심볼을 생성한다. 광섬유 링크를 지나는 잡음 또는 지터의 출현이 의도되지 않은 값으로 변환되기 위한 하나 이상의 보를 야기시킴에 따라 무효 심볼은 검출되지 않는 전송에러의 가능성을 줄인다.
잠정적 에러로부터 보호의 부가적인 층에 따라 IFS회로(28)로부터의 데이터 전송은 전송되는 데이터(즉, 40비트 입력 데이터 프레임)와, 16비트 오브젝트 어드레스 필드, 4비트 제어코드 필드 및, 4비트 에러 오브젝트 코드 필드로 구성되는 완전한 데이터 프레임으로 형성된다. 이러한 완전한 데이터 프레임은 실제로 적어도 하나의 동기 프레임(sync frame)에 의해 광섬유링크상에서 서로로부터 바람직하게 분리된다. 잠정적인 물리적 링크 에러가 버스트 또는 클러스터링 특성을 갖음에 따라, 에러 코드는 4개의 인접하는 비트 에러까지 검출되어질 필요가 있다. 이점에 관해서는, LRC(Longitudinal Redundancy Check)코드가 잠정적으로 파손되는 연속 데이터 처리 동작으로부터 마스크된 에러를 방지하기 위해 채용된다. 또한, 이러한 형태의 에러코드는 'LPC(Longitudinal Parity Check)'로서 언급된다. LPC코드에서, 패리티 비트로 구성되는 4비트 니블이 발생되어 아래에 도시된 바와 같이, 인코드된 데이터 스트림에서 소정 수의 데이터 니블을 위한 인코드된 데이터 스트림에 삽입된다.
b4 b3 b2 b1
데이터 니블1 : x x x x :
데이터 니블2 : x x x x :
데이터 니블3 : x x x x :
.
.
.
데이터 니블8 : x x x x :
데이터 니블9 : x x x x :
--------------------------
데이터 니블10 : p4 p3 p2 p1 :
여기서, p1 = bi1 Xor bi2 Xor ...... Xor bi9, 그리고 i = 비트 위치 1 내지 4. 즉, 이러한 패리티 체크 캐릭터의 제i번째 비트는 패리티 조건하에서 조차 데이터 니블1 내지 니블9까지에서 제i번째 정보 비트 위치를 체크한다. LRC 에러 체킹의 조합과, 4B/5B 인코딩 및, NZRI변환은 1E-12의 오브젝트 보 에러율 'BER'을 공급하도록 프론트 엔드 통신 시스템(10)을 인에이블한다. CRC(Cyclic Redundancy Check)코드가 LRC코드 대신 이용될 수 있는 반면, 더 복잡한 CRC코드는 IFQ 및 IFS회로의 복잡함을 또한 증가시킨다. 부가적으로, LRC코딩은 IFS 및 IFQ회로 사이에 2중 광섬유 채널 신호 전송을 더욱 용이하게 허용하고, 가젤 송신기(38a,38b)와 수신기(40a,40b)의 고유 동기화 특성은 LRC를 기초로 한 프로토콜을 프레임하기 위해이용될 수 있다.
IFQ회로(30)는 프론트 엔드 컴퓨터(18)를 위한 데이터 펌프를 제공하는 마이크로 프로세서(42; 예컨대, 인텔 80186칩)를 포함한다. 마이크로 프로세서(42)는 모든 IFQ/IFS 프로토콜 제어를 책임짐과 더불어 프로세스 제어 컴퓨터(12a,12b)로부터 네트워크(20)의 목적지로 데이터를 중계할 뿐만 아니라 IFS 및 IFQ회로에 대한 기록 동작의 무결성(integrity)의 제어를 책임진다. 예컨대, 마이크로 프로세서(42)는 IFS회로(28)의 전송 맵(37)을 프로그램하도록 이용될 수 있어, 모든 가능한 변수(예컨대, 입력/출력 값, 알람과 이벤트) 이하가 요구되며, 2중 포트 데이터 메모리(22)의 데이터의 특정 서브세트는 프론트 엔드 컴퓨터(18)에 수집되어 전송된다. 이러한 방법에서, 전송 맵(37)의 실제의 내용은 특정 프로세스 제어 응용에 의존할 수 있게 된다.
IFQ회로(30) 및 IFS회로(28) 사이의 모든 신호전송은 IFQ회로 마이크로 프로세서(42)의 제어하에 있다. 이러한 관점에서, IFQ회로(30)로부터 IFS회로(28)로의 데이터 전송에는 3가지 형태, 즉 '부하 전송 맵(load transfer map)'과, '송신 명령 메시지(send command messages)' 및, '수신 데이터(receive data)'의 3가지가 있다. 부하 전송 맵 전송은 IFS회로로부터 데이터 메모리 전송 버스트를 조정하게 되는 특정 가변 어드레스를 갖는 IFS회로(28)의 부하 전송 맵(37)에 대해 IFQ회로(30)를 인에이블하게 된다. 수신 데이터 전송은 2중 포트 데이터 메모리(22)로부터 메모리의 요구되는 세그먼트를 복귀시키기 위해 IFS회로(28)를 야기시키게 된다.
명령 메시지 전송은 IFS회로(28)에 대해 기록-잠금(Write-Lock) 요구에 따라 개시되게 된다. 도입버퍼가 자유로운 것으로 가정하면, IFS회로(28)는 2중 포트 데이터 메모리(22)의 메일박스부(26)상에서 기록-잠금을 주장하게 되고, IFQ회로(30)에 포지티브 확인 응답을 복귀시킨다. 이 때, IFQ회로(30)는 그 메시지가 안전하게 저장됨과 더불어 프로세스 제어 컴퓨터(12)에 의해 바람직하게 독출될 때까지 메일박스부(26)에 기록할 수 있게 되는 다른 장치가 없다는 보증에 따라 그 메시지를 전송하게 된다. 그러나, 시간 제한은 비밀 인터페이스회로(16)에 연결된 외부 엔티티중 하나에 의해 방해되지 않는 통신의 흐름을 보장하기 위해 기록-잠금으로 강요하게 된다. 또한, 메시지 전송은 데이터 버스트가 IFS회로(28)로부터 수신되어지는 소정 시간 동안 일어나지 않음을 인식해야 한다.
데이터 전송보호의 다른 측정에 따라, IFQ회로(30)는 메시지가 전송되어 정확하게 저장되는 것을 확실하게 하기 위해 2중 포트 데이터 메모리(22)의 메일박스부(26)에 전송되어 저장된 메시지를 다시 독출하도록 IFS회로(28)를 야기시킨다. 메시지가 정확하게 수신되어 저장된 것으로 IFQ회로(30)가 결정하면, 이때 IFQ회로(30)는 새로운 메시지를 픽업하기 위해 프로세스 제어 컴퓨터(12)에 통지하도록 설정되는 플래그를 야기시킨다. 이러한 데이터 검증이 실패로 되는 경우, 전체 메시지 전송 프로세스가 반복되게 된다.
또한, IFQ회로(30)는 도 1에 블록으로 도시된 프로세스 데이터 버퍼(44)를 포함하는 것으로 간단히 도시되어 있다. 그러나, 프로세스 데이터 버퍼(44)는 각 프로세스 제어 컴퓨터(12a,12b; 예컨대, 262,144바이트)를 위한 분리 데이터 테이블을 저장하기에 충분한 메모리 용량을 포함한다. 이들 각 데이터 테이블은 SDSS 및 DSS 데이터 전송 양쪽을 포함하게 된다. 더욱이, DMA버퍼(도시되지 않았음)가 수신되는 데이터를 처리함에 있어 다소의 신축성을 허용하기 위해 제공된다. 이러한 관점에서, IFS회로(28)와 IFQ회로(30)가 프론트 엔드 컴퓨터(18)의 IFQ회로(30)와 Q-버스 사이에서 양방향 DMA(Direct Memory Access) 전송을 용이하게 하도록 구성된다. 이러한 방법에 있어서, 프론트 엔드 컴퓨터(18)의 중앙처리장치(45; 마이크로프로세서)는 IFQ회로(30)에 대해 데이터 전송을 처리하는데 실제적으로 시간을 기울일 필요가 없다. 따라서, DMA버퍼는 프론트 엔드 컴퓨터(18)의 Q버스상에 존재하는 적절한 메모리에 대해 프로세스 데이터 버퍼(44; 예컨대, 동시에 8k바이트)로부터 데이터의 블록상에서 DMA 전송을 수행하기 위한 버켓 브리게이드(bucket brigade) 영역으로서 바람직하게 이용된다.
또한, DMA전송의 이용은 프로세스 제어컴퓨터(12a,12b)로부터 네트워크(20)상의 하나 이상의 컴퓨터로 가능한 실시간 데이터를 만든다는 목표를 달성함에 있어 프론트 엔드 통신 시스템(10)의 능력을 증가시킨다. 특히, 프론트 엔드 통신 시스템(10)은 1/2배 해상도내에서 각 프로세스 제어 컴퓨터(12a,12b)로부터 프리-링크(pre-link) 및 포스트-조정(posr-arbitrated) 데이터 양쪽의 네트워크 조회를 요청, 수신 및 응답하도록 설계된다. 예컨대, 이러한 특정 실시예에 있어서, 각 프로세스 제어 컴퓨터(12a,12b)는 모든 1/2 프로그램 사이클에서 'SDSS(Sequence Data Stable Strobe)'신호를 나오게 하고, 이는 프리-링크 다이나믹 아날로그/디지털 데이터의 약 1024(16비트) 워드가 2중 포트 데이터 메모리(22)에서 안정됨과 더불어 이용가능하다는 것을 나타낸다. 이러한 특정 데이터 세트는 이러한 데이터가 메이저 링크(14)를 가로지르는 데이터 전송을 매개로 프로세스 제어 컴퓨터(12a,12b) 사이에서 아직 조정되지 않은 것으로서 프리-링크 데이터로서 언급된다. 이어서, 동일한 1/2 프로그램 사이클에서, 각 프로세스 제어 컴퓨터(12a,12b)는 'DDS(Data Stable Strobe)' 신호를 나오게 하고, 이는 포스트-조정 입력 및 출력 데이터의 완전한 세트가 2중 포트 데이터 메모리(22)에서 안정됨과 더불어 이용가능함을 나타낸다. 이러한 데이터 세트는 입력값이 프로그램 사이클에서 이러한 점에 의해 조정 또는 해결됨에 따라 포스트-조정(post-arbitrated)으로 언급된다. 본 실시예에 있어서, 이러한 포스트-조정 데이터 세트는 입력과 출력값(그리고, 2중 포트 데이터 메모리(22)에 저장된 다른 변수) 양쪽을 포함함에 따라 65,536(16비트)워드까지로 구성될 수 있다. 프로세스 제어 컴퓨터(12a,12b)의 프로그램 사이클에서 제1기능의 하나가 즉각적으로 이전의 프로그램 사이클에서 얻어진 포스트-조정 입력 데이터로부터 출력값 결정을 만든다는 점에서 또한 주목해야만 한다. 따라서, 포스트-조정 데이터 세트가 현재 프로그램 사이클로부터의 조정된 입력값과 즉각적으로 이전 프로그램 사이클로부터의 출력값을 포함할 것이라는 것을 인지해야만 한다.
프리-링크와 포스트-조정 데이터 세트의 복사를 얻는 기능은 프로세스 제어컴퓨터(12a,12b)의 동작을 지연시키기 위해 허용될 수 없다는 것을 이해하는 것이 또한 중요하다. 따라서, 예컨대 프론트 엔드 통신시스템(10)은 프로세스 제어컴퓨터(12a,12b)가 조정 프로세스를 통해 이러한 데이터 값의 하나 이상을 변화시키기위한 능력을 갖는 것을 필요로 하기 전에 프리링크 데이터 세트의 복사를 얻기 위해 충분히 빨라야만 한다. 따라서, 본 실시예에 있어서, 프론트 엔드 통신시스템(10)은 데이터 안정성의 보장을 갖기 위해 SDSS신호가 최초로 제기된 그 시간의 10밀리초내에서 프리링크 데이터 세트를 획득할 수 있을 필요가 있다. 마찬가지로, 프론트 엔드 통신시스템(10)은 DSS신호가 최초로 제기된 시간의 50밀리초 내에서 포스트-조정 데이터 세트를 획득할 수 있을 필요가 있다. 이러한 점에서, 이들 각 데이터 세트는 각 프론트 엔드 컴퓨터(18a,18b)에 의해 프로세스 제어컴퓨터(12a,12b)의 양쪽으로부터 독립적으로 획득되어질 필요가 있다는 것을 인식해야만 한다. 더욱이, SDSS 및 DSS 데이터 획득 윈도우 이외의 시간 주기 동안, 각 프론트 엔드 컴퓨터(18a,18b)는 프로세스 제어 컴퓨터(12a,12b)의 하나 또는 양쪽에 메시지를 또한 보낼 수 있어야만 한다.
소정의 데이터 전송 차단 부분 없이 SDSS 및 DSS데이터 세트를 획득하기 위한 프론트 엔드 통신 시스템의 능력을 더욱 용이하게 하기 위해, 또한 수신되는 데이터세트를 그룹 및 시간 정열시키기 위한 능력을 제공하기 위해 각 프론트 엔드 컴퓨터(18a, 18b)는 각 프로세스 제어 컴퓨터(12a,12b)용의 적어도 3개의 반사 버퍼의 세트를 포함한다. 이들 각 논리적 구별 반사 버퍼 또는 새도우 메모리는 프론트 엔드 컴퓨터(18)에서 동일한 물리적 메모리 칩 또는 칩 세트에 존재한다. 도 1에 도시된 바와 같이, 프론트 엔드 컴퓨터(18)에 포함된 반사 버퍼의 세트는 일반적으로 좌측 프로세스 제어 컴퓨터(12a)를 위한 제로버퍼(ZERO buffer) 'ZL'(46a)과, 우측 프로세스 제어 컴퓨터(12b)를 위한 제로버퍼 'ZR'(48a), 좌측 프로세스제어 컴퓨터를 위한 원버퍼(ONE buffer) 'OL'(50a), 우측 프로세스 제어 컴퓨터를 위한 원버퍼 'OR'(52a), 좌측 프로세스 제어 컴퓨터를 위한 투버퍼(TWO buffer) 'TL'(54a) 및, 우측 프로세스 제어 컴퓨터를 위한 투버퍼 'TR'(56a)로 구성된다. 더욱이, 반사 버퍼의 대응하는 세트가 좌측 프로세스 제어 컴퓨터(12a)를 위한 제로버퍼 'ZL'(46b)와 우측 프로세스 제어 컴퓨터(12b)를 위한 제로버퍼 'ZR'(48b)와 같이 프론트 엔드 컴퓨터(18b)에 포함되는 것을 알 수 있다.
IFQ회로(30)는 DMA데이터 전송을 이용하는 '라운드 로빈'형으로 이들 좌우버퍼에 기록한다. 즉, IFQ회로(30)는 좌측 프로세스 제어 컴퓨터(12a)로부터의 특정 프로세스 제어사이클의 프리링크 및 포스트-조정 데이터로 제로버퍼(46a)를 채우게 된다. 이 때, 다음의 프로세스 제어사이클을 위한 프리링크와 포스트-조정 데이터가 좌측 프로세스 제어 컴퓨터(12a)로부터 수신될 때, IFQ회로는 이 데이터를 저장하기 위해 원버퍼(50a)에 대해 증가하게 된다. 마찬가지로, IFQ회로(30)는 제3프로세스 제어사이클을 위한 프리링크와 포스트-조정 데이터가 이 데이터를 저장하기 위해 좌측 프로세스 제어 컴퓨터(12a)로부터 수신될 때, 투버퍼(54a)로 돌아가게 된다. 이때, 좌측 프로세스 제어 컴퓨터(12a)로부터의 시간처리 제어사이클의 4번째를 위해 프리링크와 포스트-조정 데이터가 저장되어질 때, IFQ회로(30)는 데이터 저장을 위한 제로버퍼(46a)를 어드레스하기 위해 리턴되게 된다. 물론, IFQ회로(30)는 우측 프로세스 제어 컴퓨터(12b)로 이용되는 3개의 반사 버퍼(48a,52a,56a)에 프리링크와 포스트-조정 데이터를 개별적으로 전송하기 위해 동일한 라운드 로빈 시퀀스를 채용하게 된다는 것을 인식해야만 한다.
설명을 위해, 도 1은 좌측 프로세스 제어 컴퓨터(12a)를 위한 3개의 반사 메모리 버퍼(46a,50a,54a)와, 우측 프로세스 제어 컴퓨터(12b)를 위한 3개의 반사 메모리 버퍼(48a,52a,56a)를 도시한다. 그러나, SDSS 및 DSS데이터 전송이 독립 DMA이벤트로서 처리됨에 따라, 실제로 반사 메모리 버퍼는 이들 각 이벤트를 위해 구별되는 반사 메모리 버퍼를 포함한다. 따라서, 12개 반사 메모리 버퍼의 전체가 프론트 엔드 컴퓨터(18)에 바람직하게 제공된다. 더욱이, 이들 각 반사 메모리 버퍼가 개별적으로 트랙됨으로써 이들 버퍼의 오더링은 아래의 방법을 따를 필요가 없다:
제2 N: (제로-SDSS-L 제로-DSS-L 제로-SDDS-R 제로-DSS-R)
제2 N+1: (원-SDSS-L 원-DSS-L 원-SDDS-R 원-DSS-R)
제2 N+2: (투-SDSS-L 투-DSS-L 투-SDDS-R 투-DSS-R)
물론, 이들 버퍼들의 오더링은 아래 나타나 바와 같이 다른 방법하에서 또한 처리될 수 있다:
제2 N: (원-SDSS-L 투-DSS-L 제로-SDDS-R 원-DSS-R)
제2 N+1: (투-SDSS-L 제로-DSS-L 원-SDDS-R 투-DSS-R)
제2 N+2 (제로-SDSS-L 원-DSS-L 투-SDDS-R 제로-DSS-R)
독모드에서 프로세스 제어 컴퓨터의 프로그램 시간라인이 소정의 시간 주기(예컨대, 20마이크로초 내지 20밀리초)에 의해 폭스모드에서 프로세스 제어 컴퓨터의 프로그램 시간 라인을 따름에 따라, 대응하는 좌우 반사 버퍼[예컨대, 버퍼(46a,48a)]가 일반적으로 동시에 채워지게 되지 않는 것을 이해하는 것이 중요하다. 그러나, 이들 시간 라인은 상기한 바와 같이 메이저 링크(14)를 지나는 통신이 가능하지 않은 경우에 현저하게 분리될 수 있게 된다. 좌우 SDSS 또는 DSS 신호가 거의 동시에 제거될 때에도 지연이 IFQ회로(30)에 대해 이러한 정보를 전송하기 위해 요구되고, 이때 이러한 정보를 적당한 반사 메모리로 전송하는 것은 프로세스 제어 컴퓨터와 IFS회로 하드웨어에 의해 알 수 있는 것 보다는 프론트 엔드 컴퓨터(18)의 응용 소프트웨어에 의해 알 수 있는 이들 이벤트 사이에서 더 넓은 시간 스큐를 초래할 수 있게 된다. 그럼에도 불구하고, 이는 데이터 세트가 동일한 프로그램 사이클(예컨대, 1초 주기)에서 프로세스 제어 컴퓨터(12a,12b)로부터 데이터를 나타내는 컴퓨터 네트워크(20)에 대해 궁극적으로 이용 가능하게 만드는 것을 보장한다는 것은 프론트 엔드 컴퓨터(18)의 책임이다. 이러한 점에서, 프론트 엔드 컴퓨터(18)의 응용 소프트웨어는 특정 프로세스 제어사이클을 위한 프리링크와 포스트-조정의 '스냅슛(snapshot)'을 나타내는 버퍼의 코헤시브(cohesive) 세트에 개별적인 데이터 전송 이벤트를 집단화하는 'MI Sync'로 언급되는 처리를 포함한다.
MI Sync 처리는 도입되는 데이터 전송의 상태를 트랙하기 위해 반사 메모리 버퍼 매니지먼트 구조(MI_RMBMS)의 세트를 이용한다. DMA 전송인 MI Sync 처리에 대해 IFQ회로 드라이버 소프트웨어 신호가 완료되었을 때, MI Sync는 적절한 MI_RMBMS 데이터 구조에서 요구된 정보를 기록한다. 버퍼의 완전한 세트가 수신 및 저장된 것을 MI_Sync가 결정할 때(즉, 좌측 SDSS, 우측 SDSS, 좌측 DSS 및 우측 DSS), 이는 새롭게 수신된 데이터에 대한 포인터에 따라 그로벌 데이터구조(MI_RM_DATA)를 갱신한다. 이러한 포인터는 MI_RMBMS 데이터 구조로부터 복사된다. 따라서, MI_RM_DATA는 일반적으로 가능한 '완료(complete)' 또는 반사 메모리 버퍼의 시간 정렬 세트에 대해 포인터를 포함한다. 프론트 엔드 컴퓨터(12)가 라운드 로빈 처리에 있음에 따라, 반사 메모리 버퍼의 가장 최근의 시간 정렬 세트는 한번의 간격에서 투버퍼(54a,56a), 다음 시간 간격에서 원버퍼(50a,52a) 및, 그 다음의 시간 간격에서 제로버퍼(46a,48a)일 수 있다. 프로세스 제어 컴퓨터(12a,12b)중 하나로부터 SDSS 또는 DSS데이터가 IFQ회로(30)에 의해 수신되지 않는 경우, MI Sync는 MI_RM_ DATA포인터를 갱신하기 위한 적절한 종료시간(예컨대, 700밀리초)을 이용하는 것에 의해 시간 정렬을 계속 유지하게 된다. 또한, 명령이 버퍼 또는 버퍼들이 이용 가능하지 않음에 따라 제공된다.
MI_RM_DATA내에서 버퍼 포인트는 상호 배제 세머포어(mutual exclsion semaphore)시그널 또는 '머텍스(mutex)'에 의해 보호된다. MI Sync는 MI_RM_DATA에 새로운 포인터를 복사하기 전에 이러한 머텍스를 요구하고, 복사가 종료된 후, 즉각 이를 해제한다. 네트워크 엔티티가 반사 메모리 데이터를 억세스할 필요가 있을때, MI_RM_DATA 포인터의 복사는 머텍스를 요구하고, 로칼 데이터 구조에 대해 이러한 버퍼 포인터를 복사하며, 이때 머텍스를 해제하는 것에 의해 만들어진다. 데이터를 조회 또는 독출하기 위한 응용이 포인터의 복사를 이용함으로, 머텍스를 위한 경쟁(contention)내용이 최소화되고, 따라서 MI Sync는 다음 데이터의 종료 세트가 저장되자마자 새로운 포인터에 따라 MI_RM_ DATA를 갱신할 수 있게 된다. 이러한 점에서, 이 방법은 MI Sync가 새로운 포인터에 따라 MI_RM_DATA를 갱신하는동안, 반사 메모리 버퍼의 동일한 세트를 억세스할 때까지 독출 응용을 인에이블하게 된다는 것을 주목하는 것이 중요하다. 독출 응용이 반사 메모리 버퍼의 가장 최근 시간 정렬 세트를 억세스함으로, 독출 응용은 반사 메모리 버퍼[예컨대, 투버퍼(54a,56a)]의 하나의 세트를 억세스할 수 있게 되는 한편, 이어지는 독출 응용은 새로운 포인터에 따라 한번 MI_Sync가 MI_RM_DATA를 갱신하는 반사 메모리 버퍼[예컨대, 원버퍼(50a,52a)]의 다른 세트에 대해 억세스를 부여할 수 있다는 것을 알 수 있다.
또한, 반사 메모리를 억세스하는 응용은 기준 버퍼가 새로 도입되는 데이터에 따라 중복 기록되기 전에 종료에 대해 실행 가능하게 된다는 것을 이해 해야만 한다. 프론트 엔드 통신 시스템(10)의 1실시예에 있어서, 반사 메모리 데이터를 요구하는 응용은 1초 이하에서 종료에 대해 실행하도록 허용하기에 충분히 높은 실행 우선을 할당한다. 그러나, 프론트 엔드 컴퓨터(18)는 종료를 실행하는데 더 오래 걸리는 응용의 개선을 허용하기 위한 버퍼의 부가적인 세트로 형성될 수 있다는 것을 인식해야 한다.
또한, 프론트 엔드 컴퓨터(18a,18b)의 이용은 또한 특정 데이터 요구에 대해 응답하기 위한 필요한 지능을 갖도록 프론트 엔드 통신 시스템(10)을 인에이블시킨다는 것을 상기로부터 이해해야 한다. 또한, 프론트 엔드 컴퓨터(18a,18b)의 이용은 프로세스 제어컴퓨터(12a,12b)가 실질적으로 실시간 데이터를 계속 보낼 수 있도록 빠른 체크를 허용한다. 더욱이, 프론트 엔드 컴퓨터(18a,18b)는 프로세스 제어컴퓨터(12a,12b)로부터의 독출 또는 기록 요청이 요청을 촉진시키는 컴퓨터 네트워크(20)상의 엔티티와 관련하여 보증되어야만 하는가의 여부에 따라 결정을 하도록 바람직하게 프로그램된다. 이하, 더욱 상세히 논의되는 바와 같이, 프론트 엔드 컴퓨터(18a,18b)는 이러한 결정을 용이하게 하기 위해 그 메모리에서 보안 테이블과 2개의 허용 테이블을 포함한다. 이 보안 테이블은 허용테이블이 2중 포트 데이터 메모리(22a,22b)의 특정 위치에 영향을 미치는 컴퓨터 네트워크상의 엔티티로부터의 기록 명령 메시지를 평가하는데 이용되는 동안, 통신이 컴퓨터 네트워크(20)상의 다양한 모든 엔티티에서 허용되는가의 여부를 결정하는데 이용된다.
또한, 프론트 엔드 컴퓨터(18a,18b)는 상관 버퍼(58a,60a; correlate buffer)와 같이 부가적인 반사 버퍼의 적어도 하나의 세트를 이용하게 된다. DSS 데이터 세트가 현재 프로그램 사이클로부터의 포스트-조정 입력값과 즉각적으로 이전 프로그램 사이클의 포스트-조정 입력값을 기초로 한 출력값을 포함하게 된다는 사실의 관점에서, 이는 이러한 출력값을 결정하기 위해 이용되는 입력값에 따라 특정 프로그램 사이클을 위해 출력값을 하나의 데이터 테이블과 상관을 갖도록 하는데 바람직하게 된다. 따라서, 프론트 엔드컴퓨터(18a)는 현재 DSS 데이터 세트로부터 포스트-조정 입력값의 복사를 저장하기 위해 상관 버퍼(58a,60a)를 채용하고, 동일한 상관 버퍼에서 이러한 연속되는 데이터 세트로부터 출력값의 복사를 저장하기 위해 다음 DSS 데이터 세트의 정렬을 기다린다. 이러한 점에서, 이 복사 절차가 반사 메모리 버퍼의 가장 최근 시간 정렬 세트로부터 만들어지게 된다는 것을 인지해야 한다. 즉, 예컨대, 도 2a는 시간 정렬 버퍼에서의 데이터 테이블의 도식적 예를 나타내는 반면, 도 2b는 상관 버퍼(CL)에서 데이터 테이블의 유사한 예를 나타낸다. 여기서, 프론트 엔드 컴퓨터(18a,18b)의 시간 정렬 능력은 프로세스 제어 컴퓨터(12a,12b)의 동작과, 제어되는 물리적인 프로세스의 분석을 위한 막강한 진단도구를 제공한다는 것을 이해해야 한다. 예컨대, 프리링크와 포스트-조정 입력 데이터값이 시간 정렬 됨과 더불어 프론트 엔드 컴퓨터(18a, 18b)에 의해 이용 가능하게 만들어짐에 따라 입력 데이터값과 관련하여 실행되는 조정은 프로세스 제어 컴퓨터(12a,12b)의 양쪽을 위해 분석된다.
컴퓨터 네트워크(20)는 직접제어 세그먼트와, 프로세스 정보세그먼트 및, 'WAN(Wide Area Network)'을 일반적으로 포함하는 것으로 하여 도 1에 도시되었다. 이들 각 네트워크 세그먼트는 이더넷 컴플라이언트 매체(Ethernet compliant mediums)와 IEEE 802.3 호환 통신 프로토콜을 바람직하게 채용한다. 직접 제어 세그먼트는 2중 플랜트 에리어 네트워크 'PAN-1'과 'PAN-2'으로 구성되는 반면, 프로세스 정보 세그먼트는 플랜트 에리어 네트워크 'PAN-3'으로 구성된다. 적어도, 하나의 브릿지(62)가 PAN-1과 PAN-2 세그먼트를 내부연결하기 위해 이용된다. 더욱이, 적어도 하나의 브릿지(64)가 PAN-2 세그먼트와 PAN-3 세그먼트의 내부연결을 위해 이용된다. 다른 브릿지는 PAN-1 세그먼트와 PAN-3 세그먼트를 내부연결하기 위해 이용될 수 있다. 또한, 하나 이상의 브릿지(66)가 PAN-3 세그먼트와 WAN을 내부연결하기 위해 이용될 수 있다.
프론트 엔드 컴퓨터(18a)가 PAN-1 세그먼트에 연결되는 반면, 프론트 엔드 컴퓨터(18b)가 PAN-2 세그먼트에 연결된다는 것을 주목해야 한다. 단일 플랜트 에리어 네트워크가 제공될 수 있는 동안, 여기에 도시된 2중 플랜트 에리어 네트워크의 이용은 단일 플랜트 에리어 네트워크을 거쳐 소정 통신과 용장서 이점을 갖는다. 이러한 점에서, 브릿지는 각 네트워크 세그먼트상에서 많은 소통을 줄이기 위해 이더넷 하드웨어 어드레스에 의한 전형적인 필터 통신이다. 예컨대, 보안 서버(68)와 오퍼레이터 워크스테이션(70) 사이의 통신은 브릿지(62)를 통해 PAN-1 세그먼트에 대해 전송되지 않게 된다. 또한, 브릿지(62∼66)는 네트워크 세그먼트 사이에서 물리적 분리의 층이 제공됨에 따라 네트워크 세그먼트중 하나에서 오류가 야기된다면, 이때 오류는 다른 네트워크 세그먼트를 역으로 영향을 주는 것으로부터 방지된다.
더욱이, 하나 이상의 브릿지는 네트워크(20)의 전체적인 보안을 높이기 위해 특정 데이터 통신 프로토콜 식별을 기초로 필터 통신에 또한 이용된다. 예컨대, 브릿지(64)는 PAN-2와 PAN-3 세그먼트중의 하나로부터 다른 것으로 보안서버(68)에 의해 이용되는 이더넷 컴플라이언트 프로토콜을 채용하는 메시지의 전송을 방지하는데 이용될 수 있다. 마찬가지로, 브릿지(64)는 2중 포트 데이터 메모리의 메일박스부(26)로 정보를 기록하는데 이용되는 이더넷 컴플라이언트 프로토콜을 채용하는 메시지의 전송을 방지하는데 이용될 수 있다.
또한, 컴퓨터 네트워크(20)는 오퍼레이터 워크스테이션(70,72)과 같은 다수의 오퍼레이터 워크스테이션을 포함한다. 도 1에 도시된 바와 같이, 이러한 오퍼레이터 워크스테이션은 다른 네트워크 세그먼트상에 위치할 수 있고, 오퍼레이터 워크스테이션의 수는 특정 프로세스 제어 응용에 따르게 된다. 하나 이상의 이러한 오퍼레이터 워크스테이션은 프론트 엔드 컴퓨터(18a,18b)로부터 수신된 데이터를 분석하거나 또는 보기 위해 이용될 수 있다. 더욱이, 이들 오퍼레이터 워크스테이션은 프로세스 제어 컴퓨터(12a,12b)로 전송되는 명령 메시지를 야기시키게 되는 프론트 엔드 컴퓨터(18a,18b)에 대해 적절한 명령을 전송하기 위해 허가된 제어룸 오퍼레이터에 의해 이용될 수 있다.
네트워크(20)는 다양한 기능을 수행할 수 있는 프로세스 정보 컴퓨터(74)를 더 포함한다. 예컨대, 프로세스 정보 컴퓨터(74)는 프론트 엔드 컴퓨터(12a,2b)로부터 수신된 프로세스 데이터의 이력을 저장하기 위해 이용될 수 있다. 더욱이, 프로세스 정보 컴퓨터(74)는 프로세스 제어 컴퓨터(12a,12b)에 존재하는 프로그램 뿐만 아니라 프론트 엔드 컴퓨터(18a,18b)에 존재하는 컴퓨터 프로그램을 변환시키는데 필요한 컴파일러를 저장하기 위해 이용될 수 있다. 또한, 프로세스 정보 컴퓨터(74)는 프로세스 제어 컴퓨터(12a,12b)에 오퍼레이팅 프로그램 갱신을 전송하기 위한 부하 보조 소프트웨어를 포함한다. 또한, 네트워크는 네트워크에 연결된 컴퓨터들 중에서 여러가지 파일 서빙과 트랙킹 기능을 수행하기 위해 이용되는 제어룸 데이터 관리컴퓨터(76)를 포함한다.
또한, 전문 다운로드 어시스턴트부(78)는 프론트 엔드 컴퓨터(18a,18b)에서 프로그램 갱신을 쉽게 하기 위해 제공된다. 반면, 프로세스 정보 컴퓨터(74)에서의 로딩 어시스턴트 소프트웨어는 프론트 엔드 컴퓨터(18a,18b)중 적어도 하나와 2중 포트 데이터 메모리(22)의 메일박스부를 통해 프로세스 제어 컴퓨터(12a,12b)의 하나로 다운로드되도록 새로운 컴퓨터 프로그램을 야기시키는데 이용될 수 있다.다운로드 어시스턴트부(78)가 자체의 네트워크 컴퓨터에 위치하는 동안, 다운로드 어시스턴트부(78)는 프로세스 정보 컴퓨터(74)와 같이 적절한 네트워크 컴퓨터에 또한 위치할 수 있다.
또한, 로딩 어시스턴트부는 수정된 프로그램의 실시간 테스팅을 인에이블하는 모드에서 오퍼레이팅을 시작하기 위한 수정된 프로그램에 따라 프로세스 제어 컴퓨터를 야기시키기 위해 이용될 수 있다. 이러한 동작 모드에서, 프로세스 제어 컴퓨터는 입력 데이터를 수신하고 결정을 출력하게 되는데, 이러한 출력결정은 필드 인스투르먼테이션장치에 전송되어지지 않게 된다. 이는 수정을 평가하도록 플랜트 기술자를 허용하게 되고, 심지어 폭스 모드 또는 독모드와 같이 동작의 활성모드를 가정하도록 프로세스 제어 컴퓨터를 명령하기 전에 필요하다면 더욱 수정하게 된다.
특정 제조 제어 동작을 수행하는 프로세스 제어 컴퓨터(12a,12b)에서의 방법이 프로그램 수정을 통해 변화되어야 한다는 것이 결정될 때마다, 프로세스 제어 컴퓨터(12a,12b)를 위한 수정된 프로그램은 소스 프로그래밍 언어로부터 실행 파일 또는 동적으로 링크된 파일로 컴파일되어야 한다. 실시예에 있어서, 단일 식별자는 컴파일 공정 동안 실행가능 코드로 내장된다. 이러한 식별자는 프로세스 제어 컴퓨터(12a,12b)를 위한 수정된(또는 관련된) 소프트웨어의 버전을 나타낸다. 프로그램 버전 식별자는 프로세스 제어 컴퓨터(12a,12b)에 의해 실행되어지는 프로그램의 버전 사이에서 적절한 정렬을 보장하기 위해 이용되고, 프론트 엔드 컴퓨터(18a,18b)에서 파일/테이블은 프로세스 제어 컴퓨터에 대해 기록 명령 메시지를 평가하기 위해 이용된다.
상기한 바와 같이, 각 프론트 엔드 컴퓨터(18a,18b)는 우측 프로세스 제어 컴퓨터(12b)를 위한 'PR' 허용 테이블(82a)과 좌측 프로세스 제어 컴퓨터(12a)를 위한 'PL' 허용 테이블(80a)과 같은 2개의 허용하는 테이블을 포함한다. 이들 허용 테이블은 컴퓨터 네트워크(20)상의 어떤 엔티티가 2중 포트 데이터 메모리(22a,22b)의 특정 위치의 내용을 바꾸기 위해 허용되어야 하는지를 결정하도록 프론트 엔드 컴퓨터(18a,18b)에 의해 이용된다. 그러나, 허용 테이블의 데이터 구조가 기록 명령 메시지로부터 변경되는 프로세스 제어 컴퓨터(12a,12b)의 어느 메모리 위치 또는 영역의 내용을 보호하기 위해 구성된다는 것을 인지해야만 한다.
메시지가 오퍼레이터 워크스테이션(70,72)의 하나로부터의 기록 명령 메시지와 같이, 기록 명령 프로토콜을 이용하는 네트워크상의 엔티티로부터 프론트 엔드 컴퓨터(18)에 의해 수신될 때, '데이터_기록_체크(data-write-check)' 서브루틴은 프론트 엔드 컴퓨터의 중앙처리장치에 의해 호출된다. 데이터_기록_체크 루틴은 기록 명령 메시지에서 식별된 여러 가지 엘리먼트와, 인정되거나 또는 부정된 변화를 위한 허용 테이블의 여러가지 엘리먼트와의 사이에서 비교를 수행한다. 예컨대, 만약 프론트 엔드 컴퓨터(18a)가 좌측 프로세스 제어 컴퓨터(12a)에 의해 실행되어지는 프로그램에 의해 이용된 아날로그 이득 'AG'팩터를 증가/감소시키기 위해 시도하는 기록 명령 메시지를 수신한다면, 프론트 엔드 컴퓨터(18a)는 비트가 이 요소를 바꾸기 위해 필요한 인정을 부정하기 위해 설정되면 허용 테이블(80a)의 이러한 특정 AG팩터와 결정을 위한 엘리먼트 워드를 찾는다. 만약, 인정이 부정된다면, 그때 프론트 엔드 컴퓨터(18a)는 프로세스 제어 컴퓨터(12a)에 기록 명령 메시지를 전송하지 않게 된다. 대신, 프론트 엔드 컴퓨터(18a)는 기록 에러가 야기된 호스트 엔티티를 알리도록 기록 명령 메시지를 처음부터 보내는 컴퓨터 네트워크(20)상의 호스트 엔티티에 응답 메시지를 바람직하게 송신하게 된다.
상기한 점으로부터, 프론트 엔드 컴퓨터(18a,18b)에 저장된 PL 및 PR 허용 테이블은 각 프로세스 제어 컴퓨터(12a,12b)에 의해 실행되어지는 프로그램의 버전과 밀접하게 통합될 필요가 있음을 이해해야 한다. 이러한 각 허용 테이블이 각 프로세스 제어 컴퓨터(12a,12b)에 의해 실행되어지는 프로그램과 충분하게 매치되는 것을 보증하기 위해, 상기 논의된 프로그램 버전 식별자는 컴파일될 때 이러한 허용 테이블에 내장된다. 이러한 프로그램 버전 식별자는 검증된 기록 명령 메시지에 따라 프로세스 제어 컴퓨터(12)에 보내질 수 있고, 따라서 프로세스 제어 컴퓨터(12)는 명령된 다양한 변화가 그 프로그램 버전에 적절하다는 것을 확인할 수 있게 된다.
이러한 검증 프로세스의 비밀을 향상시키기 위해, 허용 테이블로부터의 프로그램 버전 식별자는 기록 명령 메시지에 따라 의도된 프로세스 제어 컴퓨터(12)를 위한 비밀 인터페이스회로(16)의 메일박스부(26)에 전송되기 전에 적당한 암호화 알고리즘에 의해 바람직하게 변경된다. 기록 명령 메시지를 수신하는 프로세스 제어 컴퓨터(12)는 이러한 버전 식별자를 디코드하게 되고, 매치가 되면 결정을 위해 그 프로그램에 내장된 프로그램 버전 식별자와 비교한다. 프로그램 버전 식별자가 매치된다면, 그때 프로세스 제어 컴퓨터(12)는 명령된 가변 변화를 수행하게 된다. 한편, 프로세스 제어 컴퓨터(12)는 기록 명령 메시지를 버리고, 프론트 엔드 컴퓨터(18)에 적당한 에러 메시지를 전송하는 것에 의해 응답하게 된다.
또한, PL 및 PR 허용 테이블은 컴퓨터 네트워크(20)상의 특정 호스트 엔티티를 위해 만들어지는 기록 명령 인정 결정을 허용하는 데이터 구조가 바람직하게 제공된다. 즉, 허용 테이블(80a)은 오퍼레이터 워크스테이션(72)으로부터 만들어지는 것을 허용하지 않는 오퍼레이터 워크스테이션(70)으로부터 만들어지는 특정 가변 변화를 허용한다. 따라서, 허용 테이블은 디폴트 테이블부 뿐만 아니라 몇몇 스테이션 특정 테이블부를 갖을 수 있게 된다. 그럼에도 불구하고, 능력은 컴퓨터 네트워크(20)상의 호스트 엔티티에서 적절한 패스워드의 이용을 통해 적절한 허용 테이블의 체크를 피하도록 제공될 수 있다. 그러나, 이러한 점에서, 로그는 이러한 트랜잭션과, 호스트 엔티티(예컨대, CPU 식별자)의 일치를 식별하는 프론트 엔드 컴퓨터(18)에서 생성 및 저장되어져야 한다.
프로세스 제어 컴퓨터(12a,12b)를 위한 분리 허용 테이블의 이용은 다른 프로세스 제어 컴퓨터가 제조 프로세스를 능동적으로 제어하는 것을 계속하는 동안, 프로세스 제어 컴퓨터의 하나에서 수행되는 프로그램 다운로딩 동작을 인에이블하는 이점을 갖는 것에 주목해야 한다. 실제로, 수정된 프로그램이 프로세스 제어 컴퓨터(12a) 및 프론트 엔드 컴퓨터(18a)에 로드된 대응하는 허용 테이블(80a)에 성공적으로 전송된 후에도, 분리 허용 테이블의 이용은 프로세스 제어 컴퓨터(12b)를 위해 의도된 기록 명령 메시지와 다른 프로세스 제어 컴퓨터(12a)를 위해 의도된 기록 명령 메시지를 평가하기 위해 프론트 엔드 컴퓨터(18a)를 인에이블하게 된다. 능동 제어모드에서 다른 프로그램 버전을 갖는 프로세스 제어 컴퓨터(12a,12b)를 실행하기 위해 어떤 환경에서 적당하지 않게 되는 반면, 수동 동작모드는 다른 제어 컴퓨터가 능동 제어모드에 있는 동안 수정된 프로그램을 갖는 프로세스 제어 컴퓨터를 위해 이용될 수 있다. 이러한 사실에서, 플랜트 기술자는 수동 프로세스 제어 컴퓨터를 위해 기록 명령 메시지를 생성하기 위한 마지막 프로그램 테스팅 동안 다운로드 어시스턴트부를 이용하는 반면, 다른 플랜트 기술자는 동일한 프론트 엔드 컴퓨터(18)를 통해 능동 프로세스 제어 컴퓨터에 대해 기록 명령 메시지를 생성한다.
보안 서버(68)는 네트워크상에서 통신하는 네트워크상에 존재하는 각 컴퓨터를 알리는데 이용된다. 이러한 점에서, 보안 서버는 네트워크상의 각 유효 엔티티를 위한 특정 보안 테이블을 저장한다. 이러한 각 보안 테이블은 특정 네트워크 컴퓨터가 양방향 통신을 하는 네트워크 컴퓨터 엔티티를 식별한다. 예컨대, 프론트 엔드 컴퓨터(18a,18b)의 경우에, 시작에서의 제1기능의 하나는 보안 서버(68)로부터 그들의 각각의 보안테이블을 얻게 되는 것이다. 따라서, 보안 서버(68)는 프론트 엔드 컴퓨터(18a)를 위한 보안 테이블 'S1'과, 프론트 엔드 컴퓨터(18b)를 위한 보안 테이블 'S2'를 저장하기 위해 도 1에 도시된다. 또한, 보안 서버가 프론트 엔드 컴퓨터(18)에 상기 논의된 PL과 PR 허용 테이블을 보내기 위해 이용되는 동안, 새롭게 컴파일된 허용 테이블이 다운로드 어시스턴트부(78)로부터 수신되는 것이 바람직하다. 이러한 점에서, 다운로드 어시스턴트부가 적절한 허용 테이블에 따라 프론트 엔드 컴퓨터(18)에 IFS회로(28)를 위해 의도된 전송 맵(37)을 보내기위해 바람직하게 이용됨을 주목해야 한다.
보안 서버(68)로부터 프론트 엔드 컴퓨터(18a,18b)까지 보안 테이블 전송의 무결성을 보장하기 위해, 이러한 전송을 유효하게 하는 방법이 본 실시예에서 이용된다. 이러한 방법에 따라, 프론트 엔드 컴퓨터(18)는 적절한 보안 테이블을 보내기 위한 전조로서 보안 서버(68)가 그 자체를 식별하는 것을 요구하도록 방송 네트워크 메시지에 난수 또는 의사 난수를 내장하게 된다. 보안 서버는 네트워크 메시지의 다른 형태로 이용되는 것과 다른 보안 프로토콜 식별자를 이용하는 확인 응답 메시지를 갖는 이러한 요구에 응답하게 된다. 중요하게도, 이러한 확인 응답 메시지는 전송된 상태에서 프론트 엔드 컴퓨터(18)로부터 난수를 포함하게 된다. 이러한 점에서, 적절한 암호화 알고리즘이 난수를 변경하는데 이용될 수 있고, 따라서 난수는 디코드(예컨대, 32비트)에 대해 어떤 공인되지 않은 엔티티를 어렵게 하는 비트 길이를 갖는다. 확인 응답 메시지의 수신에 따라, 프론트 엔드 컴퓨터(18)는 난수를 얻기 위해 암호 프로세스를 반전시키거나 송신 및 수신된 난수 사이에서 비교하기 위한 본래의 난수를 암호화하게 된다. 이들 난수가 매치되는 것으로 가정하면, 이때 프론트 엔드 컴퓨터(18)는 확인응답 메시지가 유효 보안 서버로부터 수신된 것을 결정하게 되고, 따라서 전송 프로세스가 진행되게 된다.
컴퓨터 네트워크(20)상의 다른 엔티티들과 프론트 엔드 컴퓨터(18a,18b) 사이에서 통신의 보안을 더욱 향상시키기 위해, 부가적 유효 공정이 바람직하게 수행된다. 특히, 이 부가적인 유효 공정은 프론트 엔드 컴퓨터(18a,18b)와 기록 명령 메시지가 인식되어질 수 있는 어떤 네트워크 엔티티 사이에서 통신을 허용하기 위해 이용된다. 이러한 유효 방법에 따라, 프론트 엔드 컴퓨터(18)는 기록 메시지 능력을 갖는 것으로 인식되는 네트워크(20)상의 각 호스트 엔티티의 이더넷 어드레스에 대해 주기적 기준에 따라 계약 제공 메시지를 보내게 된다. 각 계약 제공 메시지는 난수 또는 의사 난수 또는 다른 예측할 수 없는 메시지 성분을 포함하게 된다. 기록 명령 메시지를 인식할 수 있는 호스트 엔티티를 위해, 호스트는 예측할 수 없는 메시지 성분의 변형된 버전을 포함하는 계약 수용 메시지에 따라 소정의 시간 주기(예컨대, 10초)내에서 계약 제공에 응답해야 한다. 어떤 적절한 암호화 알고리즘이 이러한 목적을 위해 이용되는 동안, 이러한 암호화 알고리즘은 보안 서버(68)로부터 보안 테이블의 전송을 유효하게 하는데 이용되는 암호화 알고리즘과 다르게 되는 것이 바람직하다. 부가적으로, 보안 메시지 프로토콜이 이러한 계약 제공과 수용 가능 메시지를 위해 이용될 수 있다는 것에 주목해야 한다.
이때, 프론트 엔드 컴퓨터(18)는 시간 제한 통신 계약이 프론트 엔드 컴퓨터와, 보안 테이블에 포함된 호스트 엔티티를 위한 특정 이더넷 어드레스에서의 이러한 호스트 엔티티 사이에서 확립되면, 결정을 위해 계약 수용 메시지에 내장된 난수를 해독하게 된다. 이 시간 제한 통신 계약은 프론트 엔드 컴퓨터(18)와 특정 호스트 엔티티 사이의 기록 명령 메시지 링크가 신뢰성이 있게 됨과 더불어 특정화되는 것을 보증하게 된다. 따라서, 예컨대, 프론트 엔드 컴퓨터(18a)는 새로운 난수(예컨대, 32비트 길이)를 포함하는 오퍼레이터 워크스테이션(72)의 이더넷 어드레스에 대해 계약 제공 메시지를 보내게 된다. 오퍼레이터 워크스테이션(72)은 이러한 특정 난수의 암호화된 버전을 포함하는 계약 수용 메시지에 응답하게 된다.이때, 프론트 엔드 컴퓨터(18a)는 이러한 목적을 위해 그 메모리에 저장된 계약 알고리즘에 따라 이러한 수를 해독하거나 또는 오퍼와 수용 수를 비교하도록 동일한 암호화 알고리즘을 이용하게 된다. 만약, 이러한 수들이 매치되면, 이 때 프론트 엔드 컴퓨터(18a)는 소정의 시간 주기 동안 오퍼레이터 워크스테이션(72)으로부터 기록 명령 메시지를 처리하게 된다. 한편, 수들이 매치되지 않는다면, 이때 프론트 엔드 컴퓨터(18a)는 이러한 오퍼레이터 워크스테이션으로부터의 기록 명령 메시지가 무시된 것을 지시하도록 보안 테이블(S1)로부터 오퍼레이터 워크스테이션(72)의 이더넷 어드레스를 위한 기록 명령 허가 비트를 디스에이블하게 된다.
기록 명령 메시지를 위해 설치된 통신 계약은 이러한 특정 메시지의 전송 보안을 향상시키기 위해 시간이 제한된다. 실시예에 있어서, 통신 계약은 개시된 후 20초내에 자동적으로 끝나게 된다. 그럼에도 불구하고, 기록 명령 메시지를 보내기 위한 능력이 인터럽트되지 않는 것을 보장하기 위해, 계약 제공 메시지는 프론트 엔드 컴퓨터(18)로부터 이러한 연속을 제공하게 되는 주기적 기준에 따라 네트워크(20)상의 각 적절한 호스트 엔티티들에 보내져야 한다. 예컨대, 20초의 통신 계약에 따라, 통신 계약은 거의 매 10초의 비율로 전송되는 것이 바람직하다. 즉, 매 10초 마다, 인식 가능한 기록 명령 메시지를 전송할 수 있는 각 호스트 엔티티는 각 프론트 엔드 컴퓨터(18)로부터 새로운 난수를 수신하게 된다.
호스트 엔티티가 프론트 엔드 컴퓨터(18)로부터의 계약 제공 메시지의 응답에 대해 실패하는 경우, 프론트 엔드 컴퓨터는 시간 제한 통신 계약을 유지하거나 확립하도록 3가지 노력을 바람직하게 하게 된다. 만약, 이러한 3가지 노력으로부터 수신되는 응답이 없다면, 이때 프론트 엔드 컴퓨터(18)는 그 보안 테이블로부터 이 호스트 엔티티의 이더넷 어드레스를 위한 기록 명령 인정 비트를 디스에이블하게 된다. 이러한 경우, 영향을 미치는 호스트 엔티티는 보안 서버(68)가 새로운 보안 테이블을 프론트 엔드 컴퓨터(18)에 전송할 때까지 프론트 엔드 컴퓨터(18)에 의해 처리되는 기록 명령 메시지를 갖을 수 없게 된다.
난수만이 보안 테이블의 전송을 용이하게 하기 위해 또는 기록 명령 메시지를 위한 시간 제한 통신 계약을 확립하기 위해 암호화되는 것이 필요하다는 것을 상기로부터 인지해야 한다. 그러나, 보안 테이블 그 자체 또는 기록 명령 메시지가 적절한 응용에서 잘 암호화될 수 있다는 것을 이해해야 한다. 그럼에도 불구하고, 보안 메시지와 기록 명령 메시지를 위한 다른 이더넷 프로토콜의 이용과, 보안 테이블 전송과 기록 명령 통신 계약을 위한 다른 암호화 알고리즘의 이용, 짧은 구간에 대한 기록 명령 통신 계약의 시간 제한 및, 각 프론트 엔드 컴퓨터(18)를 위한 특정 허용 테이블의 이용은 모두 프로세스 제어 컴퓨터(12a,12b)를 위한 통신 및 기록 명령 보안의 매우 높은 정도를 제공하기 위해 조합된다. 또한, 검증된 기록 명령 메시지가 프로세스 제어 컴퓨터(12a,12b)에 전송될 때, 비밀 인터페이스회로(16)에서 보호회로와, PL과 PR 허용 테이블에서 프로그램 버전 식별자의 내장 및, 프론트 엔드 컴퓨터(18a,18b)에 의해 이들 프로그램 버전 식별자의 암호화에 의해 부가적인 보호가 실질적으로 제공된다. 이러한 점에서, 프로그램 버전 식별자를 위한 프론트 엔드 컴퓨터(18a,18b)에 의해 이용되는 암호화 알고리즘은 기록 명령 메시지를 위한 시간 제한 통신 계약을 확립하기 위해 이용되는 암호화 알고리즘 또는 보안 테이블 전송을 위해 이용되는 암호화 알고리즘과 바람직하게 다르다는 것을 주목해야 한다.
도 3을 살펴보면, 비밀 인터페이스회로(16)의 블록도가 도시되어 있다. 또, 도 4a 및 도 4b에 도시된 비밀 인터페이스회로(16)의 구성도를 참조한다. 비밀 인터페이스회로(16)는 프로세스 제어 컴퓨터(12)의 내부버스구조(100)와 외부 직접 비밀포트(102) 사이에 개재된다. 비밀 인터페이스회로(16)는 적절한 한 세트의 버퍼를 통해 버스구조(100)에 연결된다. 이러한 점에서, 버퍼블록(104)은 프로세스 제어 컴퓨터(12)의 어드레스버스로부터 어드레스정보를 수신하는 2개의 8비트 버퍼회로(U17,U18)를 포함하고 있다. 마찬가지로, 버퍼블록(106)은 프로세스 제어 컴퓨터(12)의 데이터버스로부터 데이터정보를 수신하는 2개의 8비트 버퍼회로(U6,U7)를 포함하고 있다.
또한, 비밀 인터페이스회로(16)는 프로세스 제어 컴퓨터(12)의 버스구조(100)에 접속되어 있는 데이터 제어 블록(108)을 포함하고 있다. 도 4a에 나타낸 바와 같이, 데이터 제어 블록(108)은 프로세스 제어 컴퓨터(12)로부터 SDSS 및 DSS신호를 검출하는데 이용되는 PAL(Programmable Array Logic)회로(U15)(예컨대, EP512)로 바람직하게 구성된다. 본 기술분야에서 잘 알려진 바와 같이, PAL회로는 프로그램되는 가용링크(fusible link)를 갖추어, 복수의 내부 AND 게이트와 OR 게이트가 원하는 논리기능을 수행하도록 구성된다. PAL회로는 실행 논리기능의 비교적 저가의 방법을 제공하지만, 다른 적절한 회로장치가 이러한 응용에 이용될 수도 있음을 이해해야 한다. 또, PAL회로는 프로세스 제어 컴퓨터(12)에 의해 발생되는 2개의 엑스트라 스트로브신호(extra strobe sig nal), 즉 'EXS1'과 'EXS2'신호를 검출하도록 프로그램된다는 점에 주목해야 한다. 이들 엑스트라 스트로브신호의 한쪽 또는 양쪽은, 2중포트 데이터 메모리(22)에 저장된 어떤 데이터가 그래픽 정보를 디스플레이하는데 이용되는 데이터 등과 같이 안정하다는 것을 나타내기 위해 프로세스 제어 컴퓨터(12)에 의해 이용될 수 있다.
또한, 비밀 인터페이스회로(16)는 2중 포트 데이터 메모리(22)를 억세스하는데 이용되는 프로세스 제어 컴퓨터(12)로부터 4개의 제어신호를 수신한다. 이들 신호는 '/EN_DATAMEM', '/EMR', 'R/W' 및 'MEMCLK'이다. 이들 신호중 처음의 3개의 신호는, 프로세스 제어 컴퓨터(12)가 2중 포트 데이터 메모리(22)에 대해 독출 또는 기록을 하려고 하는지의 여부에 관한 것이다. 그러나, MEMCLK는 2중 포트 데이터 메모리(22)의 억세스를 위해 가능한 프로세스 제어 컴퓨터(12)의 머신 사이클(machine cycle)로 시간을 효과적으로 분할하는 상기한 메모리 클록신호이다. MEMCLK신호는 도 5a의 타이밍도에 나타낸 바와 같이 50% 듀티 클록신호이다. 이 타이밍도에 설명된 방법에 따르면, 2중 포트 데이터 메모리(22)는 MEMCLK가 로우(Low)일 때에 내부 프로세스 제어 컴퓨터 포트(100)로부터 억세스될 수 있다. 이때, MEMCLK가 하이(High)상태로 천이되면, 2중 포트 데이터 메모리(22)는 외부 비밀포트(102)로부터 억세스될 수 있다. 상기 MEMCLK신호는 400㎱(즉, 주파수 2.5㎒)의 주기를 갖는 것으로 나타냈지만, 다른 적절한 주기와 듀티 사이클이 적합한 응용에 제공될 수도 있다.
비밀 인터페이스회로(16)의 비밀포트측에서는, 어드레스 및 데이터정보의 전송을 처리하기 위해 적절한 한 세트의 버퍼가 제공된다. 이러한 점에서, 버퍼블록(110)은 외부 비밀포트(102)로부터 어드레스정보를 수신하는 2개의 8비트 버퍼회로(U1,U2)를 포함한다. 마찬가지로, 버퍼블록(112)은 2중 포트 데이터 메모리(22)와 비밀포트(102)간의 데이터를 송·수신할 수 있는 2개의 8비트 버퍼회로(U4,U5)를 포함한다.
더욱이, 비밀 인터페이스회로(16)는 비밀포트(102)상의 외부 엔티티로부터 버스요구신호(bus request signal)를 수신하는 조정회로(114)를 포함하고 있다. 도 5b에 나타낸 바와 같이, 본 실시예는 도입되는 버스요구신호(/BR1,‥,/BR4)를 위해 4개의 별도의 채널 라인을 제공한다. 따라서, 비밀 인터페이스회로(16)는 비밀포트(102)에 접속되는 4개의 다른 외부 엔티티까지 인에이블하게 된다. 도 4b에 나타낸 바와 같이, 조정회로(114)는 수신된 제1버스요구신호의 버스 억세스를 허가하는 4개의 입력 비동기 버스 조정회로(input asynchronous bus arbiter circuit; U9)로 구성된다. 이러한 점에서, 그 이용을 위해 채널이 클리어 되는 버스를 얻는 특정 외부 엔티티를 알리도록 특정의 버스허가신호(bus grant signal; /BG1,‥,/BG4)가 궁극적으로 발생된다. 또, 조정회로(114)는 도 5a의 타이밍도에 나타낸 임의 버스요구신호(/ANY_BR)를 생성하는 내부 AND 게이트를 갖추고 있다.
더욱이, 비밀 인터페이스회로(16)는 2중 포트 데이터 메모리(22)에 대한 억세스를 제어하는데 이용되는 비밀포트 제어회로(116)를 포함하고 있다. 이 제어회로(116)는 도 4a 및 도 4b에 나타낸 바와 같이 PAL회로(U16)와, 타이머회로(U10) 및, 칩(U8)내에 포함되어 있는 한 세트의 3상태 버퍼로 구성된다. 내부 프로세스제어 컴퓨터 버스(100)에 대한 메모리 억세스의 경우, PAL회로(U16)는 내부 버스로부터의 어드레스 및 데이터정보를 래치 또는 포획하도록 버퍼(104,106)에 칩선택신호(/CS)를 전송한다. 또한, 상기 PAL회로(U16)는 프로세스 제어 컴퓨터(12)가 비밀 인터페이스회로(16)의 데이터버스(118)로부터 데이터를 래치 또는 포획하는데 필요한 경우에, 버퍼(106)에 인에이블 메모리 독출신호(/B_EMR)를 보낸다. 이러한 점에서, PAL회로(U16)는 프로세스 제어 컴퓨터(12)의 MEMCLK신호 및 CPU(central process unit) 클록신호(CP)의 양쪽에 응답한다.
외부 비밀포트(102)로부터의 메모리 억세스의 경우, PAL회로(U16)는 외부 버스로부터의 어드레스 및 데이터정보를 래치 또는 포획하도록 버퍼(110,112)에 인에이블신호(/SP_EN)를 전송한다. 또한, 상기 PAL회로(U16)는 외부 엔티티가 비밀 인터페이스회로(16)의 데이터버스(118)로부터 데이터를 래치 또는 포획할 것을 허가한 경우에, 버퍼(112)에 인에이블 메모리 독출신호(SR/W)를 보낸다. 이 SR/W신호는 비밀포트 버스(102)에서 수신되어 외부 엔티티로부터의 지시 및 원하는 데이터 흐름의 방향을 제공한다. 이러한 특정 실시예에 있어서, SR/W신호는 독출사이클에 대해서는 액티브 하이이고, 기록사이클에 대해서는 액티브 로우이다. 이 SR/W신호는 모든 4-잠정적 외부 사용자(four potential external user)에 공통이며, 외부 사용자가 액티브 로우 /BR신호를 수신하는 버스를 얻을 때까지 3상태로 유지되어야 한다.
또한, PAL회로(U16)는 기록동작에 대해 외부 엔티티에 의해 선택되는 2중 포트 데이터 메모리(22)의 어드레스상에서 만들어지는 평가를 초기화하기 위해 체크포인트 보호회로(check point guardian ciriuit; 120)[PAL회로(U13)]에 SR/W신호를 전송한다. 이러한 점에서, 보호회로(120)는 어드레스가 메일박스부(26)의 외부에 있을 때마다 2중 포트 데이터 메모리칩(U11∼U14)을 억세스하기 위한 칩인에이블신호(/CE)에 필요한 천이를 금지하도록 프로그램된다.
비밀 인터페이스회로(16)에 대한 동작의 시퀀스(sequence)에 관해서는, 비밀포트(102)로부터의 메모리 독출/기록 사이클이 2중 포트 데이터 메모리(22)를 억세스하려고 하는 외부 엔티티에 의해 초기화되어야 함을 인지하여야 한다. 이 사이클은 프론트 엔트 컴퓨터(18a) 등과 같은 외부 엔티티로부터의 버스요구신호(/BR)의 전송에 따라 개시된다. 어떠한 버스요구신호를 수신함에 따라, 조정회로(114)는 PAL회로(U16)에 액티브 로우 임의 버스요구신호(/ANY_BR)를 전송하게 된다. 임의 버스요구신호는 클록신호(CP)하에서 동작하는 PAL회로(U16)의 내부 플립플롭으로 향하게 된다. 따라서, 임의 버스요구신호는 도 5a의 타이밍도에 나타낸 바와 같이 MEMCLK가 하이로 될 때에 발생되도록 비밀포트 억세스를 위한 클록신호(CP)의 하강 엣지 전에 존재할 필요가 있다. 래치된 임의 버스요구신호가 액티브인 경우, 비밀 인터페이스회로(16)는 비밀포트 메모리 사이클을 억세스하게 된다. 그렇지 않으면, 비밀 인터페이스회로(16)는 다음의 MEMCLK신호 주기까지 비밀포트 메모리 사이클을 초기화하지 않는다.
비밀포트 메모리 사이클이 발생한 경우, PAL회로(U16)로부터 /SP_EN신호가 발생된다. 상기한 바와 같이, 이 신호는 비밀포트의 어드레스 및 데이터 버퍼를 인에이블한다. 또, /SP_EN신호는 버스를 얻는 외부 사용자에 대하여 특정의 버스허가신호(/BG)를 나오게 하는 조정회로(114)를 인에이블한다. 외부 엔티티가 버스허가신호를 검출하면, 독출하려고 하는 메모리 어드레스나 기록동작시에 필요한 어드레스 및 데이터를 전송하게 된다. 어드레스는 RAM칩(U11∼U14)이 실질적으로 억세스되기 전에 안정하게 될 필요가 있기 때문에, 칩인에이블신호(/CE)는 어드레스 버퍼(110)로부터 도입되는 지연을 고려하여 PAL회로(U13)에 의해 지연되게 된다.
비밀포트 독출 사이클에 대해, 데이터버스(118)상에 위치한 데이터는 /CE가 액티브로 된 후에 약 45ns동안 안정하게 된다. 이러한 점에서, 도 5b의 타이밍도에서 'TCE' 등과 같은 심벌은 적절한 지연 시간 구간을 나타낸다는 것에 주목해야 한다. PAL회로(U16)로 인도된 독출래치신호(RDLATCH)는 버퍼(112)로 데이터를 래치하거나 데이터가 유효하다는 것을 지시하기 위해 외부 엔티티에 의해 이용된다. 비밀포트 기록 사이클에 대해, 어드레스버스(122)상의 어드레스 라인은 궁극적으로 비밀포트(102)에 대한 기록억세스를 허가하거나 거절하도록 보호회로(120)에 의해 모니터된다. 기록억세스가 거절된 경우에, 보호회로는 액티브 로우의 칩인에이블신호(/CE)를 발생시키지 않고, 이에 따라 선택된 2중 포트 데이터 메모리(22)내의 특정 어드레스 위치에 대해 기록으로부터 비밀포트(102)상의 외부 엔티티를 제한하게 된다. 이 경우, 보호회로(120)는 제어회로(116)의 PAL회로(U16)로 전송되는 기록어드레스 유효신호(WR_AD_VAL)를 발생시킨다. PAL회로(U16)는 외부 엔티티의 전송을 위한 기록어드레스 유효신호(WR_AD_VAL)를 발생시킴으로써 응답하게 된다. 기록어드레스 에러신호는 액티브 하이로 현재의 메모리 억세스 사이클중에만 유효하며, 이 신호는 모든 외부 엔티티에 대해 공통이다.
유효 기록 어드레스에 대한 비밀포트 억세스에 대해, 보호회로(120)는 /CE신호를 활성화시킨다. 더욱이, 외부 엔티티로부터의 SR/W신호는 버스허가신호(BG)가 로우일 때에 액티브로 되어야 한다. 또, PAL회로(U16)는 2중 포트 데이터 메모리(22)의 RAM칩(U11∼U14)에 대한 기록인에이블신호(/WE)가 액티브로 되게 하여, 상기 /WE신호의 상승 엣지가 이들 RAM칩으로 데이터를 기록하는데 이용된다.
또한, 제어회로(116)는 하나의 버스허가신호(/BG)가 액티브로 된 후에 약 150ns동안 CLEAR신호를 발생시키는 타이머회로(U10)를 포함하고 있다. 상기 CLEAR신호는 버퍼칩(U8)내의 3상태 버퍼가 각 외부 사용자에게 별개의 버스허가 클리어신호(BG1_CLR,‥,BG4_CLR)를 발생시키도록 하는데 이용된다. 더욱이, 상기 CLEAR신호는 비밀포트 인에이블신호(/SP_EN)를 비활성화함으로써 비밀포트 메모리 사이클을 클리어하는데도 이용된다.
도 6a 내지 도 6e에는 상기한 보안 및 유효한 방법의 여러 측면을 더욱 설명하는 한 세트의 플로우차트가 도시되어 있다. 이러한 점에서, 도 6a는 보안서버(68)에 대한 검색으로 향하는 프론트 엔드 컴퓨터(18)의 부트업 절차의 부분을 나타내고 있다. 이 때, 보안서버가 프론트 엔드 컴퓨터(18)에 대해 그 자체를 적절하게 식별시켰다면, 도 6b는 보안테이블[예컨대, 보안 테이블(51)]을 전송하는 절차를 나타낸다. 그 후, 도 6c는 기록 명령 능력을 갖춤에 따라 보안 테이블에서 식별된 각각의 오퍼레이터 워크스테이션과의 시간 제한 통신 계약을 확립하는 절차를 나타내고 있다. 마지막으로, 도 6d 및 도 6e는 오퍼레이터 워크스테이션[예컨대, 오퍼레이터 워크스테이션(72)]으로부터 보내진 기록 명령 메시지를 유효하게 하는 절차를 설명하기 위한 것이다.
먼저, 도 6a에 있어서, 블록(200)은 보안서버(68)가 이 프론트 엔드 컴퓨터에 대해 그 자신을 식별하는 것을 요구하도록 프론트 엔드 컴퓨터 'FEC'가 컴퓨터 네트워크(20)를 통해 방송메시지를 전송하는 것을 나타내고 있다. 이 메시지는 보안 메시지를 위해 이더넷 프로토콜(Eternet protocol)을 바람직하게 이용한다. 이러한 방송 네트워크 메시지의 내용은 블록(202)에 일반적으로 나타나 있다. 이러한 점에 있어서, 네트워크 메시지는 컴퓨터 네트워크(20)의 PAN-1과 PAN-2 세그멘트에 동작적으로 결합된 모든 엔티티로 보내지는 메시지를 야기시키는 수신국 어드레스('FF-FF-FF-FF-FF-FF')를 포함하고 있다. 또한, 네트워크 메시지는 프론트 엔드 컴퓨터의 소스어드레스를 포함하고 있다. 네트워크 메시지는 또한 타입 지시(type indication), 즉 'REQUEST_SECURITY_SERVER를 포함하고 있다. 네트워크 메시지의 데이터부에 있어서 CPU 식별은 프론트 엔드 컴퓨터(18)가 연결되는 프로세스 제어컴퓨터(12)를 위해 부여된다. 부가적으로, 중요하게도 네트워크 메시지의 데이터부는 32비트 난수와 같은 예측할 수 없는 키를 포함하고 있다. 상기한 바와 같이 이러한 랜덤 키는 보안 서버(68)의 동일성을 검증하기 위해 이용된다.
블록(204)은 보안서버(68)가 프론트 엔드 컴퓨터의 물리적 이더넷 어드레스와 프로세스 제어컴퓨터(12)의 CPU ID와 같은 방송 네트워크 메시지의 모든 정보를 체크하는 것을 나타내고 있다. 이 정보가 프론트 엔드 컴퓨터를 위한 보안 서버에 저장된 정보에 대응하는 것으로 가정하면, 확인 응답 메시지는 프론트 엔드 컴퓨터의 물리적 이더넷 어드레스로 다시 보내지게 된다. 보안서버(68)의 동일성을 검증하도록 프론트 엔드 컴퓨터를 인에이블하기 위해, 확인응답 메시지는 프론트 엔드 컴퓨터(18)로부터 보내진 랜덤 키의 변환을 포함하고 있다. 상기한 바와 같이, 이러한 변환은 보안서버(68)로부터의 메시지에 대해 유일한 암호화 알고리즘으로 수행된다.
마름모(208)는 프론트 엔드 컴퓨터(18)가 확인응답 메시지를 수신하기 위해 소정의 시간 동안 대기하게 됨을 나타내고 있다. 만약, 확인응답 메시지가 이러한 타임아웃 기간 내에서 수신되지 않으면, 이때 만약 프론트 엔드 컴퓨터(18)가 동작으로 이행되는 첫 번째라면, 프론트 엔드 컴퓨터는 그 메모리에 저장된 마지막 보안 테이블 또는 디폴트 보안 테이블을 이용하게 된다(블록 210). 그러나, 만약 확인응답 메시지(206)가 시간내에 수신된다면, 이때 프론트 엔드 컴퓨터(18)는 확인응답 메시지에 포함된 변환된 버전의 키에 대해 그 랜덤 키를 체크하게 된다. 상기한 바와 같이, 이러한 비교는 보안 메시지를 위해 암호화 알고리즘을 이용하는 랜덤 키의 변환을 수행하거나 또는 대응하는 해독 알고리즘을 이용하는 랜덤 키의 변환을 수행함으로써 달성될 수 있다. 만약, 변환된 키가 예상 키 수와 매치되면(마름모 214), 이때 프론트 엔드 컴퓨터(18)는 보안서버(68)로부터의 현재 보안 테이블의 하나의 복사를 전달하기 위해 도 6b에 나타낸 절차로 진행된다(블록 216). 그렇지 않으면, 프론트 엔드 컴퓨터는 부트업(boot up) 절차의 이 부분을 빠져나오게 되고, 더 이상의 네트워크 통신 능력의 축적(accumulating)을 중지하게 된다(블록 218). 본 발명의 하나의 형태에 있어서, 프론트 엔드 컴퓨터(18)는 이러한 점에서 네트워크 통신을 수행하도록 허용되지만, 보안 테이블과 같은 이러한 시간이 프론트 엔드 컴퓨터로 성공적으로 전달될 때까지 컴퓨터 네트워크(20)상의 엔티티로부터 수신된 어떠한 기록 명령 메시지도 처리하지 않게 된다.
도 6b에 있어서, 블록(220)은 프론트 엔드 컴퓨터(18)가 보안서버(68)의 특정(논리적 또는 물리적) 이더넷 어드레스에 대해 요구 메시지를 보냄으로써 보안 테이블의 사본을 전달하기 위한 절차를 시작하고 있음을 나타낸다. 이러한 물리적 이더넷 어드레스는 상기 도 6a와 관련해서 상기한 부트업 절차를 통해 학습되어 저장된 어드레스이다. 블록(222)은 이러한 요구 메시지가 프론트 엔드 컴퓨터(18)에 의해 서비스되는 프로세스 제어 컴퓨터를 위한 CPU ID의 식별을 포함하는 것을 나타내고 있다. 더욱이, 프론트 엔드 컴퓨터(18)는 이 CPU ID가 모드(Mode) 데이터(예컨대, 좌측 프로세스 제어컴퓨터를 위한 ML)를 통해 좌측 프로세스 제어컴퓨터(12a) 또는 우측 프로세스 제어컴퓨터(12b)를 위한 것인지의 여부에 따라 보안서버(68)에 또한 알리게 된다.
일단 보안 서버가 이 요구메시지를 수신하면, 메시지에 포함된 데이터를 체크하게 되고, 프론트 엔드 컴퓨터(18)를 위한 제어메시지를 만들게 된다(블록 224). 블록(226)에 나타낸 바와 같이, 이러한 제어메시지는 몇 바이트가 요구메시지에서 식별된 프로세스 제어컴퓨터를 위한 보안 테이블에 포함되어있는지를 프론트 엔드 컴퓨터(18)에 알리게 된다. 프론트 엔드 컴퓨터(18)는 새로운 랜덤 키를 포함하는 확인 응답 메시지에 응답하게 된다(블록 228,230). 이때, 보안 서버는 변환된 랜덤 키를 갖춘 보안 테이블[예컨대, 좌측 프로세스 제어컴퓨터(12a)를위한 보안 테이블(51)]을 전송하게 된다(블록 232,234). 다음에, 프론트 엔드 컴퓨터(18)는 변환된 키가 예상 키와 매치되는지를 결정하게 된다(마름모 236). 만약, 키가 매치되지 않으면, 프론트 엔드 컴퓨터(18)는 메모리에 저장된 구(old) 또는 현재의 보안 테이블을 이용하게 된다(블록 238). 그렇지 않으면 프론트 엔드 컴퓨터(18)는 이용을 위해 새로운 보안 테이블을 저장하게 되고, 보안 서버로 다시 확인응답 메시지를 전송하게 된다(블록 240∼244). 프론트 엔드 컴퓨터(18)는 자신의 보안 테이블을 생성하기 위한 편집 능력(editing capability)이 또한 제공될 수 있는 반면, 분리 네트워크 보안 서버는 프론트 엔드 컴퓨터가 상기 식별된 기능의 전용이 되도록 하기 위해 채택되는 것이 바람직하다.
도 6c에는 시간 제한 통신 계약을 확립하기 위한 절차가 도시되어 있다. 프론트 엔드 컴퓨터(18)는 32비트의 난수에 의해 표현되는 감시 키(watch-dog key)를 생성함으로써 시작된다(블록 246). 이때, 프론트 엔드 컴퓨터(18)는 감시 메시지(watch-dog message)를 차례로 각 오퍼레이터 워크스테이션(기록명령 메시지를 갖춤으로써 보안 테이블에서 식별된)의 물리적 이더넷 어드레스로 보내게 된다. 이러한 점에 있어서, 이는 각각의 메시지에 대한 새로운 감시 키(watch-dog key)를 포함하는 개별적인 감시 메시지임을 인식해야 한다(블록 248). 이러한 감시 메시지를 수신하는 각각의 오퍼레이터 워크스테이션은 감시 키의 변형을 포함하는 감시 응답 메시지(watch-dog reply message)에 응답하게 된다(블록 250,252).
오퍼레이터 워크스테이션이 현재 컴퓨터 네트워크(20)와 통신하지 않을 수도 있으므로, 프론트 엔드 컴퓨터(18)는 10초 정도의 적절한 타임 아웃 기간 동안 대기하는 것이 바람직하다(마름모 254). 만약, 오퍼레이터 워크스테이션이 이 타임 아웃 기간 내에서 감시 메시지에 응답하지 않는다면, 프론트 엔드 컴퓨터(18)는 계약을 만들기 위해 부가적인 시도를 하게 된다(마름모 256과 블록 258). 만약, 응답이 이러한 모든 시도후에 오퍼레이터 워크스테이션으로부터 수신되지 않으면, 이때 프론트 엔드 컴퓨터(18)는 이러한 특정 오퍼레이터 워크스테이션의 기록 명령 능력을 디스에이블시키게 된다(블록 260). 그러나, 갱신된 보안 테이블이 프론트 엔드 컴퓨터(18)로 전달될 때와 같이 이러한 기록 명령 능력은 연속적으로 재확립될 수 있음을 인식해야 한다. 이러한 점에 있어서, 보안 서버(68)는 프론트 엔드 컴퓨터(18)로 적절한 네트워크 메시지를 통해 상기한 보안 테이블 전송절차를 초기화할 수 있음에 주목해야 한다.
오퍼레이터 워크스테이션이 감시 요구메시지에 응답하는 경우, 이때 프론트 엔드 컴퓨터(18)는 응답메시지에 포함되어 있는 변환된 감시 키가 예상키 수와 매치되는지를 결정하게 된다(마름모 262). 만약, 매치가 이러한 비교를 통해(상기한 바와 같이) 발견된다면, 이 때 프론트 엔드 컴퓨터(18)는 응답 메시지를 무시하게 된다(블록 264). 이 시점에서, 프론트 엔드 컴퓨터(18)는 이 오퍼레이터 워크스테이션과의 시간 제한 통신 계약을 확립하거나 또는 그 기록 명령 능력을 디스에이블시키기 위해 다시 시도한다. 매치가 발견된 경우, 프론트 엔드 컴퓨터(18)는 현재 키 위치로부터 구 키 위치까지 이러한 오퍼레이터 워크스테이션의 이전 및 유효 감시 키를 복사하게 된다(블록 266). 이 때, 프론트 엔드 컴퓨터(18)는 현재 키 위치의 응답메시지에 수신된 변환된 감시 키를 저장하게 된다. 이하 설명하는 바와 같이, 현재와 구 키(old key)는 시간 제한 통신 계약이 유효한 기간 동안 오퍼레이터 워크스테이션으로부터 기록 명령 메시지의 유효성을 평가하는데 이용된다. 이러한 점에 있어서, 도 6c에 나타낸 절차는 프론트 엔드 컴퓨터(18)에 의해 처리된 기록 명령 메시지를 갖도록 오퍼레이터 워크스테이션의 지속적인 능력을 유지하도록 하기 위해 시간 제한 통신 계약이 종료되기 전에 기록 명령 특권(privileges)에 따라 각각의 오퍼레이터 워크스테이션에 대해 반복되고 있음을 이해해야 한다.
도 6d와 도 6e에는 이들 특징들이 오퍼레이터 워크스테이션[예컨대, 오퍼레이터 워크스테이션(72)]으로부터 프론트 엔드 컴퓨터(18)로 보내진 기록 명령 메시지를 유효화하기 위한 절차를 설명하기 위해 조합된다. 이러한 절차는 프론트-엔드 컴퓨터(18)에 기록 명령 메시지를 보내는 오퍼레이터 워크스테이션에 따라 개시된다(블록 268). 이러한 메시지는 컴퓨터 네트워크(20)상의 다른 엔티티와 프론트 엔드 컴퓨터(18) 사이에서 통신을 위한 표준 이더넷 프로토콜을 바람직하게 이용한다. 이러한 점에서, 기록 명령 메시지는 변화에 대해 탐색된 변수 뿐만 아니라 시간 제한 통신 계약으로부터 감시 키와, 수신 프로세스 제어 컴퓨터의 CPU 식별 및, 이러한 프로세스 제어 컴퓨터(12)의 프로그램 버전 식별을 포함한다. 이때, 프론트-엔드 컴퓨터(18)는 이러한 기록 명령 메시지상에서 몇가지 체크를 수행하게 된다. 예컨대, 프론트-엔드 컴퓨터(18)는 이러한 특정 오퍼레이터 워크스테이션을 위한 엔티티를 갖는지를 결정하도록 보안 테이블을 시험하게 된다(마름모 270). 만약, 이러한 오퍼레이터 워크스테이션이 보안 테이블에서 발견되지 않았다면, 이때 프론트 엔드 컴퓨터는 오퍼레이터 워크스테이션으로 기록 명령 메시지를 복귀시키게 되고, 이러한 에러의 저장된 로그를 야기시킨다(블록 272).
오퍼레이터 워크스테이션이 보안 테이블에서 인식된 것으로 가정하면, 이때 프론트 엔드 컴퓨터는 기록 명령 비트가 이러한 오퍼레이터 워크스테이션을 위해 세트되는지를 결정하도록 보안 테이블을 체크하게 된다(마름모 274). 이 시점에서, 보안 테이블은 프론트 엔드 컴퓨터와 통신할 수 있는 컴퓨터 네트워크(20)상의 모든 유효 엔티티의 이더넷 어드레스를 포함할 뿐만 아니라 이러한 엔티티가 기록 명령 특권을 갖는지의 여부에 관한 지시를 포함한다는 것을 이해해야 한다. 보안 테이블은 알람 메시지와 같이 프로세스 제어 컴퓨터로부터 정보의 특정 형태를 요구하는 이러한 엔티티인지의 여부와 CPU 식별과 같이 이러한 각 엔티티에 속하는 부가적인 정보를 포함한다. 만약, 보안 테이블이 기록 명령 특권을 지시하는 비트 세트를 갖지 않는다면, 이때 프론트 엔드 컴퓨터는 오퍼레이터 워크스테이션(또는 다른 소스 엔티티)에 기록 명령 메시지를 되돌리게 되고, 이러한 에러를 로그하게 된다(블록 276).
오퍼레이터 워크스테이션이 기록 명령 메시지 특권을 갖는 경우, 프론트 엔드 컴퓨터는 감시 키(기록 명령 메시지에 포함된)가 현재 또는 구 감시 키와 매치되는지의 여부를 결정하게 된다(마름모 278). 매치가 발견되지 않으면, 프론트 엔드 컴퓨터는 오퍼레이터 워크스테이션에 무효 감시 메시지를 복귀시킨다(블록 280). 만약, 매치가 발견되면, 프론트 엔드 컴퓨터는 기록 명령 메시지에 포함된 프로그램 버전 식별이 수신 프로세스 제어 컴퓨터(12)를 위한 프론트 엔드 컴퓨터에 저장된 프로그램 버전 식별과 매치되는가를 알기 위해 바람직하게 체크된다(마름모 282). 만약, 이러한 프로그램 버전 식별이 매치되지 않는다면, 프론트 엔드 컴퓨터는 오퍼레이터 워크스테이션에 무효 프로그램 버전 메시지를 복귀시키게 된다(마름모 284).
또한, 프론트 엔드 컴퓨터(18)는 기록 명령 메시지가 수신 프로세스 제어 컴퓨터를 위한 허용 테이블이 바이패스되어져야만 하는가의 지시를 포함하는지를 알기 위해 체크하게 된다(마름모 286). 허용 테이블을 바이패스하기 위한 능력은 이러한 특권을 갖는 오퍼레이터에게 할당된 물리적인 키 또는 패스워드의 이용을 요구하는 특정 특권을 고려할 수 있다. 만약, 바이패스 비트가 기록명령 메시지에 세트되면, 프론트 엔드 컴퓨터는 바이패스가 만약 그렇지 않다면 어드레스되는 특정 허용 테이블 또는 테이블부를 위해 허용되는가를 결정하도록 허용 테이블[예컨대, 허용 테이블(80a)]을 여전히 바람직하게 체크하게 된다(마름모 288). 만약, 이러한 허용 테이블의 바이패스가 허용되지 않으면, 프론트 엔드 컴퓨터는 기록 억세스가 이러한 방법에서는 없음을 나타내기 위해 오퍼레이터 워크스테이션으로 메시지를 복귀시키게 된다(블록 290). 만약, 허용 테이블의 바이패스가 허용된다면, 프론트 엔드 컴퓨터는 프론트 엔드 컴퓨터의 허용 테이블에 저장된 프로그램 버전 식별의 변환된 버전을 갖춘 수신 프로세스 제어컴퓨터에 기록 명령 메시지를 전송하게 된다(블록 292). 이때 수신 프로세스 제어컴퓨터(12)는 이 변환된 프로그램 버전 식별이 기록 명령 메시지에 등록된 변수를 변화시키도록 결정하기 전에 그 동작 프로그램의 프로그램 버전 식별과 매치되는지를 결정할 수도 있다.
기록 명령 메시지가 바이패스 비트 세트를 가지고 있지 않은 경우, 프론트 엔드 컴퓨터(18)는 변화될 변수가 그들의 기록 명령 비트 세트를 가지고 있는지를 결정하기 위해 허용 테이블을 체크하게 된다(마름모 294). 만약, 기록 명령 비트가 이들 변수들중의 어느 하나에 대해서도 세트되지 않는다면, 프론트 엔드 컴퓨터는 오퍼레이터 워크스테이션으로 복귀시키는 기록 억세스 메시지는 없게 된다(블록 296). 그렇지 않으면, 만약 프론트 엔드 컴퓨터가 기록 명령메시지가 채택 가능하다고 결정한다면, 상기한 바와 같이 수용 프로세스 제어컴퓨터로 메시지를 전송하게 된다(블록 292).
도 7은 프론트 엔드 컴퓨터(18)를 위한 응용 소프트웨어(300)의 블록도를 나타낸다. 이러한 점에서, 도 7은 컴퓨터 네트워크(20)를 위한 이더넷 서비스(304)와 프론트 엔드 컴퓨터(18)의 Q-버스(302)를 갖는 응용 소프트웨어의 상호 작용을 도시하고 있다. 따라서, 예컨대, 양방향 라인이 Q-버스(302)와 IFQ 드라이버(308) 사이에 제공된다. IFQ 드라이버(308)는 프론트 엔드 컴퓨터(18)의 CPU와의 통신을 제어하기 위한 장치 구동 소프트웨어를 설명한다. IFQ 드라이버(308)는 데이터 저장 이벤트(312)를 통해 'MI Sync' 서브시스템(310)에 결합된다. 이러한 점에서, 'MI Sync' 서브시스템은, 프로세스 제어컴퓨터(12a,12b)의 하나로부터 SDSS데이터가 적절한 중간 버퍼[예컨대, 중간 버퍼(46a,48b)]에 완전하게 수신될 때 처럼, IFQ 드라이버(308)로부터 DMA 완성의 통지를 수신한다. 도 1에서의 반사 메모리(46a,56a)는 반사 메모리(314)로서 도 7에 도시된다. 또한, 도 7은 반사 메모리(314)가 프론트 엔드 컴퓨터(18)의 Q-버스(302)에 동작적으로 결합된 것을 나타내고 있다.
MI Sync 서브시스템(310)은 상기한 바와 같이, 반사 메모리(314)의 동작을 통해 각 프로세스 제어컴퓨터(12a,12b)로부터 도입되는 SDSS와 DSS 데이터 프레임을 동기화하기 위한 책임이 있는 응용 소프트웨어의 부분을 나타낸다. 또한, MI Sync 서브시스템은 데이터 프레임이 프로세싱을 위해 이용가능할 때, '시스템 메시지(System Messages)'모듈(318)과 'MI MOD 헬스(Health)'모듈(316)을 통지한다. 더욱이, MI Sync 서브시스템(310)은 프로세스 제어컴퓨터의 하나가 프론트 엔드 컴퓨터(18)에 데이터를 보내는 것을 중지시킬때와 같이 반사 메모리 갱신이 일어났는지 아닌지를 검출하기 위해 이용된다. 이러한 절차는 'MOD상태(Status)'모듈(320)과 'MI 감시(Watchdog)'모듈(322)을 통해 실행된다. MI 감시 모듈(322)은 프론트 엔드 컴퓨터(18)가 프로세스 제어컴퓨터(12a,12b)로부터 데이터 수신을 중지하면, 검출을 위해 2초 타이머를 이용한다.
MI MOD 헬스 모듈(316)은 프로세스 제어컴퓨터(12a,12b)로부터 프론트 엔드 컴퓨터(18)에 의해 수신되어지는 데이터에서 변화되는 헬스 비트(health bit)를 처리한다. 이러한 점에서, MI MOD 헬스 모듈(316)은 'EVT 이벤트 헨들러(Event Handler)'모듈(324)로 이러한 변화를 보낸다. 마찬가지로, MI 시스템 메시지 모듈(318)은 프로세스 제어컴퓨터로부터 도입되는 시스템 메시지를 처리하고, EVT 이벤트 헨들러 모듈(324)에 대해 소정 요구를 대기한다. EVT 이벤트 헨들러 모듈(324)은 이벤트 버퍼를 처리하고, 프린트 서비스(Print Services) 모듈(326)에 대한 출력을 위해 텍스트를 포맷하며, 에러와 이벤트 로그에서 다른 이벤트를 기록한다.
반사 메모리(314)는 반사 메모리로 독출 동작을 수행하는 'MI CISS 메모리 독출(Memory Read)'모듈(328)에 결합된다. 이러한 점에서, MI CISS 메모리 독출 모듈(328)은 데이터/메시지를 전송하기 위한 표준 이더넷 프로토콜로 질의 응답을 포맷하고, 응답을 포트(330)를 매개로 네트워크 엔티티를 요구하는 쪽으로 향하게 한다. 'NI CISS'모듈(332)은 데이터/메시지를 전송하기 위한 표준 프로토콜을 이용하는 네트워크 엔티티로부터 도입되는 질의 요청을 수신한다. NI CISS모듈(332)은 메시지상의 초기 보안 체크를 수행하고, 요구를 메시지 형태에 의해 결정됨에 따른 적절한 처리로 경로를 정한다. 예컨대, NI CISS모듈(332)은 MI CISS 메모리 독출 모듈(328)로 독출 데이터 메시지의 경로를 정한다. 부가적으로, NI CISS 모듈(332)은 'MI 다운로드 헨들러(Download Handler)'모듈(334)로 프로그램 다운로드 요구의 경로를 정한다. 다른 요구 메시지는 'MI 메시지 서비스'모듈(336)로 경로가 정해진다.
또한, 응용 소프트웨어(300)는 이용자 인터페이스에 따라 통신을 용이하게 하는 모듈을 포함한다. 이러한 점에서, 이용자 인터페이스는 프로세스 제어컴퓨터(12a,12b)중 하나에 대한 인터페이스에 대항하는 바와 같이 프론트 엔드 컴퓨터(18)의 동작으로 윈도우를 제공하기 위해 이용된다. 이용자 인터페이스 소프트웨어는 프론트 엔드 컴퓨터(18)에 직접적으로 연결된 터미널을 통해 '근거리적(locally)'으로 억세스될 수 있다. 또한, 이용자 인터페이스 소프트웨어는 보안 서버(68)로부터 실행될 수 있는 응용을 통해 '원격적(remotely)'으로 억세스될 수 있다. 이용자 인터페이스는 특정 프로토콜을 위한 네트워크 통신을 디스에이블 또는 리인에이블하고, 진단기능을 수행하며, 프론트 엔드 컴퓨터를 재부팅시키고, 모니터 액티비티 메모리를 갱신하며, 그렇지 않으면 특권이 부여된 프론트 엔드 컴퓨터 기능에 대해 억세스를 관리하는데 이용된다.
이용자 인터페이스 요구를 처리하는 응용 소프트웨어는 'NI 원격 이용자(Remote User)'모듈(338)과, 'UI 근거리(Local)' 모듈(340) 및, 'UI 서비스(Service)' 모듈(342)이다. NI 원격 이용자 모듈(338)은 이용자 인터페이스 통신을 위한 프로토콜을 갖춘 모든 메시지를 수신하고, 이를 UI 서비스 모듈(342)에 대해 유효 요구를 진행하게 한다. UI 서비스 모듈(342)은 근거리 및 원격 이용자 요구를 위해 데이터 서버를 제공한다. UI 근거리 모듈(340)은 근거리 터미널상에서 응답을 디스플레이하기 위해 근거리 이용자 인터페이스 디스플레이 스크린을 처리한다.
또한, 응용 소프트웨어(300)는 네트워크 인터페이스 메시지 버퍼의 자유로운 대기를 유지함과 더불어 이더넷 기록 완료의 통지를 수신하는 'NI 전송 완료(Transmit Done)'모듈(344)을 포함한다. 더욱이, 'EVT 파일 메인트(File Maint)' 모듈(346)은 에이지드 이벤트 로그 파일(aged event log files)을 삭제하기 위해 이용된다. 더욱이, 감시 보안 프로세스를 실행하기 위한 'NI 감시' 모듈(348)과 'NI SCSP' 모듈(350)이 앞에서 논의되었다. 이러한 점에서, NI 감시 모듈(348)은 오퍼레이터 워크스테이션에 감시 요구 보내고, NI SCSP모듈(350)은 응답 메시지(뿐만 아니라 보안 프로토콜을 이용하는 모든 다른 네트워크 메시지)를처리한다. 또한, NI 감시 모듈(348)은 응답 메시지가 각 감시 요구 메시지에서 수신되는지를 알기 위해 체크한다.
감시 응답 메시지 외에, NI SCSP모듈(350)은 'CFG 콘피그 매니저(Config Manager)' 모듈(352)에 모든 다른 보안 프로토콜 메시지를 향하게 한다. CFG 콘피그 매니저 모듈(352)은 보안 요구를 처리하고, 허용 테이블(80a,82a)의 초기 로딩을 수행한다. 또한, CFG 콘피그 매니저 모듈(352)은 도 8과 관련하여 이하 설명되는 메모리 맵의 로딩을 실행한다. 응용 소프트웨어(300)는 또한 다른 모든 프론트 엔드 컴퓨터 처리를 생성하도록 기본 초기화 루틴을 수행하는 'MIF 마스터 프로세스(Master Process)' 모듈(354)을 포함한다. MIF 마스터 프로세스 모듈(354)은 또한 이러한 처리의 어느 기대되지 않은 종료를 검출하기 위해 이용된다.
도 8은 프론트 엔드 컴퓨터(18a)를 위한 구성의 블록도를 나타낸다. 특히, 도 8은 CFG 콘피그 매니져 모듈(352)이 부트업 상의 프론트 엔드 컴퓨터(18a)를 구성하는데 필요한 정보를 얻기 위해 보안 서버(68) 및 다운로드 어시스턴트부(78)와 상호 작용하는 것을 설명한다. 이러한 점에서, CFG 콘피그 매니져 모듈(352)은 이러한 구성 작용을 수행하기 위해 MIF 마스터 프로세스(Master Process) 모듈(354)로부터의 요구에 대해 응답한다. 즉, CFG 콘피그 매니져 모듈(352)은 (상기한 바와 같이) 방송 네트워크 메시지를 통해 보안서버(68)를 위치시키고, 보안서버로부터 궁극적으로 수신된 보안 테이블(S1)을 로드한다. 더욱이, CFG 콘피그 매니저 모듈(352)은 다운로드 어시스턴트부(78)로부터 허용 테이블(80a,82a) 양쪽을 로드하게 된다. 또한, CFG 콘피그 매니저 모듈(352)은 도 8에 도시된 메모리맵(356)과 같은 각 프로세스 제어컴퓨터(12a,12b)를 위한 메모리 맵을 수신한다. 메모리 맵은 전송 테이블[예컨대, 전송 테이블(37)]을 구성하도록 프론트 엔드 컴퓨터(18a)를 인에이블함과 더불어 각 반사 메모리 버퍼(314)에서 수신된 데이터를 해석하는데 이용된다. 즉, 각 메모리 맵은 각 프로세스 제어컴퓨터(12a,12b)를 위한 2중 포트 데이터 메모리(22)의 각 주소가능 위치에 저장된 데이터를 식별한다. 이러한 처리의 일부로서, 메모리 맵은 프로세스 제어컴퓨터(12)의 2중 포트 데이터 메모리(22)를 논리적 세그먼트로 분할한다. 세그먼트의 제1세트는 SDSS 데이터 값을 위해 이용되고, 반면 DSS 데이터값은 부가적인 세그먼트 뿐만 아니라 SDSS 메모리 세그먼트를 포함한다.
상기한 바와 같이, MI Sync 서브시스템(310)은 주어진 프로세스 제어 사이클 스냅슛을 위한 데이터를 나타내는 데이터 테이블의 코헤시브(Cohesive pair) 쌍으로 양 프로세스 제어컴퓨터(12a,12b)를 위한 SDSS 및 DSS 데이터의 전송과 관련된 DMA 종료 이벤트를 집단화하는 책임을 지고 있다. 이러한 논의에 대해, 이러한 DMA 종료 이벤트는 좌측 SDSS 버퍼와, 우측 SDSS 버퍼, 좌측 DSS 버퍼 및, 우측 DSS 버퍼로서 언급된다. 이러한 데이터 버퍼에서의 정확한 순서는 다양하게 변화될 수 있지만, SDSS 버퍼는 DSS 버퍼를 앞서게 된다.
MI Sync 서브시스템(310)은 상기 식별된 DMA 이벤트에 응답한다. 이러한 점에서, MI Sync 서브시스템(310)은 DMA 이벤트의 완료를 기다리게 되고, 이때 수신된 버퍼의 형태를 결정하기 위한 상태를 체크한다. 만약, 수신된 버퍼가 SDSS버퍼이고, 프론트 엔드 컴퓨터(18)가 이미 대응하는 DSS버퍼를 수신했다면, 이때 최종완료 처리가 수행되게 된다. 마찬가지로, 이러한 형태의 버퍼가 이미 수신됐다면, 최종 완료 처리가 수행되게 된다. 만약, 수신된 버퍼가 제1버퍼가 아니면, 이때 MI Sync 서브시스템(310)은 현재 시간과 제1버퍼가 수신된 시간 사이의 시간차를 체크하게 된다. 만약, 이 차이가 0.7초와 같은 소정 오차를 초과한다면, 이때 최종 완료 처리를 위한 단계가 수행되게 된다. 만약, 이것이 제1버퍼(예컨대, 좌측 SDSS 버퍼)라면, 이때 이 버퍼가 수신된 시간이 기록되게 된다. 만약, 이 버퍼가 이점에서 기대되지 않았다면, 이때 그 상태는 기대되도록 변화된다. 이 버퍼에 대한 포인터가 또한 기록되게 되고, 버퍼는 수신된 것으로 표시된다.
MI Sync 서브시스템(310)은 모든 기대된 버퍼(예컨대, 좌측/우측 SDSS 및 좌측/우측 DSS 버퍼)가 수신되었는가를 알기 위해 또한 체크하게 된다. 만약, 모든 기대된 버퍼가 수신되었다면, 이때 최종 완료 처리가 수행된다. 최종 완료 처리 동안, 수신된 버퍼를 위한 버퍼 포인터는 다른 응용이 이러한 데이터에 접근하는 것을 허용하는 시스템 데이터 구조에 복사되어지게 된다. 이 절차는 '머텍스(mutex)'로 언급되는 상호 배제 세머포어(mutual exclusion semaphore)에 의해 보호된다. 더욱이, 에러 카운터가 모든 수신된 버퍼에 대해 제로로 될 것이다. 만약, 어느 기대된 버퍼가 수신되지 않았다면, 관련된 에러 카운터는 증대된다. 만약, 에러 카운터가 허용된 임계를 초과한다면, 이때 영향을 미친 버퍼가 기대되지 않은 것으로 표시된다. 이때, 모든 버퍼는 버퍼의 다음 세트에 대한 처리를 셋업하기 위해 수신되지 않은 것으로 표시된다. 수신된 메모리 버퍼를 억세스하는 응용은 이용을 위해 공유 시스템 데이터 구조 외의 버퍼 포인터를 복사한다.
MI Sync 서브시스템(310)의 동작을 보다 완전하게 설명하기 위해, 이러한 소프트웨어를 위한 의사 코드 및 모듈 개요 테이블이 이하 제공된다. 더욱이, 반사 메모리 버퍼(314)를 위한 데이터 구조가 의사 코드의 해석을 돕도록 잘 설명된다. 데이터 구조는 테이블1∼3에 포함되고, 모듈 개요 테이블은 테이블 4에 포함되며, 의사 코드는 바로 그 뒤를 따른다.
테이블1: 반사 메모리 데이터 구조
-------------------------------------------------------------------
데이터 아이템 데이터 포맷 설명
-------------------------------------------------------------------
데이터 구조 MI_RM_DATA
-------------------------------------------------------------------
RM_MUTEX 머텍스 이 데이터 구조를 보호하기 위해 이용되는
머텍스
RM_STATUS 워드 현재 반사 메모리 상태를 나타냄
LEFT_SDSS_PTR 포인터 현재 좌측 SDSS 반사 메모리 버퍼에 대한
포인터
RIGHT_SDSS_PTR 포인터 현재 우측 SDSS 반사 메모리 버퍼에 대한
포인터
LEFT_DSS_PTR 포인터 현재 좌측 DSS 반사 메모리 버퍼에 대한
포인터
RIGHT_DSS_PTR 포인터 현재 우측 DSS 반사 메모리 버퍼에 대한
포인터
FOX_DSS_PTR 포인터 현재 폭스 DSS 반사 메모리 버퍼에 대한
포인터
DOG_DSS_PTR 포인터 현재 독 DSS 반사 메모리 버퍼에 대한
포인터
FOX_MAP_PTR 포인터 현재 폭스버퍼를 위한 현재 메모리 맵
(좌측 또는 우측)에 대한 포인터
DOG_MAP_PTR 포인터 현재 독버퍼를 위한 현재 메모리 맵
(좌측 또는 우측)에 대한 포인터
FOX_SIDE 긴워드 폭스인 채널을 나타냄.
0=좌측, 1=우측,-1=정의되지 않음
DOG_SIDE 긴워드 독인 채널을 지시한다.
0=좌측, 1=우측,-1=정의되지 않음
LEFT_INFO_BYTE 바이트 좌측버퍼로부터 만족된 아웃바운드 CISS요구를
위한 정보바이트. 폭스/독 상태를 포함함.
RIGHT_INFO_BYTE 바이트 우측버퍼로부터 만족된 아웃바운드 CISS요구를
위한 정보바이트. 폭스/독 상태를 포함함.
FOX_INFO_BYTE 바이트 폭스버퍼로부터 만족된 아웃바운드 CISS 요구
를 위한 정보바이트. 좌/우 상태를 포함함.
DOG_INFO_BYTE 바이트 독버퍼로부터 만족된 아웃바운드 CISS요구를
위한 정보바이트. 좌/우 상태를 포함함.
______________________________________________________________________
테이블2: 반사 메모리 데이터 구조
-------------------------------------------------------------------
데이터 아이템 데이터 포맷 설명
-------------------------------------------------------------------
데이터 구조 MI_RMBMS[4] - 구조 어레이
-------------------------------------------------------------------
NOTE: 4개의 MI_RMB_STSTUS_TYPE(아래에 데이터 구조를 정의한
다)으로 구성되는 반사 메모리 버퍼 매니지먼트(MI_
RMBMS)어레이. 각 RMBMS엔트리는 특정 반사 메모리 형태
(좌/우 SDSS와 DSS)의 트랙을 유지하기 위해 이용된다.
기호적인 색인은 이 어레이를 억세스하기 위해 정의된다
: MI_RM_L_SDSS, MI_RM_R_SDSS, MI_RM_L_DSS, MI_RM_D_DSS.
LAST_RECEIVED 시간 이 형태를 위한 최종 버퍼의 수신 시간을 특정
함.
DMA_EVENT 오브젝트 메모리 버퍼의 이 형태를 위한 DMA종료가 종료
변수 될 때, IFQ드라이버에 의해 통지되는 이벤트를 위한 VAXELN 오브젝트 ID를 포함함.
ENABLE_EVENT 오브젝트 스트로브가 인에이블된 것을 MI Sync에 알리도
변수 록 MI_ENABLE_STROBES를 호출함으로써 통지된
이벤트를 위한 VAXELN 오브젝트 ID를 포함함.
DISABLE_EVENT 오브젝트 스트로브가 디스에이블된 것을 MI Sync에 알리
변수 도록 MI_DISABLE_STROBES를 호출함으로써 메모
리의 이 형태를 위한 DMA종료시 IFQ 드라이버
에 의해 통지되는 이벤트를 위한 VAXELN 오브
젝트 ID를 포함함.
PEND_BUFF_PTR 포인터 현재시간 윈도우의 이 메모리 형태를 위해
수신되는 DMA버퍼에 대한 포인터를 포함함.
MI_RM_DATA에 대해 포인터를 복사하는 것으로
MI Sync에 의해 널로 리세트함.
RMB_STS 긴워드 긴워드 비트 마스크는 이 반사 메모리
버퍼의 상태를 나타낸다. 개별적인 비트 필
드가 이하 열거됨.
RMB_STS_V 비트 이 반사 메모리형태를 위한
EXPECTED 관련된 스트로브가 인에이
블된 것을 나타내고, 따라
서 DMA 종료가 기대되는 것
을 나타내는 RMB_STS내의
비트.
RMB_STS_V_ 비트 이 반사 메모리형태를 위
RECEIVED 한 DMA 종료가 현재 DMA
시간 윈도우에서 야기된 것
을 나타내도록 MI Sync에
의해 이용된 RMB_STS 내의
비트. 버퍼의 완전한 세트
가 수신되고, 수신된 각각
의 개별적인 버퍼형태를 위
해 세트될 때마다 크리어
됨.
RMB_STS_V_ 비트 이 반사 메모리 형태를 위
DSS_BUFF 한 DMA 종료가 현재 DMA
시간 윈도우에서 야기된 것
을 나타내는 MI Sync.
버퍼의 완전한 세트가 수신
될때 마다 크리어된다.
문제의 반사 버퍼 형태가
버퍼 형태가 좌측 또는 우
측 DSS 반사 메모리 버퍼용
인가를 나타낸다.
RMB_STS_V_ 비트 고려된 스트로브가 인에
ENABLED 블되는지를 나타낸다.
CONS_ERR_COUNT 긴워드 이 버퍼형태를 위한 연속적인 수신 실패의
수를 특정한다.
DMA_ERR_COUNT 긴워드 이 버퍼 형태를 위한 연속적인 DMA 종료 실패
의 수를 특정한다.
ADSB 구조 DMA 종료 상태를 나타내도록 드라이브에 의
해 이용되는 비동기 데이터 상태 블록을
특정한다. 이 구조는 IFQS_ADSB 형태이고,
상태 필드와 버퍼수 필드를 포함한다.
BUFFER_PTR 포인터 BUFFER_PTR은 IFQ$_ENABLE_DSS 또는 SDSS에
어레이[8] 서 특정화되는 순으로 이 반사 메모리 형태
를 위해 이용되는 8개 DMA버퍼까지의 어드레
스를 갖는 BUFFER_PTR 어레이. 이 어레이는
막 수신된 DMA버퍼의 기본 어드레스를 검색
하도록 ADSB에 돌아온 버퍼 번호수 필드에 의
해 첨자가 부여된다. 이 어레이의 크기는
IFQ 드라이버에 의해 지지되는 DMA버퍼
의 최대수를 위해 허용된다.
BUFF_HIST_IDX 긴워드 BUFF_HIST_PTR 어레이에 대한 인덱스. 가장
최근의 갱신 버퍼를 나타낸다.
BUFF_HIST_PTR 포인터 가장 최근 수신된 버퍼의 서큘러 버퍼. DMA는
어레이[8] 마지막 8초에서 수신된 버퍼를 나타낸다.
BUFF_HIST_IDX는 가장 최근 엔트리에 대해 포
인트한다.
MOD_TASK 긴워드 가장 최근 반사 메모리 갱신에 의해 나타나는
PCC 태스크 상태를 나타낸다.
RMB_STS_V_DSS_BUFF가 세트될 때만 유효하다.
-----------------------------------------------------------------------
테이블3: 반사 메모리 데이터 구조
-------------------------------------------------------------------
데이터 아이템 데이터 포맷 설명
-------------------------------------------------------------------
데이터 구조 MI_RM_AUX
-------------------------------------------------------------------
LAST_DSS_L_PTR 포인터 가장 최근 좌측 DSS버퍼에 대한 포인터.
MI SYNC에 의해 세트되고, MI헬스 체크와
MI 시스템 메시지에 의해 이용된다.
LAST_DSS_R_PTR 포인터 가장 최근 우측 DSS버퍼에 대한 포인터.
MI Sync에 의해 세트되고, MI 헬스 체크와 MI
시스템 메시지에 의해 이용된다.
WD_FLAG 긴워드 Ml Sync액티비티에 대해 체크하기
위해 Ml Sync와 MI Watchdog에 의해
이용되는 플래그
DMA_BUFFER_COUNT 긴워드 최근에 이용중인 DMA버퍼의 수를 특정한다.
개시시에 MIF_MP.NUM_DMA BUFFER로부터 복사
된다.
TIME_CHANGE 이벤트 시간변화가 야기될 때 세트된다.
오브젝트 제1DMA 수신의 시간을 재결정하도록
Ml Sync에 알린다.
SYSMSG_L_SEMA 세머포어 좌측 반사 메모리를 처리하도록
오브젝트 Ml 시스템 메시지를 트리거 하기
위해 Ml Sync에 의해 세트된다.
SYSMGR_R_SEMA 세머포어 우측 반사 메모리를 처리하도록
오브젝트 Ml 시스템 메시지를 트리거 하기
위해 Ml Sync에 의해 세트된다.
HEALTH_L_SEMA 세머포어 좌측 반사 메모리를 처리하도록
오브젝트 Ml 헬스 체크를 트리거하기 위해
Ml Sync에 의해 세트된다.
HEALTH_R_SEMA 세머포어 우측 반사 메모리를 처리하도록
오브젝트 Ml 헬스 체크를 트리거하기 위해
Ml Sync에 의해 세트된다.
______________________________________________________________________
테이블4: 반사 메모리 데이터 구조
-------------------------------------------------------------------
데이터 아이템 데이터 포맷 설명
-------------------------------------------------------------------
데이터 구조 MI_SYNC_MAIN
-------------------------------------------------------------------
ABSTRACT 도입되는 DMA버퍼의 수신을 동기화한다.
MODULE TYPE 프로세서 메인라인
EVENT/ ML_RMBMS(*). 새로운 반사 메모리 버퍼의 수신에 따라
SEMAPHORES EVENT IFQ DMA_드라이버 프로세스에 의해 통지
되는 4개(좌/우 DSS/SDSS)의 종료 이벤트.
MI_RMBMS 어레이에 대한 인덱스는 MI_RM_
L_ DSS, MI_RM_R_DSS, MI_RM_L_SDSS,
MI_RM_R_SDSS이다.
ML_RMBMS(*). 4개(좌/우 DSS/SDSS)의 DMA 인에이블 이벤트.
ENABLE_ 이들은 SDSS 및 DSS DMA갱신의 수신에서의
EVENT 변화를 MI Sync에 알리기 위해 MI_ENABLE_
STROBES에 의해 통지된다.
MI_RMBMS(*). 4개(좌/우 DSS/SDSS)의 DMA 인에이블 이벤트.
DISABLE_ 이들은 SDSS 및 DSS DMA갱신의 수신에서의
EVENT 변화를 MI Sync에 알리기 위해 MI_DISABLE_
STROBE에 의해 통지된다.
MI_RM_AUX_ 좌측 헬스 비트를 처리하는 것을 MI MOD
HEALTH_L_ 헬스에 알리기 위해 통지된다.
SEMA
MI_RM_AUX_ 우측 헬스 비트를 처리하는 것을 MI MOD
HEALTH_R_ 헬스에 알리기 위해 통지된다.
SEMA
MI_TM_AUX_ 좌측 시스템 메시지를 처리하는 것을 MI
SYSMSG_L_ 시스템 메시지에 알리기 위해 통지된다.
SEMA
MI_TM_AUX_ 우측 시스템 메시지를 처리하는 것을 MI
SYSMSG_R_ MOD 헬스에 알리기 위해 통지된다.
SEMA
OTHER INPUTS MI_RMBMS(*) 각 4개의 DMA 종료 이벤트를 위한 비동기 데
ADSB 이터 상태블록.
DSS데이터 FOX/DOG을 결정하기 위해 MI_TASK_STATE_L
버퍼 또는 MI_TASK_STATE_R의 오프세트로 억세스
된다.
OTHER OUTPUTS MI_RM_DATA 현재 반사 메모리 포인터를 포함하는 구조
MI_RM_AUX 데이터의 수신을 나타내도록 1로 세트된다.
WD_FLAG
CALLED KER$WAIT_ANY
ROUTINES
KER$CLEAR_EVENT
KER$LOCK_MUTEX
KER$UNLOCK_MUTEX
CONDITION MIF_NORMAL
CODES MIF_IFQ_ERROR
MIF_APP_ERROR
______________________________________________________________________
도 9에는 프론트-엔드 컴퓨터(18a)에서 반사 메모리 버퍼(314)와, IFS회로(28)에서 전송 맵(37) 및, 프로세스 제어 컴퓨터(12a,12b)에서 2중 포트 데이터 메모리(22) 사이의 관계가 도식적으로 묘사된다. 이 설명을 위해, 데이터 메모리(22)가 단지 2개의 세그먼트를 포함하는 것으로 설명된다. 전송 맵(37)은 제1세그먼트에서 데이터 메모리 어드레스(2000∼2002(hex))를 나타내고, 제2세그먼트에서 데이터 메모리 어드레스(4100∼4105(hex))는 반사 메모리 버퍼(46a)에 전송된다. 특히, 전송 맵(37)은 불필요하게 인접한 데이터 메모리의 메모리 위치로부터 인접하는 데이터 엘리먼트의 블록을 생성하는 것을 주시해야 한다.
도 10은 IFS회로(28)의 블록도로서, 이 블록도에서 개별적인 송신기 및 수신기[예컨대, 송신기(38a)와 수신기(40a)]는 AT&T ODL200 시리즈 광변환기를 포함하는 단일블록(400)으로 도시된다. 또한, IFS회로(28)는 송신기/수신기 블록(400)에 대해 데이터/어드레스 신호의 전송을 제어하는 제어 블록(402,404)을 포함한다.이러한 점에서, IFS회로(28)는 이들 신호 전송을 용이하게 하기 위해 데이터 버퍼(408)와 어드레스 버퍼(406) 둘다를 포함한다. 또한, 어드레스 래치(410)는 비밀 포트에 데이터 메모리 어드레스를 보내기 위해 제공된다. 마찬가지로, 송수신기(412)는 비밀 인터페이스 회로(16)의 데이터 버스를 매개로 데이터 정보를 수신하거나 또는 보내기 위한 IFS회로(28)를 인에이블하기 위해 제공된다.
또한, IFS회로(28)는 비밀 타이밍 및 제어회로(414)를 포함한다. 비밀 타이밍 및 제어회로(414)는 비밀 인터페이스회로(16)에 대한 특정 신호를 처리하기 위한 상태 머신을 실행하도록 하나 이상의 프로그래머블 어레이 로직회로를 포함한다. 예컨대, SDSS신호가 수신될 때, 이는 유효한 윈도우가 데이터 메모리(22)로부터 독출하기 위해 존재한다는 것을 IFS회로에 대해 나타냄을 제공한다. 비밀 인터페이스회로(16)상의 조정회로가 데이터 메모리(22)에 대해 억세스를 승인하는 것으로 가정하면, 비밀 타이밍 및 제어회로(414)는 제어상태 레지스터를 적절히 세트하게 된다. 데이터 출력 제어회로(404)는 프리셋 값으로부터 제로로 카운팅 다운을 시작하도록 DMA카운터 회로(418)를 야기시킴으로써 응답하게 된다. DMA카운터(418)는 데이터 메모리(22)로부터 독출되는 각 데이터 워드에 따라 감소하게 된다. DMA카운터(418)는 차례로 전송 맵(37)에서 어드레스를 발생시키는 DMA워드 카운트회로(420)를 제어한다. 즉, DMA워드 카운트회로(420)는 전송 맵(37)에서 어드레스에 대해 포인트하고, 데이터 메모리(22)에서 어드레스에 대해 차례로 포인트한다. 간접적인 이러한 형태를 통해, IFS회로(28)는 비밀 인터페이스회로(16)를 통해 프로세스 제어컴퓨터(12)에 의해 허용되는 특정 윈도우를 위해 전송 맵(37)에서 특정되는 각 데이터 메모리(22)의 위치를 독출하게 된다.
도 11에는 IFQ회로(30)의 블록도가 도시된다. IFQ회로(30)는 상기한 바와 같이, 인텔 80186 마이크로 프로세서를 포함하고, 이 마이크로 프로세서용 프로그램이 EPROM(420)에 저장된다. 더욱이, 어드레스 래치(422)는 마이크로 프로세서(42)의 어드레스 버스(424)에 결합된다. 마찬가지로, 데이터 버퍼(426)는 마이크로 프로세서(42)의 데이터 버스(428)에 연결된다. 64Kb RAM회로(430)는 어드레스 버스(424)와 데이터 버스(428) 양쪽에 결합된다. RAM회로(430)는 마이크로 프로세서(42)를 위한 다른 동작적인 데이터 구조와 하나 이상의 스택과 같은 시스템 데이터를 저장하는데 이용된다.
또한, IFQ회로(30)는 광섬유 케이블(32)을 거쳐 신호를 전송 및 수신하기 위해 직접적으로 책임을 지는 회로를 포함하는 광섬유 인터페이스 '도터(daughter)' 보드(432)를 포함한다. 이러한 점에서, 블록(434)은 광변환기와 수신기 회로의 두 채널을 포함하고, 블록(436)은 상기한 바와 같이, 광변환기와 송신기/수신기 회로를 포함한다. 가젤(Gazelle) 직렬 송신기/수신기쌍에 따르면, IFS회로(28a,28b)에 대한 각 광섬유 링크는 2.5밀리언, 40비트 프레임/초로 전송할 수 있다. 블록(44)은 도 1과 관련하여 논의된 바와 같이, 프로세스 제어컴퓨터(12a,12b)로부터 비동기적으로 수신된 SDSS 및 DSS 데이터를 처음으로 저장하기 위해 이용된 2개의 128Kb 데이터 버퍼를 나타낸다. 이들 '링크' 데이터 버퍼는 IFS회로로부터 메시지와 프로세스 데이터의 실시간 언인터럽트된 집합을 제공하기 위해, 각 광섬유 채널을 위한 것과, 2중 포트 형상에서 2개의 독립적인 메모리를 이용하여 바람직하게 실행된다. 블록(438)은 프로세스 제어컴퓨터(12a,12b)중 하나에 전송되어지는 홀드 시리얼 데이터에 이용되는 (각 광섬유 채널에 대한) 적어도 하나의 워드 레지스터의 설비를 나타낸다.
블록(440)은 워드 레지스터(438)와 데이터 버퍼(44)로 정보의 저장을 제어하기 위한 논리회로를 나타낸다. 논리회로(440)는 이러한 데이터 기록 동작을 취급하기 위한 상태 머신을 실행하기 위한 하나 이상의 프로그래머블 어레이 로직('PAL')회로를 포함한다. 예컨대, 40비트 데이터 프레임이 프로세스 제어컴퓨터(12a,12b)의 하나로부터 수신될 때, 논리회로(440)는 데이터 버퍼(44)의 적절한 메모리 위치로 데이터 비트를 나아가게 하기 위해 어드레스와 제어비트를 디코드하게 된다. 또한, 광섬유 인터페이스 도터 보드(432)는 데이터 기록 활동의 상태를 이해하는 마이프로 프로세서(42)를 돕기 위한 인터럽트 논리를 포함하는 인터럽트 회로블록(442)을 포함한다. 이러한 점에서, 적어도 2개의 분리 인터럽트 라인이 인터럽트 회로 블록(442)을 마이크로 프로세서(42;광섬유 채널당 하나)와 내부 연결하기 위해 이용된다. IFS회로(28) 및 IFQ회로(30)의 광섬유 인터페이스 도터 보드(432) 양쪽은 에러(예컨대, 패리티 에러와 4B/5B 링크에러)에 대해 도입되는 프레임을 시험하는 PAL 상태 머신을 포함한다. 프론트 엔드 통신 시스템(10)의 1실시예에 있어서, IFQ회로(30)상의 모든 상태 머신이 마이크로 프로세서(42)의 10MHz 클럭 신호로부터 구동되는 20MHz 클럭신호로부터 동작한다.
마이크로 프로세서(42)는 데이터를 이동시키기 위한 적어도 2개의 DMA 엔진을 제공하도록 프로그램된다. 예컨대, 마이크로 프로세서(42)는 데이터 버퍼로부터 버켓 브리게이드 저장 매체로 기능하는 2중 포트 64Kb RAM회로(444)로 데이터를 이동시킴으로써 인터럽트 회로블록(442)으로부터의 적절한 인터럽트 신호에 응답하게 된다. 이때, 한번 충분한 데이터가 2중 포트 RAM회로(444;예컨대, 8Kb)에 저장되면, 선입선출('FIFO') DMA 제어블록(446)의 DMA 상태 머신은 프론트-엔드 컴퓨터(18)의 Q-버스(302)를 거쳐 이 데이터를 이동시키게 된다. 메모리 사이클은 최우선권이 주어진 마이크로 프로세서(42)의 시스템 버스에 따라 마이크로 프로세서(42) 시스템 버스와 Q-버스 사이에 바람직하게 인터리브된다. 상태 레지스터회로(448)와 CSR회로(450)에는 전송 상태와 제어 정보가 제공된다. 더욱이, 도 11에 도시된 바와 같이, 어드레스 버퍼(452)와 DMA/FIFO카운터(454)는 2중 포트 RAM회로(444)의 어드레스 라인에 결합된다. 마찬가지로, Q-버스(302)를 위한 DMA/FIFO 데이터 버퍼(456)와 마이크로 프로세서(42)를 위한 데이터 버퍼는 2중 포트 RAM회로(444)의 데이터 라인에 결합된다.
한편, 본 발명은 상기한 실시예에 한정되는 것은 아니고, 본 발명의 요지를 이탈하지 않는 범위내에서 다양하게 변형하여 실시할 수 있음은 물론이다.
이상 설명한 바와 같이 본 발명에 의하면, 컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령 메시지의 통신을 제어하는 방법을 제공할 수 있다.

Claims (4)

  1. 컴퓨터 네트워크(20)상의 컴퓨터 엔티티(70;72)로부터, 물리적 프로세스를 제어하도록 프로세스 컴퓨터(12a;12b)에 의해 채택된 다수의 동작 변수중 적어도 하나를 바꾸기 위해 탐색하는 프로세스 제어컴퓨터(12a;12b)로 명령 메시지의 통신을 제어하는 방법에 있어서,
    상기 프로세스 제어 컴퓨터(12a;12b)와 상기 컴퓨터 네트워크(20) 사이에 연결된 프론트 엔드 컴퓨터(18a;18b)를 제공하는 단계와;
    상기 오퍼레이팅 변수가 상기 컴퓨터 엔티티(70;72)에 의해 변화되는 것을 식별하는 상기 프론트 엔드 컴퓨터(18a;18b)에 허용 테이블(PL,PR)을 저장하는 단계;
    상기 컴퓨터 엔티티(70;72)로부터 명령 메시지를 수신하는 단계;
    상기 명령 메시지가 상기 프로세스 제어컴퓨터(12a;12b)에서의 적어도 하나의 오퍼레이팅 변수가 변화하는 것을 탐색하는 명령을 포함하는가를 결정하는 단계 및;
    상기 명령 메시지에서 식별된 대응하는 오퍼레이팅 변수와 관련된 상기 허용 테이블(PL;PR)에서의 인에이블 지시기의 상태를 점검함으로써(274) 상기 프론트 엔드 컴퓨터(18a;18b)로부터 상기 프로세스 제어컴퓨터(12a;12b)로 상기 제2명령 메시지를 전송하는가의 여부를 결정하는 단계(270,274);
    상기 프로세스 제어컴퓨터(12a;12b)에 대해 상기 명령 메시지의 전송을 인에이블하도록 결정될 때, 상기 프론트 엔드 컴퓨터(18a;18b)로부터 상기 프로세스 제어컴퓨터(12a;12b)로 프로그램 버젼 식별기를 전송하는 단계 및;
    전송된 프로그램 버전 식별기가 상기 프로세스 제어 컴퓨터(12a;12b)에 저장된 프로그램 버전 식별기와 매치되는가의 여부를 기초로 상기 프론트 엔드 컴퓨터(18a;18b)로부터 수신된 명령 메시지를 실행하는가를 상기 프로세스 제어컴퓨터(12a;12b)에서 결정하는 단계를 구비하여 이루어진 것을 특징으로 하는 컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령 메시지의 통신을 제어하는 방법.
  2. 제1항에 있어서, 상기 프로세스 제어컴퓨터(12a;12b)에 전송하기 전에 상기 프론트 엔드 컴퓨터(18a;18b)에서 상기 프로그램 버전 식별기를 암호화하는 단계를 포함하는 것을 특징으로 하는 제어방법.
  3. 제1항 또는 제2항에 있어서, 상기 적어도 하나의 허용 테이블(PL;PR)이 상기 프론트 엔드 컴퓨터(18a;18b)의 초기화에 따라 분리 컴퓨터 수단(78)으로부터의 통신을 매개로 상기 프론트 엔드 컴퓨터(18a;18b)에서 인스톨되는 것을 특징으로 하는 제어방법.
  4. 제1항에 있어서, 적어도 하나의 오퍼레이팅 변수의 변화로 언급되는 명령 메시지만이 유효한 통신 계약을 갖춘 컴퓨터 엔티티(70;72)로부터 수신된 상기 프로세스 제어컴퓨터(12a;12b)에 전송되는 것을 특징으로 하는 제어방법.
KR1020007013418A 1992-06-12 2000-11-28 컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령메시지의 통신을 제어하는 방법 KR100314387B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US89892392A 1992-06-12 1992-06-12
US07/898,923 1992-06-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1019940704581A Division KR100302222B1 (ko) 1992-06-12 1993-06-01 프로세스제어컴퓨터용보안프론트엔드통신시스템과그방법

Publications (1)

Publication Number Publication Date
KR100314387B1 true KR100314387B1 (ko) 2001-11-17

Family

ID=25410232

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1019940704581A KR100302222B1 (ko) 1992-06-12 1993-06-01 프로세스제어컴퓨터용보안프론트엔드통신시스템과그방법
KR1020007013418A KR100314387B1 (ko) 1992-06-12 2000-11-28 컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령메시지의 통신을 제어하는 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1019940704581A KR100302222B1 (ko) 1992-06-12 1993-06-01 프로세스제어컴퓨터용보안프론트엔드통신시스템과그방법

Country Status (9)

Country Link
US (2) US5428745A (ko)
EP (2) EP0810499B1 (ko)
JP (1) JPH07507893A (ko)
KR (2) KR100302222B1 (ko)
AU (1) AU4400993A (ko)
CA (1) CA2137464C (ko)
DE (2) DE69330970T2 (ko)
ES (2) ES2162659T3 (ko)
WO (1) WO1993025948A1 (ko)

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5964835A (en) * 1992-12-17 1999-10-12 Tandem Computers Incorporated Storage access validation to data messages using partial storage address data indexed entries containing permissible address range validation for message source
US5631897A (en) * 1993-10-01 1997-05-20 Nec America, Inc. Apparatus and method for incorporating a large number of destinations over circuit-switched wide area network connections
US5544077A (en) * 1994-01-19 1996-08-06 International Business Machines Corporation High availability data processing system and method using finite state machines
EP0710904B1 (de) * 1994-10-25 1998-10-07 Rieter Ingolstadt Spinnereimaschinenbau AG Backplane-Steuerung für Spinnereimaschine
US5872917A (en) * 1995-06-07 1999-02-16 America Online, Inc. Authentication using random challenges
US5870473A (en) * 1995-12-14 1999-02-09 Cybercash, Inc. Electronic transfer system and method
US5758060A (en) * 1996-03-05 1998-05-26 Dallas Semiconductor Corp Hardware for verifying that software has not skipped a predetermined amount of code
US5727142A (en) * 1996-05-03 1998-03-10 International Business Machines Corporation Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure
US20030195848A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US7167924B1 (en) 1996-06-10 2007-01-23 Diebold, Incorporated Financial transaction processing system and method
US6039245A (en) * 1996-06-10 2000-03-21 Diebold, Incorporated Financial transaction processing system and method
US5822434A (en) * 1996-06-19 1998-10-13 Sun Microsystems, Inc. Scheme to allow two computers on a network to upgrade from a non-secured to a secured session
JP2000515657A (ja) * 1996-08-02 2000-11-21 トランソフト コーポレイション 共有資源の分散制御を可能にする方法と装置
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US6912652B2 (en) * 1996-11-08 2005-06-28 Monolith Co., Ltd. Method and apparatus for imprinting ID information into a digital content and for reading out the same
US5978918A (en) * 1997-01-17 1999-11-02 Secure.Net Corporation Security process for public networks
US5826015A (en) * 1997-02-20 1998-10-20 Digital Equipment Corporation Method and apparatus for secure remote programming of firmware and configurations of a computer over a network
US5935249A (en) * 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
US6151686A (en) * 1997-06-06 2000-11-21 Fmr Corp. Managing an information retrieval problem
US7290288B2 (en) 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
US7743247B1 (en) * 1997-08-08 2010-06-22 Synectic Design LLC Method and apparatus for secure communications
AUPO856797A0 (en) * 1997-08-15 1997-09-04 AAV Australia Pty. Limited Computer system having fixed computers and mobile computers
DE19745994A1 (de) * 1997-10-20 1999-04-22 Cit Alcatel Verfahren zum Austausch von Daten zwischen Applikationsprozessen in einem sicheren Mehrrechnersystem
US6092110A (en) 1997-10-23 2000-07-18 At&T Wireless Svcs. Inc. Apparatus for filtering packets using a dedicated processor
US6158008A (en) * 1997-10-23 2000-12-05 At&T Wireless Svcs. Inc. Method and apparatus for updating address lists for a packet filter processor
US6834388B1 (en) 1998-03-13 2004-12-21 Iconics, Inc. Process control
JP3687373B2 (ja) * 1998-12-04 2005-08-24 株式会社日立製作所 高信頼分散システム
US6748451B2 (en) 1998-05-26 2004-06-08 Dow Global Technologies Inc. Distributed computing environment using real-time scheduling logic and time deterministic architecture
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code
US6154849A (en) * 1998-06-30 2000-11-28 Sun Microsystems, Inc. Method and apparatus for resource dependency relaxation
US6272400B1 (en) 1998-07-13 2001-08-07 Helix Technology Corporation Vacuum network controller
US6311276B1 (en) * 1998-08-25 2001-10-30 3Com Corporation Secure system for remote management and wake-up commands
US7003558B2 (en) 1998-10-16 2006-02-21 Iconics, Inc. Method and system for communicating information and controlling equipment according to a standard protocol between two computers
JP3223355B2 (ja) * 1998-11-12 2001-10-29 株式会社エヌ・ティ・ティ・ドコモ 通信制御方法、通信制御装置、記録媒体およびデータ端末
US7017116B2 (en) 1999-01-06 2006-03-21 Iconics, Inc. Graphical human-machine interface on a portable device
US6192477B1 (en) * 1999-02-02 2001-02-20 Dagg Llc Methods, software, and apparatus for secure communication over a computer network
FI990715A (fi) * 1999-03-31 2000-10-01 Valmet Corp Tuotantolaitoksen huoltojärjestely
US6647301B1 (en) 1999-04-22 2003-11-11 Dow Global Technologies Inc. Process control system with integrated safety control system
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
AU5025600A (en) 1999-05-17 2000-12-05 Foxboro Company, The Process control configuration system with parameterized objects
US6788980B1 (en) * 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6535937B1 (en) * 2000-02-15 2003-03-18 International Business Machines Corporation Write command verification across a PCI bus system
EP1130600A1 (en) * 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Data balancing scheme in solid state storage devices
US6424874B1 (en) * 2000-06-29 2002-07-23 Honeywell International Inc. Automated configuration of communications for an ordered collection of devices
AUPQ916600A0 (en) 2000-08-03 2000-08-24 James Hardie Research Pty Limited Automated manufactured apparatus for aluminium window/door systems
US20020061107A1 (en) * 2000-09-25 2002-05-23 Tham Terry K. Methods and apparatus for implementing a cryptography engine
US20020078342A1 (en) * 2000-09-25 2002-06-20 Broadcom Corporation E-commerce security processor alignment logic
US6968242B1 (en) * 2000-11-07 2005-11-22 Schneider Automation Inc. Method and apparatus for an active standby control system on a network
GB2372346A (en) * 2001-02-19 2002-08-21 Moy Park Ltd Tracing components of a production chain
CA2357931A1 (en) * 2001-09-27 2003-03-27 Alcatel Canada Inc. System and method of selecting sources for a network element having redundant sources
US7467290B2 (en) * 2001-10-19 2008-12-16 Kingston Technology Corporation Method and system for providing a modular server on USB flash storage
US6829660B2 (en) 2001-12-12 2004-12-07 Emulex Design & Manufacturing Corporation Supercharge message exchanger
DE10229704A1 (de) * 2002-07-02 2004-01-29 Endress + Hauser Process Solutions Ag Verfahren zum Schutz vor unerlaubtem Zugriff auf ein Feldgerät in der Prozessautomatisierungstechnik
US7289861B2 (en) * 2003-01-28 2007-10-30 Fisher-Rosemount Systems, Inc. Process control system with an embedded safety system
DE10240584A1 (de) * 2002-08-28 2004-03-11 Pilz Gmbh & Co. Sicherheitssteuerung zum fehlersicheren Steuern von sicherheitskritischen Prozessen sowie Verfahren zum Aufspielen eines neuen Betriebsprogrammes auf eine solche
US7333918B2 (en) * 2002-09-05 2008-02-19 Strategic Power Systems, Inc. System and method for calculating part life
US6813527B2 (en) * 2002-11-20 2004-11-02 Honeywell International Inc. High integrity control system architecture using digital computing platforms with rapid recovery
DE10304903A1 (de) * 2003-02-06 2004-10-28 Siemens Ag Vorrichtung zur Automatisierung und/oder Steuerung von Werkzeug- oder Produktionsmaschinen
US7281187B2 (en) * 2003-11-20 2007-10-09 Intellon Corporation Using error checking bits to communicated an address or other bits
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US8015154B1 (en) * 2004-06-07 2011-09-06 Teradata Us, Inc. Starting database software in response to a broadcast message
US20060090012A1 (en) * 2004-10-22 2006-04-27 Linden Cornett Modular SDD (scalable device driver) framework
US20080258864A1 (en) * 2004-10-28 2008-10-23 Mitsubishi Electeic Corporation Communication Apparatus and Communication Method
US20060155770A1 (en) * 2004-11-11 2006-07-13 Ipdev Co. System and method for time-based allocation of unique transaction identifiers in a multi-server system
US20060155753A1 (en) * 2004-11-11 2006-07-13 Marc Asher Global asynchronous serialized transaction identifier
US20060123098A1 (en) * 2004-11-11 2006-06-08 Ipdev Multi-system auto-failure web-based system with dynamic session recovery
US7805709B2 (en) * 2005-05-27 2010-09-28 Delphi Technologies, Inc. System and method for bypassing execution of an algorithm
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
WO2007123753A2 (en) 2006-03-30 2007-11-01 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US8719128B2 (en) * 2006-12-15 2014-05-06 Tcf Financial Corporation Computer-facilitated secure account-transaction
US20100180788A1 (en) 2007-02-16 2010-07-22 Orica Explosives Technology Pty Ltd Method of communication at a blast stie, and corresponding blasting apparatus
US20090186344A1 (en) * 2008-01-23 2009-07-23 Caliper Life Sciences, Inc. Devices and methods for detecting and quantitating nucleic acids using size separation of amplicons
WO2009155483A1 (en) 2008-06-20 2009-12-23 Invensys Systems, Inc. Systems and methods for immersive interaction with actual and/or simulated facilities for process, environmental and industrial control
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
DE102009027369A1 (de) * 2009-07-01 2011-01-05 Robert Bosch Gmbh Verfahren sowie System zur Ansteuerung von mindestens einem Aktuator
CN102566527B (zh) * 2010-12-30 2015-06-10 中国科学院沈阳自动化研究所 半导体制造设备前端模块的传输控制平台化实现方法
US8762528B2 (en) * 2011-05-31 2014-06-24 General Electric Company Systems and methods for write protecting foundation fieldbus linking devices
US8850200B1 (en) 2011-06-21 2014-09-30 Synectic Design, LLC Method and apparatus for secure communications through a trusted intermediary server
US9855698B2 (en) * 2013-08-07 2018-01-02 Massachusetts Institute Of Technology Automatic process control of additive manufacturing device
IN2013MU02890A (ko) * 2013-09-05 2015-07-03 Tata Consultancy Services Ltd
JP6658000B2 (ja) * 2016-01-27 2020-03-04 株式会社リコー 情報処理装置、画像出力制御方法およびプログラム
KR102141169B1 (ko) * 2018-04-10 2020-08-05 한국전자통신연구원 보안 필터 장치를 포함하는 인체 통신 시스템
CN114356828A (zh) * 2021-12-23 2022-04-15 中国航空工业集团公司西安航空计算技术研究所 一种双双余度飞控计算机间异步交叉传输的方法

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
US4074119A (en) * 1976-06-08 1978-02-14 Licentia Patent-Verwaltungs-G.M.B.H. Code word determination
US4227253A (en) * 1977-12-05 1980-10-07 International Business Machines Corporation Cryptographic communication security for multiple domain networks
US4310720A (en) * 1978-03-31 1982-01-12 Pitney Bowes Inc. Computer accessing system
US4215398A (en) * 1978-08-24 1980-07-29 Texas Instruments Incorporated Dual microprocessor intelligent programmable process control system with communication link
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4264782A (en) * 1979-06-29 1981-04-28 International Business Machines Corporation Method and apparatus for transaction and identity verification
US4479179A (en) * 1979-07-30 1984-10-23 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4304001A (en) * 1980-01-24 1981-12-01 Forney Engineering Company Industrial control system with interconnected remotely located computer control units
NL183862C (nl) * 1980-02-04 1989-02-01 Philips Nv Telecommunicatiestelsel met gecodeerde berichtoverdracht.
US4578530A (en) * 1981-06-26 1986-03-25 Visa U.S.A., Inc. End-to-end encryption system and method of operation
US4593353A (en) * 1981-10-26 1986-06-03 Telecommunications Associates, Inc. Software protection method and apparatus
US4493028A (en) * 1982-02-02 1985-01-08 International Business Machines Corporation Dual mode I/O
US4685125A (en) * 1982-06-28 1987-08-04 American Telephone And Telegraph Company Computer system with tasking
US4539652A (en) * 1982-07-16 1985-09-03 At&T Bell Laboratories Networks for data communication
US4723284A (en) * 1983-02-14 1988-02-02 Prime Computer, Inc. Authentication system
US4670890A (en) * 1983-03-04 1987-06-02 Research Corporation Method of and/or apparatus for encoding and decoding sequential information in data handling systems
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
US4607256A (en) * 1983-10-07 1986-08-19 Honeywell, Inc. Plant management system
US4652990A (en) * 1983-10-27 1987-03-24 Remote Systems, Inc. Protected software access control apparatus and method
US4622630A (en) * 1983-10-28 1986-11-11 Data General Corporation Data processing system having unique bus control protocol
US4660141A (en) * 1983-12-06 1987-04-21 Tri Sigma Corporation Self configuring computer network with automatic bus exchange of module identification numbers and processor assigned module numbers
US4609777A (en) * 1984-02-22 1986-09-02 Gordian Systems, Inc. Solid state key for controlling access to computer software
US4596898A (en) * 1984-03-14 1986-06-24 Computer Security Systems, Inc. Method and apparatus for protecting stored and transmitted data from compromise or interception
US4625076A (en) * 1984-03-19 1986-11-25 Nippon Telegraph & Telephone Public Corporation Signed document transmission system
US4672572A (en) * 1984-05-21 1987-06-09 Gould Inc. Protector system for computer access and use
US4663704A (en) * 1984-12-03 1987-05-05 Westinghouse Electric Corp. Universal process control device and method for developing a process control loop program
US4672533A (en) * 1984-12-19 1987-06-09 Noble Richard G Electronic linkage interface control security system and method
US4800590A (en) * 1985-01-14 1989-01-24 Willis E. Higgins Computer key and computer lock system
JPS61166668A (ja) * 1985-01-19 1986-07-28 Panafacom Ltd 多重プロセツサ制御方式
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4779224A (en) * 1985-03-12 1988-10-18 Moseley Donald R Identity verification method and apparatus
US4683968A (en) * 1985-09-03 1987-08-04 Burroughs Corporation System for preventing software piracy employing multi-encrypted keys and single decryption circuit modules
US4885777A (en) * 1985-09-04 1989-12-05 Hitachi, Ltd. Electronic transaction system
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4864494A (en) * 1986-03-21 1989-09-05 Computerized Data Ssytems For Mfg., Inc. Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software
US4882752A (en) * 1986-06-25 1989-11-21 Lindman Richard S Computer security system
US4809327A (en) * 1986-09-02 1989-02-28 Unisys Corporation Encrtption of messages employing unique control words and randomly chosen encryption keys
US4839890A (en) * 1986-10-31 1989-06-13 Ncr Corporation Data bit synchronizer
US4916738A (en) * 1986-11-05 1990-04-10 International Business Machines Corp. Remote access terminal security
JPH0632047B2 (ja) * 1987-01-30 1994-04-27 株式会社東芝 デ−タ収集装置
US4771462A (en) * 1987-02-18 1988-09-13 Hannan Forrest A Communication port encryption/decryption method and apparatus
GB8704920D0 (en) * 1987-03-03 1987-04-08 Hewlett Packard Co Secure messaging system
JPS63255759A (ja) * 1987-04-14 1988-10-24 Mitsubishi Electric Corp 制御システム
JPS63278438A (ja) * 1987-05-11 1988-11-16 Hitachi Ltd 暗号手順非公開による暗号システム
US4930073A (en) * 1987-06-26 1990-05-29 International Business Machines Corporation Method to prevent use of incorrect program version in a computer system
US4924513A (en) * 1987-09-25 1990-05-08 Digital Equipment Corporation Apparatus and method for secure transmission of data over an unsecure transmission channel
US4881263A (en) * 1987-09-25 1989-11-14 Digital Equipment Corporation Apparatus and method for secure transmission of data over an unsecure transmission channel
US4796232A (en) * 1987-10-20 1989-01-03 Contel Corporation Dual port memory controller
US4937736A (en) * 1987-11-30 1990-06-26 International Business Machines Corporation Memory controller for protected memory with automatic access granting capability
US4853962A (en) * 1987-12-07 1989-08-01 Universal Computer Consulting, Inc. Encryption system
US4868851A (en) * 1988-01-26 1989-09-19 Harris Corporation Signal processing apparatus and method
US4944008A (en) * 1988-02-18 1990-07-24 Motorola, Inc. Electronic keying scheme for locking data
JPH0783337B2 (ja) * 1988-03-01 1995-09-06 日本電気株式会社 スクランブル−デスクランブル方式
US4964163A (en) * 1988-04-04 1990-10-16 Motorola, Inc. Method and apparatus for controlling access to a communication system
US4897777A (en) * 1988-04-11 1990-01-30 Square D Company Peer-to-peer register exchange controller for PLCS
US4956769A (en) * 1988-05-16 1990-09-11 Sysmith, Inc. Occurence and value based security system for computer databases
US4969189A (en) * 1988-06-25 1990-11-06 Nippon Telegraph & Telephone Corporation Authentication system and apparatus therefor
US4932054A (en) * 1988-09-16 1990-06-05 Chou Wayne W Method and apparatus for protecting computer software utilizing coded filter network in conjunction with an active coded hardware device
US4926481A (en) * 1988-12-05 1990-05-15 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Computer access security code system
US4919545A (en) * 1988-12-22 1990-04-24 Gte Laboratories Incorporated Distributed security procedure for intelligent networks
US4958270A (en) * 1989-01-23 1990-09-18 Honeywell Inc. Method for control data base updating of a redundant processor in a process control system
US4995040A (en) * 1989-02-03 1991-02-19 Rockwell International Corporation Apparatus for management, comparison, and correction of redundant digital data
US4996655A (en) * 1989-02-16 1991-02-26 Micron Technology, Inc. Real time monitoring of remote signals in an industrial environment
US5006976A (en) * 1989-02-23 1991-04-09 Fisher Controls International, Inc. Process control terminal
US5065429A (en) * 1989-04-03 1991-11-12 Lang Gerald S Method and apparatus for protecting material on storage media
US5191611A (en) * 1989-04-03 1993-03-02 Lang Gerald S Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
US4926418A (en) * 1989-04-11 1990-05-15 International Business Machines Corporation Fairness algorithm for full-duplex buffer insertion ring
US4956863A (en) * 1989-04-17 1990-09-11 Trw Inc. Cryptographic method and apparatus for public key exchange with authentication
US4975865A (en) * 1989-05-31 1990-12-04 Mitech Corporation Method and apparatus for real-time control
US5003593A (en) * 1989-06-05 1991-03-26 Motorola, Inc. Teleconferencing method for a secure key management system
GB8916586D0 (en) * 1989-07-20 1989-09-06 Int Computers Ltd Distributed data processing system
US5008805A (en) * 1989-08-03 1991-04-16 International Business Machines Corporation Real time, fail safe process control system and method
US5056140A (en) * 1990-02-22 1991-10-08 Blanton Kimbell Communication security accessing system and process
US5204966A (en) * 1990-03-09 1993-04-20 Digital Equipment Corporation System for controlling access to a secure system by verifying acceptability of proposed password by using hashing and group of unacceptable passwords
NL9000968A (nl) * 1990-04-23 1991-11-18 Paul Broertjes Beveiligingssysteem voor een hoofdcomputer.
JP2703391B2 (ja) * 1990-06-18 1998-01-26 株式会社東芝 ブリッジ装置
US5204961A (en) * 1990-06-25 1993-04-20 Digital Equipment Corporation Computer network operating with multilevel hierarchical security with selectable common trust realms and corresponding security protocols
JPH04133102A (ja) * 1990-09-26 1992-05-07 Mitsubishi Electric Corp プログラマブル・コントローラ及びその制御方法
US5224163A (en) * 1990-09-28 1993-06-29 Digital Equipment Corporation Method for delegating authorization from one entity to another through the use of session encryption keys
US5196840A (en) * 1990-11-05 1993-03-23 International Business Machines Corporation Secure communications system for remotely located computers
US5379426A (en) * 1991-01-25 1995-01-03 Sun Microsystems, Inc. Method and apparatus for object oriented interprocess message switching
US5347633A (en) * 1991-04-30 1994-09-13 International Business Machines, Inc. System for selectively intercepting and rerouting data network traffic
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
US5191610A (en) * 1992-02-28 1993-03-02 United Technologies Automotive, Inc. Remote operating system having secure communication of encoded messages and automatic re-synchronization
US5392399A (en) * 1992-05-18 1995-02-21 3Com Corporation Bridge system for selectively routing frame with ordering parameter identifying ordering of identifiers only based upon its source identifier

Also Published As

Publication number Publication date
DE69330970T2 (de) 2002-04-04
EP0645028B1 (en) 1997-12-29
DE69330970D1 (de) 2001-11-22
EP0810499B1 (en) 2001-10-17
EP0810499A3 (en) 1999-01-07
EP0645028A1 (en) 1995-03-29
ES2162659T3 (es) 2002-01-01
JPH07507893A (ja) 1995-08-31
AU4400993A (en) 1994-01-04
DE69316009D1 (de) 1998-02-05
US5428745A (en) 1995-06-27
KR100302222B1 (ko) 2001-11-22
US5561770A (en) 1996-10-01
KR950702046A (ko) 1995-05-17
EP0810499A2 (en) 1997-12-03
WO1993025948A1 (en) 1993-12-23
CA2137464C (en) 2001-07-03
ES2110613T3 (es) 1998-02-16
DE69316009T2 (de) 1998-04-23
CA2137464A1 (en) 1993-12-23

Similar Documents

Publication Publication Date Title
KR100314387B1 (ko) 컴퓨터 엔티티로부터 프로세스 제어 컴퓨터로의 명령메시지의 통신을 제어하는 방법
US5519603A (en) Intelligent process control communication system and method having capability to time align corresponding data sets
WO1993025948A9 (en) Secure front end communication system and method for process control computers
Cheung et al. The design of GrIDS: A graph-based intrusion detection system
US4680581A (en) Local area network special function frames
US6735636B1 (en) Device, system, and method of intelligently splitting information in an I/O system
WO1997046941A9 (en) Digital data processing methods and apparatus for fault isolation
KR20060015714A (ko) 분배 파일 시스템 네트워크에 있어서의 보안성 제공 방법및 시스템
EP0645026B1 (en) Stealth interface for process control computers
WO2001001257A2 (en) Intelligent splitter, system, and methods of use
US20120117380A1 (en) Method for Granting Authorization to Access a Computer-Based Object in an Automation System, Computer Program, and Automation System
US11704265B2 (en) Message monitoring
KR100317740B1 (ko) 인텔리전트프로세스제어통신시스템과방법
CN111385286A (zh) 用于保护车辆免受网络攻击的方法和相应的设备
JPH11306142A (ja) 計算機及び計算機システムのセキュリティ装置
CN109067757A (zh) 基于ipmi加密模块的安全方法和系统
CA2334499A1 (en) Secure front end communication system and method for process control computers
KR20010059442A (ko) 보안시스템 동작 분석기 및 그 방법
IMAR 111111. oll lH UII III II itl El i
Ambrosi et al. Final Evaluation Report Verdix Corporation VSLAN 5.0.
CA1303696B (en) Plant management system
Hanna et al. SLEDE: Event-Based Specification of Sensor Network Protocols
de Castro Ferreira Fault-Tolerance in Flexible Real-Time Communication Systems

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
LAPS Lapse due to unpaid annual fee