+

KR100433007B1 - Method and apparatus for changing software inside a telecommunications switch without interrupting a running communication program - Google Patents

Method and apparatus for changing software inside a telecommunications switch without interrupting a running communication program Download PDF

Info

Publication number
KR100433007B1
KR100433007B1 KR1019970701870A KR19970701870A KR100433007B1 KR 100433007 B1 KR100433007 B1 KR 100433007B1 KR 1019970701870 A KR1019970701870 A KR 1019970701870A KR 19970701870 A KR19970701870 A KR 19970701870A KR 100433007 B1 KR100433007 B1 KR 100433007B1
Authority
KR
South Korea
Prior art keywords
new software
software version
subsystem
old
software unit
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
KR1019970701870A
Other languages
Korean (ko)
Inventor
실예스트로메 토마스
Original Assignee
텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘) filed Critical 텔레포나크티에볼라게트 엘엠 에릭슨(피유비엘)
Priority to KR1019970701870A priority Critical patent/KR100433007B1/en
Application granted granted Critical
Publication of KR100433007B1 publication Critical patent/KR100433007B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

전기통신 스위치(104)내에서 시스템을 재작동시키지 않고 구소프트웨어 버전을 신소프트웨어 버전으로 교체하는 시스템 및 방법. 스위치는 기억장치(110), 소프트웨어 로딩 서브시스템(390), 데이터베이스 관리 서브시스템(124), 그리고 프로그램 교환 서브시스템(394)을 포함하고 있다. 신소프트웨어 버전은 소프트웨어 로딩 서브시스템을 사용하여 신소프트웨어 버전을 스위치의 기억장치 속으로 올림으로써 구소프트웨어 버전을 교체한다. 신소프트웨어 버전은 데이터베이스 관리 서브시스템을 사용하여 프로그램 교환 서브시스템에 등록된다. 구소프트웨어 버전은 무력화되고 신소프트웨어 버전은 프로그램 교환 서브시스템을 사용하여 활성화되고, 그에 의해 구소프트웨어 버전을 신소프트웨어 버전으로 교체된다.A system and method for replacing an old software version with a new software version without restarting the system in the telecommunication switch (104). The switch includes storage 110, software loading subsystem 390, database management subsystem 124, and program exchange subsystem 394. The new software version uses the software loading subsystem to replace the old software version by pushing the new software version into the switch's storage. The new software version is registered with the program exchange subsystem using the database management subsystem. The old software version is disabled and the new software version is activated using the program exchange subsystem, thereby replacing the old software version with the new software version.

Description

실행중인 통신프로그램을 중단없이 전기통신 스위치 내부의 소프트웨어를 변경하는 방법 및 장치Method and apparatus for changing the software inside the telecommunication switch without interrupting the running communication program

본 발명은 전기통신 스위치(a telecommunication switch)내에서 소프트웨어를 갱신하는 것으로서, 특히, 본 발명은 전기통신 스위치를 재시작하는 일이 없이 구소프트웨어 버전을 신소프트웨어 버전으로 변경함으로써 구소프트웨어를 갱신하는 방법 및 그 장치에 관한 것이다.The present invention relates to updating software in a telecommunication switch. In particular, the present invention provides a method for updating an old software by changing an old software version to a new software version without restarting the telecommunication switch. To the device.

현대의 전기통신산업에서 컴퓨터 소프트웨어는 전기통신 스위치 내에서 호출을 처리하는 여러가지 특징들을 제어하는데 사용되고 있다. 그러나 불행하게도 전기통신 소프트웨어, 그리고 다른 형태의 소프트웨어에는 오류나 원하지 않는 응답이 자주 나타난다. 오류나 원하지 않는 응답들을 결함이 있는 버전을 치유하는데 사용하는 새로운 버전의 소프트웨어로 정정된다.In the modern telecommunications industry, computer software is used to control various features of handling calls within telecommunication switches. Unfortunately, telecommunications software and other forms of software often show errors or unwanted responses. Errors or unwanted responses are corrected with a new version of the software used to heal the defective version.

독립형(standalone)이나 일괄처리 시스템(batch processing system)과 같은 소정 유형의 컴퓨터 시스템에서는, 구 버전의 소프트웨어를 새로운 버전의 소프트웨어로 교환할 때 별로 애로사항이 없다. 전형적으로, 활동을 거의 하지 않아 유지보수요원이 쉽게 이용할 수 있는 하루 중의 소정 기간 중에 단순히 컴퓨터를 끈다. 그런 다음에, 구소프트웨어를 제거하고 새로운 버전으로 교체한다. 그 다음에 컴퓨터를 다시 켜고 모든 장래의 데이터를 새로운 버전의 소프트웨어로 처리한다.In certain types of computer systems, such as standalone or batch processing systems, there is little difficulty when exchanging older versions of software with newer versions of software. Typically, the computer is turned off during certain periods of the day, with little activity and easily available to maintenance personnel. Then remove the old software and replace it with a new version. Then turn the computer back on and process all future data with the new version of the software.

현대의 프로그램 내장(SPC) 전기 통신교환시스템(산업계에서는 단순히 스위치라고 한다)과 같은 다른 유형의 컴퓨터 시스템에서는, 시스템의 소프트웨어를 교체하는 것은 독립형의 일괄처리 시스템에서와 같이 간단하지 않다.In other types of computer systems, such as modern program embedded (SPC) telecommunications switching systems (in the industry simply referred to as switches), replacing the software of the system is not as simple as in a standalone batch system.

전기통신 스위치는 지역사회에서 전기통신 서비스를 지속적으로 제공하기 위해 중단없이 영구히 작동할 수 있도록 설계된다. 다시 말하면, 전기통신 트래픽의 흐름은 업무시간이 끝나도, 밤에도 끊기지 않도록 스위치가 처리해야 한다. 스위치가 작동 중에 소정의 중단(인터럽션)이 있으면 결국 스위치에서 전기통신의 트래픽을 혼란스럽게 만들고 이러한 혼란은 전기통신산업에서 매우 못마땅한 노릇이다.Telecommunications switches are designed to operate permanently and continuously without interruptions to provide continuous telecommunication services in the community. In other words, the flow of telecommunication traffic must be handled by the switch so that it is not interrupted at night, even at the end of business hours. Any interruption in the operation of the switch will eventually confuse the traffic of telecommunications on the switch, which is very unpleasant in the telecommunications industry.

전기통신 스위치에는 실시간(real-time)이 필요하기 때문에, 스위치가 처리하고 있는 현재의 전기통신 트래픽을 중단하는 일이 없이 구 버전의 소프트웨어를 에러 정정 또는 "버그 치유"를 포함하는 새로운 버전의 소프트웨어로 교체함에 있어서 심한 제약이 따른다. 비가동 시간 없이 동작 중에 스위치 내에서 소프트웨어를 교환할 수 있는 능력을 제공하는 시스템과 방법을 가지는 것이 전기통신산업에서 가장 필요하다.Because telecommunication switches require real-time, new versions of software, including error correction or "bug healing," can be used to replace older versions of software without interrupting the current telecommunications traffic the switch is handling. There are severe restrictions to the replacement. It is most necessary in the telecommunications industry to have systems and methods that provide the ability to exchange software within a switch during operation without downtime.

그러므로, 스위치 내에서 진행중인 전기통신 트래픽을 중단하는 일이 없이 전기 통신스위치 실제 동작 중에 소프트웨어를 교환할 수 있는 것이 전기통신 산업에서 가장 유용하다.Therefore, it is most useful in the telecommunications industry to be able to exchange software during the actual operation of a telecommunication switch without interrupting ongoing telecommunication traffic within the switch.

도 1은 본 발명의 바람직한 실시예에서 채용된 전기통신 스위치와 컴퓨터 시스템을 나타내는 블록도.1 is a block diagram illustrating a telecommunication switch and a computer system employed in a preferred embodiment of the present invention.

도 2는 본 발명의 바람직한 실시예에 따른 도 1의 전기통신 스위치 기억장치의 프로그램 저장 영역, 참조 저장 영역, 데이터 저장 영역을 위한 구조와 내용을 매우 상세하게 나타내는 블록도.FIG. 2 is a block diagram showing the structure and contents of the program storage area, the reference storage area, and the data storage area of the telecommunication switch storage device of FIG. 1 according to a preferred embodiment of the present invention in greater detail.

도 3은 본 발명의 바람직한 실시예에 따른 도 1의 전기통신 스위치 내에서 프로그램에 의한 교환(PXCP)서브시스템의 구성요소들과 그 구성요소들이 소프트웨어 로딩 서브 시스템(software loading subsystem)과 로딩 중앙 처리 서브시스템(loading central processor subsystem)의 구성요소들과 상호작용하는 것을 나타내는 블록도.FIG. 3 illustrates the components of a PXCP subsystem and their components within the telecommunication switch of FIG. 1 in accordance with a preferred embodiment of the present invention. Block diagram illustrating interaction with components of a loading central processor subsystem.

도 4는 본 발명의 바람직한 실시예에 따른 도 1의 스위치 내에서 구 소프트웨어 유닛을 신소프트웨어 유닛으로 교환하는 프로그램 교환 방법의 단계들을 나타내는 흐름도.4 is a flow chart illustrating the steps of a program exchange method for exchanging an old software unit with a new software unit in the switch of FIG. 1 in accordance with a preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 실시예에 따른 도 4에서 신소프트웨어 유닛을 등록하는 단계를 매우 자세히 나타내는 흐름도.5 is a flow chart illustrating in greater detail the step of registering a new software unit in FIG. 4 in accordance with a preferred embodiment of the present invention.

도 6A, 6B는 본 발명의 바람직한 실시예에 따른 도 4에서 신 소프트웨어 유닛을 활성화시키는 단계를 매우 자세히 나타내는 흐름도.6A and 6B are flow charts illustrating in greater detail the steps of activating a new software unit in FIG. 4 in accordance with a preferred embodiment of the present invention.

도 7은 본 발명의 바람직한 실시예에 따른 도 4에서 신 소프트웨어 유닛을 확인하는 단계를 매우 자세히 나타내는 흐름도.7 is a flow chart illustrating in greater detail the step of identifying a new software unit in FIG. 4 in accordance with a preferred embodiment of the present invention.

도 8A, 8B는 본 발명의 바람직한 실시예에 따른 제4도에서 신 소프트웨어 유닛을 보증하는 단계를 매우 자세히 나타내는 흐름도.8A and 8B are flow charts illustrating in greater detail the step of assuring a new software unit in FIG. 4 in accordance with a preferred embodiment of the present invention.

도 9A, 9B는 본 발명의 바람직한 실시예에 따른 도 4에서 구 소프트웨어 유닛을 비활성화시키는 단계를 매우 자세히 나타내는 흐름도.9A and 9B are flow diagrams illustrating in greater detail the deactivation of the old software unit in FIG. 4 in accordance with a preferred embodiment of the present invention.

도 10A, 10B는 본 발명의 바람직한 실시예에 따른 도 4에서 구 소프트웨어 유닛을 제거하는 단계를 매우 자세히 나타내는 흐름도.10A and 10B are flow charts illustrating in greater detail the steps of removing the old software unit in FIG. 4 in accordance with a preferred embodiment of the present invention.

도 11은 본 발명의 프로그램 교환 방법을 통하여 신소프트웨어 유닛을 교환할 때에 여러 가지 다양한 새로운 소프트웨어 유닛의 프로그램 교환 상태들을 설명하는 블록도.Fig. 11 is a block diagram illustrating program exchange states of various various new software units when exchanging new software units through the program exchange method of the present invention.

본 발명의 목적은 전기통신 스위치 내에서 구소프트웨어를 새소프트웨어로교체할 때 스위치를 재작동시키지 않고 교체할 수 있는 방법과 장치를 제공하는 것이다.It is an object of the present invention to provide a method and apparatus that can be replaced without reactivating the switch when replacing old software with new software in a telecommunication switch.

다른 측면에서는, 본 발명은 전기통신 스위치 내에서 구소프트웨어 버전을 새로운 소프트웨어 버전으로 교체할 때 스위치를 재작동시키지 않고 교체할 수 있는 방법이다. 이 스위치는 기억장치(memory), 소프트웨어 로딩 서브시스템(software loading subsystem), 데이터베이스를 관리하는 서브시스템(database management subsystem) 그리고 프로그램을 교체하는 서브시스템(program exchange subsystem)을 포함한다. 이 방법은 몇 가지 단계, 즉 새 버전의 소프트웨어를 소프트웨어 로딩 서브시스템으로 기억장치에 로딩하는 단계와, 데이터베이스 관리 서브시스템으로 프로그램 교환 서브시스템에 신소프트웨어를 등록시키는 단계를 포함한다. 이 방법은 또한 프로그램 교환 서브시스템으로 구소프트웨어 번전을 비활성화시키고, 등록된 신 소프트웨어 버전을 활성화시키는 단계들을 포함한다.In another aspect, the present invention is a method in which a switch can be replaced without reactivating when replacing an old software version with a new software version in a telecommunication switch. This switch includes a memory, a software loading subsystem, a database management subsystem, and a program exchange subsystem. The method includes several steps: loading a new version of software into storage into a software loading subsystem and registering new software with the database management subsystem in the program exchange subsystem. The method also includes deactivating the old software version with the program exchange subsystem and activating the registered new software version.

또 다른 측면에서는, 본 발명은 전기통신 스위치 내에서 구소프트웨어 버전을 새소프트웨어 버전으로 교체할 때 스위치를 재작동 시키지 않고 교체할 수 있는 방법이다. 이 스위치는 기억장치, 소프트웨어 로딩 서브시스템(software loading subsystem), 데이터베이스를 관리하는 서브시스템(database management subsystem)그리고 프로그램을 교체하는 서브시스템(program exchange subsystem)을 포함한다. 이 방법은 몇 가지 단계, 즉 신 소프트웨어 버전을 소프트웨어 로딩 서브시스템으로 기억장치에 로딩하는 단계, 데이터베이스 관리 서브시스템을 사용하여 프로그램 교환 서브시스템에 신 소프트웨어 버전을 등록시키는 단계를 포함한다. 이 방법은 또한 프로그램 교환 서브시스템으로 구소프트웨어 버전을 비활성화시키고, 등록된 신 소프트웨어 버전을 활성화시키는 단계들을 포함한다. 이 방법은 또한 프로그램 교환 서브시스템으로 신소프트웨어가 활성화된 것을 확인하는 단계, 프로그램 교환 서브시스템으로 신소프트웨어가 활성화된 것임을 보증한 것을 증명하는 단계를 포함한다.In another aspect, the present invention is a method that can be replaced without restarting the switch when replacing the old software version with a new software version in the telecommunication switch. This switch includes storage, a software loading subsystem, a database management subsystem, and a program exchange subsystem. The method includes several steps: loading the new software version into storage into the software loading subsystem, and registering the new software version to the program exchange subsystem using the database management subsystem. The method also includes deactivating the old software version with the program exchange subsystem and activating the registered new software version. The method also includes verifying that the new software is activated with the program exchange subsystem, and verifying that the new software is activated with the program exchange subsystem.

본 발명의 기술분야에서 통상의 지식을 가진 사람은 다음의 도면들, 그리고 이와 첨부하는 상세한 설명을 참조하면 본 발명을 더욱 잘 이해하고 본 발명의 여러 가지 목적과 장점들이 분명해질 것이다.A person of ordinary skill in the art will understand the present invention better with reference to the following drawings and the accompanying detailed description, and various objects and advantages of the present invention will become apparent.

도 1을 참조하여 보면, 본발명의 바람직한 실시예에 사용하는 전기통신 스위치(104)와 컴퓨터 시스템(102)을 설명하는 블록도가 도시되어 있다. 스위치(104)는 저장장치(storage device, 110), 소프트웨어(software, 108), 하드웨어(hardware, 106), 기억장치(memory, 122), 그리고 데이터베이스 관리 서브시스템[a database management subsystem(DBS), 124]를 포함한다. 스위치(104)는 스웨덴의 텔레포나 크리에볼라 케트 엘엠 에릭슨이 생산하는 AXE 10과 같은 저장된 프로그램으로 제어되는 스위치일 수 있다. 저장장치(110)는 플로피 드라이브, 하드 드라이브, 자기 테입 드라이브, 또는 광디스크 드라이브 같은 것일 수 있다.1, a block diagram illustrating a telecommunications switch 104 and computer system 102 for use in the preferred embodiment of the present invention is shown. The switch 104 includes storage device 110, software 108, hardware 106, memory 122, and a database management subsystem (DBS), 124]. The switch 104 may be a switch controlled by a stored program, such as AXE 10, produced by Telepo or Kriebola Ket L. Ericsson, Sweden. The storage device 110 may be a floppy drive, hard drive, magnetic tape drive, or optical disk drive.

도 2에 아주 자세히 도시된 바와 같이, 기억장치(122)는 데이터 저장[Data Storage(DS)]영역(206)과 참조 저장[Reference Storage(RS)]영역(204), 그리고 프로그램 저장[Program Storage(PS)]영역(202)으로 나누어진다. 소프트웨어(108)는 저장장치(110)에서 기억장치(122)로 로딩되고, PS영역(202), DS영역(206), RS영역(204)의 각각에 상주한다. 소프트웨어(108)는 통신경로(112, 114)를 통해 하드웨어(106)를 제어하는데 사용된다(도 1). 컴퓨터 시스템(102)은 통신경로(116)를 통해 스위치(104)와 통신한다. 컴퓨터 시스템(102)은 개인용 컴퓨터, 유지보수용 중앙컴퓨터, 네트웍 관리 중앙컴퓨터, 또는 다른 엇비슷한 유형의 시스템일 수 있다. 데이터베이스 관리 서브시스템(DBS, 124)은 반 관계형 데이터베이스 관리 시스템과 같은 것일 수 있다.As shown in greater detail in FIG. 2, the storage device 122 includes a data storage [Data Storage (DS)] area 206, a reference storage [RS] area 204, and a program storage [Program Storage]. (PS)] area 202. The software 108 is loaded from the storage device 110 into the storage device 122 and resides in each of the PS area 202, the DS area 206, and the RS area 204. Software 108 is used to control hardware 106 via communication paths 112 and 114 (FIG. 1). Computer system 102 communicates with switch 104 via communication path 116. Computer system 102 may be a personal computer, a maintenance central computer, a network management central computer, or other similar type of system. Database management subsystem (DBS) 124 may be such as a semi-relational database management system.

도 2를 살펴보면, 본 발명의 바람직한 실시예에 따라 도 1의 기억장치(122)의 PS영역(202), RS영역(204), 그리고 DS영역(206)의 각각의 구조와 내용을 자세히 보여주는 블록도가 도시되어 있다. 프로그램 저장영역(PS, 202)은 여러 개의 기능블록(컴퓨터 프로그램이며 각각은 고유의 식별번호로 식별된다)을 저장하는데 사용된다. PS영역(202)에 저장된 프로그램은 각각 그것들과 관련된 변수와 같은 데이터를가질 수 있다. PS영역(202)에 저장된 기능 블록이 참조하는 변수들은 DS영역(206)에 독립적으로 저장된다. DS영역(206)에 저장된 각각의 변수는 고유한 변수 식별번호로 식별할 수 있다. 참조 저장영역(RS, 204)은 PS영역(202)에 저장된 기능 블록의 위치와 DS영역(206)에 저장된 그들의 관련 변수의 위치를 결정하는데 사용된다.Referring to FIG. 2, a block showing in detail the structure and contents of each of the PS area 202, the RS area 204, and the DS area 206 of the memory device 122 of FIG. 1 according to an exemplary embodiment of the present invention. The figure is shown. The program storage area PS, 202 is used to store a number of functional blocks (computer programs, each identified by a unique identification number). Programs stored in the PS area 202 may each have data such as variables associated with them. Variables referenced by the functional blocks stored in the PS area 202 are stored independently in the DS area 206. Each variable stored in the DS area 206 can be identified by a unique variable identification number. Reference storage areas (RS) 204 are used to determine the location of functional blocks stored in PS area 202 and their associated variables stored in DS area 206.

RS영역(204)은 여러 개의 참조표(reference table)와 기초표(base table)들을 사용하는데, 이는 PS영역(202)에 저장된 기능 블록의 위치와 DS영역(206)에 저장된 관련 변수들의 위치를 찾아내기 위한 것이다. PS영역(202)에 저장되는 각 기능 블록은 각각 RS영역(204)내에 관련 참조표를 갖고 있고 이는 기능 블록의 고유식별번호에 따라 색인되어 있다. PS영역(202)내의 소정 기능 블록에 의해 사용되는 각각의 변수는 DS영역(206)내에서 기본 어드레스표(a Base Address Table, BAT)에 규정된 그의 위치를 갖는다. 참조표(a reference table)는 프로그램 시작 어드레스(a Program Start Address, PSA)와 기본 시작 어드레스(a Base Start Address, BSA)를 포함하고 있다. PSA는 PS영역(202)에 저장된 관련 기능 블록의 시작 어드레스를 표시한다. BSA는 BAT(기능 블록과 연관되며 RS영역에 저장되어 있다)의 위치를 표시한다.The RS area 204 uses a number of reference tables and base tables, which determine the location of the functional blocks stored in the PS area 202 and the associated variables stored in the DS area 206. It is to find. Each function block stored in the PS area 202 has an associated reference table in the RS area 204, respectively, which is indexed according to the unique identification number of the function block. Each variable used by a given functional block in the PS area 202 has its position defined in a Base Address Table (BAT) in the DS area 206. A reference table includes a program start address (PSA) and a base start address (BSA). The PSA indicates the start address of the associated functional block stored in the PS area 202. The BSA indicates the location of the BAT (associated with the functional block and stored in the RS area).

신호 분산표(a Signal Distribution Table, SDT)는 PS영역(202)에 저장된 각 기능 블록의 시작 어드레스에 있다. SDT는 기능 블록 내에서 태스크(진행내용/기능)을 수행하기 위한 위치를 규정하고 있다. 기능 블록(208)과 그것의 관련 표와 변수의 예를 도 2에서 보여준다. 기능 블록(208)은 PS영역(202)에 저장되며, 기능블록 #1으로 식별된다. SDT(210)는 기능 블록(208)의 시작 어드레스에 자리잡으며, 기능 블록(208)내에서 일정한 태스크를 찾아내기 위해 채용되었다. 기능 블록(208)은 RS영역(204)내에 관련 참조표(212)를 갖는다. 참조표(212)는 RS영역(204)내에서 기능 블록 #1으로 색인되어 있다. 참조표(212)는 PSA(220)와 BSA(222)을 포함하고 있다. PSA(220)는 기능 블록(208)을 대한 시작 어드레스를 식별한다. BSA(222)는 RS영역 (204)내에 저장된 BAT(224)의 위치를 식별해 낸다. BAT(224)는 기능 블록(208)에 의해 사용되는 변수들의 위치를 식별해 낸다. 그 변수들은 예를 들면 변수상태(variable state)(214), Distinct(216), 그리고 Mup(218)와 같은 것들이다.A Signal Distribution Table (SDT) is at the start address of each functional block stored in the PS area 202. The SDT defines a location for performing a task (progression / function) within a function block. An example of a function block 208 and its associated tables and variables is shown in FIG. 2. The functional block 208 is stored in the PS area 202 and identified as functional block # 1. The SDT 210 sits at the start address of the function block 208 and is employed to find certain tasks within the function block 208. The function block 208 has an associated lookup table 212 in the RS area 204. Reference table 212 is indexed as functional block # 1 in RS area 204. Reference table 212 includes a PSA 220 and a BSA 222. PSA 220 identifies the start address for function block 208. BSA 222 identifies the location of BAT 224 stored in RS area 204. BAT 224 identifies the location of the variables used by function block 208. The variables are for example variable state 214, Distinct 216, and Mup 218.

다음에는 기능 블록(208)내에서 규정된 태스크를 어떻게 시작시킬 수 있는지를 보여주는 사례에 대해 설명한다. 우선 RS영역(204)에 액세스하여 기능 블록 #1에 의해 색인된 참조표가 있는지 검색한다. 이 특정 사례에서는, 참조표(212)가 검색 조건에 부합한다. 다음에 PSA(220)가 기능 블록(208)에 대한 시작 어드레스의 위치를 찾아내는데 사용된다. 시작 어드레스는 규정된 태스크와 관련하여, SDT(210)에 액세스하여 규정된 태스크를 시작시키는데 사용된다. 규정된 태스크를 실행하는 동안에, 기능 블록(208)은 변수상태[variable state](214), Distinct(216), 또는 Mup(218)]을 사용을 필요로 한다. 만약 기능 블록(208)이 변수들을 사용을 필요로 한다면, 기능 블록(208)은 DS영역(206)내에서 변수들의 위치를 결정하기 위해 BAT(224)에 액세스하는데 BSA(222)를 사용한다.The following describes an example that shows how a task defined in function block 208 can be started. First, the RS area 204 is accessed to search for the presence of the reference table indexed by the function block # 1. In this particular case, the lookup table 212 meets the search criteria. PSA 220 is then used to locate the start address for function block 208. The start address is used to access the SDT 210 and start the defined task in relation to the defined task. While executing the defined task, the function block 208 requires the use of a variable state 214, Distinct 216, or Mup 218. If the function block 208 needs to use the variables, the function block 208 uses the BSA 222 to access the BAT 224 to determine the location of the variables within the DS area 206.

도 3을 참조하여 보면, 본 발명의 적절한 실시예에 따른 제1도의 스위치 내에서 프로그램 교환 서브시스템(PXCP, 394)의 구성요소들과, 소프트웨어 로딩 서브시스템(CPS, 390)과, 그리고 로딩 중앙 처리 서브시스템(LOCP, 392)의 구성요소들과의 그들의 상호작용을 나타낸다. PXCP(394)는 프로그램 교환 관리자(a program exchange administrator=PXZA, 320), 프로그램 교환 데이터 차이 처리기(a program exchange data difference handler=PXZD, 318), 프로그램 교환 신호 차이 처리기(a program exchange signal difference handler=PXZS, 316), 그리고 프로그램 교환 기계 종속 경로(a program exchange machine dependent routine=PXZMD, 314)의 구성요소를 포함하고 있다. PXCP(394)는 다음과 같은 CPS(390) 구성요소들과 통신한다. 즉, 감사 기능 제어기(an audit function controller=AFCO, 302), 프로그램 테스트 모니터(a program test monitor=TEM, 304), 로딩 관리자 참조 정보 처리기(a loading administrator reference information handler=LARI, 308) 그리고 시스템 사건 정보 동보통신기(a system event information broadcaster=KEED, 306)의 구성요소들이다. 또한 PXCP(394) 다음의 LOCP(302) 구성요소들, 즉 로딩 관리 제어기(a loading administration controller=LACO, 310)와 로딩 관리 심볼 처리기(a loading administration symbol handler=LASYMB, 312)의 구성요소들과 통신한다. PXCP(394)의 각 구성요소들과, CPS(390)과 LOCP(392)의 구성요소들과 그들의 상호작용 내용을 다음에 간략하게 설명한다.Referring to FIG. 3, the components of the program exchange subsystem (PXCP) 394, the software loading subsystem (CPS) 390, and the loading center in the switch of FIG. 1 in accordance with a suitable embodiment of the present invention. Represent their interaction with the components of the processing subsystem (LOCP) 392. The PXCP 394 includes a program exchange administrator (PXZA 320), a program exchange data difference handler (PXZD, 318), and a program exchange signal difference handler (PXZD). PXZS, 316, and a program exchange machine dependent routine (PXZMD, 314). PXCP 394 communicates with the following CPS 390 components. That is, an audit function controller (AFCO, 302), a program test monitor (TEM, 304), a loading administrator reference information handler (LARI, 308), and a system event. Components of a system event information broadcaster (KEED, 306). And the components of the LOCP 302 following the PXCP 394, i.e. the components of a loading administration controller = LACO, 310 and a loading administration symbol handler = LASYMB, 312. Communicate Each component of the PXCP 394, the components of the CPS 390 and the LOCP 392, and their interactions are briefly described below.

PXZA(320)은 프로그램 교환 실시를 조정한다. PXZA(320)는 PXZD(318), PXZS(316), KEED(306), PXZMD(314), 그리고 LACO(310)과 양방향 논리 경로(324, 326, 348, 328, 그리고 322)를 통해 직접 통신한다. PXZD(318)는 구소프트웨어와 신소프트웨어 유닛들에 대해 저장된 데이터 변수 간의 호환성을 확인하여, 프로그램을 교체할 동안 신소프트웨어 유닛에 필요한 RS(204)와 DS(206)영역의 크기를 최적화 한다. PXZD(318)는 PXZA(320), LACO(310), LARI(308)과 양방향 논리 경로(324, 334, 330)을 통하여 각각 통신한다. PXZS(316)은 구소프트웨어와 신소프트웨어 유닛들에 대한 신호 인터페이스 간의 호환성을 확인하여, 신호 인터페이스간의 소정 차이점에 대한 모든 정보를 저장한다. PXZS는 PXZA(320)과 LARI(320)과 통신경로(326과 332)를 통하여 각각 통신한다. PXZMD(314)는 신소프트웨어 유닛에 대한 참조표와 BAT를 직접 갱신하는데 어셈블리 루틴을 사용하여 프로그램의 교환을 실시한다. 사실상 같은 기능을 수행하는 상이한 버전의 PXZMD가 AXE 10 스위치에서 사용되는 각각의 상이한 하드웨어 플랫폼에 필요하다. PXZMD(314)는 AFCO(302), TEM(304), LASYMB(312), LACO(310), 그리고 PXZA(320)과, 양방향 통신 경로(342, 344, 340, 338, 그리고 328)을 통하여 각각 통신한다.PXZA 320 coordinates the program exchange implementation. PXZA 320 communicates directly with PXZD 318, PXZS 316, KEED 306, PXZMD 314, and LACO 310 via bidirectional logical paths 324, 326, 348, 328, and 322. do. The PXZD 318 verifies the compatibility between the stored data variables for the old software and the new software units, optimizing the size of the RS 204 and DS 206 areas required for the new software unit during program replacement. PXZD 318 communicates with PXZA 320, LACO 310, and LARI 308 via bidirectional logical paths 324, 334, and 330, respectively. The PXZS 316 confirms the compatibility between the signal interfaces for the old software and the new software units, and stores all the information about the predetermined differences between the signal interfaces. PXZS communicates with PXZA 320 and LARI 320 via communication paths 326 and 332, respectively. PXZMD 314 performs the exchange of programs using assembly routines to directly update the BAT and a reference table for the new software unit. In fact, different versions of PXZMD that perform the same function are required for each different hardware platform used in AXE 10 switches. PXZMD 314 connects to AFCO 302, TEM 304, LASYMB 312, LACO 310, and PXZA 320, via bidirectional communication paths 342, 344, 340, 338, and 328, respectively. Communicate

프로그램을 교환 방법 동안에 논리 경로(324, 326, 330, 332, 334, 338, 340, 342, 344, 그리고 348)각각을 지나가는 통신 신호가 별표A에 목록으로 만들어져 있다.The communication signals passing through the logical paths 324, 326, 330, 332, 334, 338, 340, 342, 344, and 348, respectively, during the program exchange method are listed in asterisk A.

LACO(310)는 프로그램 교환을 위해 신소프트웨어 유닛이 로딩되었을 때를 PXCP(394)에게 알려주고, PXCP(394)와 CPS(390)들의 저장 기능 간의 인터페이스로서 활동한다. LASYMB(312)는 교환하여야 할 구소프트웨어와 신소프트웨어 유닛들에 대한 신호와 변수명 심볼을 관리한다.The LACO 310 informs the PXCP 394 when a new software unit has been loaded for program exchange and acts as an interface between the PXCP 394 and the storage function of the CPS 390. The LASYMB 312 manages signals and variable name symbols for the old and new software units to be exchanged.

AFCO(302)는 PXCP(394)와 CPS(390)들의 감사 기능 간의 인터페이스 기능을 수행한다. TEM(304)는 프로그램 테스트 시스템을 위한 중앙 기능을 포함하고 있다. LARI(308)는 기계 종속형이며, 스위치(제1도에서 104)의 운영 체계(OS)에서 사용하는 참조 정보를 판독하여 갱신하는 다수의 서비스 루틴을 포함하고 있다.The AFCO 302 functions as an interface between the audit function of the PXCP 394 and the CPSs 390. TEM 304 includes central functions for the program test system. LARI 308 is machine dependent and includes a number of service routines that read and update reference information used by the operating system (OS) of the switch (104 in FIG. 1).

도 4을 참조하여 보면, 본 발명의 바람직한 실시예에 따라 제1도의 스위치(104) 내에서 구소프트웨어 유닛(기능 블록)을 신소프트웨어 유닛으로 바꾸는 프로그램 교환방법의 단계를 보여주는 흐름도가 도시되어 있다. 이 방법은 단계(402)에서 시작하여, 단계(404)로 진행하는데, 단계(404)에서 구소프트웨어 유닛과 교체하여야할 새로운 소프트웨어 유닛이 스위치(104)(도 1)의 기억장치(122)로 로딩된다. 다음에 신소프트웨어 유닛이 등록되는 단계(406)로 진행하고, 신소프트웨어 유닛이 활성화되는 단계(408)로 계속 진행한다. 신소프트웨어가 활성화된 뒤에, 단계(410)에서 신소프트웨어를 확인한다. 그런 다음 방법은 단계(412)로 진행하는데, 여기서 신소프트웨어 유닛이 적절하게 작동하지 아닌지를 결정한다. 제대로 작동한다고 판단되면, 단계(418)로 진행하고, 제대로 작동하지 않는다면 단계(414)로 넘어간다. 단계(414)에서, 신소프트웨어는 비활성화시키고, 비활성화된 신소프트웨어를 스위치(104)에서 제거하는 단계(416)로 진행한다. 단계 418에서, 새로운 소프트웨어 유닛이 보증되고, 방법은 구소프트웨어 유닛이 스위치(104)(도 1)기억장치(122)에서 제거하는 단계(420)로 진행한다. 그리고 이 방법은 단계(422)에서 끝난다. 상기 단계들에 대한 상세한 설명을 아래에서 계속한다.Referring to Fig. 4, there is shown a flow chart showing the steps of a program exchange method for replacing an old software unit (functional block) with a new software unit in the switch 104 of Fig. 1 in accordance with a preferred embodiment of the present invention. The method begins at step 402 and proceeds to step 404, where a new software unit to be replaced with the old software unit is transferred to the storage 122 of the switch 104 (FIG. 1). Loaded. The process then proceeds to step 406 where the new software unit is registered and continues to step 408 where the new software unit is activated. After the new software is activated, the new software is checked in step 410. The method then proceeds to step 412, where it is determined whether the new software unit is not operating properly. If it is determined to work properly, go to step 418, and if not, go to step 414. In step 414, the new software is deactivated and proceeds to step 416 of removing the deactivated new software from the switch 104. At step 418, the new software unit is guaranteed, and the method proceeds to step 420, where the old software unit is removed from the switch 104 (FIG. 1) storage 122. The method then ends at step 422. The detailed description of these steps is continued below.

본 발명의 바람직한 실시예에서, 도 1의 DBS(124) 내에서 명령 트랜잭션(a command transaction)은 관련 구소프트웨어 유닛을 각각 대체하는 다수의 신소프트웨어 유닛을 규정하는데 사용할 수 있다.In a preferred embodiment of the present invention, a command transaction within DBS 124 of FIG. 1 may be used to define a number of new software units that each replace an associated old software unit.

도 4의 단계(404)에서, 신소프트웨어 유닛은 스위치(104)의 기억장치[122, 즉 PS(202), RS(204), 그리고 DS(206)]로 로딩된다. 프로그램 교환을 위해 신소프트웨어 유닛이 무사히 로딩된 후에, LACO(310)을 통해 DBS(124)는 교환 정보를 PXPROGRAM 데이터베이스 표에 삽입하기 위해 PLEX-SQL(DBS) 명령문을 사용한다. 교환 정보는 다음과 같은, 즉 신소프트웨어 유닛에 대한 블록 명칭, 새로운 그리고 구소프트웨어 유닛의 블록 번호, 새로운 그리고 구소프트웨어 유닛의 제품 번호, 그리고 신소프트웨어와 구소프트웨어 유닛의 R-STATE와 같은 정보를 포함할 수 있다. 교환 정보를 PXPROGRAM 표에 로딩하면, 신소프트웨어 유닛이 단계(406)에서 등록된다.In step 404 of FIG. 4, the new software unit is loaded into the storage device 122 (ie, the PS 202, the RS 204, and the DS 206) of the switch 104. After the new software unit is loaded safely for a program exchange, the LAS 310 allows the DBS 124 to use PLEX-SQL (DBS) statements to insert the exchange information into the PXPROGRAM database table. The exchange information includes information such as the block name for the new software unit, the block number of the new and old software unit, the product number of the new and old software unit, and the R-STATE of the new and old software unit. can do. When the exchange information is loaded into the PXPROGRAM table, the new software unit is registered in step 406.

도 5를 참조하여 보면, 발명의 바람직한 실시예에 따라 제4도의 단계(406)에서 신소프트웨어 유닛의 등록을 상세하게 흐름도가 도시되어 있다. 신소프트웨어 유닛의 등록은 단계(500)에서 시작하여 단계(504)로 진행하고, 이 단계에서 PXPROGRAM 표에 표 횡렬(row) 삽입이 허용되는지 아닌지를 결정한다. 표 횡렬은 반드시 (도 3의) 프로그램 교환 서브시스템(PXCP, 394)에 의해 PXPROGRAM 표 속으로 삽입되어야 하며 조작자(an operator)에 의해서는 안된다. 표의 횡렬 삽입이 허용되면, 단계(506)로 진행하고, 만약 허용되지 않으면 단계(514)로 진행한다.Referring to FIG. 5, a flow chart is shown in detail of the registration of a new software unit in step 406 of FIG. 4 in accordance with a preferred embodiment of the invention. Registration of the new software unit begins at step 500 and proceeds to step 504, where it is determined whether or not to insert a table row into the PXPROGRAM table. The table column must be inserted into the PXPROGRAM table by the program exchange subsystem (PXCP, 394) (not in FIG. 3) and not by an operator. If row insertion of the table is allowed, go to step 506, and if not, go to step 514.

단계(506)에서 신소프트웨어 유닛이 구소프트웨어 유닛과 호환성이 있는지를 결정한다. 신소프트웨어 유닛이 호환성이 있는지는, 블록의 형태와 블록의 외부 형태가 구소프트웨어 유닛의 블록 형태와 블록 외부형태와 동일하고, 수정 영역 내에서 수정 부분이 없고, 신호 인터페이스가 구소프트웨어 유닛과 신소프트웨어 유닛이 서로 호환 가능하며, 변수들의 구조가 서로 호환성이 있느냐에 따라 판별된다. PXZS(316)는 구소프트웨어 유닛과 신소프트웨어 유닛의 신호 인터페이스가 서로 호환성이 있는지를 결정한다. 신호 인터페이스가 서로 동일하다면 호환성이 있다. PXZD(318)도 신소프트웨어 유닛과 구소프트웨어 유닛의 구조가 호환성이 있는지를 결정한다. FXZD(318)는 또한 호환성이 있는 소정의 변수의 차이를 도 1의 DBS(124)내에서 VARIABLEDIFF 데이터베이스 표에 저장한다. 신소프트웨어 유닛이 호환성이 있는 것으로 결정되면, 단계(508)로 나아간다. 그러나 호환성이 없는 것으로 결정되면, 단계(510)로 진행한다.In step 506, it is determined whether the new software unit is compatible with the old software unit. Whether the new software unit is compatible is the same as that of the block and the external form of the block, the block form of the old software unit and the external form of the block, there is no correction part in the modification area, and the signal interface is the old software unit and the new software unit These are compatible with each other and are determined according to whether the structures of the variables are compatible with each other. The PXZS 316 determines whether the signal interfaces of the old software unit and the new software unit are compatible with each other. If the signal interfaces are identical, they are compatible. PXZD 318 also determines whether the structures of the new software unit and the old software unit are compatible. FXZD 318 also stores compatible variable differences in the VARIABLEDIFF database table within DBS 124 of FIG. If the new software unit is determined to be compatible, go to step 508. However, if it is determined to be incompatible, proceed to step 510.

단계(508)에서 구소프트웨어 유닛에 현재 존재하고 있는 신소프트웨어 내의 동일한 변수들을 신소프트웨어 유닛에서 제거한다. 동일한 변수들은 제2도의 DS영역(206)에서 공간을 절약하기 위해 삭제해 버릴 수 있는데 신소프트웨어 유닛은 구소프트웨어의 변수들을 물려받기 때문이다. 신소프트웨어 유닛에서 동일한 변수를 삭제하고 나면, 신소프트웨어 유닛의 BAT는 압축되므로, 추가, 변경. 삭제된 변수들 각각에 대해 단지 한 위치만이 존재한다. 신소프트웨어 유닛의 BAT가 압축된 뒤, VARIABLEDIFF 표는 압축된 BAT 내의 변수들에 대한 위치와 구소프트웨어 유닛의 BAT내의 변수에 대한 위치들 간을 맵핑하기 위해 갱신된다. 다음에 단계(512)로 계속된다. 단계(510)에서, 변수 결과_코드(result_code)는 구소프트웨어 유닛과 신소프트웨어 유닛이 호환성이 없다는 것을 표시하도록 설정된다. 다음에 단계(512)로 진행한다. 단계(514)에서, 변수 표 연산이 유효하게 수행되었는지 결정한다. 변수 표 연산이 제대로 수행되었다면 단계(512)로 진행하고, 만약 그렇지 못하다면 단계(516)로 진행한다.In step 508, the same variables in the new software currently present in the old software unit are removed from the new software unit. The same variables can be deleted to save space in the DS area 206 of FIG. 2 since the new software unit inherits the variables of the old software. After deleting the same variable in the new software unit, the BAT of the new software unit is compressed, so add and change. There is only one location for each deleted variable. After the BAT of the new software unit is compressed, the VARIABLEDIFF table is updated to map between the positions for the variables in the compressed BAT and the positions for the variables in the BAT of the old software unit. The flow then continues to step 512. In step 510, the variable result_code is set to indicate that the old software unit and the new software unit are incompatible. The process then proceeds to step 512. In step 514, it is determined whether the variable table operation was performed effectively. If the variable table operation was performed correctly, go to step 512; otherwise, go to step 516.

단계(516)에서, 변수 표 연산이 제대로 수행되지 못한 것을 표시하는 오류가 도 1의 DBS(124)에로 리턴된다. 그리고 단계(518)로 진행한다. 단계(512)에서, 도 3의 LACO(310)내의 기능을 시작시키고, 단계(518)에서 종료한다. LACO(310)에서 시작된 기능에 의해 신소프트웨어 유닛을 등록할 것을 결론 짓는다.At step 516, an error is returned to DBS 124 of FIG. 1 indicating that the variable table operation was not performed properly. The process then proceeds to step 518. In step 512, the function in LACO 310 of FIG. 3 is started and ends in step 518. FIG. It concludes that the new software unit is registered by the function started at LACO 310.

도 6A, 6B는 본 발명의 바람직한 실시예에 따라 제4도의 단계(408)에서 신소프트웨어 유닛의 활성화를 매우 상세히 보여주는 흐름도. 신소프트웨어 유닛의 활성화는 도 3의 PXZA(320)에 의해 수행된다. 신소프트웨어 유닛의 활성화는 일반적인 DBS 명령어들에 의해 시작되는데, 이 명령어가 신소프트웨어 유닛이 실행될 수 있도록 한다. 만약 프로그램을 교환하는 과정 중에 스위치(104)의 시스템을 재기동해야 하는 일이 생긴다면, 그때는 "활성화(ACTIVE)" 신소프트웨어 유닛을 비활성화시킨다. 이 이후로 용어 비활성화(passivated)는 실행할 수 있는 있지만 거부당한 소프트웨어 유닛을 규정하는데 사용된다.6A and 6B are flow charts showing in greater detail the activation of a new software unit in step 408 of FIG. 4 in accordance with a preferred embodiment of the present invention. Activation of the new software unit is performed by PXZA 320 of FIG. The activation of the new software unit is initiated by the usual DBS commands, which allow the new software unit to be executed. If in the process of exchanging a program it is necessary to restart the system of switch 104, then deactivate the "ACTIVE" new software unit. Since then the term passivated is used to define executable but rejected software units.

도 6A를 참조하면, PXPROGRAM 표에서 규정된 신소프트웨어 유닛들의 활성화는 단계(600)에서 시작하여 단계(604)로 진행되고, 이 단계에서 시스템 참보 정보 갱신의 허가가 LACO(310)에서부터 승인되었는지 여부를 판단한다. 만약 LACO(310)가 허가를 승인한다면, 단계(610)로 진행한다. LACO(310)가 허가를 승인하지 않는다면, 단계(606)로 진행하여 기능 오류 코드를 도 1의 DBS(124)로 보고하고 단계(652)로 진행하여 끝난다.Referring to FIG. 6A, activation of the new software units defined in the PXPROGRAM table begins at step 600 and proceeds to step 604, where in this step whether authorization of updating the system information is approved from LACO 310. Judge. If the LACO 310 approves the permission, proceed to step 610. If LACO 310 does not approve the permission, proceed to step 606 to report the functional error code to DBS 124 of FIG. 1 and to proceed to step 652.

단계(610)에서 PXPROGRAM 표는 신소프트웨어 유닛과 표 내에 지정되어 있는 구소프트웨어 유닛을 선택하도록 액세스되고, 프로그램 교환상태가 선택된 신소프트웨어와 구소프트웨어 유닛에 대해 유효한지 결정된다. 신소프트웨어의 프로그램 교환상태가 "ACTIVE"이면 그 상태는 유효하다. 구소프트웨어 유닛의 프로그램 교환 상태가 "INACTIVE"이면 그 상태는 유효하다. 선택된 신소프트웨어와 구소프트웨어 유닛에 대한 프로그램 교환상태(PXSTATEs)가 유효하다면, 그러면 단계(614)로 진행한다. 그러나, 만약 유효하지 않다면 단계(624)로 진행한다. 단계(624)에서 오류 코드가 도 1의 DBS(124)로 리턴되고, 단계(626)로 가서 선택된 신소프트웨어와 구소프트웨어 유닛들이 그들 처음 상태로 각각 복귀되고, 도 6B의 단계(642)로 진행한다.In step 610, the PXPROGRAM table is accessed to select the new software unit and the old software unit specified in the table, and it is determined whether the program exchange status is valid for the selected new software and the old software unit. If the program exchange status of the new software is "ACTIVE", the status is valid. If the program exchange status of the old software unit is "INACTIVE", the status is valid. If the PXSTATEs for the selected new software and old software unit are valid, then step 614 is reached. However, if it is not valid proceed to step 624. In step 624 an error code is returned to DBS 124 of FIG. 1, go to step 626, and the selected new and old software units are returned to their initial state, respectively, and proceed to step 642 of FIG. 6B. do.

단계(614)에서 선택된 신소프트웨어와 구소프트웨어 유닛의 신호 인터페이스가 호환이 있는지가 결정된다. 구소프트웨어와 신소프트웨어 유닛의 신호 인터페이스는 많은 이유 때문에 호환이 불가능할 수 있다. 예를 들면, 신소프트웨어 유닛의 로딩과 활성 간에 존재할 수 있는 시간 주기 동안에 구소프트웨어 유닛(즉, "ACTIVE" 유닛)에 신호 정정이 삽입될 수 있다.In step 614, it is determined whether the signal interface of the new software selected and the old software unit is compatible. The signal interface of the old software and the new software unit may be incompatible for many reasons. For example, signal correction may be inserted into an old software unit (ie, an "ACTIVE" unit) during a period of time that may exist between loading and activation of the new software unit.

선택된 구소프트웨어와 신소프트웨어 유닛의 신호 인터페이스 간의 차이는 허용되지 않는데, 신호 연결 정보는 프로그램을 교환하는 동안 갱신되지 않기 때문이다. 선택된 구 및 신소프트웨어 유닛의 신호 인터페이스의 호환성 판단은 도 3의 PXZS(316)에 의해 수행된다. 만약 PXZS(316)가 구 및 신소프트웨어 유닛의 신호 인터페이스가 호환 가능하다고 판단하면, 그러면 단계(616)로 진행한다. 그러나 호환 불가능하다고 결정 내리면, 그때는 단계(628)로 진행한다. 단계(628)에서, 오류 코드가 도 1의 DBS(124)로 리턴되고, 단계(630)로 가서 구 및 신소프트웨어 유닛은 그들의 처음 상태로 각각 복원되고, 도 6B의 단계(642)로 진행한다.The difference between the signal interface of the selected old software and the new software unit is not allowed because the signal connection information is not updated during the program exchange. The determination of the compatibility of the signal interface of the selected old and new software units is performed by the PXZS 316 of FIG. If the PXZS 316 determines that the signal interfaces of the old and new software units are compatible, then step 616 is reached. However, if it is determined to be incompatible, then proceed to step 628. In step 628, an error code is returned to DBS 124 of FIG. 1, and go to step 630 where the old and new software units are restored to their original state, respectively, and proceed to step 642 of FIG. 6B. .

단계(616)에서, 프로그램 교환 준비 작업이 수행된다. 이 준비 작업에는 PXZA(320)가 선택된 신소프트웨어와 구소프트웨어 유닛에 대한 블록 번호를 도 3의 PXZMD(314)에서 전송하는 작업을 포함한다. 그러면, PXZMD(314)는 참조표 위치, 기초 어드레스표 위치, 변수 영역 정보 워드(이는 프로그램 교환 중에 갱신된다)에 관한 정보를 어셈블링한다. 그런 다음, 단계(618)로 진행하여 프로그램 교환 준비가 성공적인지를 결정한다. 준비가 제대로 되었다면 단계(620)로 가지만, 그렇지 못할 경우 단계(632)로 진행한다. 단계(632)에서 오류 코드는 도 1의 DBS(124)로 리턴되고, 단계(634)로 가서 선택된 신소프트웨어와 구소프트웨어는 각각의 처음 상태로 복귀되고, 도 6B의 단계(642)로 진행한다.In step 616, a program exchange preparation operation is performed. This preparation includes the PXZA 320 transmitting a block number for the selected new software and the old software unit from the PXZMD 314 of FIG. 3. PXZMD 314 then assembles information about the reference table position, the base address table position, and the variable region information word (which is updated during program exchange). The process then proceeds to step 618 to determine if the program exchange preparation is successful. If ready, go to step 620; otherwise, go to step 632. In step 632 the error code is returned to DBS 124 of FIG. 1, and the process proceeds to step 634 and the selected new and old software is returned to their respective initial states and proceeds to step 642 of FIG. 6B. .

단계(620)에서, 제3도의 PXZA(320)는 선택된 신소프트웨어 유닛에 대해 프로그램 교환상태(PXSTATE)를 "ACTIVE"로 설정하고 단계(622)로 진행한다. 만약 너무 많은 다수의 신소프트웨어 유닛들이 DBS 명령 트랜잭션에서 규정된다면, 규정된 신소프트웨어 유닛의 활성화는 종료된다. 단계(622)에서, PXPROGRAM 표 내에 활성화를 위한 다른 신소프트웨어 유닛이 있는지를 판별한다. 만약 다른 신소프트웨어 유닛이 활성화를 위해 PXPROGRAM 표내에 규정되어 있는 것으로 판단되면, 단계(610)로 거슬러 올라가, 선택된 다른 신소프트웨어와 구소프트웨어 유닛에 대해 위에서 열거한 단계를 되풀이한다. 만일 PXPROGRAM 표 내에 활성화를 다른 신소프트웨어 유닛이 규정되어 있지 않다면, 도 6B의 단계(636)로 진행한다.In step 620, the PXZA 320 of FIG. 3 sets the program exchange state PXSTATE to "ACTIVE" for the selected new software unit and proceeds to step 622. FIG. If too many new software units are specified in a DBS command transaction, the activation of the specified new software unit is terminated. In step 622, it is determined whether there are other new software units for activation in the PXPROGRAM table. If it is determined that other new software units have been defined in the PXPROGRAM table for activation, go back to step 610 and repeat the steps listed above for the other selected new and old software units. If no other new software unit is specified for activation in the PXPROGRAM table, the process proceeds to step 636 of FIG. 6B.

도 6B의 단계(636)에서, PXPROGRAM에서 규정된 구소프트웨어와 신소프트웨어 유닛들은 교환된다. 교환 작업은, 교체해야 할 구소프트웨어 유닛의 현존 변수들에 이외에 변수들을 가지는 지정된 신소프트웨어 유닛들의 기초 어드레스 표에 대한 크기를 증가시키도록 도 3의 PXZA(320)이 명령함으로써 시작한다. 이와는 달리, PXZA(320)는 교체해야 할 구소프트웨어 유닛의 현존 변수들에 비해 적은 변수를 가지는 규정된 신소프트웨어 유닛의 기초 어드레스 표의 크기를 감소시키도록 명령한다.In step 636 of Fig. 6B, the old software and the new software units defined in PXPROGRAM are exchanged. The replacement operation begins by instructing PXZA 320 of FIG. 3 to increase the size for the base address table of the designated new software units having variables in addition to the existing variables of the old software unit to be replaced. Alternatively, the PXZA 320 instructs to reduce the size of the base address table of the defined new software unit with fewer variables compared to the existing variables of the old software unit to be replaced.

PXZA(320)는 "로우 레벨"의 프로그램 교환 실행을 수행하도록 신호를 PXZMD(314)에게 전송함으로써 프로그램 교환을 진행한다. 상기 신호에 응답하여, PXZMD(314)는 프로그램을 행하게 되는 규정된 소프트웨어 유닛들에 대해 설정되었을 수 있는 소정의 추적 수단들로 모두 제거한다. 그런 다음, PXZMD(314)는 높은 우선 순위 레벨의 인터럽트를 무능화시켜 프로그램 교환을 진행한다. 높은 우선 순위 레벨의 인터럽트가 무능화되는 동안에, PXZMD(314)는 규정된 구소프트웨어 유닛들 각각의 참조표, BAT, 변수들에서부터 교체되는 신소프트웨어 유닛들 각각으로 데이터를 복제한다. 그럼 다음, PXZMD(314)는 그때 높은 우선 순위 레벨 인터럽트를 다시 인에이블시키고, 도 3의 AFCO(302)가 규정의 신소프트웨어와 구소프트웨어 유닛에 대한 프로그램 저장 검사 합(checksum)를 교환하도록 명령한다. PXZMD(314)는 또한 규정의 신소프트웨어와 구소프트웨어 유닛들에 대한 변수 심볼 정보를 교환하도록 LASYMB(312)에게 명령한다.PXZA 320 proceeds program exchange by sending a signal to PXZMD 314 to perform a "low level" program exchange execution. In response to the signal, PXZMD 314 removes all of the predetermined tracking means that may have been set for the defined software units to be programmed. PXZMD 314 then proceeds with the program exchange by disabling the high priority level interrupt. While the high priority level interrupt is disabled, PXZMD 314 copies data from each of the defined old software units to each new software unit being replaced from the lookup table, BAT, and variables. Then, PXZMD 314 then enables the high priority level interrupt again, and instructs AFCO 302 in FIG. 3 to exchange program store checksums for the new software and the old software unit of regulation. . PXZMD 314 also instructs LASYMB 312 to exchange variable symbol information for the new software and old software units of the regulation.

단계(638)에서, 변수의 결과_코드는 프로그램 교환이 제대로 이루어졌는지 결정하기 위해 조사된다. 변수의 결과 코드가 프로그램의 교환이 성공적이라고 나타내는 것으로 판단되면, 단계(640)로 진행하고, 프로그램 교환이 제대로 이루어지지 못했다고 결정되면 단계(644)로 간다. 단계(644)에서 PXPROGRAM 표에 액세스하여 활성화를 위한 신소프트웨어 유닛을 선택한다. 선택된 신소프트웨어 유닛의 프로그램 교환상태(PXSTATES)가 "INACTIVE"와 동등하게 설정되어 있으면 단계(646)로 진행한다. 단계(646)에서, PXPROGRAM 표 내에 활성화시킬 다른 신소프트웨어가 있는지 판단한다. 만약 활성화시킬 다른 신소프트웨어가 PXPROGRAM 표에 규정되어 있다고 판단되면 단계(644)로 진행되어 새로이 선택된 다른 신소프트웨어 유닛에 대해 위 단계를 되풀이한다. 그러나 PXPROGRAM 표에 활성화를 위한 다른 신소프트웨어 유닛이 규정되어 있지 않다면 단계(648)로 진행한다. 단계(648)에서 기능 오류 코드가 도 1의 DBS(124)에게 리턴되고, 단계(642)로 진행한다.In step 638, the result_code of the variable is examined to determine if the program exchange was successful. If it is determined that the result code of the variable indicates that the exchange of the program was successful, the process proceeds to step 640, and if it is determined that the program exchange did not succeed, go to step 644. In step 644, the PXPROGRAM table is accessed to select a new software unit for activation. If the program exchange status PXSTATES of the selected new software unit is set equal to "INACTIVE", step 646 is reached. In step 646, it is determined whether there is other new software to be activated in the PXPROGRAM table. If it is determined that other new software to be activated is specified in the PXPROGRAM table, the process proceeds to step 644 to repeat the above steps for the newly selected other new software unit. However, if no other new software unit for activation is specified in the PXPROGRAM table, go to step 648. In step 648 a functional error code is returned to DBS 124 of FIG. 1 and proceeds to step 642.

단계(640)에서, 트랜잭션이 성공적이었다는 것을 나타내는 보고서가 도 1의 DBS(124)로 리턴되고, 단계(642)로 진행하여 시스템 참조 정보를 갱신하는 승인이 철회되고 단계(652)로 진행하여 끝난다.At step 640, a report indicating that the transaction was successful is returned to DBS 124 of FIG. 1, and the approval to proceed to step 642 to update the system reference information is withdrawn and proceeds to step 652. .

도 7을 참조하여 보면, 본 발명의 바람직한 실시예에 따라 도 4의 단계(410)에서 신소프트웨어 유닛을 확인하는 과정을 매우 상세하게 설명하는 흐름도가 도시되어 있다. 신소프트웨어 유닛의 확인은 단계(700)에서 시작하여 단계(704)로 진행하는데, 여기에서 시스템 참조 정보로의 액세스가 허용되는지 아닌지가 판단된다. 시스템 참조표에 액세스하기 위해서는, 도 3의 PXZA(320)이 허락을 요청하는 신호를 도 3의 LACO(310)에게 전송한다. 만일 LACO(310)가 허락을 승인한다면, 방법은 단계(708)로 진행한다. 그러나 LACO(310)가 허락을 거부하면, 단계(706)로 진행하고, 이 단계에서 오류 코드를 도 1의 DBS에 보고하고 단계(730)로 진행하여 끝난다.Referring to FIG. 7, there is shown a flow chart that describes in detail the process of identifying a new software unit in step 410 of FIG. 4 in accordance with a preferred embodiment of the present invention. The verification of the new software unit begins at step 700 and proceeds to step 704, where it is determined whether access to the system reference information is allowed or not. To access the system lookup table, the PXZA 320 of FIG. 3 transmits a signal requesting permission to the LACO 310 of FIG. If LACO 310 approves the permission, the method proceeds to step 708. However, if LACO 310 denies permission, proceed to step 706, where the error code is reported to DBS of FIG. 1 and proceeds to step 730, where it ends.

단계(708)에서, PXPROGRAM 표에 액세스하여 확인을 위해 규정된 신소프트웨어 유닛을 선택하고, 그리고 선택된 신소프트웨어 유닛의 프로그램 교환상태가 유효한지를 결정한다. 상태가 "ACTIVE"와 동등하면, 선택된 신소프트웨어의 PXSTATE는 유효하다. 만약 PXSTATE 가 유효하지 않다면 단계(710)로 진행한다. 그러나 선택된 신소프트웨어의 PXSTATE 가 유효한 것으로 결정되면, 단계(714)로 진행한다. 단계(710)에서, 기능 오류 코드는 도 1의 DBS(124)로 리턴되고, 단계(712)로 진행하여 선택된 신소프트웨어 유닛은 그의 이전 상태로 복귀된다. 그런 다음, 단계(728)로 진행한다.In step 708, the PXPROGRAM table is accessed to select the new software unit defined for verification, and to determine whether the program exchange status of the selected new software unit is valid. If the status is equal to "ACTIVE", the PXSTATE of the selected new software is valid. If PXSTATE is not valid, go to step 710. However, if the PXSTATE of the selected new software is determined to be valid, proceed to step 714. In step 710, the functional error code is returned to DBS 124 of FIG. 1, and the flow proceeds to step 712 where the selected new software unit is returned to its previous state. Then proceed to step 728.

단계(714)에서, 확인을 위한 DBS 명령 트랜잭션 내에 너무 많은 다수의 신소프트웨어 유닛들이 규정되어 있지 않은지가 결정된다. 만약 너무 많은 신소프트웨어 유닛들이 확인을 위해 규정되어 있다면, 그러면 단계(716)로 진행한다. 그러나 프로그램 교환을 위해 규정된 신소프트웨어 유닛의 수가 적당하다면 단계(722)로 간다. 단계(716)에서, 기능 오류 코드는 도 1의 DBS(124)로 리턴되고, 단계(718)로 진행하여 선택된 신소프트웨어 유닛는 그 이전 상태로 복귀되고, 단계(728)로 진행한다.In step 714, it is determined whether too many new software units are not defined in the DBS command transaction for confirmation. If too many new software units are defined for verification then proceed to step 716. However, if the number of new software units defined for the program exchange is appropriate, go to step 722. In step 716, the function error code is returned to DBS 124 of FIG. 1, and the flow proceeds to step 718, and the selected new software unit is returned to its previous state and proceeds to step 728.

단계(722)에서, 선택된 신소프트웨어 유닛에 대한 프로그램 교환상태가 "CONFIRM"과 동등하게 설정되고, 단계(724)로 진행하여 확인을 위해 규정된 다른 신소프트웨어 유닛이 PXPROGRAM 표에 있는지 아닌지가 결정된다. 만약 PXPROGRAM 표에 다른 신소프트웨어 유닛이 있는 것으로 결정된다면, 단계(708)로 되돌아가서 다른 신소프트웨어 유닛에 대해 위에서 열거한 단계들을 되풀이한다. 그러나 PXPROGRAM 표에 확인해야 할 다른 신소프트웨어 유닛이 더 없다고 판단되면, 단계(726)로 진행하여 처리가 성공적으로 끝났다는 보고서가 도 1의 DBS(124)로 전송된다. 그리고 단계(728)로 가서 시스템 참조 정보를 갱신하는 것에 대한 허락이 철회되고 단계(730)로 간다.In step 722, the program exchange status for the selected new software unit is set equal to " CONFIRM ", and proceeds to step 724 to determine whether other new software units defined for confirmation are in the PXPROGRAM table. . If it is determined that there are other new software units in the PXPROGRAM table, return to step 708 to repeat the steps listed above for the other new software units. However, if it is determined that there are no other new software units to check in the PXPROGRAM table, the process proceeds to step 726, where a report is sent to the DBS 124 of FIG. The permission to go to step 728 and update the system reference information is revoked and go to step 730.

이제 도 8A, 8B를 참조하여 보면, 본 발명의 바람직한 실시예에 따라 제4도의 단계(418)에서 신소프트웨어 유닛의 보증작업을 매우 상세히 나타내는 흐름도가 도시되어 있다. 보증 과정은 하나 이상의 확인된 신소프트웨어 유닛을 보증하고 시스템에서부터 관련된 구 버전의 소프트웨어 유닛을 제거한다. 규정된 신소프트웨어 유닛이 한번 보증되면, 보증된 신소프트웨어 유닛이나 대체되는 구소프트웨어 유닛에 대해 복귀될 가능성은 없다. 그러나 교체된 구소프트웨어 유닛은 도 1의 스위치에서 제거할 수 있고, 확인된 신소프트웨어 유닛과 프로그램 교환을 위해 다시 로딩될 수 있다. 스위치는 선택적으로 이전 시스템 백업으로 로딩될 수 있다.Referring now to FIGS. 8A and 8B, there is shown a flow chart illustrating in greater detail the assurance of a new software unit in step 418 of FIG. 4 in accordance with a preferred embodiment of the present invention. The warranty process guarantees one or more identified new software units and removes the associated older version of the software units from the system. Once a prescribed new software unit is warranted, there is no possibility of returning to the guaranteed new software unit or the replaced old software unit. However, the old software unit replaced can be removed from the switch of FIG. 1 and reloaded for program exchange with the identified new software unit. The switch can optionally be loaded with a previous system backup.

보증 방법은 단계(800)에서 시작하고 단계(804)로 진행하여 시스템 참조 정보로 액세스가 허용되지는 여부를 결정한다. 도 3의 PXZA(320)은 제3도의 LACO(310)에게 신호를 전송하여 시스템 참조 정보를 갱신할 수 있도록 허용해 달라고 요청한다. 만약 LACO(310)가 허용하지 않으면, 그러면 단계(806)로 진행하고, 만일 LACO(310)가 허용한다면, 단계(810)로 간다.The assurance method begins at step 800 and proceeds to step 804 to determine whether access is allowed to the system reference information. The PXZA 320 of FIG. 3 sends a signal to the LACO 310 of FIG. 3 to request to update the system reference information. If LACO 310 does not allow then proceed to step 806 and if LACO 310 allows, go to step 810.

단계(806)에서, 오류 코드는 도 1의 DBS(124)로 보내지고 방법은 단계(842)로 가서 종료한다. 단계(810)에서, PXPROGRAM 표에 액세스하여 보증을 위해 규정된 신소프트웨어 유닛을 선택하고; 선택된 신소프트웨어 유닛의 프로그램 교환상태(PXSTATE)가 유효한지 아닌지 결정한다. 상태가 "CERTIFY"와 동등하면 선택된 신소프트웨어 유닛의 PXSTATE가 유효한 것이다. 만약 신소프트웨어의 PXSTATE 가 유효한 것으로 결정되면 단계(816)로 진행한다. 그러나 신소프트웨어 유닛의 PXSTATE 가 유효하지 않은 것으로 결정되면 단계(812)로 진행한다. 단계(812)에서, 기능 오류 코드는 도 1의 DBS(124)에 통보된다. 그리고 단계(814)로 가서 선택된 신소프트웨어 유닛은 그 이전의 상태로 복귀되고 도 8B의 단계(838)로 진행한다.In step 806, an error code is sent to DBS 124 of FIG. 1 and the method goes to step 842 and ends. In step 810, access the PXPROGRAM table to select a new software unit defined for warranty; Determines whether the PXSTATE of the selected new software unit is valid. If the status is equal to "CERTIFY", the PXSTATE of the selected new software unit is valid. If the PXSTATE of the new software is determined to be valid, proceed to step 816. However, if the PXSTATE of the new software unit is determined to be invalid, the process proceeds to step 812. At step 812, the function error code is notified to DBS 124 of FIG. Going to step 814, the selected new software unit returns to its previous state and proceeds to step 838 of FIG. 8B.

단계(816)에서, 보증을 위한 DBS 명령 트랜잭션에서 너무 많은 다수의 신소프트웨어 유닛이 규정되지 않은지를 판단한다. 만약 보증을 위해 너무 많은 숫자의 신소프트웨어 유닛이 규정되어 있다고 판단되면 단계(818)로 진행한다. 그러나 숫자가 적절하면 단계(822)로 진행한다.In step 816, it is determined whether too many new software units are not defined in the DBS command transaction for guarantee. If it is determined that too many new software units are defined for the guarantee, the process proceeds to step 818. However, if the number is appropriate, go to step 822.

단계(818)에서, 오류 코드는 도 1의 DBS(124)로 리턴되고, 방법은 단계(820)로 진행하여 선택된 신소프트웨어는 그 처음 상태로 복귀되고, 도 8B의 단계(838)로 진행한다. 단계(822)에서, 도 3의 PXZA(320)는 선택된 신소프트웨어 유닛의 프로그램 교환상태(PXSTATE)를 "CERTIFY"와 같게 설정하고, 방법은 단계(824)로 간다. 단계(824)에서, PXPROGRAM 표에 보증을 위해 규정된 다른 신소프트웨어 유닛이 존재하는지를 결정한다. 만일 보증을 위해 규정된 다른 신소프트웨어 유닛이 PXRPOGRAM 표에 존재하는 것으로 결정되면, 방법은 단계(810)로 되돌아가서 다른 신소프트웨어 유닛에 대해 위에서 열거한 단계를 되풀이한다. 그러나, 보증을 위해 규정된 다른 신소프트웨어 유닛이 PXPROGRAM 표에 존재하지 않는 것으로 결정되면, 방법은 도 8B의 단계(826)로 간다.At step 818, the error code is returned to DBS 124 of FIG. 1, and the method proceeds to step 820 where the selected new software returns to its initial state and proceeds to step 838 of FIG. 8B. . In step 822, PXZA 320 of FIG. 3 sets the program exchange status PXSTATE of the selected new software unit equal to " CERTIFY ", and the method goes to step 824. FIG. In step 824, it is determined in the PXPROGRAM table if there are other new software units defined for the guarantee. If it is determined that another new software unit defined for the warranty exists in the PXRPOGRAM table, the method returns to step 810 and repeats the steps listed above for the other new software unit. However, if it is determined that no other new software unit defined for warranty is present in the PXPROGRAM table, the method goes to step 826 of FIG. 8B.

도 8B를 참조하여 보면, 단계(826)에서, PXZA(320)는 제거해야 할 규정된 구소프트웨어 유닛의 블록 명칭들을 도 3의 LACO(310)으로 전송한다. 그런 다음, PXZA(320)는 각각의 프로그램 교환 블록 번호에 위치하는 규정된 구소프트웨어 유닛들을 제거하도록 LACO(310)에 명령한다. PXZA(320)은 또한 LACO(310)가 성공리에 제거한 규정된 구소프트웨어 유닛에 대한 프로그램 교환 정보를 PXPROGRAM 표에서 제거한다.Referring to FIG. 8B, at step 826, PXZA 320 sends the block names of the defined old software unit to be removed to LACO 310 of FIG. PXZA 320 then instructs LACO 310 to remove the defined old software units located at each program exchange block number. PXZA 320 also removes from the PXPROGRAM table the program exchange information for a defined old software unit that LACO 310 successfully removed.

단계(828)에서, 규정된 모든 구소프트웨어 유닛들을 제대로 제거했는지 아닌지가 결정된다. 만일 규정된 모든 구소프트웨어 유닛들의 제거가 성공적이었는 것으로 결정되면, 단계(836)로 진행한다. 그러나, 어느 것이라도 제거가 제대로 되지 못했다면, 단계(830)로 간다. 단계(830)에서 보증을 위해 규정된 신소프트웨어 유닛이 PXPROGRAM 표에서 선택되고, 선택된 신소프트웨어 유닛의 프로그램 교환상태는 "CONFIRM"으로 설정된다. 그런 다음, 방법은 단계(832)로 진행하여 PXPROGRAM 표에 보증을 위해 규정된 다른 신소프트웨어 유닛이 존재하는지를 결정한다. 만약 보증을 위해 규정된 다른 신소프트웨어 유닛이 PXPROGRAM 표에 존재하는 것으로 결정된다면, 방법은 단계(830)로 거슬러 가서 다른 신소프트웨어 유닛에 대해 위에서 열거한 단계를 되풀이한다. 그러나, 보증을 위해 규정된 다른 신소프트웨어 유닛이 PXPROGRAM 표에 존재하지 않는다면, 방법은 단계(834)로 진행하여 오류 코드를 도 1의 DBS(124)에 통보하고 단계(838)로 진행한다.In step 828, it is determined whether all defined old software units have been properly removed. If it is determined that the removal of all defined old software units was successful, proceed to step 836. However, if any of the removal was not successful, go to step 830. In step 830, the new software unit defined for the guarantee is selected from the PXPROGRAM table, and the program exchange status of the selected new software unit is set to " CONFIRM. &Quot; The method then proceeds to step 832 to determine if there are other new software units defined for warranty in the PXPROGRAM table. If it is determined that another new software unit defined for the warranty exists in the PXPROGRAM table, the method goes back to step 830 and repeats the steps listed above for the other new software unit. However, if no other new software unit defined for the warranty exists in the PXPROGRAM table, the method proceeds to step 834 and notifies the DBS 124 of FIG. 1 to step 838.

단계(836)에서, 보증이 성공적이라는 표시가 도 1의 DBS(124)로 리턴되고, 방법은 단계(840)로 진행하여 시스템 참조 정보의 갱신에 대한 허락이 철회되고, 방법은 단계(842)로 가서 종료한다.In step 836, an indication that the guarantee is successful is returned to DBS 124 of FIG. 1, the method proceeds to step 840 where the permission to update the system reference information is revoked, and the method is step 842. Go to and exit.

도 9A, 9B를 참조하여 보면, 본 발명의 바람직한 실시예에 따라 도 4의 단계(414)DPTJ 신소프트웨어 유닛의 비활성화를 상세하게 설명하는 흐름도가 도시되어 있다. 비활성화(passivation) 방법은 단계(900)에서 시작하여 단계(902)로 진행하는데, 이 단계에서 PXZA(320)은 시스템 참조 정보의 갱신의 허락을 요청하는 신호를 LACO(310)에 전송한다. 만약 LACO(310)가 허락을 승인한다면, 방법은 단계(906)로 진행한다. 만약 LACO(310)가 허락을 승인하지 않는다면, 방법은 단계(904)로 진행하여 오류 코드가 도 1의 DBS(124)에 리턴되고, 방법은 단계(942)에서 종료한다.9A and 9B, there is shown a flowchart detailing the deactivation of the step 414DPTJ new software unit of FIG. 4 in accordance with a preferred embodiment of the present invention. The passivation method begins at step 900 and proceeds to step 902, where the PXZA 320 sends a signal to the LACO 310 requesting permission to update the system reference information. If LACO 310 approves the permission, the method proceeds to step 906. If LACO 310 does not grant permission, the method proceeds to step 904 where an error code is returned to DBS 124 of FIG. 1, and the method ends at step 942.

단계(906)에서, PXPROGRAM 표에 액세스하여 비활성화를 위해 규정된 신소프트웨어 유닛과 그와 관련한 구소프트웨어 유닛을 선택하고, 선택된 신소프트웨어와 구소프트웨어 유닛에 대해 프로그램 교환상태가 유효한지 아닌지를 판단한다. 선택된 신소프트웨어 유닛의 프로그램 교환상태는 그것이 "INACTIVE"와 같으면 유효하다. 선택된 구소프트웨어 유닛의 프로그램 교환상태는 "ACTIVE" 또는 "CONFIRM"과 같을 때 유효하다. 만약 선택된 신소프트웨어와 구소프트웨어 유닛들이 유효한 프로그램 교환상태를 지닌다면 단계(912)로 진행한다. 그러나 어느 하나라도 유효하지 않은 상태이라면 단계(908)로 진행하여 오류 코드가 도 1의 DBS(124)에로 리턴되고, 방법은 단계(910)로 진행한다. 단계(910)에서, 선택된 구소프트웨어와 신소프트웨어 유닛은 이전 상태로 복귀되고, 방법은 도 9B의 단계(942)로 진행한다.In step 906, the PXPROGRAM table is accessed to select the new software unit defined for deactivation and the old software unit associated therewith, and determine whether the program exchange status is valid for the selected new software and old software unit. The program exchange status of the selected new software unit is valid if it is equal to "INACTIVE". The program exchange status of the selected old software unit is valid when it is equal to "ACTIVE" or "CONFIRM". If the selected new software and old software units have a valid program exchange state, step 912 is reached. If either is not valid, however, the process proceeds to step 908 where an error code is returned to the DBS 124 of FIG. 1 and the method proceeds to step 910. In step 910, the selected old software and new software unit are returned to their previous state, and the method proceeds to step 942 of FIG. 9B.

단계(912)에서, 신소프트웨어나 구소프트웨어 유닛의 신호 인터페이스가 호환성이 있는지 여부를 판단한다. PXCP(318)은 프로그램 교환 중 신호 연결 정보를 갱신하지 않기 때문에, 신호 인터페이스에서 차이가 허용되지 않는다. PXZA(320)은 PXZS(316)에게 호환성을 검증하라고 지령을 내린다. 신호 인터페이스가 호환성이 있다고 판단되면 단계(918)로 진행한다. 그러나 신호 인터페이스가 호환성이 없다고 판단되면 단계(922)로 진행하여 오류 코드를 도 1의 DBS(124)에 보고하고, 방법은 단계(924)로 간다. 단계(924)에서, 선택된 구소프트웨어와 신소프트웨어 유닛은 그들의 이전 상태로 복귀되고, 방법은 도 9B의 단계(942)로 진행한다.In step 912, it is determined whether the signal interfaces of the new software or the old software unit are compatible. Since the PXCP 318 does not update the signal connection information during program exchange, no difference is allowed in the signal interface. PXZA 320 instructs PXZS 316 to verify compatibility. If it is determined that the signal interface is compatible, the flow proceeds to step 918. However, if it is determined that the signal interface is incompatible, proceed to step 922 and report the error code to DBS 124 of FIG. 1, and the method goes to step 924. At step 924, the selected old software and new software unit are returned to their previous state, and the method proceeds to step 942 of FIG. 9B.

단계(918)에서, 프로그램 교환을 위한 준비를 한다. 준비는, 만약 선택된 구소프트웨어 유닛이 교체하게 될 신소프트웨어의 현재 변수 이외의 변수를 가진다면, 선택된 구소프트웨어 유닛의 기초 어드레스 표를 증가시키도록 도 3의 PXZA(320)가 명령함으로써 시작한다. 이와 대조적으로, 만약 선택된 구소프트웨어 유닛이 교체하게 될 신소프트웨어 유닛 기존 변수보다 적은 변수를 가지고 있다면, 선택된 구소프트웨어 유닛의 기초 주소표에서 감소시키도록 PXZA(320)이 명령한다. 프로그램 교체를 위한 준비가 수행된 후에, 단계(920)로 진행하여 준비 작업이 성공적이었는지를 판단한다. 만약 준비가 제대로 되었다면, 도 9B의 단계(926)로 진행하지만, 준비가 성공적이지 못하다면 단계(922)로 진행하여 오류 코드가 도 1의 DBS(124)에게 통보되고, 방법은 단계(924)로 진행한다. 단계(924)에서, 선택된 구소프트웨어와 신소프트웨어 유닛들은 그들의 이전 상태로 복귀되고, 방법은 도 9B의 단계(942)로 진행한다.In step 918, preparation for program exchange is made. Preparation begins by instructing PXZA 320 of FIG. 3 to increment the base address table of the selected old software unit if the selected old software unit has a variable other than the current variable of the new software to be replaced. In contrast, if the selected old software unit has fewer variables than the new software unit existing variable to be replaced, the PXZA 320 instructs to reduce in the base address table of the selected old software unit. After preparation for program replacement is performed, the process proceeds to step 920 to determine whether the preparation was successful. If ready, proceed to step 926 of FIG. 9B, but if the preparation is not successful, go to step 922 and an error code is notified to DBS 124 of FIG. 1, and the method proceeds to step 924. Proceed to In step 924, the selected old and new software units are returned to their previous state, and the method proceeds to step 942 of FIG. 9B.

도 9B를 참조하여 보면, 단계(926)에서, 선택된 신소프트웨어 유닛에 대한 프로그램 교환상태(PXSTATE)는 "INACTIVE"로 바뀌고, 방법은 단계(928)로 간다. 단계(928)에서, PXPROGRAM 표에 비활성화를 위해 규정된 다른 신소프트웨어와 구소프트웨어 유닛의 쌍이 있는지 없는지를 판단한다. 만약 PXPROGRAM 표 내에 비활성화를 위해 규정된 신소프트웨어와 구소프트웨어 유닛 쌍이 있다고 판단되면, 단계(906)로 되돌아가서, 다른 신소프트웨어 및 구소프트웨어 유닛의 쌍에 대해 위에서 열거한 단계를 되풀이한다. 그러나, PXPROGRAM 표에 다른 구소프트웨어 및 신소프트웨어 유닛의 쌍이 없다면, 방법은 단계(930)로 진행한다. 단계(930)에서, 비활성화를 위해 규정된 구소프트웨어와 신소프트웨어 유닛의 쌍의 교환을 행한다. 교환 작업은 PXZMD(314)가 TEM(304)에게 규정된 구소프트웨어와 신소프트웨어 유닛에 대해 설정되었을 수 있는 소정의 추적 수단을 제거하도록 명령함으로써 수행된다. PXZMD(314)는 또한 THL(a traflic handling level; 트래픽 처리 레벨)과 같은 높은 우선 순위 레벨의 인터럽트도 비활성화 시킨다. 높은 우선 순위 레벨 인터럽트가 비활성화되는 기간 동안에, 도 3의 PXZMD(314)는 규정된 신소프트웨어의 참조표, BAT, 그리고 변수들 각각에서부터 신소프트웨어 유닛을 대체하는 관련 구소프트웨어 유닛으로 데이터를 복사한다. 그런 다음, PXZMD(314)는 높은 우선 순위 레벨의 인터럽트를 다시 인에이블하고, AFCO(302)에게 PS 체크 합을 교환 하도록 명령하고, LASYMB(312)에게 규정된 구소프트웨어와 신소프트웨어 유닛에 대한 변수 심볼 정보를 교환하도록 명령한다. 변수 결과_코드는 또한 프로그램 교환이 성공적이었는지 여부를 표시하는 값과 동일하게 설정된다. 그런 다음, 방법은 단계(932)로 진행하는데, 여기에서 변수 결과_코드는 프로그램 교환이 성공적이었는지 여부를 판단하기 위해 분석된다. 변수 결과_코드가 프로그램 교환이 성공적이었다고 나타내는 것으로 판단되면, 방법은 단계(938)로 진행한다. 그러나 결과_코드가 프로그램 의 교환이 성공적이지 못하였다는 것을 나타내는 것으로 판단되면, 방법은 단계(934)로 진행한다.9B, in step 926, the PXSTATE for the selected new software unit is changed to " INACTIVE ", and the method goes to step 928. In FIG. In step 928, it is determined whether there is a pair of other new software and old software units defined for deactivation in the PXPROGRAM table. If it is determined that there is a new software and old software unit pair defined for deactivation in the PXPROGRAM table, returning to step 906, the steps listed above for the other new software and old software unit pair are repeated. However, if there are no other pairs of old and new software units in the PXPROGRAM table, the method proceeds to step 930. In step 930, a pair of old software and a new software unit specified for deactivation is exchanged. The exchange operation is performed by instructing the PXZMD 314 to remove any tracking means that may have been established for the old software and the new software unit defined. PXZMD 314 also disables high priority levels of interrupts, such as a traflic handling level (THL). During the period when the high priority level interrupt is deactivated, PXZMD 314 of FIG. 3 copies data from each of the defined new software reference tables, BAT, and variables to the associated old software unit replacing the new software unit. PXZMD 314 then re-enables the high priority level interrupt again, instructs AFCO 302 to exchange the PS check sum, and variables LASYMB 312 for the old and new software units defined. Command to exchange symbol information. The variable result_code is also set equal to a value indicating whether the program exchange was successful. The method then proceeds to step 932, where the variable result_code is analyzed to determine whether the program exchange was successful. If the variable result_code is determined to indicate that the program exchange was successful, the method proceeds to step 938. However, if the result_code is determined to indicate that the exchange of programs was unsuccessful, the method proceeds to step 934.

단계(934)에서, PXPROGRAM 표에 액세스하여, 비활성화를 위해 규정된 신소프트웨어 및 구소프트웨어 유닛을 선택한다. 이외에도, 선택된 신소프트웨어 유닛의 프로그램 교환상태가 "ACTIVE"와 동등하게 설정되어 있으면 단계(936)로 진행한다. 단계(936)에서, PXPROGRAM 표에 비활성화를 위해 규정된 다른 신소프트웨어와 구소프트웨어 유닛의 쌍이 있는지를 판단한다. 만약 PXPROGRAM 표에 비활성화를 위해 규정된 다른 신소프트웨어와 구소프트웨어 유닛의 다른 쌍이 있는 것을 결정되면, 그러면 방법은 단계(934)로 되돌아가서 다른 신소프트웨어 유닛으로 위에서 열거한 단계를 되풀이한다. 만약 PXPROGRAM 표에 비활성화를 위해 규정된 다른 신소프트웨어와 구소프트웨어 유닛의 쌍이 없는 것으로 결정되면, 그러면 방법은 단계(940)로 간다. 단계(940)에서, 오류 코드는 도 1의 DBS(124)에 리턴되고, 그리고 방법은 단계(942)로 진행한다. 단계(938)에서, 프로그램 교환이 성공적이었다는 표시는 도 1의 DBS(124)에 리턴되고, 방법은 단계(942)로 진행한다. 단계(942)에서, 시스템 참조 정보 표(table)를 갱신하기 위한 허가가 철회되고, 방법은 단계(944)로 가서 종료한다.In step 934, the PXPROGRAM table is accessed to select the new and old software units defined for deactivation. In addition, if the program exchange status of the selected new software unit is set equal to " ACTIVE ", step 936 is reached. In step 936, it is determined whether there is a pair of other new software and old software units defined for deactivation in the PXPROGRAM table. If it is determined in the PXPROGRAM table that there are different pairs of other new software and old software units defined for deactivation, then the method returns to step 934 and repeats the steps listed above with other new software units. If it is determined in the PXPROGRAM table that there are no pairs of other new software and old software units defined for deactivation, then the method proceeds to step 940. At step 940, an error code is returned to DBS 124 of FIG. 1, and the method proceeds to step 942. At step 938, an indication that the program exchange was successful is returned to DBS 124 of FIG. 1, and the method proceeds to step 942. In step 942, the permission to update the system reference information table is revoked, and the method goes to step 944 and ends.

도 10A, 10B를 참조하여 보면, 본 발명의 바람직한 실시예에 따라 제4도의 단계(416)에서 신소프트웨어 유닛의 제거를 매우 상세하게 나타내는 흐름도가 도시되어 있다. 신소프트웨어 유닛의 제거방법은 단계(1000)에서 시작하여 단계(1002)로 진행한다. 단계(1002)에서, PXZA(320)은 시스템 참조 정보를 갱신하기 위해 허가를 요청하는 신호를 도 3의 LACO(310)로 전송한다. 만일 LACO(310)가 허락을 승인하면, 방법은 단계(1006)로 진행한다. 그러나 LACO(310)가 허락을 승인하지 않으면, 그러면 방법은 단계(1004)로 가서 오류 코드가 도 1의 DBS(124)로 리턴되고, 방법은 단계(1032)로 가서 종료한다.10A and 10B, there is shown a flow chart that illustrates in greater detail the removal of a new software unit in step 416 of FIG. 4 in accordance with a preferred embodiment of the present invention. The removal method of the new software unit starts at step 1000 and proceeds to step 1002. In step 1002, PXZA 320 sends a signal to LACO 310 of FIG. 3 requesting permission to update system reference information. If LACO 310 approves the permission, the method proceeds to step 1006. However, if LACO 310 does not grant permission, then the method goes to step 1004 and an error code is returned to DBS 124 of FIG. 1, and the method goes to step 1032 and ends.

단계(1006)에서, PXPROGRAM 표에 액세스하여, 제거를 위해 규정된 신소프트웨어 유닛을 선택하고, 그리고 선택된 신소프트웨어 유닛의 프로그램 교환상태가 "INACTIVE"과 같은지 여부를 판단한다. 만일 선택된 신소프트웨어 유닛의 프로그램 교환상태가 "INACTIVE"와 같으면, 그러면 방법은 단계(1012)로 진행하지만, 선택된 신소프트웨어 유닛의 프로그램 교환상태가 "INACTIVE"와 같지 않으면, 그러면 방법은 단계(1008)로 진행하여 오류 코드가 도 1의 DBS(124)로 리턴된다. 그런 다음, 방법은 단계(1012)로 진행하여 선택된 신소프트웨어 유닛은 그 이전 상태로 복귀되고, 방법은 도 10B의 단계(1030)로 진행한다.In step 1006, the PXPROGRAM table is accessed, the new software unit defined for removal is selected, and it is determined whether the program exchange status of the selected new software unit is equal to " INACTIVE ". If the program exchange status of the selected new software unit is equal to "INACTIVE", then the method proceeds to step 1012, but if the program exchange status of the selected new software unit is not equal to "INACTIVE", then the method is step 1008. Proceeding to the error code is returned to DBS 124 of FIG. The method then proceeds to step 1012 where the selected new software unit returns to its previous state and the method proceeds to step 1030 of FIG. 10B.

단계(1012)에서, 제거를 위해 DBS 명령 트랜잭션 내에 너무 많은 다수의 신소프트웨어 유닛이 규정되어 있지 아닌지를 판단한다. 만약 제거를 위해 너무 많은 다수의 신소프트웨어 유닛이 규정되어 있다고 판단되면, 그러면 방법은 단계(1014)로 가지만, 제거를 위해 적당한 숫자의 신소프트웨어 유닛이 규정되어 있다고 판단되면, 그러면 방법은 단계(1018)로 진행한다. 단계(1014)에서, 오류 코드가 도 1의 DBS(124)로 리턴되고, 방법은 단계(1016)로 진행하여 선택된 신소프트웨어 유닛은 그 이전 상태로 복귀되고, 방법은 도 10B의 단계(1030)로 진행한다. 단계(1018)에서, 선택된 신소프트웨어 유닛에 대한 블록 번호는 PXPROGRAM 표내로 관련 횡렬에서부터 기록되고, 방법은 단계(1020)로 진행한다. 단계(1020)에서, PXPROGRAM 내에 제거를 위해 규정된 다른 신소프트웨어 유닛이 존재하는지 여부가 판단된다. 만약 PXPROGRAM 내에 제거를 위해 규정된 다른 신소프트웨어 유닛이 존재하는 것으로 판단되면, 그러면 방법은 단계(1006)로 되돌아가서 다른 신소프트웨어 유닛에 대해 위에서 열거된 단계를 되풀이한다. 만약 PXPROGRAM 내에 제거를 위해 규정된 다른 신소프트웨어가 더 이상 없다고 판단되면, 그러면 방법은 도 10B의 단계(1022)로 진행한다.In step 1012, it is determined whether too many new software units are not defined in the DBS command transaction for removal. If it is determined that too many new software units are defined for removal, then the method proceeds to step 1014, but if it is determined that an appropriate number of new software units are defined for removal, then the method proceeds to step 1018. Proceed to). In step 1014, an error code is returned to DBS 124 of FIG. 1, the method proceeds to step 1016 where the selected new software unit is returned to its previous state, and the method is step 1030 of FIG. 10B. Proceed to In step 1018, the block number for the selected new software unit is written from the relevant row into the PXPROGRAM table, and the method proceeds to step 1020. In step 1020, it is determined whether there are other new software units defined for removal in the PXPROGRAM. If it is determined that there are other new software units defined for removal in the PXPROGRAM, then the method returns to step 1006 and repeats the steps listed above for the other new software unit. If it is determined that there is no longer any other new software defined for removal in PXPROGRAM, then the method proceeds to step 1022 of FIG. 10B.

도 10B를 참조하여 보면, 단계(1022)에서, 비활성화 소프트웨어 유닛(즉, 비활성화된 신소프트웨어 유닛)를 제거한다. 이 제거작업은 비활성화 소프트웨어 유닛에 대한 블록 명칭들을 LACO(310)에 전송하는 PXZA(320)가 수행한다. PXZA(320)은 또한 LACO(310)에게 각각의 프로그램 교환 번호에서 로딩되는 비활성화 신소프트웨어 유닛을 제거하도록 명령한다. 그럼 다음, PXZA(320)는 LACO(310)가 성공적으로 제거한 비활성화 소프트웨어 유닛 각각에 대한 프로그램 교환정보를 PXPROGRAM 표로부터 제거한다. 그리고 방법은 단계(1024)로 간다.Referring to FIG. 10B, in step 1022, the deactivated software unit (ie, deactivated new software unit) is removed. This removal is performed by the PXZA 320 which sends the block names for the deactivated software unit to the LACO 310. PXZA 320 also instructs LACO 310 to remove the deactivated new software unit that is loaded at each program exchange number. The PXZA 320 then removes from the PXPROGRAM table the program exchange information for each of the deactivated software units that the LACO 310 has successfully removed. The method then goes to step 1024.

단계(1024)에서, 규정된 제거작업이 성공적으로 이루어졌는지 아닌지를 판단한다. 소정의 제거작업이 성공적으로 이루어졌는 것으로 판단되면, 방법은 단계(1028)로 진행한다. 그러나 규정된 제거작업 중 어느 것이지 못한 것으로 판단되었다면, 방법은 단계(1026)로 간다. 단계(1026)에서, 오류 코드가 도 1의 DBS(124)에 보고되고, 방법은 단계(1030)로 간다. 단계(1028)에서, 규정된 비활성화 소프트웨어 유닛의 제거가 성공적이었다는 표시가 DBS(124)에 보고되고, 방법은 단계(1030)로 진행한다. 단계(1030)에서, 시스템 참조 정보를 갱신하기 위한 허가를 철회되고, 방법은 단계(1032)로 진행하여 종료한다.In step 1024, it is determined whether or not the prescribed removal operation has been successful. If it is determined that the predetermined removal has been successful, the method proceeds to step 1028. However, if it is determined that none of the prescribed removals have occurred, then the method goes to step 1026. In step 1026, an error code is reported to DBS 124 of FIG. 1, and the method goes to step 1030. At step 1028, an indication is reported to DBS 124 that the removal of the specified deactivation software unit was successful, and the method proceeds to step 1030. In step 1030, the permission to update the system reference information is revoked, and the method proceeds to step 1032 and ends.

비활성 소프트웨어 유닛들을 제거하는 것에 대해 앞서 설명한 단계들은 제4도의 단계(420)에서 구소프트웨어를 제거하는 작업과 실질적으로 동일하지만, 앞에서 기술한대로 각 소프트웨어 유닛의 규칙을 보존한다는 점이 다르다.The steps described above for removing inactive software units are substantially the same as removing old software in step 420 of FIG. 4 except that they preserve the rules of each software unit as described above.

PXZMD(314)는 또한 스위치내에서 재작동 동작에 의해 일시 중단되는 프로그램의 교환을 다시 복원할 수 있는 능력도 있다. PXZMD(314)는 LACO(310)으로부터의 시스템 참조 정보를 갱신할 수 있도록 하는 허락을 얻어 복원을 수행하고, 필요하다면 재작동시에 갱신되었던 참조 정보를 복원함으로써 복구를 수행한다. 그런 다음, PXZMD(314)는 일시 중단된 프로그램의 교환 중에 미처리된 모든 소프트웨어 유닛에 대한 참조 정보를 스위치한다. PXZMD(314)는 또한 도 2의 PS영역(202)의 CHECKSUM과 선택된 신소프트웨어와 구소프트웨어 유닛에 대한 변수 심볼 정보를 교환한다.PXZMD 314 also has the ability to restore the exchange of programs suspended by restart operations within the switch. PXZMD 314 performs restoration by obtaining permission to update system reference information from LACO 310 and, if necessary, by restoring the reference information that was updated at the time of restart. PXZMD 314 then switches the reference information for all of the unprocessed software units during the exchange of suspended programs. PXZMD 314 also exchanges variable symbol information for the selected new software and old software units with CHECKSUM in PS area 202 of FIG.

프로그램 교환방법에 의해 도입되게 되는 신소프트웨어 유닛들에 대한 수정이나 정정의 정도는 제한된다. 상기 제한은, 스위치(104) 내에서 진행중인 트래픽을 교란하는 일이 없이 신소프트웨어 유닛을 구소프트웨어 유닛과 교환할 수 있도록 하여, 이에 의해 시스템을 재작동시킬 필요성을 없앤다.The degree of correction or correction for new software units to be introduced by the program exchange method is limited. This limitation allows the new software unit to be exchanged with the old software unit without disturbing the on-going traffic in the switch 104, thereby eliminating the need to restart the system.

신소프트웨어 유닛의 제한들은, 블록 속성은 구소프트웨어 유닛과 동일하여만 하고, 신호 인터페이스도 구소프트웨어 유닛의 신호 인터페이스와 동일하여야만 하고, "STATIC" 표시가 되지 않은 소정의 변수를 포함하는 현재의, 크기를 변경할 수 없는 데이터 파일(non-size-alterable data file)의 레코드 구조에서 변경이 없어야 하고, 그리고 "STATIC" 표시가 되지 않은 소정의 변수를 포함하는 비변경 데이터 파일의 초기 크기의 변경이 없어야 한다는, 것과 같은 것들이다. 제한은 또한 다음의 "non-STATIC" 표시된 변수의 속성들(즉, 변수 길이, 색인된 변수의 번호, 지시 표시자, 하부레코드의 수, 데이터 파일번호, 버퍼 특성)의 변경을 포함하지 않는다.The limitations of the new software unit are that the block attribute must be the same as the old software unit, the signal interface must be the same as the signal interface of the old software unit, and the current, size, including any variable not marked "STATIC". There must be no change in the record structure of the non-size-alterable data file, and there must be no change in the initial size of the unaltered data file, including any variable not marked "STATIC". , Things like that. The restriction also does not include changing the attributes of the following "non-STATIC" marked variables (ie, variable length, number of indexed variables, indicator indicators, number of subrecords, data file number, buffer characteristics).

도 11을 참조하여 보면, 본 발명의 바람직한 실시예에 따라 구소프트웨어 유닛과 교환될 때에 신소프트웨어 유닛의 다양한 교환상태를 나타내는 블록도가 도시되어 있다. 신소프트웨어 유닛이 스위치 내로 로딩될 때, 1102에 표시된 것처럼 "INACTIVE"의 프로그램 교환상태를 갖는다. 신소프트웨어 유닛을 실행시키는 동안, 프로그램 교환상태는 1104에 표시된 것과 같이 운영자에 의해 "ACTIVE" 상태로 바뀐다. 신소프트웨어 유닛이 적절히 작동되는 것으로 검증되면, 프로그램 교환상태는 1106에 표시된 바와 같이 운영자에 의해 "CONFIRMED"로 바뀐다. 마지막으로 신소프트웨어 유닛으로 교환을 완료하면, 신소프트웨어 유닛의 프로그램 교환상태는 1108에 표시된 것과 같이 운영자에 의해 "CERTIFIED"로 바뀐다.Referring to Fig. 11, there is shown a block diagram showing various exchange states of a new software unit when it is exchanged with an old software unit in accordance with a preferred embodiment of the present invention. When a new software unit is loaded into the switch, it has a program exchange status of "INACTIVE" as indicated at 1102. During execution of the new software unit, the program exchange status is changed to the "ACTIVE" state by the operator as indicated at 1104. If the new software unit is verified to be working properly, the program exchange status is changed to "CONFIRMED" by the operator as indicated at 1106. Finally, upon completion of the replacement with the new software unit, the program exchange status of the new software unit is changed to "CERTIFIED" by the operator as indicated at 1108.

상세한 예Detailed example

도 12를 참조하여 보면, 본 발명의 프로그램 교환방법에 따라 신소프트웨어 유닛과 구소프트웨어 유닛이 진행하게 되는 여러 가지 상태의 사례를 보여주는 블록도가 도시되어 있다. 이 예에서, 구소프트웨어 유닛은 C7TST로 어드레스되고, R1A의 R-STATE를 가지고(다음부터는 C7TST R1A라고 부른다), 신소프트웨어 유닛은 C7TST로 어드레스되고, R1B의 R-STATE를 가진다(이후부터 C7TST R1B라 부른다). 도 12도에서 구소프트웨어와 신소프트웨어 유닛에 대한 천이(변천) 과정은 도 1의 DBS(124)를 사용하여 운영자(operator)가 수행한다.Referring to FIG. 12, there is shown a block diagram showing an example of various states in which a new software unit and an old software unit proceed according to the program exchange method of the present invention. In this example, the old software unit is addressed to C7TST, has an R-STATE of R1A (hereinafter referred to as C7TST R1A), and the new software unit is addressed to C7TST, and has an R-STATE of R1B (hereafter C7TST R1B Is called). In FIG. 12, the transition (transition) process for the old software and the new software unit is performed by an operator using the DBS 124 of FIG. 1.

이 예에서, 구소프트웨어 유닛 C7TST R1A는 스위치 내에서 처음부터 실행되고 있고 단계 1(1202)에 설명한 것 처럼 "ACTIVE"의 상태를 갖는다. 단계 2(1204)에서, 신소프트웨어 유닛 C7TST R1B가 로딩되고, "INACTIVE"의 프로그램 교환상태를 갖는다. 이 시간주기 동안, 구소프트웨어 유닛 C7TST R1A는 여전히 작동하고 있어서, 따라서 "ACTIVE" 상태를 유지한다. 프로그램 교환의 이 단계에서 신소프트웨어 유닛은 운영자에 의해 스위치 내에서 제거될 수 있어서, 이에 따라, 프로그램 교환을 종료할 수도 있다. 단계 3(1206)에서, 신소프트웨어 유닛은 운영자에 의해 활성화(activated)되어, 그 프로그램의 교환상태가 "ACTIVE"로 바뀌고 구소프트웨어 유닛의 프로그램 교환상태는 "INACTIVE"로 바뀐다. 만일, 운영자가 신소프트웨어 유닛을 비활성화시키도록 선택하거나 또는 프로그램 교환 동안에 시스템 재시작이 발생하였다면, 상기 단계 3(1206)에서 구소프트웨어 유닛과 신소프트웨어 유닛에 대한 프로그램 교환상태는 보존될 수 있다.In this example, the old software unit C7TST R1A is running from the beginning in the switch and has a status of "ACTIVE" as described in step 1 1202. In step 2 1204, the new software unit C7TST R1B is loaded and has a program exchange status of "INACTIVE". During this time period, the old software unit C7TST R1A is still in operation, thus maintaining the "ACTIVE" state. At this stage of the program exchange, the new software unit can be removed in the switch by the operator, thus terminating the program exchange. In step 3 (1206), the new software unit is activated by the operator so that the exchange status of the program is changed to "ACTIVE" and the program exchange status of the old software unit is changed to "INACTIVE". If the operator chooses to deactivate the new software unit or if a system restart occurs during the program exchange, the program exchange state for the old software unit and the new software unit in step 3 1206 may be preserved.

단계 4(1208)에서, 운영자는 신소프트웨어 유닛의 프로그램 교환상태를 DBS 명령어를 사용하여 "CONFIRM"으로 바꾼다. 프로그램 교환의 이 단계에서, 운영자는 신소프트웨어 유닛을 비활성화시키고 구소프트웨어 유닛을 활성화시켜 단계 2(1204)으로 되돌아 갈 수 있다. 단계 5(1210)에서, 구소프트웨어 C7TST R1A는 스위치에서 제거된다.In step 4 1208, the operator changes the program exchange status of the new software unit to "CONFIRM" using the DBS instruction. At this stage of the program exchange, the operator may deactivate the new software unit and activate the old software unit to return to step 2 1204. In step 5 1210, the old software C7TST R1A is removed from the switch.

본 발명의 작동과 구성은 앞에서 설명한 내용으로 보아 명확히 알 수 있으리라 판단된다. 도시하고 설명한 방법은 바람직한 것으로서 특징되지만, 다음의 청구범위에 규정되는 것과 같은 본 발명의 사상과 범위를 벗어나는 일이 없이 다양한 변경과 수정들이 이루어질 수 있다는 것을 쉽게 파악할 수 있을 것이다.The operation and configuration of the present invention will be apparent from the foregoing description. While the illustrated and described methods are characterized as being preferred, it will be readily appreciated that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims.

Claims (12)

기억장치(memory), 소프트웨어 로딩 서브시스템(software loading subsystem), 데이터베이스 관리 서브시스템(database management subsystem), 그리고 프로그램 교환 서브시스템(program exchange subsystem)을 가지는 전기통신 스위치를 재기동하는 일이 없이 전기통신 스위치내에서 구소프트웨어 버전을 신소프트웨어 버전으로 교체하는 방법에 있어서,Telecommunication switch without restarting the telecommunication switch with memory, software loading subsystem, database management subsystem, and program exchange subsystem In the method of replacing the old software version with a new software version within, 상기 소프트웨어 로딩 서브시스템으로 상기 신소프트웨어 버전을 상기 기억장치로 로딩하는(loading) 단계와;Loading the new software version into the storage device with the software loading subsystem; 상기 데이터베이스 관리 서브시스템을 사용하여 상기 신소프트웨어 버전을 상기 프로그램 교환 서브시스템에 등록시키는(registering) 단계와;Registering the new software version with the program switching subsystem using the database management subsystem; 상기 프로그램 교환 서브시스템으로 상기 구소프트웨어 버전을 비활성화시키는 (passivating) 단계와; 그리고Passivating the old software version to the program exchange subsystem; And 상기 프로그램 교환 서브시스템으로 상기 등록된 신소프트웨어 버전을 활성화시키는(activating) 단계를 포함하는 것을 특징으로 하는 구소프트웨어 버전을 신소프트웨어 버전으로 교체하는 방법.Activating the registered new software version with the program exchanging subsystem. 제1항에 있어서, 상기 프로그램 교환 서브시스템으로 상기 활성화된 신소프트웨어 버전을 확인하는(confirming) 단계를 더 포함하는 것을 특징으로 하는 방법.2. The method of claim 1, further comprising confirming the activated new software version with the program exchange subsystem. 제2항에 있어서, 상기 프로그램 교환 서브시스템으로 상기 확인된 신소프트웨어 버전을 보증하는(certifying) 단계를 더 포함하는 것을 특징으로 하는 방법.3. The method of claim 2, further comprising certifying the identified new software version with the program exchange subsystem. 제3항에 있어서, 상기 보증하는 단계가, 상기 스위치의 기억장치로부터 상기 비활성화된 구소프트웨어 버전을 제거하는 단계를 더 포함하는 것을 특징으로 하는 방법.4. The method of claim 3, wherein the assuring further comprises removing the deactivated old software version from the storage of the switch. 기억장치(memory), 소프트웨어 로딩 서브시스템(software loading subsystem), 데이터베이스 관리 서브시스템(database management subsystem), 그리고 프로그램 교환 서브시스템(program exchange subsystem)을 가지는 전기통신 스위치를 재기동하는 일이 없이 상기 전기통신 스위치 내에서 구소프트웨어 버전을 신소프트웨어 버전으로 교체하는 방법에 있어서,The telecommunications without restarting a telecommunications switch having a memory, a software loading subsystem, a database management subsystem, and a program exchange subsystem In the method of replacing the old software version with the new software version in the switch, 상기 소프트웨어 로딩 서브시스템으로 상기 신소프트웨어 버전을 상기 기억장치로 로딩하는(loading) 단계와;Loading the new software version into the storage device with the software loading subsystem; 상기 데이터베이스 관리 서브시스템을 사용하여 상기 신소프트웨어 버전을 상기 프로그램 교환 서브시스템에 등록시키는(registering) 단계와;Registering the new software version with the program switching subsystem using the database management subsystem; 상기 프로그램 교환 서브시스템으로 상기 등록된 신소프트웨어 버전을 활성화시키는(activating) 단계와;Activating the registered new software version with the program exchange subsystem; 상기 프로그램 교환 서브시스템으로 상기 구소프트웨어 버전을 비활성화시키는(passivating) 단계와;Passivating the old software version to the program exchange subsystem; 상기 프로그램 교환 서브시스템으로 상기 활성화된 신소프트웨어 버전을 확인하는(confirming) 단계와; 그리고Confirming the activated new software version with the program exchange subsystem; And 상기 프로그램 교환 서브시스템으로 상기 확인된 신소프트웨어 버전을 보증하는(certifying) 단계를 포함하는 것을 특징으로 하는, 전기통신 스위치에서 구소프트웨어 버전을 신소프트웨어 버전으로 교체하는 방법.And certifying the identified new software version to the program exchange subsystem. 제5항에 있어서, 상기 스위치의 기억장치로부터 상기 비활성화된 구소프트웨어 버전을 제거하는 단계를 더 포함하는 것을 특징으로 하는 방법.6. The method of claim 5, further comprising removing the deactivated old software version from storage of the switch. 기억장치(memory), 소프트웨어 로딩 서브시스템(software loading subsystem), 데이터베이스 관리 서브시스템(database management subsystem), 그리고 프로그램 교환 서브시스템(program exchange subsystem)을 가지는 전기통신 스위치를 재기동하는 일이 없이 전기통신 스위치내에서 구소프트웨어 버전을 신소프트웨어 버전으로 교체하는 장치에 있어서,Telecommunication switch without restarting the telecommunication switch with memory, software loading subsystem, database management subsystem, and program exchange subsystem In the device for replacing the old software version with a new software version within, 상기 소프트웨어 로딩 서브시스템으로 상기 신소프트웨어 버전을 상기 기억장치로 로딩하는(loading) 수단과;Means for loading the new software version into the storage into the software loading subsystem; 상기 데이터베이스 관리 서브시스템을 사용하여 상기 신소프트웨어 버전을 상기 프로그램 교환 서브시스템에 등록시키는(registering) 수단과;Means for registering the new software version with the program switching subsystem using the database management subsystem; 상기 프로그램 교환 서브시스템으로 상기 구소프트웨어 버전을 비활성화시키는(passivating) 수단과; 그리고Means for passivating the old software version to the program exchange subsystem; And 구 소프트웨어 버전을 비활성화할 때에 구 소프트웨어에서 신 소프트웨어로 데이터의 변환을 수행함이 없이 상기 등록된 신 소프트웨어 버전을 활성화시키는(activating) 수단을 포함하는 것을 특징으로 하는, 전기통신 스위치에서 구소프트웨어 버전을 신소프트웨어 버전으로 교체하는 장치.And a means for activating said registered new software version without performing data conversion from the old software to the new software when deactivating the old software version. Device replaced with software version. 제7항에 있어서, 상기 프로그램 교환 서브시스템으로 상기 활성화된 신소프트웨어 버전을 확인하는(confirming) 수단을 더 포함하는 것을 특징으로 하는 장치.8. The apparatus of claim 7, further comprising means for confirming the activated new software version with the program exchange subsystem. 제8항에 있어서, 상기 프로그램 교환 서브시스템으로 상기 확인된 신소프트웨어 버전을 보증하는(certifying) 수단을 더 포함하는 것을 특징으로 하는 장치.10. The apparatus of claim 8, further comprising means for certifying the identified new software version to the program exchange subsystem. 제9항에 있어서, 상기 보증하는 수단이 상기 스위치의 기억장치 내에서 상기 비활성화된 구소프트웨어 버전을 제거하는 수단을 더 포함하는 것을 특징으로 하는 장치.10. The apparatus of claim 9, wherein the assuring means further comprises means for removing the deactivated old software version in the storage of the switch. 기억장치(memory), 소프트웨어 로딩 서브시스템(software loading subsystem), 데이터베이스 관리 서브시스템(database management subsystem), 그리고 프로그램 교환 서브시스템(program exchange subsystem)을 가지는 전기통신 스위치를 재기동하는 일이 없이 전기통신 스위치내에서 구소프트웨어 버전을 신소프트웨어 버전으로 교체하는 장치에 있어서,Telecommunication switch without restarting the telecommunication switch with memory, software loading subsystem, database management subsystem, and program exchange subsystem In the device for replacing the old software version with a new software version within, 상기 소프트웨어 로딩 서브시스템으로 상기 신소프트웨어 버전을 상기 기억장치로 로딩하는(loading) 수단과;Means for loading the new software version into the storage into the software loading subsystem; 상기 데이터베이스 관리 서브시스템을 사용하여 상기 신소프트웨어 버전을 상기 프로그램 교환 서브시스템에 등록시키는(registering) 수단과;Means for registering the new software version with the program switching subsystem using the database management subsystem; 상기 프로그램 교환 서브시스템으로 상기 등록된 신소프트웨어 버전을 활성화시키는(activating) 수단과;Means for activating the registered new software version with the program exchange subsystem; 상기 프로그램 교환 서브시스템으로 상기 구소프트웨어 버전을 비활성화시키는(passivating) 수단과;Means for passivating the old software version to the program exchange subsystem; 상기 프로그램 교환 서브시스템으로 상기 활성화된 신소프트웨어 버전을 확인하는(confirming) 수단; 그리고Means for confirming the activated new software version with the program exchange subsystem; And 상기 프로그램 교환 서브시스템으로 상기 확인된 신소프트웨어 버전을 보증하는(certifying) 수단을 포함하는 것을 특징으로 하는, 전기통신 스위치에서 구소프트웨어 버전을 신소프트웨어 버전으로 교체하는 장치.And means for certifying the identified new software version to the program exchange subsystem. 제11항에 있어서, 상기 스위치의 기억장치로부터 상기 비활성화된 구소프트웨어 버전을 제거하는 수단을 더 포함하는 것을 특징으로 하는 장치.12. The apparatus of claim 11, further comprising means for removing the deactivated old software version from the storage of the switch. 별표 AAsterisk A
KR1019970701870A 1994-09-27 1995-09-26 Method and apparatus for changing software inside a telecommunications switch without interrupting a running communication program Expired - Lifetime KR100433007B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970701870A KR100433007B1 (en) 1994-09-27 1995-09-26 Method and apparatus for changing software inside a telecommunications switch without interrupting a running communication program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/313.474 1994-09-27
KR1019970701870A KR100433007B1 (en) 1994-09-27 1995-09-26 Method and apparatus for changing software inside a telecommunications switch without interrupting a running communication program

Publications (1)

Publication Number Publication Date
KR100433007B1 true KR100433007B1 (en) 2005-05-17

Family

ID=43664362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970701870A Expired - Lifetime KR100433007B1 (en) 1994-09-27 1995-09-26 Method and apparatus for changing software inside a telecommunications switch without interrupting a running communication program

Country Status (1)

Country Link
KR (1) KR100433007B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0607493A2 (en) * 1993-01-18 1994-07-27 Siemens Aktiengesellschaft Real-time control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0607493A2 (en) * 1993-01-18 1994-07-27 Siemens Aktiengesellschaft Real-time control system

Similar Documents

Publication Publication Date Title
EP0784817B1 (en) A method and system for updating software within a telecommunications switch without interrupting existing communication
US7111026B2 (en) Method and device for acquiring snapshots and computer system with snapshot acquiring function
US5748883A (en) Distributed device status in a clustered system environment
EP0796461B1 (en) Method of synchronization allowing state transfer
US5367667A (en) System for performing remote computer system diagnostic tests
EP0687975B1 (en) Method and system for downloading data to network nodes
JPH034340A (en) Data processing system
CN110597545A (en) Hot patch intelligent upgrading method and system based on OTA component
US6009414A (en) Computer system with checkpoint facility and accounting facility indicating charges payable for processes
KR100433007B1 (en) Method and apparatus for changing software inside a telecommunications switch without interrupting a running communication program
CA2201139C (en) A method and system for updating software within a telecommunications switch without interrupting existing communication
US6205581B1 (en) Method for replace-block loading in a multiprocessor system
US20080027963A1 (en) Storage apparatus and program update method
CN120276790B (en) Firmware switching method, device, equipment and storage medium
JPH0430220A (en) Software maintenance method
EP0462913A2 (en) Method of dynamic inactivation of program exits
EP1463990A1 (en) Method and system for rollback of software system upgrade
US20240126863A1 (en) Phased unenrollment of devices from service
CN116820503A (en) Application store update method, terminal device and computer readable storage medium
JP3317239B2 (en) Automatic distribution system of program, automatic distribution method of program, and recording medium recording program for automatic distribution of program
KR100442612B1 (en) Duplicated processor status management method and apparatus for standby laoding in a exchange system
KR100443633B1 (en) Method for Addition Subsystem in ATM Switching System
JP2005043960A (en) Server, online patch processing method and program
KR100297649B1 (en) Apparatus and method for disk mirror copying in electronic switching
JP3161713B2 (en) System definition change device

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 19970321

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20000926

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20020831

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20040227

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20040514

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20040517

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20070507

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20080513

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20090508

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20100503

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20110429

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20120425

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20130425

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20130425

Start annual number: 10

End annual number: 10

FPAY Annual fee payment

Payment date: 20140425

Year of fee payment: 11

PR1001 Payment of annual fee

Payment date: 20140425

Start annual number: 11

End annual number: 11

FPAY Annual fee payment

Payment date: 20150428

Year of fee payment: 12

PR1001 Payment of annual fee

Payment date: 20150428

Start annual number: 12

End annual number: 12

EXPY Expiration of term
PC1801 Expiration of term
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载