KR20010041773A - 메시지 변환 장치 및 방법 - Google Patents
메시지 변환 장치 및 방법 Download PDFInfo
- Publication number
- KR20010041773A KR20010041773A KR1020007010024A KR20007010024A KR20010041773A KR 20010041773 A KR20010041773 A KR 20010041773A KR 1020007010024 A KR1020007010024 A KR 1020007010024A KR 20007010024 A KR20007010024 A KR 20007010024A KR 20010041773 A KR20010041773 A KR 20010041773A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- software
- conversion
- new
- old
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
컴퓨터 기초 시스템에서 소프트웨어의 매우 효율적인 업그레이드를 달성하기 위해, 메시지 변환 장치(34)는 소프트웨어 처리 시스템의 업그레이드 전후에 소프트웨어 처리 시스템에서 교환되는 적어도 하나의 메시지를 나타내는 메시지 변환 정보(MCI)용의 인터페이스 유닛(36)을 포함한다. 또한, 메시지 변환 수단(38, 40)은 메시지 변환 정보(MCI)에 제공되는 명세에 따라서 업그레이드된 소프트웨어 처리 시스템에 대한 구 및 신규 표시 사이에서 메시지를 변환하도록 제공된다. 따라서, 최소화된 시스템 정지 시간을 갖는 컴퓨터 기초 시스템에 소프트웨어의 외란 없는 업그레이드를 채용할 수 있다.
Description
소프트웨어의 업그레이드를 실행할 때, 일반적으로 시스템의 동작이 업그레이드되는데에 몇몇 종류의 외란이 존재한다. 이러한 외란은 몇 시간 및 가능하게는 몇 일동안의 전체 시스템 중단에서 예컨대, 몇 초간의 시스템의 전체 기능의 일부 제한된 부분만의 짧은 고장까지의 범위일 수 있다. 생각컨대, 이것이 일반적으로 실존하는 시스템에서의 예가 아닐지라도 외란이 전혀 없을 수 있다. 그러나, 통신 교환국과 같은 시스템에 대하여, 어떤 외란이 작고 가능한 한 짧은 것은 매우 중요하다.
영구적으로 장시간 실행 소프트웨어와 동일한 소프트웨어의 외란 없는 업그레이드를 달성하기 위해, 신규 소프트웨어는 구(old) 소프트웨어가 연속적으로 실행되는 동안 구 소프트웨어로부터 모든 필요한 데이터를 이용하여 업그레이드되는 것이 전제 조건이다. 신규 소프트웨어의 데이터가 구 소프트웨어의 데이터와 동일한 상태에 도달할 때, 신규 소프트웨어는 이어서 실행한다.
소프트웨어를 업그레이드하는 가장 간단한 방법은 구 소프트웨어의 실행을 정지시키고, 신규 소프트웨어를 로드하며, 최종적으로 신규 소프트웨어를 개시하는 것이다. 이러한 방법을 사용하면, 구 소프트웨어 및 신규 소프트웨어 사이에 데이터가 전송되지 않는다. 더욱이, 모든 설정된 소프트웨어 프로세스가 손실되고, 소프트웨어의 실행이 신규 소프트웨어의 로드 및 개시 중에 정지된다. 일반적으로, 이러한 방법은 예컨대, 워크스테이션 및 개인용 컴퓨터에 사용된다.
통신 시스템용의 개선된 방법은 문서(「Remote upgrading and updating of AXE 10 software」, 66, 67쪽 Ericsson Review No. 2, 1996년)에 개시되어 있다. 여기에서, 신규 소프트웨어는 구 소프트웨어가 가입자에게 제공된 서비스의 설정을조정하는 동안 로드된다. 전송될 데이터를 포함하는 데이터 변수는 소위 데이터 변화 정보에서 식별되고, 유형 카피 또는 변환 중 하나로 될 수 있다. 각 변환 데이터 변수에 대하여, 데이터 변환 정보에서 특정된 변환 프로그램이 변환을 달성하고 변환 출력을 신규 소프트웨어에 전송하기 위해 실행된다. 그러나, 구 소프트웨어로부터 신규 소프트웨어로 이미 설정된 서비스에 필요한 데이터의 전송 중에, 부가 서비스의 설정이 정지된다.
그러므로, 소프트웨어 업그레이드를 실행할 때, 업그레이드되는 시스템에 대해 항상 외란이 존재한다. 이러한 외란은 몇 시간 및 가능하게는 몇 일동안 전체 시스템 중지로부터 몇 초동안의 시스템의 전체 기능의 일부 제한된 부분만의 짧은 고장까지의 범위일 수 있다. 그러나, 특히 전기 통신 교환국과 같은 시스템에 대하여, 증가된 시스템 다운 시간이 서비스 제공자에게 수입이 손실을 의미하기 때문에, 어떤 외란은 가능한 한 짧은 것이 매우 중요하다.
더욱이, 다량의 소프트웨어 모듈을 포함하는 시스템에서 메시지는 시스템 업그레이드에서 존속해야 하지만, 이것은 현재 지원되지 않는다. 따라서, 메시지의 종결은 업그레이드 중에 시스템의 증가된 외란을 유도한다. 특히, 소프트웨어 업그레이드가 예컨대, 건강 관리(health care) 또는 보안에 관련되는 특정 서비스에 적용될 수 없는 경우에, 서비스는 중단 또는 취소될 수 있다.
본 발명은 메시지 변환 장치에 관한 것으로, 특히 소프트웨어 처리 장치 및 메시지의 변환을 위한 방법에 관한 것이다.
도 1은 본 발명에 따르는 머신 레벨 상의 소프트웨어 유닛의 표시를 도시하는 도면.
도 2는 본 발명에 따르는 메시지 등급의 명세를 도시하는 도면.
도 3은 본 발명에 따르는 머신 레벨 상의 메시지의 표시를 도시하는 도면.
도 4는 기능 레벨 상의 시스템 동작의 명세를 도시하는 도면.
도 5는 기존의 시스템 구조 상으로의 도 4에 따르는 기능 레벨 상의 시스템 명세의 맵핑을 도시하는 도면.
도 6은 본 발명에 따르는 시스템 명세의 업그레이드를 통한 메시지 데이터의 변경을 도시하는 도면.
도 7은 본 발명에 따르는 시스템 명세의 업그레이드를 통한 메시지 데이터의 명세를 도시하는 도면.
도 8은 본 발명에 따르는 메시지 변환 유닛의 개략도.
도 9는 메시지 변환 중에 수반되는 메시지 제어 정보의 일부를 저장하는 테이블을 도시하는 도면.
도 10은 본 발명에 따르는 메시지 변환의 상이한 경우를 요약한 테이블을 도시하는 도면.
도 11은 본 발명에 따르는 메시지 제어 정보 처리 유닛의 개략도.
도 12는 본 발명에 따르는 전용 방식으로 상이한 시스템 어플리케이션으로의 메시지 변환 유닛의 적용을 도시하는 도면.
도 13은 본 발명에 따르는 메시지 변환 유닛의 공유 방식으로 시스템의 복수의 어플리케이션 유닛으로의 적용을 도시하는 도면.
도 14는 본 발명에 따르는 메시지 변환 유닛의 2개의 동작 부분을 포함하는 용장 구조를 갖는 시스템으로의 적용을 도시하는 도면.
도 15는 본 발명에 따르는 시스템의 업그레이드 중에 데이터 및 메시지 변환을 위한 본 발명의 방법에 따르는 플로우차트.
도 16은 본 발명의 적용을 위한 일반적인 예로서 통신 시스템의 교환에 따르는 메시지 버퍼에 접속된 중앙 처리 장치의 구조를 도시하는 도면.
도 17은 본 발명의 적용을 위한 다른 일반적인 예로서 광역 네트워크의 실시를 도시하는 도면.
상기의 관점에서, 본 발명의 목적은 컴퓨터 기초 시스템에서 소프트웨어의 원활한 업그레이드를 달성하는 것이다.
본 발명의 제1 양태에 따르면, 이러한 목적은 소프트웨어 처리 시스템의 업그레이드 전후에 소프트웨어 처리 시스템에서 교환되는 적어도 하나의 메시지를 나타내는 정보를 메시지 변환하는 인터페이스 수단과, 이 메시지를 메시지 변환 정보에 제공되는 명세에 따라 업그레이드된 소프트웨어 처리 시스템에 대한 새로운 표시로 변환하는데 적합한 메시지 변환 수단을 포함하는 메시지 변환 장치를 통해 달성된다.
따라서, 본 발명에 따르면, 업그레이드된 시스템에 따라서 메시지를 변환하는 것이 가능하다. 이것은 시스템의 외란을 감소 및 최소화하기 위해 시스템 업그레이드 후까지 시스템내의 소프트웨어 유닛 내부의 데이터 뿐만 아니라 메시지도 존속하는 것을 의미한다. 또한, 메시지 변화 정보가 관련 인터페이스 수단을 통해 수신되기 때문에, 메시지 변환 장치의 기능은 일반적인 요구 조건에 따라서 쉽게 변경될 수도 있다.
본 발명의 바람직한 실시예에 따르면, 메시지 변환 수단은 업그레이드된 소프트웨어 처리 시스템으로 스위치 오버 시에 작동된다. 메시지가 스위치 오버 시에 이미 변환되어 있는 경우, 업그레이드된 소프트웨어 유닛의 전체 시동 시간은 이후에 방지된다.
본 발명의 다른 바람직한 실시예에 따르면, 메시지 변환 수단은 소프트웨어 처리 시스템내에서 소프트웨어의 작업 개시 시에 작동된다. 이 방법은 메시지가 요구 시에 단독으로 변환되는 것과 같이, 구 및 신규 소프트웨어 모듈 사이에서 양방향 통신을 실행할 수 있게 하므로, 시스템의 점진적인 업그레이드를 용이하게 한다.
본 발명의 또 다른 바람직한 실시예에 따르면, 메시지 제어 정보 처리 수단은 적어도 하나의 메시지 참조 부호, 메시지 소스 소프트웨어 유닛, 메시지 목표 소프트웨어 유닛 및 메시지 등급을 각각 포함하는 메시지 제어 정보를 변환하고, 메시지 데이터 처리 수단은 메시지 데이터 섹션의 적어도 하나의 데이터 성분을 변환한다. 더욱이, 바람직하게는, 메시지 제어 정보 처리 수단 및 메시지 데이터 처리 수단은 기능적인 관계를 사용하여 수신된 메시지의 변환을 실행한다.
메시지가 메시지 제어 정보부 및 데이터부로 분할되는 경우에, 성분 제어 정보부가 변환되는 경우에 매우 적은 데이터만이 조정되어야 하기 때문에, 메시지 변환에 필요한 계산 자원을 더욱 감소시킬 수 있다. 또한, 이러한 메시지 구조는 기능적인 관계를 사용하여 데이터 성분의 쉽고 효율적인 변환을 지원한다.
또한, 본 발명의 제2 양태에 따르면, 상기 기술된 목적은 소프트웨어 처리 장치에 의해 처리되는 메시지를 저장하는 적어도 하나의 메시지 버퍼와, 적어도 하나의 메시지 버퍼에 저장된 메시지를 처리하는 적어도 하나의 어플리케이션 유닛과, 본 발명의 제1 양태에 따르는 적어도 하나의 어플리케이션 유닛의 업그레이드 후에 메시지를 새로운 표시로 변환하는데 적합한 메시지 변환 장치를 포함하는 업그레이드 기능을 갖는 유형의 소프트웨어 처리 장치를 통해 달성된다.
본 발명의 또 다른 바람직한 실시예에 따르면, 소프트웨어 처리 장치는 변환 장치에 각각 접속되는 복수의 어플리케이션 유닛을 갖는 분배형으로 이루어진다. 다른 방법으로는, 소프트웨어 처리 장치는 변환 장치에 접속되는 2개의 논리 부분을 포함하는 소프트웨어 처리 장치 또는 단일 변환 장치에 접속되는 복수의 어플리케이션 유닛을 갖는 분배형으로 이루어진다.
따라서, 본 발명은 특정 요구에 따르는 여러 가지 소프트웨어 처리 장치의 실현을 가능하게 한다. 특히, 복수의 어플리케이션 유닛이 소프트웨어 처리 장치내에 제공되는 경우에, 이것은 구 소프트웨어 및 시스템 업그레이드의 동시 실행을 가능하게 한다. 더욱이, 변환되는 메시지의 양에 따라서, 단일 또는 복수의 메시지 변환 장치가 소프트웨어 처리 장치내에 제공될 수도 있다.
끝으로, 본 발명의 제3 양태에 따르면, 상기 기술된 목적은 대기 부분 수단내의 신규 소프트웨어의 상태를 구 소프트웨어의 실행을 계속하면서 실행 부분 수단내의 구 소프트웨어의 상태로 업그레이드하는 단계와, 대기 부분 수단 및 실행 부분 수단에 대해 동일한 상태가 얻어질 때까지 신규 소프트웨어의 실행에 대해 스위칭하는 단계와, 수신 소프트웨어의 실행으로 스위치 오버 시에 또는 요구 시에 수신 소프트웨어의 작업 개시 시에 수신 소프트웨어에 적합한 포맷으로 계산 시스템내의 상이한 소프트웨어 모듈 사이에서 송신되는 메시지의 변환 단계를 포함하는 적어도 2개의 논리 부분을 갖는 계산 시스템용의 시스템 업그레이드 방법을 통해 달성된다.
여기에서, 구 소프트웨어 및 이에 관련되는 데이터가 업그레이드될 뿐만 아니라 메시지가 이들 소프트웨어 유닛 사이에서 교환된다. 이들 모든 단계는 시스템이 구 소프트웨어를 병렬로 계속 동작시키는 동안 및 시스템 성능에 최소화된 외란을 가지고 실행된다.
본 발명의 바람직한 실시예는 첨부한 도면을 참조하여 설명한다.
이하에는, 본 발명의 바람직한 실시예를 전술한 도면에 대하여 그리고 이하에 리스트된 용어를 참조하여 설명한다.
SU : 소프트웨어 유닛.
MCI : 메시지 변환 정보. 하나 또는 여러 개의 구 SU에 수신되는 메시지가 임의의 반송 데이터를 포함하는 하나 또는 여러 개의 신규 SU에 수신되는 메시지와 어떻게 관련되는지를 설명하는 설계자에 의해 제공되는 명세.
SUID : 특정 소프트웨어 유닛을 설명하기 위해 설계자에 의해 사용되는 소프트웨어 유닛 식별자.
SU_참조 부호 : SUID의 머신 레벨 표시.
MESSAGEx : 특정 메시지 등급 x를 지정하기 위한 특이 식별자; MESSAGEx는 전세계적으로 유일(예컨대, 모든 SU에 대해 공통인 메시지의 명명안)하거나 지역(예컨대, SU당 유일한 명칭)적일 수 있다. 후자의 경우에, 메시지 등급의 완전한 특이 명세는 SUID 및 MESSAGEx를 모두 포함해야 한다.
메시지_참조 부호 : MESSAGEx의 머신 레벨 표시 예컨대, 번호 또는 일부 머신 레벨 어드레스는 전세계적(예컨대, 모든 SU에 대해 공통인 메시지의 번호 매김) 또는 지역적(예컨대, SU당 하나의 번호 매김)일 수 있다. 후자의 경우에, 특정 메시지 등급의 메시지는 메시지 버퍼에 목표_SU_참조.목표_메시지_참조 부호.소스_SU_참조 부호.소스_메시지_참조 부호.데이터_1.데이터_2....으로서 저장될 수 있다. 전자의 경우에, 메시지는 높은 레벨 및 머신 레벨 표시에서 모두 SU당 유일한 것으로 가정된다.
DATAm : 데이터 번호 m; MESSAGEx에 의해 반송되는 데이터 번호 m을 지정하기 위해 MESSAGEx와 함께 사용된다.
data_m : DATAm의 머신 레벨 표시.
본 발명에 따르면, 각 소프트웨어 유닛(SU)은 예컨대, 문자 및 숫자의 열로 이루어진 소프트웨어 유닛 식별자(SUID)를 통해 식별된다. 도 1에 도시되어 있는 바와 같이, 그러한 SUID에 대한 일반적인 예는 각각 Prog_a, Prog_b 및 Prog_c이다. 도 1에 도시되어 있는 바와 같이, 시스템의 실제 동작 중에, 참조 부호는 예컨대, 소프트웨어 유닛의 머신 레벨 표시를 저장하는 메모리에 액세스하기 위한 프로그램 또는 모듈 번호 또는 어드레스로서 소프트웨어 유닛의 머신 레벨 표시(SU_참조 부호)로 형성된다.
도 2에 도시되어 있는 바와 같이, 시스템 동작을 설명하기 위해, 소프트웨어 유닛(SU) 뿐만 아니라 시스템의 동작 중에 상이한 소프트웨어 유닛 사이에서 교환되는 메시지(MESSAGEx)도 언급할 필요가 있다. 여기에서, MESSAGEx는 특정 메시지 등급을 설명한다. 도 2에 도시되어 있는 바와 같이, 각 메시지 등급은 제어 정보부 및 DATAm이 MESSAGEx에 의해 반송되는 데이터 번호 m을 지정하기 위해 MESSAGEx와 함께 사용되는 데이터부로 세분화한다. 유사하게, 제어는 MESSAGEx에 의해 반송되는 제어 정보부를 설명하는데 사용된다. 제어 정보부는 세부 예컨대, 헤더부 및 후미부로 분리될 수 있다.
도 3은 도 2에 도시되어 있는 상이한 메시지 등급에 속하는 상이한 메시지의 머신 레벨 표시를 도시한다. 여기에서, 각 제어 정보부는 예컨대, 메시지 참조 부호, 메시지의 소스의 표시 및 메시지의 목표의 표시로 이루어질 수 있다. 상기 제어 정보는 또한 메시지의 흐름 예컨대, 시퀀스 번호, 체크섬 등을 제어 및 안전하게 하기 위한 다른 정보를 포함할 수 있다.
끝으로, 상기 메시지에 의해 참조되는 특정 메시지에 할당된 데이터 아이템이 일련의 데이터 성분으로서 뒤따른다. 그러므로, 도 3에 도시되어 있는 바와 같은 메시지의 표시는 특정 메시지에 관련된 모든 정보로의 액세스를 달성하게 한다.
도 4는 도 1 및 도 3에 각각 도시되어 있는 소프트웨어 유닛 및 메시지의 표시가 지시되는 그래픽 표시를 사용하여 기능 레벨 상에서의 시스템 동작을 설명하는데 사용될 수 있는 방법을 도시한다. 도 4에 도시되어 있는 바와 같이, 각 노드에는 소프트웨어 유닛 식별자(SUID) 또는 등가적으로 머신 레벨 참조 부호(SU_참조 부호)가 할당되어 있다. 각각의 선택은 시스템 동작이 이론적인 레벨에 대해 또는 머신 레벨에 대해 설명되는지의 사실에 의존한다. 상기 설명된 바와 같이, 상이한 소프트웨어 유닛은 상기 표시에서 지시되어 있는 아크로서 설명된 메시지의 교환을 통해 서로 상호 작용하는 그래프의 노드로 표시되어 있다. 따라서, 메시지 1은 소스 소프트웨어 유닛 Prog_a 및 목표 소프트웨어 유닛 Prog_b 사이에서 교환된다. 더욱이, 메시지 2는 소스 소프트웨어 유닛 prog_a 및 목표 소프트웨어 유닛 Prog_c 사이에서 교환된다.
도 4는 기능 레벨에 대한 시스템 동작의 설명을 도시하는 반면에, 도 5는 구조적 레벨에 대한 대응하는 설명을 도시한다.
도 5에 도시되어 있는 바와 같이, 일반적으로, 시스템은 복수의 시스템 성분(10, 12, 14)로 세분화된다. 각 시스템 성분은 소프트웨어 유닛의 실행을 가능하게 하는 어플리케이션 유닛(16, 18, 20)을 포함한다. 도 5에 도시되어 있는 바와 같이, SU_Ref=1을 갖는 소프트웨어 유닛 Prog_a는 어플리케이션 유닛(16)에 할당되고, SU_Ref=3, 4를 갖는 소프트웨어 유닛 Prog_c, d는 어플리케이션 유닛(18)에 할당되며, SU_Ref=2를 갖는 소프트웨어 유닛 Prog_b는 어플리케이션 유닛(20)에 할당된다.
메시지의 교환을 수행하기 위해, 각 시스템 성분(10, 12, 14)은 메시지가 각각의 어플리케이션 유닛(16, 18, 20)에서 각각 처리되기 전에 메시지가 저장되는 메시지 버퍼(22, 24, 26)를 포함한다. 시스템 성분(10, 12, 14) 사이의 실제 메시지의 교환을 위해, 상이한 시스템 성분을 접속하는 접속부(28, 30, 32)가 제공되어 있다.
도 5에 도시되어 있는 바와 같이, 이들 접속부는 지시된 방향을 따라서 도 4의 지시된 그래프의 에지로서 도시되어 있는 상이한 메시지를 반송한다. 도 5는 명확하게 기존의 하드웨어 구조 상으로의 기능 레벨에 대한 시스템 명세의 맵핑의 예를 제공하고, 실제 요구 조건에 의존하는 수정 및 정정이 본 발명의 요지내에 있음을 유의하라.
상기 이미 설명한 바와 같이, 시스템 업그레이드 중에, 상이한 어플리케이션 유닛내의 소프트웨어 유닛은 사용된 소프트웨어 유닛의 현재 내부 상태에 대응하는 데이터와 함께 업그레이드된다. 그러나, 도 5에 도시되어 있는 바와 같이, 이러한 소프트웨어 유닛의 업그레이드의 효율성에 무관하게, 업그레이드 전에 시스템 명세에 따라서 저장되는 상이한 메시지 버퍼(22, 24, 26)내의 메시지를 고려하는 과업이 여전히 남아 있다.
따라서, 본 발명의 하나의 중요한 양태는 소프트웨어 및 관련 내부 데이터의 업그레이드에 부가하여 이들 메시지의 업그레이드를 위한 효율적인 방법을 또한 제공하는 것이다. 이하에 도시되는 바와 같이, 이것은 업그레이드 프로세스 중에 감소된 전체 시스템 다운 시간을 가능하게 하고, 더욱 증가된 시스템 사용 가능성 및 보안성을 가능하게 한다.
도 6은 메시지의 머신 레벨 표시에 대한 시스템 업그레이드의 영향을 도시한다. 특히, 도 6의 좌측은 업그레이드 전에 시스템 동작의 기능 표시 및 메시지의 관련 머신 레벨 표시를 도시하지만, 도 6의 우측은 그에 대한 업그레이드 프로세스의 영향을 도시한다.
도 6에 도시되어 있는 바와 같이, 메시지의 변환은 송출 소프트웨어 유닛의 소스 코드 또는 소프트웨어 유닛의 목표 코드, 또는 이들 모두의 변화에 의한 것일 수 있다.
소프트웨어 유닛의 변환에 대한 제1 예는 예컨대, 프로토콜 변화에 기인하여 하나의 메시지로의 새로운 메시지 등급의 할당이다. 도 6에 도시되어 있는 테이블의 제2 라인에 따르는 후속 예는 목표 소프트웨어 유닛의 변화에 관한 것이다. 여기에서, 먼저 좌상측 노드로부터 좌하측 노드로 지시되는 메시지_참조 부호 2를 갖는 에지는 좌상측 노드로부터 우상측 노드로 재지시된다. 관련 머신 레벨 표시에서 알 수 있는 바와 같이, 특히 제2 라인의 제3 칼럼, 제어 정보부의 대응하는 엔트리는 3에서 2로 정정된다. 도 6에 도시되어 있는 바와 같이, 메시지는 또한 도 6에 도시되어 있는 테이블의 제3 및 제4 라인에 따라서 불변인 채로 남아 있다.
시스템 업그레이드에 기인하는 후속 메시지의 변환 유형은 도 6에 도시되어 있는 테이블의 제5 라인에 따라서 변화하는 소프트웨어 유닛의 목표 코드의 변화에 관련된다.
하나의 일반적인 예는 메시지가 단지 다른 메시지 참조 부호 및/또는 소스/목표 소프트웨어 유닛 참조 부호로서 시스템 업그레이드 후에 동일한 식별자를 갖고 동일한 소프트웨어 유닛에 수신되는 것이다. 따라서, 우하측 노드가 SU_Ref=4에서 SU_Ref=10으로 정정되는 경우에, 라인 5의 제2 칼럼내의 관련 엔트리는 4에서 10으로 정정된다. 더욱이, 메시지에 대한 참조 부호가 9로 정정되는 경우, 대응하는 제1 엔트리가 8에서 9로 정정된다.
또한, 본 발명에 따르면, 상기 설명된 메시지의 변환을 위해 필요한 정보는 소프트웨어 유닛의 소스 코드의 변화의 경우에 시스템의 업그레이드해야 할 설계자에 의해 제공되거나 소프트웨어 유닛의 목표 코드의 변화의 경우에 설계 도구에 의해 자동으로 발생될 수 있는 메시지 변환 정보로 요약된다는 것을 주의하라.
도 7에 도시되어 있는 바와 같이, 메시지의 변환은 제어 정보의 변환에 뿐만 아니라 관련 데이터 성분의 변환에도 관련한다.
여기에서, 구 및 신규 데이터 성분 사이의 상호 관계는 업그레이드를 위한 시스템 명세의 부분이고 예컨대, 시스템 업그레이드를 위한 설계 시스템을 통해 사용 가능한 expr ( )에 지정되어 있는 기능적인 관계를 사용하여 지정된다.
더욱이, 구 데이터 성분의 신규 데이터 성분으로의 맵핑은 1 대 1 대응을 필요로 하지 않고 구 데이터 성분이 생략될 수 있거나 신규 데이터 성분이 부가될 수 있다. 또 다른 선택 사항은 데이터 성분의 시퀀스의 역 및 상이한 데이터 성분에 대해 사용되는 데이터 유형의 정정이다.
특정 예의 참조 하에 상기 설명된 모든 상이한 단계는 일반적으로 도 8에 도시되어 있는 메시지 변환 장치(34)에서 실행된다. 이러한 메시지 변환 장치(34)는 메시지 변환 정보 인터페이스 유닛(36) 및 메시지 변환 유닛을 포함한다. 메시지 변환 유닛은 메시지 제어 정보 처리 유닛(38) 및 메시지 데이터 처리 유닛(40)으로 세분화된다.
도 8에 도시되어 있는 바와 같이, 메시지 변환 정보 인터페이스 유닛(36)은 소프트웨어 처리 시스템의 업그레이드로 인해 필요한 적어도 하나의 메시지 변환을 나타내는 메시지 변환 정보(MCI)를 수신한다. 또한, 시스템의 업그레이드 전에 머신 레벨 표시에 따르는 메시지는 메시지 제어 정보 처리 유닛(38) 및 메시지 데이터 처리 유닛(40)에 모두 제공된다. 이하에 더욱 상세히 설명되는 바와 같이, 시스템의 업그레이드는 또한 신규 메시지의 삽입을 유도할 수 있으므로, 메시지 변환 장치(34)의 모든 출력은 변환된 메시지로 뿐만 아니라 도 8에 도시되어 있는 바와 같이 새롭게 초기화된 메시지로 이루어진다.
메시지 제어 정보 처리 유닛(38)은 전술한 바와 같은 메시지 제어 정보를 변환하고, 그에 따라 예컨대, 메시지_참조 부호, 메시지 소스 소프트웨어 유닛, 메시지 목표 소프트웨어 유닛 및 메시지 등급을 각각 변경시킨다. 또한, 메시지 데이터 처리 유닛(40)은 변환될 메시지 데이터 섹션의 적어도 하나의 데이터 성분을 변환한다.
메시지 변환 유닛(34)의 작동을 위한, 하나의 선택 사항은 업그레이드된 소프트웨어에 대한 스위치 오버의 시간이다. 여기에서, 업그레이드된 시스템의 관련 소프트웨어 유닛이 이후에 개시되는 경우에, 메시지는 이미 변환되어 있기 때문에 시간은 손실되지 않는다. 그럼에도 불구하고, 또 다른 선택 사항은 수신 또는 목표 소프트웨어 유닛의 작업 개시 시간에 요구 시에 본 발명에 따르는 메시지 변환 장치를 작동시키므로, 메시지 변환은 요구 시에만, 즉 메시지가 수신 소프트웨어 유닛에 발송될 때만 발생한다.
본 발명에 따르면, 상이한 메시지의 변환을 모든 안(scheme)은 예컨대, 이하에 설명되는 바와 같이 머신 레벨 표시에 대한 변환 정보를 사용하여 실행된다. 본 발명에 따르는 하나의 가능한 실시예는 메시지 유형, 즉 SU 참조 부호 또는 메시지 참조 부호를 각각 구 및 신규 소프트웨어 유닛에 관련된 정보와 함께 식별하는 메시지에 관련되는 메시지 제어 정보의 부분을 저장하는 테이블을 포함할 수 있다. 구 소프트웨어 유닛으로부터 신규 소프트웨어 유닛으로 또는 그 역으로 전송되는 메시지에 따르는 메시지 제어 정보 부분의 변환을 위해 사용될 수 있는 그러한 하나의 테이블은 아래와 같이 구성될 수 있다.
신규 | 구 |
목표_SU_참조 부호 1.목표_메시지_참조 부호 1.소스_SU_참조 부호 1.소스_메시지_참조 부호 1 | 목표_SU_참조 부호 2.목표_메시지_참조 부호 2.소스_SU_참조 부호 2.소스_메시지_참조 부호 2 |
목표_SU_참조 부호 3.목표_메시지_참조 부호 3.소스_SU_참조 부호 3.소스_메시지_참조 부호 3 | 목표_SU_참조 부호 4.목표_메시지_참조 부호 4.소스_SU_참조 부호 4.소스_메시지_참조 부호 4 |
목표_SU_참조 부호 5.목표_메시지_참조 부호 5.소스_SU_참조 부호 5.소스_메시지_참조 부호 5 | 목표_SU_참조 부호 6.목표_메시지_참조 부호 6.소스_SU_참조 부호 6.소스_메시지_참조 부호 6 |
목표_SU_참조 부호 7.목표_메시지_참조 부호 7 | 목표_SU_참조 부호 8.목표_메시지_참조 부호 8 |
소스_SU_참조 부호 9.소스_메시지_참조 부호 9 | 소스_SU_참조 부호 10.소스_메시지_참조 부호 10 |
본 발명에 따르면, 이 테이블의 내용은 높은 레벨 표시로 제공되는 컴파일러(compiler) 및 링커(linker) 기능 처리 정보를 통해 자동으로 또는 시스템의 설계자를 통해 지정된다. 또한, 본 발명에 따르면, 테이블내의 엔트리는 시스템 업그레이드에 변환이 실제로 필요한 경우에만 존재할 필요가 있다.
여기에서, 테이블내의 2개의 칼럼은 아래의 식에 따르는 식의 좌측 및 우측을 나타내는 것으로 생각될 수 있다.
L.H.S.(신규) = R.H.S.(구) (1)
여기에서 및 이하에서, 「=」 기호는 등가 또는 대응하는 것으로 번역되어야 한다.
따라서, 본 발명에 따르면, 상기 테이블내의 하나의 로우에 대하여 L.H.S. = R.H.S.과 같은 상태는 변환 예의 머신 레벨 표시이다.
일반적으로, 소프트웨어 업그레이드가 한 단계씩 실행될 때, 각 메시지에 대하여 구에서 신규 포맷으로 또는 신규에서 구 포맷으로의 변환이 필요한지의 여부를 결정하기 위해 업그레이드되고 아직 업그레이드되지 않은 소프트웨어 유닛(SU)의 리스트를 유지하고 있다.
발명의 범위를 제한함 없이, 동일한 결합 「SU_참조 부호.메시지_참조 부호」가 신규 및 구 측에 모두 발생할 수 없는 것으로 가정될 수 있다. 그 이유는 결국 변환될 각 메시지에 대하여, 특히 구 및 신규 소프트웨어 유닛이 동시에 실행되는 경우, 상기 테이블내에 단일 엔트리만이 존재하기 때문이다. 더욱이, 메시지 변환에 대한 부가 정보로서 버전을 추가하는 것이 가능하다. 이러한 확장은 소프트웨어 업그레이드 후에 신규 소프트웨어 유닛에 대한 스위치오버가 단일 단계로 실행되는 경우 불필요한데, 그 이유는 이 경우에 메시지의 변환은 하나의 방향으로만 즉 구에서 신규로만 실행되기 때문이다.
변환 과업을 위한 하나의 일반적인 예는 구 소프트웨어 유닛으로부터 신규 소프트웨어 유닛으로 메시지가 존재하는 것이며, 그러한 메시지는 수신 소프트웨어 유닛이 메시지 발송 시에 이미 갱신되어 있는 경우에 아직 갱신되지 않은 소프트웨어 유닛으로부터의 메시지의 송출의 결과로서 메시지 버퍼에 저장되어 있다. 더욱이, 신규 소프트웨어 유닛으로부터 구 소프트웨어 유닛으로의 메시지가 존재할 수도 있다. 이 경우에, 메시지는 이미 갱신된 소프트웨어 유닛으로부터 메시지의 발송 시에 아직 갱신되지 않은 수신 소프트웨어 유닛으로의 메시지의 송출의 결과로서 메시지 버퍼에 저장되어 있다. 본 발명에 따르면, 예컨대, 작업 개시 시에 메시지 버퍼내의 메시지가 검사된다. 메시지의 제어 정보 및 상기 설명되어 있는 테이블의, 즉 버퍼링된 메시지가 신규 또는 구 포맷으로 이루어지는 지의 사실에 의존하여 적절한 측면상의 엔트리의 내용 사이에 정합이 있는 경우, 이것은 메시지가 잠재적으로 변환된다.
그러한 경우에, 본 발명에 따라서, 목표_SU_참조 부호가 결정된 후, 이러한 소프트웨어 유닛이 갱신되어 신규인지 또는 아직 갱신되지 않아 구 포맷인지가 검사된다. 이러한 질문의 결과는 메시지가 수신 또는 목표 소프트웨어 유닛으로 발송될 때 포맷이 상기 설명된 테이블에 따르는 신규 또는 구 포맷으로 이루어질 것인지를 결정한다.
더욱이, 소스_SU_참조 부호가 결정되면, 관련 소프트웨어 유닛이 목표 소프트웨어 유닛과 동일한 유형, 즉 신규 또는 구 유형으로 이루어지는지가 검사된다. 그러한 경우에, 변환은 불필요하다. 그러나, 소스 및 목표 소프트웨어 유닛이 상이한 유형으로 이루어진 경우에, 그들 사이에 교환되는 메시지는 변환된다. 여기에서, 변환의 방향, 즉 신규에서 구로 또는 구에서 신규로의 변환 방향은 소프트웨어 유닛이 구 포맷인지 및 신규 포맷인지의 사실에 따른다.
도 9는 도 6에 도시되어 있는 예를 사용하여 상기 설명된 일반적인 원리를 나타내며, 여기에서 메시지_참조 부호 2를 갖는 메시지는 발신 목표 소프트웨어 유닛(3)으로부터 신규 목표 소프트웨어 유닛(2)으로 방향 변경된다. 추가의 변환 관련 메시지 제어 정보가 불변인채로 있다고 가정하면, 이러한 메시지 제어 정보를 나타내는 테이블내의 엔트리는 도 9에 도시되어 있는 바와 같이 된다. 따라서, 메시지가 소프트웨어 처리 시스템의 업그레이드 전 또는 후에 조정되는 경우에, 관련 엔트리는 각각 이 테이블의 좌측 또는 우측 상에서 발견될 수 있고, 특정 메시지 변환, 즉 이러한 특수한 경우에 목표_SU_참조 부호의 정정을 실행하는데 사용될 수 있다.
더욱이, 변환이 상기 논급되어 있는 구 및 신규의 소스 및 목표 소프트웨어 유닛 사이에서 발생하는 다른 상황은 도 10에 도시되어 있는 바와 같이 요약될 수 있다. 여기에서, 소스 및 목표 소프트웨어 유닛이 모두 동일한 유형인 구 및 신규로 각각 이루어지는 경우 변환이 불필요하다는 것을 알 수 있다. 그렇지 않으면, 메시지 변환은 상기 설명된 의미로 발생한다.
더욱이, 도 10으로부터 도출할 수 있는 본 발명에 따르는 하나의 선택 사항은 스위치 오버 시에 상기 언급된 단계를 실행하는 것이며, 구로부터 신규로 변환하는 것만 가능하다. 여기에서, 스위칭되는 신규 소프트웨어는 구 포맷에 다라서 메시지를 처리하지 않는다. 따라서, 모든 신규 소프트웨어 유닛이 동시에 스위칭되는 경우에, 신규로부터 구 포맷으로의 변환은 구 포맷에 따라서 메시지를 처리하는 소프트웨어 유닛이 남아 있지 않기 때문에 일반적으로 불필요하게 된다. 그러한 경우에, 메시지 버퍼내의 모든 메시지를 하나의 시퀀스로 변환하는 것이 가능하다.
더욱이, 이러한 방법은 변환 테이블 및 메시지 버퍼내의 메시지 사이의 정합의 와일드 카드(wild card)로 사용될 수도 있다. 예를 들어, 상기 테이블의 하부에서, 「목표_SU_참조 부호 7.목표_메시지_참조 부호 7」은 항상 「목표_SU_참조 부호 8.목표_메시지_참조 부호 8」에 대응하고, 「소스_SU_참조 부호 9.소스_메시지_참조 부호 9」는 항상 불변으로 되는 다른 정보와 무관한 「소스_SU_참조 부호 10.소스_메시지_참조 부호 10」에 대응하는 것이 나타나 있다. 이러한 변환을 나타내는 원리는 메시지의 일부인 임의의 정보에 대해 일반화될 수 있다.
예컨대, 산술적이고 논리적인 표현을 포함하는 더욱 복잡한 변환은 상기 테이블에 직접 저장되지 않는 것이 바람직하다. 대신에, 상기 테이블은 임의의 다른 정보 예컨대, 복잡한 변환을 나타내는 변환 프로그램을 참조하여 보충될 수 있다.
이하에는, 메시지 포맷의 높은 레벨 표시가 설명된다. 높은 레벨 표시에서, 포맷 및 내용의 차이는 메시지를 처리하는 응용 소프트웨어 유닛의 응용 프로그램의 소스 코드에 메시지가 지정되는 방법과 유사한 방법으로 지정된다.
본 발명에 따르는 하나의 예는 임의의 유일한 식별자 예컨대, 메시지 명칭이 전체 시스템에서 유일한 경우의 메시지 명칭 또는 메시지 명칭의 조합 및 동일한 메시지를 처리하는 소프트웨어 유닛의 식별자에 의해 지정된다. 이하에는, 메시지를 지정하는 유일 식별자가 아래의 식으로 제공되는 것과 같은 임의의 제한이 없는 것으로 가정된다.
SUID.MESSAGEx (2)
여기에서, SUID는 프로그램의 유일한 식별자이고, MESSAGEx는 그러한 프로그램에 의해 조정되는 메시지의 지역적으로 유일한(이 프로그램 내에서) 식별자이다. SUID 및 MESSAGEx는 일반적으로 반드시 문자의 열로 이루어진다.
본 발명에 따르면, 컴파일러 및 링커 기능은 예컨대, 문자열로 이루어진 이러한 표시를 목표 시스템의 변환 기능에 의해 더욱 효율적으로 처리되는 표시로 변환시킨다. 일반적으로, SUID는 유일한 프로그램 번호 또는 임의의 다른 유일한 적절한 어드레스로 변환될 수 있다. 유사하게, 메시지 명칭 MESSAGEx는 메시지 번호 또는 임의의 머신 의존 어드레스로 변환될 수 있다.
여기에서, 이들 머신 레벨 표시는 각각 SU_참조 부호 및 메시지_참조 부호라고 칭해진다.
어떤 경우에 컴파일러 및 링커는 또한 높은 레벨 표시에 명백하게 제공되지 않아야 하는 정보를 발생할 수도 있다. 예를 들어, 메시지가 항상 하나의 특정 프로그램에 의해 송출되고 하나의 다른 특정 프로그램에 의해 수신되는 경우, 아래의 높은 레벨 정보는
목표_SUID.MESSAGEx (3a)
아래의 완전한 낮은 레벨 정보를 발생하기에 충분하다.
목표_SU_참조 부호.목표_메시지_참조 부호. (3b)
소스_SU_참조 부호.소스_메시지_참조 부호.
그러므로, 그러한 경우에, 아래의 높은 레벨 상태는
신규_목표_SUID.MESSAGEx = 구_목표_SUID.MESSAGEy (4a)
아래의 완전한 머신 레벨 표시를 발생할 수 있다.
신규_목표_SU_참조 부호.신규_목표_메시지_참조 부호.
신규_소스_SU_참조 부호.신규_소스_메시지_참조 부호 =
구_목표_SU_참조 부호.구_목표_메시지_참조 부호. (4b)
구_소스_SU_참조 부호.구_소스_메시지_참조 부호.
따라서, 본 발명에 따르면, 시스템 또는 각각의 소프트웨어 유닛내의 변화가 소프트웨어 참조 부호 및 메시지 참조 부호의 변화를 유도하는 경우에도, 즉 시스템에 신규 소프트웨어 유닛을 부가하거나 프로그램에 신규 메시지를 부가함으로써 소프트웨어 유닛 또는 메시지 중 하나의 머신 레벨 번호 매김을 변경함에 따라 메시지를 변환하는 것이 가능하다. 여기에서, 그러한 변화는 컴파일러 및 링커 기능이 필요한 정보를 어떻게 해서도 발생할 수 있으므로, 높은 레벨 표시로 설계자에 의해 명백하게 나타내어지는 것은 아니다.
더욱이, 식별자 MESSAGEx 및 MESSAGEy가 동일한 경우, 각각의 소프트웨어 유닛의 소스 코드에 나타내는 이러한 메시지 등급에 관한 소스 코드 레벨 차이는 전혀 없다. 따라서, 컴파일러 및 링커 기능은 소프트웨어 유닛의 식별자(ID), 즉 신규 및 구 소프트웨어 유닛의 SUID를 제외한 임의의 명백한 높은 레벨 정보 없이 임의의 필요한 머신 레벨 정보를 발생할 수 있다. 여기에서, 본 발명에 따르면, 디폴트는 높은 레벨 표시에 대하여 불변인 메시지가 설계자에 의해 나타내어지지 않아야 하는 것 및 그러한 경우에 컴파일러 및 링커 기능이 머신 레벨 표시에 대한 임의의 변화에 작용하는 것일 수 있다.
도 11에 도시되어 있는 바와 같이, 도 8에 도시되어 있는 메시지 변환 장치(34)의 메시지 제어 정보 처리 유닛(38)이 기본적으로 3개의 기능 유닛으로 세분화되는 것이 된다. 제1 유닛은 상이한 메시지에 대한 메시지 제어 정보의 변환 관련 부분을 저장하는 테이블 저장 유닛(42)이다. 둘째로, 예컨대, 각각 구 및 신규 포맷에 따르는 메시지 참조 부호와 같은 메시지에 대하여 제공되는 특정 정보에 의존하여 테이블 저장 유닛(42)으로의 액세스를 실행할 수 있게 하는 정보 액세스 유닛(44)이 제공되어 있다. 세번째로, 변환 조정 유닛(46)은 정보 액세스 유닛(44)을 통해 제공된 것으로서 테이블 저장 유닛(42)에 저장된 정보에 따라서 도 10에 도시되어 있는 상이한 유형의 변환을 실시한다.
이하에는, 메시지 변환 유닛(34)내의 상이한 유닛을 통해 실행되는 그러한 메시지 변환의 일반적인 예가 설명된다. 이하의 예에서는, 업그레이드 절차는 변환이 구 포맷에서 신규 포맷으로만 발생하도록 하고 있다고, 예를 들어, 변환될 메시지를 교환하는 구 및 신규 소프트웨어 처리 유닛의 동시 실행은 없다고 가정한다. 그러나, 본 발명에 따르면, 상기 설명된 원리를 사용하여 신규에서 구 포맷으로의 방향을 또한 커버하는 것이 명백히 가능하다는 것에 주의하라. 더욱이, 이하에는, 머신 레벨 메시지 제어 정보는 아래의 부분들을 포함하는 것으로 가정한다.
목표_SU_참조 부호.목표_메시지_참조 부호.
소스_SU_참조 부호.소스_메시지_참조 부호 (5)
그러나, 더 많거나 적은 정보를 포함하는 다른 실시예는 또한 예컨대, 아래 식으로만 사용될 수 있다.
목표_SU_참조 부호.목표_메시지_참조 부호 (6)
또한, 상기 예에 따르는 변화는 예컨대, 메시지 명칭 및 길이의 반복을 피하기 위해 상기 예에 명백하게 도시되어 있지 않은 메시지 데이터 모두의 변화에 따라서 결합될 수도 있다.
제1 예는 아래 식과 같은 높은 레벨 표현에 따라서 표현될 수 있는 메시지 명칭의 변화에 관한 것이다.
신규_SUID.MESSAGEx = 구_SUID.MESSAGEy (7a)
따라서, 구 소프트웨어 유닛에서 MESSAGEy로 칭해지는 메시지는 신규 업그레이드된 소프트웨어 유닛에서 MESSAGEx로 칭해진다. 메시지 버퍼내의 임의의 구 MESSAGEy는 따라서 신규 MESSAGEx로 변환된다. 여기에서, 신규_SUID 및 구_SUID는 목표_SUID 또는 소스_SUID 중 하나일 수 있다. 더욱이, 이러한 높은 레벨 표시(7a)로부터 컴파일러 및 링커에 의해 발생되는 머신 레벨 표시는 아래와 같다.
신규_SU_참조 부호.신규_메시지_참조 부호 =
구_SU_참조 부호.구_메시지_참조 부호 (7b)
여기에서, 신규_SU_참조 부호 및 구_SU_참조 부호는 목표 또는 소스형 중 하나일 수 있지만, 높은 레벨 표시에서와 동일하다. 예컨대, 유일한 송출기 또는 수신기를 갖는 어떤 경우에, 단일 유형만으로부터 목표 및 소스 파라미터를 모두 발생시키는 것이 가능하다.
후속의 경우는 아래와 같은 높은 레벨 표시에서 표현되는 소프트웨어 유닛 참조 부호의 변화에 관한 것이다.
신규_SUID = 구_SUID (8a)
여기에서, 식별자(구_SUID)를 갖는 구 SU의 새로운 버전은 신규 식별자(신규_SUID)에 할당된다. 그러므로, 식별자(구_SUID)를 갖는 구 소프트웨어 유닛에 의해 송출 또는 수신되는 메시지 버퍼의 모든 구 메시지는 각각 구_...에서 신규_...로 변화되는 소스_SU_참조 부호 또는 목표_SU_참조 부호를 가져야 한다.
더욱이, 높은 레벨 표시로부터 컴파일러 및 링커에 의해 발생되는 머신 레벨 표시는 아래의 식에 따라서 2개의 스테이트먼트(statement)로 될 수 있다.
신규_소스_SU_참조 부호 = 구_소스_SU_참조 부호
신규_목표_SU_참조 부호 = 신규_목표_SU_참조 부호 (8b)
후속 예는 아래와 같은 높은 레벨 표시에 표현되는 메시지 참조 부호의 변화에 관한 것이다.
신규_SUID = 구_SUID (9a)
이 예에서, 메시지 식별자(예컨대, 명칭)가 구 및 신규 소프트웨어 유닛에서 동일하고, 컴파일러가 구 메시지가 신규 메시지에 대응하는 것을 인식하는 경우, 이러한 높은 레벨 표시를 메시지 레벨로 맵핑할 필요가 없다. 그와 반대로, 메시지는 참조 부호에 대한 변환 식별자가 또한 다른 변화에 종속될 수 있기 때문에, 식별자가 동일하다는 사실과 무관하게 참조 부호를 변화시킬 수 있다. 여기에서, 높은 레벨 표시로부터 컴파일러 및 링커에 의해 발생되는 머신 레벨 표시는 각 메시지 등급에 대하여 2개의 스테이트먼트에 따라서 표현될 수 있다.
신규_소스_SU_참조 부호.신규_소스_메시지_참조 부호 =
구_소스_SU_참조 부호.구_소스_메시지_참조 부호
신규_목표_SU_참조 부호.신규_목표_메시지_참조 부호 =
구_목표_SU_참조 부호.구_목표_메시지_참조 부호 (9b)
더욱이, 본 발명에 따르는 메시지 참조 부호의 변화에 대하여, 식 (9b)에 따르는 정보가 메시지 참조 부호에서 임의의 변화가 있는 경우에만 발생될 필요가 있다. 그러나, 이것은 또한 일반적인 원리, 즉 머신 레벨 표시내의 구 및 신규 파라미터 사이에 차이가 없는 경우, 변환이 필요 없기 때문에 생략될 수 있다. 이것은 예컨대, 변화된 메시지 식별자와 같은 높은 레벨 표시에 이전에 차이가 있었던 경우에도 참이다.
제4의 예는 아래와 같은 높은 레벨 표시에 표현되는 메시지의 종결에 관한 것이다.
TERMINATE 구_SUID.MESSAGEx (10a)
일반적으로, 식별자(구_SUID)를 갖는 구 소프트웨어 처리 유닛내의 MESSAGEx라고 칭해지는 유형의 임의의 메시지는 예컨대, 신규 소프트웨어 처리 유닛내에 수신기가 없기 때문에, 메시지 버퍼로부터 제거되어야 한다. 더욱이, 구_SUID는 소스 또는 목표형 중 하나일 수 있다. 식 (10a)에 따라서 높은 레벨 표시로부터 컴파일러 및 링커에 의해 발생되는 머신 레벨 표시는 아래와 같다.
종결 구_SU_참조 부호.구_메시지_참조 부호 (10b)
여기에서, 구_SU_참조 부호는 소스 또는 목표형 중 하나일 수 있지만, 높은 레벨 표시와 일치된다.
후속 경우는 메시지의 종결의 반대, 즉 메시지의 초기화에 관한 것이다. 여기에서, 높은 레벨 표시는 아래와 같다.
INITIATE 신규_SUID.MESSAGEx[데이터1, 데이터 2, ...를 가짐] (11a)
더욱이, 식별자(신규_SUID)를 가지는 소프트웨어 처리 유닛에 의해 MESSAGEX라고 칭해지는 유형의 메시지는 신규 소프트웨어 처리 유닛에 발송되어야 한다. 메시지는 선택적으로 정의된 바와 같은 데이터를 포함할 수 있다. MESSAGEx가 다중 송출기 또는 수신기를 가지는 경우에, 목표 및 소스 SUID는 모두 지정되지 않아야 할 수 있다(도시 생략). 높은 레벨 표시(11a)로부터 컴파일러 및 링커에 의해 발생되는 머신 레벨 표시는 아래와 같다.
개시 신규_SU_참조 부호.신규_메시지_참조 부호[데이터_1, 데이터_2,...를 가짐] (11b)
끝으로, 추가의 예는 높은 레벨 표시에 따르는 메시지 데이터의 변화에 관한 것이다.
신규_SUID.MESSAGEx.DATAm = 구_SUID.MESSAGEx.
DATAi + 구_SUID.MESSAGEx.DATAk (12a)
여기에서, 식별자 신규_SUID를 갖는 소프트웨어 처리 유닛내의 구 포맷 MESSAGEx에 의해 모두 반송되는 DATAi 및 DATAk의 합에 대응한다. 통상적으로, 식 (12a)의 우측면의 표현은 예컨대, 구 포맷 메시지에 의해 반송되는 하나 또는 여러 개의 데이터 및 또한 일정하고 산술적이며 논리적인 동작, 즉 아래의 식을 포함할 수 있다.
SUIDx.MESSAGEy.DATAm = 표현(SUIDz.MESSAGEu.DATAi, SUIDv.MESSAGEw. ..., 상수 1,...) (12b)
더욱이, SUID는 소스 또는 목표형 중 하나일 수 있다.
높은 레벨 표시로부터 컴파일러 및 링커에 의해 발생되는 머신 레벨 표시는 아래와 같다.
신규_SU_참조 부호.신규_메시지_참조 부호.데이터_m =
구_SU_참조 부호.구_메시지_참조 부호.데이터_i +
구_SU_참조 부호.구_메시지_참조 부호.데이터_k (12c)
또한, SU_참조 부호는 소스 또는 목표형 중 하나일 수 있지만, 높은 레벨 표시에 따라야만 된다.
상기 설명된 바와 같이, 모든 변환 단계는 실행 시간에 무관한 기능 관계에 기초한다.
이상에서, 본 발명에 따르는 메시지 변환 장치의 특정 구조 및 기능이 설명되어 있지만, 이하에는, 그 응용에 대한 일반적인 예가 도 12 내지 도 17을 참조하여 설명된다.
도 12에 도시되어 있는 바와 같이, 제1 선택 사항은 소프트웨어 처리 시스템의 각 성분(10, 12, 14)에 메시지의 변환이 각각 각 단일 성분(10, 12, 14)에 의해 처리될 수 있게 하는 전용 메시지 변환 장치를 할당하는 것이다.
도 13은 도 5에 대하여 설명된 바와 같이 다시 시스템 성분이 제공되지만 전용 메시지 변환 장치를 포함하지 않는 추가의 선택 사항을 도시한다. 그와 반대로, 시스템 성분은 공통 시스템 업그레이드 장치(48)를 공유한다. 이러한 시스템 업그레이드 장치(48)는 상이한 시스템 성분(10, 12, 14)에 신규 소프트웨어 유닛을 설치하는데 적합한 소프트웨어 업그레이드 유닛(50)을 포함할 수 있다. 또한, 데이터 업그레이드 유닛(52)은 소프트웨어 설치의 프로세스 중에 소프트웨어 유닛의 내부 데이터 구조에 저장되는 데이터를 변경하도록 작용한다. 신규 소프트웨어 유닛이 시스템 성분(10, 12, 14)에서 동작하자마자, 메시지 변환 장치(34)가 메시지 버퍼(22, 24, 26)에 저장된 메시지를 신규 시스템 환경에 적응하도록 작동될 수 있다.
도 14는 각 성분이 2개의 대칭 실현(10-a, 10-b, 12-a, 12-b, 14-a, 14-b)을 이용하여 용장 방법으로 실행되는 분할된 형태인 것으로서 분류될 수 있는 다른 시스템 구조를 도시한다. 이러한 특정 시스템 환경에서, 상기 업그레이드 장치(48)는 제1 부분 A 및 제2 부분 B 사이에 제공되고, 도 13에 대하여 상기 설명된 바와 같은 동일한 성분을 포함한다.
그러나, 도 12 또는 도 13의 관점에서 측면 A 및 측면 B를 모두 이용하여 용장 방법으로 상기 업그레이드 장치(48)를 실행하는 것도 가능하다. 일반적으로, 측면 A 및 측면 B의 각 부분은 도 13에 따르는 구조를 가지므로, 다른 측면의 갱신 중에 완전히 동작된다. 따라서, 본 발명에 따르면, 전체 시스템의 사용 가능성 및 안정성을 명백하게 향상시키는 것이 가능하고, 또한 소프트웨어 업그레이드 중에 성능을 향상시키는 것도 가능하다.
이러한 특정 구조는 도 15에 대하여 이하에 설명되는 바와 같이, 소프트웨어 및 관련 데이터 뿐만 아니라 대응하는 메시지의 업그레이드를 위한 본 발명의 시스템 업그레이드 방법에 적합하다.
도 15에 도시되어 있는 바와 같이, 본 발명의 방법은 신규 소프트웨어를 로드하도록 준비 단계 S1에서 시작하고 그 초기화를 실행한다. 더욱이, 단계 S2에 따라서, 구 소프트웨어의 실행이 소프트웨어 및 관련 데이터의 완전한 업그레이드 중에 계속된다. 단계 S2에서의 구 소프트웨어의 실행과 동시에, 신규 소프트웨어 및 관련 데이터가 단계 S3에서 업그레이드된다. 이러한 상이한 단계 S2 및 S3의 동시 실행은 본 발명의 업그레이드 프로세스 중에 전체 시스템의 효율성을 상당히 향상시킨다.
도 15에 도시되어 있는 바와 같이, 구 소프트웨어 및 신규 소프트웨어의 상태가 단게 S4에서 일치되도록 평가되자마자, 단계 S5에서 신규 소프트웨어에 대한 스위치 오버가 실행된다. 이러한 단계 S5는 신규 및 구 소프트웨어의 그룹 단위로 또는 하나의 그룹내의 모든 소프트웨어 유닛에 대해 동작할 수 있다.
더욱이, 단계 S5 중에, 도 5 및 도 12 내지 도 14에 도시되어 있는 상이한 메시지 버퍼(22, 24, 26)에 저장된 메시지가 상기 설명된 절차에 따라서 변환될 수도 있다. 이들 메시지가 스위치 오버 중에 즉시 변환되는 경우에, 신규 소프트웨어 유닛에서 작업 개시 시에 추가의 지연은 발생하지 않는다.
각 스위칭 단계 S5 이후에, 업그레이드될 관련 소프트웨어 또는 데이터가 시스템에 남아 있는지를 평가하기 위해 단계 S6이 후속한다. 이것이 그러한 경우이면, 업그레이드 프로세스는 완전한 업그레이드 프로세스가 완료될 때까지 추가의 소프트웨어 유닛 및 관련 데이터의 업그레이드를 더 계속하도록 단계 S2로 복귀한다. 이 경우에, 구 및 신규 소프트웨어 모듈이 동일한 시스템내에서 동시에 실행하는 상황에 직면할 수 있다. 그러므로, 상기 설명되고 단계 S2에 나타낸 바와 같이 신규 및 구 소프트웨어 사이에 통신되는 메시지를 변환하는 것이 필요할 수 있다. 이러한 변환은 바람직하게는 수신 소프트웨어 처리 유닛내에서 개별 메시지의 처리의 개시 직전에, 작업 개시 시에 요구가 있는 대로 작동될 수 있다.
그렇지 않으면, 시스템 동작은 신규 소프트웨어 유닛이 업그레이드된 시스템에서 동작되는 단계 S7로 계속된다. 여기에서, 신규 소프트웨어 유닛의 작업 개시 시에, 수신된 메시지가 변환되지 않은 것이 단계 S8에서 평가되는 상황이 발생할 수 있다. 그러한 경우에, 본 발명의 메시지 변환 장치(34)는 단계 S9에 따라서 요구가 있는 대로 작동된다. 이후에, 신규 소프트웨어의 실행은 단계 S7로 루프 백한 후에 계속된다.
도 16은 예컨대, Ericsson Review No. 3, 1995에 하부 구조가 설명되어 있는 본 발명의 응용에 대한 제1 예로서의 통신 시스템 교환국을 도시한다. 여기에서, 중앙 프로세서(54)는 통신 시스템내의 호출 관련 이벤트 및 다른 데이터 통신 프로세스를 조정한다. 더욱이, 지역 프로세서(56, 58, 60)는 통신 시스템내의 최종 사용자로/로부터의 신호를 조정한다. 도 16에 도시되어 있는 바와 같이, 지역 프로세서 조정기(62)는 지역 프로세서(56, 58, 60) 및 중앙 프로세서(54) 사이의 신호의 교환을 조절한다. 시간 임계 이벤트를 조정하기 위해, 작업 버퍼(64)는 상기 설명된 관점으로 교환되는 메시지의 버퍼링을 가능하게 한다.
그러한 통신 시스템에 대하여, 업그레이드는 예컨대, 업그레이드 프로세스를 지원하도록 2개의 부분을 갖는 유형으로 될 수 있는 중앙 프로세서(54)에서 실행될 수 있다. 그러한 응용을 위한 본 발명의 특수한 영향은 시스템 업그레이드 중에 전체 시스템 정지 시간이 시스템 제공자에게 어떠한 수입의 손실도 방지하도록 최소화되는 것이다. 따라서, 시스템의 완전 정지를 필요로 하는 종래의 소프트웨어 업그레이드 프로세스를 이용하는 것보다 더욱 자주 통신 시스템을 신축적으로 업그레이드하는 것이 가능하다.
도 17은 본 발명의 응용에 대한 제2 예로서의 분배 통신 네트워크를 도시한다. 여기에서, 분배 통신 네트워크의 성분은 각각 액세스 네트워크, 시내 전화 네트워크 및 장거리 네트워크이다. 시내 전화 네트워크 및 장거리 네트워크는 베어러 서비스용 전송 네트워크를 구성한다.
이러한 통신 네트워크내의 노드는 네트워크 노드 또는 액세스 노드 중 하나이다. 장거리 네트워크는 메시지의 교환을 위하여 트렁크를 사용한다. 더욱이, 접속 라인이 네트워크를 통해 정보를 교환하기 위해 통신 네트워크에 제공된다.
상기로부터, 네트워크 노드, 액세스 노드 또는 최종 단말기에 상주할 수 있는 임의의 소프트웨어 유닛이 본 발명의 방법을 사용하여 통신 네트워크의 외란을 동시에 최소화시킴으로써 업그레이드될 수 있는 것으로 된다.
그러한 통신 네트워크에 대한 일반적인 예는 메시지가 ATM 셀, 호출국 관련 구조, FDDI 어플리케이션 또는 프레임 중계 어플리케이션에 각각 관련되는 ATM 네트워크이다. 또한, 본 발명은 관련 소프트웨어가 인터넷 서비스 제공자에 의해 동작될 수 있는 인터넷 또는 GSM 하부 구조에 명백하게 적용될 수 있다.
더욱이, 네트워크 노드에서 소프트웨어 업그레이드 이외에, 본 발명은 그러한 네트워크에서 데이터 및 신호의 교환의 프로토콜이 업그레이드되는 경우에도 사용될 수 있다.
참조 번호의 리스트
10 : 시스템 성분
12 : 시스템 성분
14 : 시스템 성분
16 : 어플리케이션 유닛
18 : 어플리케이션 유닛
20 : 어플리케이션 유닛
22 : 메시지 버퍼
24 : 메시지 버퍼
26 : 메시지 버퍼
28 : 접속
30 : 접속
32 : 접속
34 : 메시지 변환 장치
36 : 메시지 변환 정보 인터페이스 유닛
38 : 메시지 제어 정보 처리 유닛
40 : 메시지 데이터 처리 유닛
42 : 테이블 저장 유닛
44 : 정보 액세스 유닛
46 : 변환 조정 유닛
48 : 시스템 업그레이드 장치
50 : 소프트웨어 업그레이드 유닛
52 : 데이터 업그레이드 유닛
54 : 중앙 프로세서
56 : 지역 프로세서
58 : 지역 프로세서
60 : 지역 프로세서
62 : 지역 프로세서 조정기
64 : 작업 버퍼
Claims (27)
- 메시지 변환 장치(34)에 있어서:a) 소프트웨어 처리 시스템의 업그레이드의 전후에 소프트웨어 처리 시스템에서 교환되는 적어도 하나의 메시지를 나타내는 메시지 변환 정보(MCI)용의 인터페이스 수단(36)과,b) 상기 메시지 변환 정보(MCI)에 제공되는 명세에 따라서 소프트웨어 처리 시스템에 대한 구 및 신규 표시 사이에서 메시지를 변환하는데 적합한 메시지 변환 수단(38, 40)을 포함하는 메시지 변환 장치.
- 제1항에 있어서, 상기 메시지 변환 수단(38, 40)은 업그레이드된 소프트웨어 처리 시스템으로의 스위치 오버 시에 작동되는 것을 특징으로 하는 메시지 변환 장치.
- 제1항 또는 제2항에 있어서, 상기 메시지 변환 수단(38, 40)은 상기 소프트웨어 처리 시스템내의 메시지 수신 신규 소프트웨어의 작업 개시 시에 요구에 따라 작동되는 것을 특징으로 하는 메시지 변환 장치.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 메시지 변환 수단(38, 40)은 상기 소프트웨어 처리 시스템내의 메시지 수신 구 소프트웨어의 작업 개시 시에 요구에 따라 작동되는 것을 특징으로 하는 메시지 변환 장치.
- 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 메시지 변환 수단(38, 40)은:a) 적어도 하나의 메시지 참조 부호, 메시지 소스 소프트웨어 유닛, 메시지 목표 소프트웨어 유닛 및 메시지 등급을 각각 포함하는 메시지 제어 정보 부분을 변환하는 메시지제어 정보 처리 수단(38)과;b) 메시지 데이터 섹션(DATA)의 적어도 하나의 데이터 성분을 변환하는 메시지 데이터 처리 수단(40)을 포함하는 것을 특징으로 하는 메시지 변환 장치.
- 제5항에 있어서, 상기 메시지 제어 정보 처리 수단(38)은a) 메시지 제어 정보에 관하여 변환 관련 부분을 저장하는 테이블 저장 수단(42)과,b) 변환될 메시지에 관하여 공급되는 정보에 의존하여 상기 테이블 저장 수단(42)에 저장되는 정보에 액세스할 수 있게 하는데 적합한 정보 액세스 수단(44)과,c) 변환될 메시지 및 상기 정보 액세스 수단(44)을 통해 제공되는 정보에 따라서 메시지의 변환을 실행하는데 적합한 변환 조정 수단(46)으로 세분화되는 것을 특징으로 하는 메시지 변환 장치.
- 제5항 또는 제6항에 있어서, 상기 메시지 제어 정보 처리 수단(38) 및 메시지 데이터 처리 수단(40)은 기능적인 관계를 사용하여 수신된 메시지의 변환을 실행하는 것을 특징으로 하는 메시지 변환 장치.
- 제5항 내지 제7항 중 어느 한 항에 있어서, 상기 메시지 제어 정보 처리 수단(38)은 아래 식 (7a)에 따라서 메시지 식별자를 변환하는데 적합한 것을 특징으로 하는 메시지 변환 장치.신규_SUID.MESSAGEx = 구_SUID.MESSAGEy (7a)
- 제5항 내지 제8항 중 어느 한 항에 있어서, 상기 메시지 제어 정보 처리 수단(38)은 아래 식 (8a)에 따라서 SU_참조 부호를 변환하는데 적합한 것을 특징으로 하는 메시지 변환 장치.신규_SUID = 구_SUID (8a)
- 제5항 내지 제9항 중 어느 한 항에 있어서, 상기 메시지 제어 정보 처리 수단(38)은 아래 식 (9a)에 따라서 메시지 참조 부호를 변환하는 것을 특징으로 하는 메시지 변환 장치.신규_SUID = 구_SUID (9a)
- 제5항 내지 제10항 중 어느 한 항에 있어서, 상기 메시지 제어 정보 처리 수단(38)은 아래 식 (10a)에 다라서 메시지를 종결하는데 적합한 것을 특징으로 하는 메시지 변환 장치.종결 SUID.MESSAGEx (10a)
- 제5항 내지 제11항 중 어느 한 항에 있어서, 상기 메시지 제어 정보 처리 수단(38)은 아래 식 (11a)에 따라서 메시지를 초기화하는데 적합한 것을 특징으로 하는 메시지 변환 장치.개시 SUID.MESSAGEx[데이터1, 데이터2,...를 가짐] (11a)
- 제5항 내지 제12항 중 어느 한 항에 있어서, 상기 메시지 데이터 처리 수단(40)은 아래 식 (12a)에 따라서 메시지 데이터를 변화시키는데 적합하고,SUIDx.MESSAGEy.DATAm = 표현(SUIDz.MESSAGEu.DATAi, SUIDv.MESSAGEw.DATAk, ..., 상수 1, 상수 2,...) (12a)여기에서, 우변 표현은 예컨대, 특정 데이터 변수 및 상수에 대해 연산하는 산술적 및 논리적인 유형의 연산자를 포함할 수 있는 것을 특징으로 하는 메시지 변환 장치.
- 업그레이드 기능을 갖는 유형의 소프트웨어 처리 시스템에 있어서:a) 상기 소프트웨어 처리 시스템에 의해 처리되는 메시지를 저장하는 적어도 하나의 메시지 버퍼(22, 24, 26)와;b) 적어도 하나의 메시지 버퍼에 저장되는 메시지를 처리하는 적어도 하나의 어플리케이션 유닛(16, 18, 20)과;c) 제1항 내지 제13항 중 한 항에 따라서 적어도 하나의 어플리케이션 유닛(16, 18, 20)의 업그레이드 후에 구 및 신규 표시 사이에서 메시지를 변환하는데 적합한 메시지 변환 장치(34)를 포함하는 소프트웨어 처리 시스템.
- 제14항에 있어서, 변환 장치(34)에 각각 접속되는 복수의 어플리케이션 유닛(16, 18, 20)을 갖는 분배형으로 이루어진 것을 특징으로 하는 소프트웨어 처리 시스템.
- 제14항에 있어서, 공통 변환 장치(34)에 접속되는 복수의 어플리케이션 유닛(16, 18, 20)을 갖는 분배형으로 이루어진 것을 특징으로 하는 소프트웨어 처리 시스템.
- 제14항에 있어서, 공통 메시지 변환 장치(34)에 접속되는 2개의 논리 부분(10-a, 10-b, 12-a, 12-b, 14-a, 14-b)를 포함하는 것을 특징으로 하는 소프트웨어 처리 시스템.
- 제14항에 있어서, 각 논리 부분용의 전용 메시지 변환 장치(34)를 갖는 2개의 논리 부분(10-a, 10-b, 12-a, 12-b, 14-a, 14-b)를 포함하는 것을 특징으로 하는 소프트웨어 처리 시스템.
- 적어도 2개의 논리 부분을 갖는 계산 시스템의 시스템 업그레이드 방법에 있어서:a) 구 소프트웨어의 실행을 계속하면서 대기 부분 수단의 신규 소프트웨어의 상태를 실행 부분 수단의 구 소프트웨어의 상태로 업그레이드하는 단계(S3)와,b) 동일한 상태가 상기 대기 부분 수단 및 실행 부분 수단에 대해 얻어지는 한 신규 소프트웨어의 실행으로 스위칭하는 단계(S5)와,c) 수신 신규 소프트웨어의 실행으로의 스위치 오버 시에 또는 수신 신규 소프트웨어의 작업 개시 시에 요구에 따라 신규 수신 소프트웨어에 적합한 포맷으로 상기 계산 시스템의 상이한 소프트웨어 모듈 사이에 송신되는 메시지를 변환하는 단계(S2, S5, S8), 또는d) 구 수신 소프트웨어의 실행으로의 스위치 오버 시에 또는 구 수신 소프트웨어의 작업 개시 시에 요구에 따라 구 수신 소프트웨어에 적합한 포맷으로 상기 계산 시스템의 상이한 소프트웨어 모듈 사이에 송신되는 메시지를 변환하는 단계(S2, S5, S8)를 포함하는 계산 시스템의 시스템 업그레이드 방법.
- 제19항에 있어서, 상기 갱신 단계 c), d)는:e) 메시지 변환 장치(34)로 관련 인터페이스(36)를 통해 메시지 변환 정보(MCI)를 판독하는 단계와,f) 상기 메시지 변환 정보(MCI)에 제공되는 명세에 따라 신규 소프트웨어에 대한 신규 표시로 상기 메시지를 변환하는 단계, 또는g) 상기 메시지 변환 정보(MCI)에 제공되는 명세에 따라 구 소프트웨어에 대한 구 표시로 상기 메시지를 변환하는 단계로 세분화되는 것을 특징으로 하는 계산 시스템의 시스템 업그레이드 방법.
- 제20항에 있어서, 상기 단계 f), g)는:h) 메시지 변환 정보(MCI)가 지정되지 않을 때 메시지를 불변인 상태로 전송하는 단계, 및/또는i) 적어도 하나의 메시지 참조 부호, 메시지 소스 소프트웨어 유닛, 메시지 목표 소프트웨어 유닛 및 메시지 등급을 각각 포함하는 메시지 제어 정보의 변환 단계, 및/또는j) 메시지 데이터 섹션으 적어도 하나의 데이터 성분의 변환 단계로 세분화되는 것을 특징으로 하는 계산 시스템의 시스템 업그레이드 방법.
- 제21항에 있어서, 상기 수신된 메시지의 변환은 기능적인 관계를 사용하여 실행되는 것을 특징으로 하는 계산 시스템의 시스템 업그레이드 방법.
- 제19항 내지 제21항 중 어느 한 항에 있어서, 상기 변환 단계 중 어느 하나는 병렬로 실행 부분 수단에서 실행하는 구 소프트웨어의 외란 없이 실행되는 것을 특징으로 하는 계산 시스템의 시스템 업그레이드 방법.
- 제19항 내지 제23항 중 어느 한 항에 있어서, 상기 변환 단계 중 어느 하나는 신규 소프트웨어로의 스위칭이 실행 부분 수단에서 변경 상태의 트랙을 유지하도록 종료될 때까지 배경 프로세스로서 반복적으로 실행되는 것을 특징으로 하는 계산 시스템의 시스템 업그레이드 방법.
- 제19항 내지 제24항 중 어느 한 항에 있어서, 상기 변환 단계 이외에, 신규 메시지 데이터 성분에 대한 특정 초기화 단계가 신규 소프트웨어의 스위치 오버 또는 개시 시에 실행되는 것을 특징으로 하는 계산 시스템의 시스템 업그레이드 방법.
- 제19항 내지 제25항 중 어느 한 항에 있어서, 스위치 오버 이전에 에러 상황이 발생하는 경우에, 상기 변환은 종료되고, 실행 부분 수단의 구 소프트웨어의 실행이 계속되는 것을 특징으로 하는 계산 시스템의 시스템 업그레이드 방법.
- 제19항 내지 제26항 중 어느 한 항에 있어서, 구 소프트웨어를 갖는 실행 부분 수단이 신규 소프트웨어의 실행 중에 에러가 스위치 오버 후에 발생하는 경우에 실행 부분 수단으로 다시 되도록 스위치 백 단계가 실행되는 것을 특징으로 하는 계산 시스템의 시스템 업그레이드 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19810807.9 | 1998-03-12 | ||
DE19810807A DE19810807A1 (de) | 1998-03-12 | 1998-03-12 | Gerät und Verfahren zum Umsetzen von Meldungen |
PCT/EP1999/001589 WO1999046678A2 (en) | 1998-03-12 | 1999-03-11 | Apparatus and method for conversion of messages |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20010041773A true KR20010041773A (ko) | 2001-05-25 |
Family
ID=7860687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007010024A KR20010041773A (ko) | 1998-03-12 | 1999-03-11 | 메시지 변환 장치 및 방법 |
Country Status (10)
Country | Link |
---|---|
US (1) | US6438748B1 (ko) |
EP (1) | EP1062579B1 (ko) |
JP (1) | JP2002507024A (ko) |
KR (1) | KR20010041773A (ko) |
CN (1) | CN1143208C (ko) |
AU (1) | AU3033799A (ko) |
BR (1) | BR9908703A (ko) |
CA (1) | CA2322965C (ko) |
DE (1) | DE19810807A1 (ko) |
WO (1) | WO1999046678A2 (ko) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3950589B2 (ja) * | 1998-08-28 | 2007-08-01 | キヤノン株式会社 | 情報処理装置、プログラム更新方法および記憶媒体 |
US7107329B1 (en) * | 1999-05-21 | 2006-09-12 | Lucent Technologies Inc. | In networks of interconnected router nodes for routing data traffic, a method of and system for imperceptibly upgrading router node software and the like without traffic interruption |
JP3669619B2 (ja) * | 1999-09-06 | 2005-07-13 | 富士通株式会社 | 無線端末装置のソフトウェア更新方法及びその装置 |
US6535924B1 (en) * | 2001-09-05 | 2003-03-18 | Pluris, Inc. | Method and apparatus for performing a software upgrade of a router while the router is online |
US20030149970A1 (en) * | 2002-01-23 | 2003-08-07 | Vedvyas Shanbhogue | Portable software for rolling upgrades |
US20040237081A1 (en) * | 2003-05-19 | 2004-11-25 | Homiller Daniel P. | Methods and apparatus for generating upgraded software from initial software and software upgrade packages |
US20040237089A1 (en) * | 2003-05-20 | 2004-11-25 | Teh Jin Teik | Separation of data and instruction for improving system performance in a multiple process environment |
US20050071434A1 (en) * | 2003-09-29 | 2005-03-31 | Siemens Information And Communication Networks, Inc. | System and method for sending a message to one or more destinations |
JP2008191786A (ja) | 2007-02-01 | 2008-08-21 | Canon Inc | プログラム管理装置、プログラム管理方法及びプログラム |
CN100464522C (zh) * | 2007-05-17 | 2009-02-25 | 华为技术有限公司 | 一种进程升级的方法及进程升级系统 |
US8826266B2 (en) * | 2007-11-29 | 2014-09-02 | Red Hat, Inc. | Updates of message consumers |
US8438558B1 (en) | 2009-03-27 | 2013-05-07 | Google Inc. | System and method of updating programs and data |
US9569398B2 (en) | 2010-09-28 | 2017-02-14 | International Business Machines Corporation | Routing data communications packets in a parallel computer |
US8909716B2 (en) | 2010-09-28 | 2014-12-09 | International Business Machines Corporation | Administering truncated receive functions in a parallel messaging interface |
US9075759B2 (en) | 2010-11-05 | 2015-07-07 | International Business Machines Corporation | Fencing network direct memory access data transfers in a parallel active messaging interface of a parallel computer |
US8527672B2 (en) | 2010-11-05 | 2013-09-03 | International Business Machines Corporation | Fencing direct memory access data transfers in a parallel active messaging interface of a parallel computer |
US9069631B2 (en) | 2010-11-05 | 2015-06-30 | International Business Machines Corporation | Fencing data transfers in a parallel active messaging interface of a parallel computer |
US9052974B2 (en) | 2010-11-05 | 2015-06-09 | International Business Machines Corporation | Fencing data transfers in a parallel active messaging interface of a parallel computer |
US8484658B2 (en) | 2010-12-03 | 2013-07-09 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
US8490112B2 (en) | 2010-12-03 | 2013-07-16 | International Business Machines Corporation | Data communications for a collective operation in a parallel active messaging interface of a parallel computer |
US8572629B2 (en) | 2010-12-09 | 2013-10-29 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
US8650262B2 (en) | 2010-12-09 | 2014-02-11 | International Business Machines Corporation | Endpoint-based parallel data processing in a parallel active messaging interface of a parallel computer |
US9043782B2 (en) * | 2010-12-28 | 2015-05-26 | Microsoft Technology Licensing, Llc | Predictive software streaming |
US8775531B2 (en) | 2011-01-06 | 2014-07-08 | International Business Machines Corporation | Completion processing for data communications instructions |
US8732229B2 (en) | 2011-01-06 | 2014-05-20 | International Business Machines Corporation | Completion processing for data communications instructions |
US8584141B2 (en) | 2011-01-17 | 2013-11-12 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
US8892850B2 (en) | 2011-01-17 | 2014-11-18 | International Business Machines Corporation | Endpoint-based parallel data processing with non-blocking collective instructions in a parallel active messaging interface of a parallel computer |
US8825983B2 (en) | 2011-02-15 | 2014-09-02 | International Business Machines Corporation | Data communications in a parallel active messaging interface of a parallel computer |
US8495654B2 (en) | 2011-11-07 | 2013-07-23 | International Business Machines Corporation | Intranode data communications in a parallel computer |
US8528004B2 (en) | 2011-11-07 | 2013-09-03 | International Business Machines Corporation | Internode data communications in a parallel computer |
US8732725B2 (en) | 2011-11-09 | 2014-05-20 | International Business Machines Corporation | Managing internode data communications for an uninitialized process in a parallel computer |
US11171905B1 (en) * | 2016-10-17 | 2021-11-09 | Open Invention Network Llc | Request and delivery of additional data |
CN112637326B (zh) * | 2020-12-21 | 2023-08-22 | 广东太平洋互联网信息服务有限公司 | 一种基于网关的旧服务器升级方法及系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4837785A (en) * | 1983-06-14 | 1989-06-06 | Aptec Computer Systems, Inc. | Data transfer system and method of operation thereof |
US5155837A (en) | 1989-03-02 | 1992-10-13 | Bell Communications Research, Inc. | Methods and apparatus for software retrofitting |
US5157663A (en) * | 1990-09-24 | 1992-10-20 | Novell, Inc. | Fault tolerant computer system |
US5410703A (en) * | 1992-07-01 | 1995-04-25 | Telefonaktiebolaget L M Ericsson | System for changing software during computer operation |
JP2863805B2 (ja) * | 1993-11-26 | 1999-03-03 | 富士通株式会社 | 版数管理方式 |
JP3177117B2 (ja) * | 1994-05-11 | 2001-06-18 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 複数のノード内の制御コードを更新する方法および装置 |
SE504943C2 (sv) * | 1994-12-09 | 1997-06-02 | Ericsson Telefon Ab L M | Synkroniseringsförfarande som tillåter tillståndsöverföring |
US5699275A (en) * | 1995-04-12 | 1997-12-16 | Highwaymaster Communications, Inc. | System and method for remote patching of operating code located in a mobile unit |
US5802146A (en) * | 1995-11-22 | 1998-09-01 | Bell Atlantic Network Services, Inc. | Maintenance operations console for an advanced intelligent network |
US5991541A (en) * | 1996-08-12 | 1999-11-23 | Adc Telecommunications, Inc. | Dynamically modifiable call processing methods and apparatus |
GB2332288A (en) * | 1997-12-10 | 1999-06-16 | Northern Telecom Ltd | agent enabling technology |
-
1998
- 1998-03-12 DE DE19810807A patent/DE19810807A1/de not_active Ceased
-
1999
- 1999-03-11 BR BR9908703-0A patent/BR9908703A/pt not_active Application Discontinuation
- 1999-03-11 EP EP99911774A patent/EP1062579B1/en not_active Expired - Lifetime
- 1999-03-11 WO PCT/EP1999/001589 patent/WO1999046678A2/en not_active Application Discontinuation
- 1999-03-11 AU AU30337/99A patent/AU3033799A/en not_active Abandoned
- 1999-03-11 US US09/265,963 patent/US6438748B1/en not_active Expired - Lifetime
- 1999-03-11 CN CNB998061077A patent/CN1143208C/zh not_active Expired - Lifetime
- 1999-03-11 KR KR1020007010024A patent/KR20010041773A/ko not_active Application Discontinuation
- 1999-03-11 JP JP2000535996A patent/JP2002507024A/ja not_active Withdrawn
- 1999-03-11 CA CA002322965A patent/CA2322965C/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1062579B1 (en) | 2003-02-19 |
WO1999046678A2 (en) | 1999-09-16 |
CN1143208C (zh) | 2004-03-24 |
BR9908703A (pt) | 2000-11-21 |
DE19810807A1 (de) | 1999-09-23 |
CA2322965A1 (en) | 1999-09-16 |
US6438748B1 (en) | 2002-08-20 |
AU3033799A (en) | 1999-09-27 |
EP1062579A2 (en) | 2000-12-27 |
CN1300389A (zh) | 2001-06-20 |
CA2322965C (en) | 2010-01-12 |
JP2002507024A (ja) | 2002-03-05 |
WO1999046678A3 (en) | 1999-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20010041773A (ko) | 메시지 변환 장치 및 방법 | |
US6742025B2 (en) | System and method for server managed modification of operating system data stored within a network device | |
US5864680A (en) | Method and system for distributing data in a real time data imaging network | |
US20030198214A1 (en) | Method for sharing network information and a router apparatus | |
US6512824B1 (en) | Proxy database for element management system of telephone switching network | |
US8203935B2 (en) | Signal transmitting device for switching forwarding destination | |
US7532620B2 (en) | Routing table synchronization method, network apparatus, and routing table synchronization program | |
KR101007750B1 (ko) | 무선 통신 시스템에서의 데이터베이스 관리 | |
US6848001B1 (en) | Logical path establishing method and storage medium | |
CN112637037B (zh) | 跨地域容器通讯系统、方法、存储介质及计算机设备 | |
US6836793B1 (en) | Method of distributing data packets of system software where the receiving units acknowledge only proper reception | |
EP1246059B1 (en) | Dynamic interface aggregation on demand | |
CN112667601A (zh) | 区块链标识的管理方法、终端设备及计算机可读存储介质 | |
US5815500A (en) | Network connection device | |
CN113055723A (zh) | 一种版本调测及升级的方法、装置、设备以及存储介质 | |
US20030177214A1 (en) | Dynamic SNMP network device | |
EP1107537B1 (en) | System for distributing requests to servers | |
Cisco | Router Products Errata for IOS Release 10.1 | |
CN111949286B (zh) | 一种升级方法、装置、设备及计算机可读存储介质 | |
CN112306541A (zh) | 一种面向任务加改装需求的航电系统增量升级方法 | |
CN115296995B (zh) | 交换机配置方法、装置、电子设备及存储介质 | |
US20110151848A1 (en) | System and method for simplification of data structure in wireless communications | |
CN115766687B (zh) | 一种家庭网关ipv6文件系统及其交互方法 | |
KR19990001093A (ko) | 교환기 시스템의 운영 프로그램 및 데이터베이스 인스톨 방법 | |
CN101335923A (zh) | 消息类业务接入号码管理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |