KR20010041771A - 소프트웨어 업데이트를 위한 상태 복사 방법 - Google Patents

소프트웨어 업데이트를 위한 상태 복사 방법 Download PDF

Info

Publication number
KR20010041771A
KR20010041771A KR1020007010022A KR20007010022A KR20010041771A KR 20010041771 A KR20010041771 A KR 20010041771A KR 1020007010022 A KR1020007010022 A KR 1020007010022A KR 20007010022 A KR20007010022 A KR 20007010022A KR 20010041771 A KR20010041771 A KR 20010041771A
Authority
KR
South Korea
Prior art keywords
software
execution
data
state
remote processor
Prior art date
Application number
KR1020007010022A
Other languages
English (en)
Inventor
가르트벵트에릭인게마르
클링라스-외르얀
존슨스텐에드바르트
Original Assignee
클라스 노린, 쿨트 헬스트룀
텔레폰악티에볼라겟엘엠에릭슨(펍)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 클라스 노린, 쿨트 헬스트룀, 텔레폰악티에볼라겟엘엠에릭슨(펍) filed Critical 클라스 노린, 쿨트 헬스트룀
Publication of KR20010041771A publication Critical patent/KR20010041771A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/143Reconfiguring to eliminate the error with loss of software functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

방해 조절이 가능한 소프트웨어 업데이트에 대한 접근 방법을 제공하기 위해, 적어도 두 개의 논리 부분을 가진 계산 시스템의 상태 복사 방법이 제시되는데, 여기서는 이전 소프트웨어를 계속 실행하면서, 스탠바이 부분(6, 16)의 새로운 소프트웨어 상태가 실행 부분(16, 6)의 이전 소프트웨어 상태로 업데이트된다. 데이터는 조절이 가능한 방법으로 실행 부분에서 스탠바이 부분으로 전달되며, 스탠바이 부분(6, 16)과 실행 부분(16, 6)에 대해 동일한 상태가 얻어지면 곧, 상기 실행은 새로운 소프트웨어로 전환된다. 이와 같이 함으로써, 소프트웨어 업데이트로 인한 방해 정도는 적합하다고 여겨지는 것으로 조절될 수 있다.

Description

소프트웨어 업데이트를 위한 상태 복사 방법{STATE COPYING METHOD FOR SOFTWARE UPDATE}
데이터 처리 장치 및 소프트웨어 기술의 발전은 내장 소프트웨어를 업데이트하는 방법론에 대한 요구 증가를 초래한다.
상기 목적을 달성하기 위한 일반적인 방법론은, 내장된 소프트웨어의 실행을 중단하고, 새로운 소프트웨어를 로드(load)한 다음 새로운 소프트웨어를 시작하는 것이다. 이와 같은 접근방법을 이용하면, 이전 소프트웨어와 새로운 소프트웨어 간에 내부 데이터가 전혀 전달되지 않는다. 또한, 상기 방법을 이용하면, 설정되었던 모든 서비스가 손실되어, 소프트웨어를 로드딩하여 시작하는 동안 상기 서비스가 완전히 중단된다. 현재, 상기 방법은 일반적으로 워크스테이션(work stations)이나 개인용 컴퓨터 등에 이용된다.
소프트웨어 업데이트 문제에 대한 다른 접근방법은 유럽 특허 출원 제 0 201 281 호에 이미 기재되어 있다. 그러나, 개시(startup)하는 동안 새롭게 내장된 소프트웨어 자체를 통해 임의의 필요한 데이터 및 메시지 변환이 수행되므로, 상기 해결방법은 방해가 없는 데이터 업데이트 기능을 허용하지 않는다.
또한, 미합중국 특허 출원 제 5 155 837 호에는, 새로운 서비스에 대한 데이터 입력을 제1 단계에서 새로운 소프트웨어로 전환하는 것이 제안되어 있다. 더욱이, 이전 소프트웨어에서 진행중인 서비스가 완료되면, 상기 서비스로부터의 데이터 출력은 이전 버전에서 새로운 버전으로 전환된다. 그러나, 상기 해결방법은 단지, 새로운 소프트웨어 버전이 완전히 작동하기 전에 이전 버전에 따른 소프트웨어가 먼저 완료되어야 하므로, 매우 짧은 기간에 서비스를 처리하는 소프트웨어만을 다룰 수 있다.
따라서, 공지된 모든 접근방법에서는, 소프트웨어 업데이트가 수행되는 경우 시스템 동작에 대해 어떠한 방해가 존재한다. 상기 방해는 수 시간 또는 어쩌면 수 일 동안 전체 시스템을 정지(shutdown)시키는 것에서부터, 단지 몇 초 동안 전체 시스템 중 몇 가지 제한된 부분에 대한 일시적인 중지에 이르는 범위를 가질 수 있다. 생각컨데, 이것은 일반적으로 전기통신 교환과 같은 실제적인 현재 시스템의 경우는 아니지만, 방해가 전혀 없을 수도 있다.
본 발명은 소프트웨어 업데이트 분야에 관한 것으로서, 특히 새로 도입된 기능 및/또는 결함 정정으로 인해 자주 업데이트하는 컴퓨터 이용 시스템(computer based system)에서의 기능 변경 분야에 관한 것이다.
도 1은 본 발명에 따른 소프트웨어 처리 장치의 개요도.
도 2는 도 1에 도시된 업데이트 제어 유닛의 개요도.
도 3은 본 발명에 따른 상태 복사 방법을 나타내는 도면.
도 4는 도 3에 도시된 상태 복사 방법에 따른 흐름도.
도 5는 소프트웨어 처리 장치의 한 부분에 대한 상태를 나타내는 상태도.
도 6a는 도 3에 도시된 단계 1에 따른 두 부분에서의 소프트웨어 실행에 대한 병행 동기 방식을 나타내는 도면.
도 6b는 도 3에 도시된 단계 2에 따른 두 부분의 상태를 나타내는 도면.
도 6c는 도 3에 도시된 단계 3에 따른 두 부분의 상태를 나타내는 도면.
도 6d는 도 3에 도시된 단계 4에 따른 두 부분의 상태를 나타내는 도면.
도 6e는 도 3에 도시된 단계 5에 따른 두 부분의 상태를 나타내는 도면.
도 7은 프리로딩(preloading) 능력이 있는 원격 프로세서를 가진 분산 환경에서의 소프트웨어 업데이트에 대한 본 발명의 접근방법을 나타내는 도면.
도 8은 소프트웨어 업데이트 이후 이것으로의 인터페이스 호완성에 영향을 미치지 않는 원격 프로세서를 가진 분산 계산 환경에서의 소프트웨어 업데이트를 나타내는 도면.
도 9는 소프트웨어 업데이트 이후 이것으로의 인터페이스 호완성에 영향을 미치는 원격 프로세서를 가진 분산 계산 환경에서의 소프트웨어 업데이트를 나타내는 도면.
도 10은 분산 계산 환경에서 주 프로세서의 하드웨어 업데이트에 대한 본 발명 접근방법을 나타내는 도면.
도 11은 업데이트 이후 이것으로의 인터페이스 호완성에 영향을 미치지않는 분산 계산 환경 원격 프로세서에서의 하드웨어 및 소프트웨어 업데이트에 대한 본 발명 접근방법을 나타내는 도면.
도 12는 업데이트 이후 이것으로의 인터페이스 호완성에 영향을 미치는 분산 계산 환경 원격 프로세서에서의 하드웨어 및 소프트웨어 업데이트에 대한 본 발명 접근방법을 나타내는 도면.
상기에 의해, 본 발명의 목적은, 최소의 방해로 실제적으로는 방해가 전혀 없는 정도로 조절가능하게 수행될 수 있는 소프트웨어 업데이트 방법을 제공하는 것이다.
본 발명에 따르면, 상기 목적은 업데이트 기능을 가진 형태의 소프트웨어 처리 장치를 이용하여 얻어진다. 상기 장치는, 제1그룹의 소프트웨어 모듈 및 관련 데이터를 저장하는 실행 메모리 부분 수단(executing memory partition means)과, 제2그룹의 소프트웨어 모듈 및 관련 데이터를 저장하는 스탠바이 메모리 부분 수단(standby memory partition means)으로 세부 분할되는 메모리 수단; 이전 소프트웨어가 계속 실행되는 동안 스탠바이 메모리 부분 수단의 새로운 소프트웨어 상태를 실행 메모리 부분 수단의 이전 소프트웨어 상태로 업데이트하도록 되어 있는 업데이트 제어 수단; 그리고 실행 메모리 부분 수단에서 스탠바이 메모리 부분 수단으로 조절가능한 데이터 전달을 위한 전달 수단을 포함한다.
따라서, 업그레이드(upgrade)될 시스템은 두 개의 논리 부분으로 분리된다. 상기 부분은 프로세서 쌍을 이용해서 구현될 수도 있지만 이렇게 되어서는 안된다. 여기서, 본 발명에 따르면, 실행 부분이라 하는 한 부분은 정규 실행을 수행하는 이전 소프트웨어를 포함한다. 또한, 새로운 소프트웨어는 실행중인 소프트웨어 실행을 방해하지 않고 스탠바이 부분이라고 하는 다른 부분에 로드된다. 스탠바이 부분의 소프트웨어는 실행 부분에 있는 소프트웨어와 동일한 상태로 업데이트되어, 스탠바이 부분의 새로운 소프트웨어는 어떠한 방해도 없이 정규 프로그램 실행을 인계(take over)받을 수 있다. 여기서, 이것은 실행 부분으로부터 데이터를 복사함으로써 수행된다. 이전 소프트웨어와 새로운 소프트웨어가 일치하지 않으므로, 데이터는 새로운 소프트웨어에 적합한 표현으로 변환되어야 한다. 본 발명에 따르면, 이는 실행 부분에서 계속 수행되고 있는 정규 소프트웨어 실행에 병행하여 상기 실행을 방해하지 않고 수행된다.
또한, 본 발명에 따라 이전 소프트웨어의 모든 데이터를 전달하는 것이 비실용적인 경우, 이전 소프트웨어로부터 데이터를 부분적으로 전달할 수 있다. 이와 같이 함으로써, 시스템의 소프트웨어 업데이트로 인해 발생되는 방해 정도를 조절할 수 있다.
본 발명의 바람직한 실시예에 따르면, 업데이트 제어 수단은 또한 스위칭 수단 및 상태 비교 수단을 포함하여, 상태 비교 수단에 의해 스탠바이 부분과 실행 부분에 대해 동일한 상태가 검출되기만 하면 새로운 소프트웨어를 실행하는 것으로 전환한다.
따라서, 본 발명에 있어서, 이전 소프트웨어로부터 새로운 소프트웨어로의 스위치 오버(switch over)는, 이전 소프트웨어의 모든 데이터에 표현되어 있는 바와 같은 전체 상태가 복사되고, 필요하다면 새로운 소프트웨어로 동시에 변환될 것을 요구한다. 따라서, 본 발명에 따르면 아무런 방해 없이 계속해서 새로운 소프트웨어를 실행할 수 있다. 또한, 스위치 오버시에 처리되지 않는 이전 소프트웨어의 프로그램들 사이에 데이터가 존재하는 경우, 상기 데이터는 복사될 수도 있고, 필요하다면 새로운 소프트웨어를 시작하기 전에 변환될 수도 있다.
본 발명의 바람직한 실시예에 따르면, 이전 소프트웨어와 관련된 데이터가 일부만 전달되는 경우 디폴트 동작을 수행하기 위해 각 메모리 부분에 적어도 하나의 인계 수단(take over mean)이 할당되어, 스위치 오버 직후 소정의 인계 수단이 작동된다.
여기서, 소정의 인계 수단은 스위치 오버가 일어난 바로 다음에 작동되어, 완전한 데이터 입력을 필요로하지 않는 디폴트 동작을 수행한다. 이러한 경우, 본 발명에 따라 이전 소프트웨어로부터 얼마나 많은 데이터가 손실되는가 하는 정도로 어떠한 방해가 있을 수도 있지만, 이는 디폴트 동작을 통합함으로써 적합하다고 여겨지는 것에 따라 조절될 수 있다.
본 발명의 또 다른 바람직한 실시예에 있어서, 업데이트 제어 수단은, 스위치 오버 이전에 오차 상황이 발생하는 경우에는 실행 부분에서 이전 소프트웨어가 지속되도록 명령하며, 또는 스위치 오버 후에 새로운 소프트웨어가 실행되는 동안 오차가 발생하는 경우에는 이전 소프트웨어를 가진 부분이 다시 실행 부분이 되도록 스위치 백(switch back)을 수행한다.
여기서, 스위치 오버 이전에 오차 상황이 발생하는 경우, 소프트웨어의 업그레이드가 종료하며, 정규 소프트웨어 실행은 계속해서 실행 부분의 이전 소프트웨어가 된다. 이와 대조적으로, 스위치 오버 이후 새로운 소프트웨어를 실행하는 동안 오차가 발생하는 경우에는 스위치 백이 수행되어, 이전 소프트웨어를 포함하는 부분이 다시 실행 부분이 된다. 여기서, 스위치 백 절차는 스위치 오버 절차와 동일한 방법으로 데이터 복사를 포함하며, 필요하다면 데이터 변환을 포함할 수도 있다. 따라서, 스위치 백 절차 역시 제한되게 또는 방해없이 수행될 수 있다. 선택적으로, 상기 절차는 데이터 복사 및 변환을 하지 않고, 일반적으로 어떠한 방해를 일으키게되는 복원 절차를 실행함으로써 수행될 수도 있다.
더욱이, 본 발명에 따르면, 상기 약술된 목적은 또한 적어도 두 개의 논리 부분을 가진 계산 시스템의 상태 복사 방법을 이용하여 얻어지는데, 상기 방법은, 이전 소프트웨어를 계속 실행하면서, 스탠바이 부분 수단에 있는 새로운 소프트웨어의 상태를 실행 부분 수단에 있는 이전 소프트웨어의 상태로 업데이트하는 단계, 스탠바이 부분과 실행 부분에 대해 동일한 상태가 얻어지기만 하면 새로운 소프트웨어를 실행하는 것으로 전환하는 단계를 포함한다.
따라서, 본 발명에 따른 방법을 이용하면, 서비스를 장시간 처리하는 이전 소프트웨어가 있다 하더라도 매우 효율적이며 방해가 없는 소프트웨어 업데이트를 얻을 수 있다.
본 발명 방법에 대한 바람직한 실시예에 따르면, 업데이트하는 단계는 또한, 실행 부분에서의 이전 소프트웨어 실행에 병행하며 상기 실행을 방해하지 않고 실행되는 초기화 하위단계를 포함한다.
따라서, 새로운 소프트웨어의 업데이트는 사실상 초기화 루틴으로 이어진다. 이것이 부분적으로 좀 더 일찍, 예컨대 새로운 소프트웨어를 로딩한 직후 수행될 수 있다 하더라도, 상기 초기화 부분은 이전 소프트웨어로부터의 데이터에 의존하므로 미리 수행될 수가 없다. 새로운 소프트웨어의 초기화는 실행 부분에서 진행되고 있는 정규 소프트웨어 실행 방해를 최소화하여 실행된다. 실행 부분의 상태가 연속적으로 변경되므로, 본 발명에 따른 방해가 없는 업데이트 과정은 또한 초기화에 병행하여 연속적으로 수행되어야 한다.
본 발명 방법에 대한 또 다른 바람직한 실시예에 있어서, 상기 업데이트하는 단계는 새로운 소프트웨어로 스위치 오버할 때까지 후순위 프로세스(background process)로서 반복적으로 실행되어, 실행 부분에서의 변경되는 상태를 계속 추적한다. 표현된 바와 같은 완전한 상태 및 이전 소프트웨어의 모든 데이터가 새로운 소프트웨어로 복사되며, 필요한 경우 변환된다면, 전혀 방해하지 않고 새로운 소프트웨어를 계속 실행할 수 있다. 스위치 오버시 처리되지 않았던 이전 소프트웨어 프로그램 간에 데이터 교환이 이루어지는 경우, 이것 역시 복사되며 필요한 경우 변환된다.
본 발명 방법에 대한 또 다른 바람직한 실시예에 있어서, 이전 소프트웨어와 관련된 데이터는 단지 일부만 전달되며, 스위치 오버 직후 소정의 인계 단계가 실행되어 완전한 데이터 입력이 필요없는 디폴트 동작을 수행한다. 이러한 경우, 어떠한 방해가 있을 수도 있다. 상기 방해의 정도는 이전 소프트웨어로부터의 데이터가 얼마나 많이 손실되는지에 따른다. 이것은 주로 적합하다고 여겨지는 것에 따라 조절될 수 있다는 장점이 있다.
또한, 본 발명에 있어서, 하나의 주 프로세서와 적어도 하나의 원격 프로세서를 포함하는 분산 계산 환경(distributed computation environment)의 상태 복사 방법이 제공되어 있는데, 상기 방법은 새로운 소프트웨어를 원격 프로세서의 제1/스탠바이 메모리 부분으로 업데이트 단계, 주 프로세서에서 소프트웨어를 계속 실행하는 동안 주 프로세서의 상태에 부합시키기 위해 새로운 소프트웨어의 상태를 업데이트하는 단계 및, 주 프로세서의 상태와 부합하면 곧, 원격 프로세서에서의 소프트웨어 실행을 새로운 소프트웨어로 전환하는 단계로 구성된다.
본 발명에 따른 상기 변경된 방법에 의해, 소정의 소프트웨어 처리 장치에 저장된 소프트웨어 모듈 이외의 다른 부분을 포함한 소프트웨어 모듈을 업데이트할 수 있다.
또한, 소프트웨어는 물론 하드웨어에 대한 업데이트도 가능하다. 특히, 소프트웨어 처리 장치의 하드웨어를 업데이트하는 동안, 소프트웨어 실행을 또 다른 소프트웨어 처리 장치로 스위치 오버하는 것을 생각할 수 있다.
또한, 먼저 하드웨어 부분을 변경한 다음 본 발명에 따른 방법을 이용하여 소프트웨어 부분을 변경함으로써, 상이한 소프트웨어 처리 장치에서 소프트웨어와 하드웨어의 결합된 업데이트를 생각할 수 있다. 여기서, 모든 성분이 동시에 변경될 필요가 없으므로, 분산 시스템을 전체적으로 재시작할 필요가 전혀 없다. 이하, 첨부 도면을 참조하여 본 발명의 바람직한 실시예가 설명된다.
도 1은 본 발명에 따른 소프트웨어 처리 장치의 실시예에 대한 개요도를 도시한다. 여기서, 본 발명에 따른 소프트웨어 처리 장치는 각각 두 부분(A 및 B)을 가진다. 부분(A)에 있어서, 제1프로세서 유닛(4), 제1메모리 부분(6) 및, 제1인계 유닛(8)이 제공되어 있다. 제1메모리 부분은 제1데이터 저장부(10)와 제1소프트웨어 저장부(12)로 분리된다.
또한, B-측에도 상기와 동일한 구조가 선택되는데, 이는 제2프로세서 유닛(14), 제2메모리 부분(16) 및, 제2인계 유닛(18)을 각각 포함한다. A-측과 마찬가지로, 제2메모리 부분(16)은 제2데이터 저장부(20)와 제2소프트웨어 저장부(22)로 분리된다.
도 1을 보면, A측에서 B측 또는 이와 반대로 B측에서 A측 간의 소프트웨어 업데이트를 조정하기 위해, 양쪽 프로세서 유닛(4 및 14)을 제어하는 업데이트 제어 유닛(24)뿐 아니라, 제1메모리 부분(6)을 제2메모리 부분(16)에 결합하는 전달 유닛(26)이 추가로 제공되어 있다.
도 1을 보면, 제1 및 제2인계 유닛(8 및 18)이 각각 제1 및 제2메모리 부분(6 및 16)에 할당되어, 이전 소프트웨어와 관련된 데이터가 단지 일부만 전달되는 경우 디폴트 동작을 수행한다. 특히, 상기 디폴트 동작은 완전한 데이터 입력이 필요없는 새로운 소프트웨어와 관련되며, 예컨대 데이터 변수를 소정의 값으로 초기화하는 것으로 이루어질 수 있다.
상기 약술한 바와 같이, 전달되지 않는 데이터가 각 인계 유닛(8 및 18)을 통해 초기화될 수 있으므로, 상기와 같이 함으로써 전달 유닛(26)은 조절가능한 레벨의 데이터를 전달할 수 있다. 또한, 전달 유닛(26)은 변경된 데이터를 복사하거나, 또는 업데이트 제어 유닛(24)의 제어하에 새로운 소프트웨어에 대한 새로운 표현으로 변환된 후 데이터를 복사한다. 여기서, 데이터 변환은 실행 부분의 이전 소프트웨어 부분에 병행하여 방해하지 않고 수행될 수 있다. 또한, 업데이트 제어 유닛(24) 및 전달 유닛(26)은, 실행 부분에서 이전 소프트웨어를 더 실행하는 동안 실행 소프트웨어가 앞서 이미 전달된 데이터를 기록하는 경우 데이터 전달을 반복하도록 되어 있다.
또한, 스위치 오버하기 전에 오차 상황이 발생하는 경우, 업데이트 제어 유닛(26)은 실행 부분에서 이전 소프트웨어가 지속될 것을 명령하도록 되어 있다. 또 다른 선택사항은, 스위치 오버 이후 새로운 소프트웨어를 실행하는 동안 오차가 발생하는 경우, 이전 소프트웨어를 가진 부분이 다시 실행 부분이 되도록 스위치 백된다.
도 2를 보면, 업데이트 제어 유닛은, 양방향 방법으로 실행될 수 있는 업데이트를 이루는데, 여기서 업데이트 동안 메모리 부분(6 및 16) 중 하나가 실행 부분의 역할을 하며 다른 한 부분(16, 6)이 새로운 소프트웨어가 로드되는 스탠바이 부분의 역할을 한다. 이와 같은 업데이트 과정 동안, 데이터는 조절가능한 방법으로 전달 유닛(26)을 통해 실행 부분으로부터 스탠바이 부분으로 전달된다.
조절성(scalability)을 얻기 위해, 도 1에 도시된 업데이트 제어 유닛(24)은 도 2에 도시되어 있는 바와 같이 구성된다. 업데이트 제어 유닛(24)은 상태 비교 유닛(28), 전달 제어 유닛(30), 스위치 오버 유닛(32), 메모리 관리 유닛(34) 및, 소프트웨어 로딩 유닛(36)을 각각 포함한다. 상태 비교 유닛(28)은 두 개의 메모리 부분(6 및 16)의 데이터와 소프트웨어를 비교할 수 있도록 한다. 또한, 전달 제어 유닛(30)은 두 개의 메모리 부분(6 및 16) 간에 각각 조절이 가능하며 유연성있는 데이터 또는 소프트웨어 전달을 이루기 위해 제공된다. 스위치 오버 유닛(32)은, 상태 비교 유닛(28)이 실행 부분과 스탠바이 부분이 동일한 상태임을 발견하면 곧 A측과 B측 간의 또는 이와 반대로 B측과 A측 간의 소프트웨어 실행을 전환한다. 메모리 관리 유닛(34)은 할당되지 않은 또는 압축된(compact) 메모리를 메모리 부분(6 및 16)에 할당하고, 또한 그 안에 참조 정보를 유지하기 위해 제공된다. 마지막으로, 소프트웨어 로딩 유닛(36)은 새로운 소프트웨어를 각 부분(6, 16)의 소프트웨어 저장부(12, 22)에 로드시키는 역할을 한다.
상기에서 본 발명에 따른 소프트웨어 처리 장치에 대한 기본 구조가 도 1 및 2와 관련하여 설명되어 있지만, 이하에서는 도 3 내지 도 7과 관련하여 상기 부품의 기능은 물론 이들의 상호관계가 설명된다. 이하의 설명에 있어 B-측 소프트웨어에 대한 업데이트가 설명되지만, 이는 반대로 A-측에도 실행될 수 있는 것으로서 본 발명을 제한하는 것으로 여겨지지는 않는다.
도 3은 본 발명에 따른 상태 복사 방법의 실행을 수행하는 기본 단계를 도시한다. 도 3에 도시되어 있는 바와 같이, 단계 1에서 양쪽 부분은 병행 동기 방식을 실행중이며, 예컨대 동일한 소프트웨어를 실행한다.
또한, 도 3에 도시된 단계 2는, 실행 부분에서 이전 소프트웨어가 계속 실행되는 동안 스탠바이 부분에 새로운 소프트웨어를 로딩하는 것과 관련된다. 또한, 단계 3은 실행 부분에서 스탠바이 부분으로 데이터 복사를 수행한다. 상기 단계 3과 관련하여 아래쪽 부분에 도시되어 있는 바와 같이, 데이터 복사는 또한 새로운 소프트웨어에 적합한 표현으로 스탠바이 부분에서 변환된다. 여기서, 데이터의 복사 및 변환은 실행 부분에서의 이전 소프트웨어 실행에 병행하여 상기 실행을 간섭하지 않고 실행된다. 또한, 본 발명에 따르면, 데이터의 복사 및 변환은 지정된 소프트웨어 또는 하드웨어를 통해 실행될 수 있다.
도 3을 보면, 단계 4에서는, 실행 부분에서의 이전 소프트웨어 실행과 병행하여 상기 실행을 방해하지 않고 역시 실행될 수 있는 초기화기 수행된다. 여기서, 초기화 단계는, 단계 2에서 새로운 소프트웨어를 스탠바이 부분으로 로딩한 직후 수행되거나, 단계 3에서의 이전 소프트웨어로부터 복사된 데이터에 의존하는 경우에는 가능한 빨리 수행된다.
상기 이미 약술된 바와 같이, 이전 소프트웨어와 관련된 데이터가 일부만 전달될 수도 있어, 스위치 오버 전이나 직후에 소정의 초기화 단계가 실행되어 이전 소프트웨어로부터 완전한 데이터 입력을 할 필요없이 디폴트 초기화 동작을 수행한다.
도 3을 보면, 스탠바이 부분에서 적절한 상태가 얻어지면 곧, 새로운 소프트웨어 실행으로 전환하는 단계 5가 실행된다. 여기서, 스위치 오버는 양쪽 메모리 부분의 관련 소프트웨어 모듈에 대해 동일한 상태가 얻어진 직후 단일 소프트웨어 모듈에 대해 수행될 수 있다는 것을 알아두어야 한다. 부분적인 데이터 전달로 인해 스위치 오버시에 전달되지 않는 이전 소프트웨어와 관련된 데이터가 존재하는 경우, 상기 데이터 역시, 필요하다면 새로운 소프트웨어가 시작하기 전에 전달될 수 있다.
또한, 단계 3 및 단계 4에 대해 도 3에 도시되어 있는 바와 같이, 두 메모리 부분 간의 복사 과정은 스탠바이 부분에 대한 초기화 단계 동안에도 계속된다. 이러한 이유는, 업데이트 과정 동안 연속적으로 실행되고 있는 이전 소프트웨어가 앞서 이미 전달되는 데이터를 기록할 수 있기 때문이다. 따라서, 업데이트 과정은 새로운 소프트웨어로 스위치 오버할 때까지 후순위 프로세스로서 반복 실행되어, 실행 부분의 변경되는 상태를 계속 추적한다. 이와 같이 반복되는 업데이트 과정은 스탠바이 부분에 대한 초기화 단계와 병행하여 실행될 수 있다.
도 4는 도 3으로 설명된 업데이트 과정에 따른 흐름도를 도시한다. 특히, 새로운 소프트웨어를 로딩하여 이와 관련된 저장공간(storage)을 초기화하는 단계 1 및 2 이후 스위치 오버가 발생할 때까지 후순위 프로세스가 계속 반복된다는 것을 알 수 있다. 여기서, 후순위 프로세스는 또한 이것을 복수의 후순위 프로세서로 분할함으로써 구현될 수 있다는 것을 알아두어야 한다. 이전 소프트웨어와 새로운 소프트웨어에 대해 동일한 상태가 발견되는 경우에 있어서, 즉시 스위치 오버가 발생한 다음, 전달될 데이터가 남아있는지 여부를 판정하는 질문이 이어지므로 이전 소프트웨어를 실행하는 것으로 루프백(loop back)이 필요하다.
이하, 본 발명에 따른 상태 복사 방법에 대한 좀 더 구체적인 예가 도 5 및 6과 관련하여 설명된다. 도 5는 상태 그래프를 이용하여 메모리 부분의 상태에 대한 표현을 도시하며, 도 6a 내지 6e는 상태 복사 방법을 수행하는 동안 상기 상태 그래프의 변형을 도시한다.
도 5를 보면, 메모리 부분의 상태는 노드(node)와 에지(edge)를 각각 포함하는 상태 그래프를 이용하여 표현된다. 여기서, 일반적으로 노드는 상이한 데이터 상태를 나타내고, 에지는 상기 에지에 할당되는 소프트웨어 모듈을 실행함으로써 상이한 데이터 상태 간의 전달을 나타낸다. 한 가지 예로서, 최상위(utmost) 노드가 입력 데이터 처리 소프트웨어 모듈을 이용하여 다음에 처리하기에 적합한 데이터로 전달되는 입력 데이터와 관련되는 것이 있다. 또한, 노드 사이를 지나는 두 개의 에지를 가진 노드는 두 소프트웨어 모듈의 상호작용을 나타내는데, 여기서 한 소프트웨어 모듈의 출력 데이터가 다른 소프트웨어 모듈로의 입력 데이터를 나타내고, 이와 반대로 한 소프트웨어 모듈로의 입력 데이터가 다른 소프트웨어의 출력 데이터를 나타낸다.
도 6을 보면, 상기 표현은 도 3에 도시되어 있는 각기 다른 단계를 나타내기에 매우 적합하다. 특히, 도 6a는, 업데이트 과정이 시작하기 전에 실행 부분 및 스탠바이 부분에서의 동일한 소프트웨어 실행에 대해 동시에 병행하는 동기화 방식을 나타낸다. 다음으로, 도 6b를 보면, 단계 2에서 새로운 소프트웨어를 로딩하는 동안, 에지로 표현된 상이한 소프트웨어 모듈의 상호작용이 인터럽트되어 새로운 소프트웨어의 로딩이 시작된다. 도 6b를 보면, 상기 이미 약술된 바와 같이 데이터는 상이한 종류로 세부 분리될 수 있다. 여기서, 검은 노드는 이전 소프트웨어로부터 동일하게 복사되어야 하는 새로운 소프트웨어의 데이터를 나타낸다. 이와는 대조적으로, 흰색으로 표시된 노드는 이전 소프트웨어의 데이터에 전혀 의존하지 않는 새로운 소프트웨어의 데이터와 관련된다. 한 가지 특징적인 것은 데이터 구조의 변형으로 인해 새롭게 삽입되는 데이터이다. 해칭(hatching)으로 표현된 또 다른 노드 종류는 새로운 소프트웨어에 적합하도록 하기 위해서 변환을 필요로하는 데이터와 관련된다. 회색으로 표현되어 있는 또 다른 구별된 것은, 추가로 인계 메카니즘을 이용하여 데이터가 이전 소프트웨어로부터 일부만 복사 또는 변환되어 새로운 부분으로 전달될 데이터 양을 감소시키는 것이다. 도 6c에 도시되어 있는 바와 같이, 상기 종류 중 마지막 세 종류의 데이터에 대해서만 전체적으로 실행 부분과 스탠바이 부분 간에 복사 및 변환이 이루어진다.
도 3에 도시된 단계 4의 출력은 도 6d를 통해 표현된다. 새로운 소프트웨어를 초기화한 후, 상이한 데이터 성분의 상호관계가 다시 시작된다. 도 3 및 4와 관련하여 상기 이미 약술된 바와 같이, 본 발명에 따른 상태 복사 방법은 업데이트 과정 동안 이전 소프트웨어에 의해 데이터가 기록되는 경우 반복된다. 따라서, 도 6d는 스위치 오버하기 전의 상황을 도시하는 것으로서, 여기서 복사/변환은 단계 4에서의 초기화 이후에도 계속된다. 단계 5에서 스위치 오버가 발생한 후, 도 6e에 도시되어 있는 바와 같이 데이터의 복사/변환을 나타내는 상기 아크(arc)는 더 이상 존재하지 않는다. 스위치 오버가 발생한 후, 상태는 상기 설명된 병행 동기화 방식에 다시 상응한다.
따라서, 상태 복사 방법에 있어서, 이전 소프트웨어로부터 새로운 소프트웨어로 복사된 상태 및 결과적인 전체 상태는 이전 버전은 물론 새로운 버전에서도 규정된다. 대체로, 상기 상태가 두 가지 버전 모두에 대해 완벽하므로, 어떤 소프트웨어 버전에서도 계속해서 실행될 수 있다. 상태 복사 방법에 있어 중요한 점은, 업데이트 기능을 제외하고 실행 부분 및 스탠바이 부분에서 진행중인 소프트웨어를 절대로 동시에 실행할 수 없다는 것이다.
본 발명의 상태 복사 방법에 있어서, 또한 오차 상황이 발생하는 경우 스위치 오버 이전에 업데이트 과정을 종료하여 계속해서 이전 소프트웨어를 실행하는 것 또한 가능하다. 또한, 스위치 오버 후 새로운 소프트웨어를 실행하는 동안 오차가 발생하는 경우 스위치 백을 실행하여, 이전 소프트웨어가 다시 실행될 수도 있다. 스위치 백은 상기 약술된 형태의 데이터 복사 및 변환을 이용한 데이터 전달을 포함할 수 있다.
상기에서 본 발명에 따른 상태 복사 방법이 소프트웨어 처리 장치와 관련하여 설명되어 있지만, 이하에서는 도 7 내지 12와 관련하여 분산 계산 환경에 대한 상태 복사 방법의 응용이 설명된다.
도 7을 보면, 분산 계산 환경은 주 프로세서(38)와 원격 프로세서(40)를 포함한다. 일반적으로, 주 프로세서(38)는 도 7에 일부만 도시되어 있는 도 1에 도시된 구조를 갖는다. 또한, 적어도 소프트웨어를 원격 프로세서(40)의 메모리 부분(46)으로 프리로드하는 기능을 가져야하는 원격 프로세서(40)가 제공되어 있다. 선택적으로, 원격 프로세서(40)는 또한, 도 9에 도시되어 있는 바와 같이 본 발명의 소프트웨어 처리 장치 구조를 가질 수도 있다. 주 프로세서(38) 및 원격 프로세서(40)는 접속 라인(connection line)(42)을 통해 연결된다. 원격 프로세서 각각은 원격 프로세서(40)에서의 업데이트 및 주 프로세서(38)와의 상호작용을 조정하는 적어도 하나의 업데이트 수단(44)이 제공된다.
도 7은 분산 계산 환경내에서 본 발명의 상태 복사 방법을 이용하기 위한 제1경우를 도시한다. 여기서, 원격 프로세서(40)의 소프트웨어만 업데이트되어, 처음에 새로운 소프트웨어가 원격 프로세서(40)의 메모리 부분(46)에 프리로드된다. 상태 복사 방법 동작을 얻기 위한 두 가지 필요한 사항은, 원격 프로세서(40)가 프리로딩하는 것을 허용하여, 새로운 소프트웨어를 로드하는 동안 서비스가 가능하도록 하는 것과, 로딩 후 데이터가 주 프로세서(38)로부터 업데이트될 수 있도록 하는 것이다. 이러한 경우라면, 소프트웨어는 분산 계산 환경을 전체적으로 재시작하지 않고 원격 프로세서(40)에서 업데이트될 수 있다. 결과적으로, 일단 새로운 소프트웨어가 원격 프로세서(40)에 내장되면, 주 프로세서(38)에서 계속 소프트웨어가 실행되면서 원격 프로세서(40) 메모리 부분(46)의 상태가 주 프로세서(38) 메모리 부분의 상태로 업데이트된다. 마지막으로, 주 프로세서(38)의 상태에 부합되면 곧, 원격 프로세서(40)에서의 소프트웨어 실행이 새로운 소프트웨어로 전환된다.
또한, 상태 복사 방법에 있어서, 업데이트되는 소프트웨어의 유형 및 양에 따라 원격 프로세서의 빠른 업데이트가 필요할 수도 있다. 여기서, 중요하지 않으며/않거나 제한된 양의 소프트웨어만 업데이트되는 경우에는, 높은 속도의 업데이트가 필요하지 않다. 따라서, 심지어 복수의 원격 프로세서를 업데이트 할 때에도 업데이트 과정에 대한 인터럽션 시간과 일관되는 업데이트 시간을 얻을 수 있다.
도 8은, 소프트웨어가 원격 프로세서(40) 뿐 아니라 주 프로세서(38)에서도 업데이트되며, 업데이트 과정이 인터페이스 호완성에 영향을 미치지 않는 다른 경우를 도시한다. 여기서, 소프트웨어 업데이트는, 상기 약술된 바와 같이 원격 프로세서(49)의 소프트웨어를 먼저 업데이트한 다음, 상기 기재된 상태 복사 방법을 이용하여 주 프로세서(38)의 소프트웨어를 업데이트하는 두 가지 단계로 수행된다. 분산 계산 환경에서의 원격 프로세서 모두가 동시에 업데이트되지 않는 경우에는, 시스템을 전체적으로 재시작할 필요가 없다.
도 9는 도 8에 도시된 것과 동일한 경우에 관한 것으로서, 주 프로세서(38) 및 원격 프로세서(40)에서 소프트웨어를 업데이트한 후 이들간의 인터페이스가 상반성(incompatible)을 띤다는 차이점이 있다.
이러한 경우에 있어서, 원격 프로세서(40) 역시 도 1과 관련하여 상기 약술된 것과 동일한 구조를 가져, 원격 프로세서(40)와 주 프로세서(38) 간의 인터페이스를 변형하여 원격 프로세서(40) 및 주 프로세서(38)의 소프트웨어에 대한 동시 업데이트는, 주 프로세서(38) 및 원격 프로세서(40)에서 각각 본 발명의 상태 복사 방법을 동시에 실행함으로써 이루어진다.
여기서, 분산 계산 환경의 중요하지 않은 부분이 포함되는 경우, 상태 복사 방법은 변경될 시스템 부분을 지정한(block-out) 다음 동시에 소프트웨어를 업데이트하고, 마지막으로 분산 계산 환경의 상기 변경된 부분을 지정 해제(deblock)함으로써 이용되어야 한다. 데이터가 이전 소프트웨어에서 새로운 소프트웨어로 전달되어야 하는 경우, 복사/변환은 새로운 소프트웨어의 시작 및 지정 해제하기 전에 수행되어야 한다. 이와는 대조적으로, 소프트웨어를 업데이트하는 동안 중요 부분이 포함되는 경우, 원격 프로세서(40)는 새로운 소프트웨어로 프리로드되어, 업데이트 과정 동안 분산 계산 환경의 지나치게 긴 휴지 시간(down time)을 피해야 한다.
다른 선택사항은, 원격 프로세서(40)에서의 새로운 소프트웨어가 주 프로세서(38)의 데이터를 이용하여 업데이트되는 것이다. 또한, 이전 소프트웨어에서 새로운 소프트웨어로의 데이터 전달을 지원하기 위한 기능이 원격 프로세서(40)에 도입될 수 있다.
상기에서 상이한 시스템 구성에서의 소프트웨어 업데이트가 본 발명의 상태 복사 방법을 이용하여 고려되었지만, 이하에서는 하드웨어와 소프트웨어의 결합 업그레이가 도 10 내지 12와 관련하여 설명된다.
도 10은 주 프로세서(10)에서의 하드웨어 업데이트에 관한 것이다. 일반적으로, 하드웨어 부품은 교환될 하드웨어 부품을 지정한 다음 이것을 교체하고, 마지막으로 상기 부품을 지정 해제함으로써 교환된다.
도 11은 상기 다음 경우를 도시하는 것으로서, 인터페이스 호완성에 어떠한 영향도 미치지않고 원격 프로세서(40) 및 주 프로세서(38) 두 가지 모두에서 소프트웨어가 업데이트 된다. 또한, 도 11에 도시되어 있는 경우에 있어서, 원격 프로세서(40)에 할당되는 하드웨어 역시 교환되어야 한다. 지금까지, 원격 프로세서(40)에 할당된 다른 부품이 먼저 도 10에 설명된 접근방법을 이용하여 교환된다. 그런 다음, 원격 프로세서(40) 및 주 프로세서(38)에서 모두 소프트웨어 교환은 도 8과 관련하여 설명된 접근방법을 이용하여 구현된다.
도 12는 상태 복사 방법 응용에 대한 또 다른 경우를 도시하는 것으로서, 원격 프로세서(40)에 할당된 하드웨어 부품은, 원격 프로세서(40)와 주 프로세서(38)의 소프트웨어 업데이트로 인해 상기 업데이트 이후 소프트웨어 상반성이 일어남과 동시에 교환된다. 여기서, 원격 프로세서(40)에 있어서의 하드웨어 및 소프트웨어 변경이 원격 프로세서(40)내에서 및 새로운 하드웨어 및 소프트웨어 부품에 대해 상반성을 일으키지 않는 경우, 도 9와 관련하여 상기 약술된 바와 같이 원격 프로세서(40)의 하드웨어가 먼저 변경되고, 그 다음 소프트웨어 업데이트가 실행된다.
이와는 대조적으로, 원격 프로세서(40)의 하드웨어 부품 교환 또한 원격 프로세서의 업데이트된 소프트웨어에 대해 상반성을 일으킨다면, 상황이 더욱 복잡해진다. 여기서, 분산 계산 환경의 성능에 있어 하드웨어 및 소프트웨어의 변경이 중대하지 않은 경우, 도 11과 관련하여 설명된 것과 동일한 접근방법이 이용될 수 있다.
그러나, 상기 하드웨어 변경이 중대한 경우에는, 각각의 하드웨어 부품이 원격 프로세서(40)에도 똑같이 제공되어야 하며, 또한 소프트웨어가 도 7 및 8에 따라 원격 프로세서(40)로 프리로드되거나, 원격 프로세서(40)가 양측으로 분리되어야 한다. 상기 경우에 대한 또 다른 전제조건은 원격 프로세서(40)의 처리 속도가 충분히 빨라야 한다는 것이다. 상기 조건이 충족된다면, 과도한 시스템 휴지 시간없이도 결합 업데이트를 수행할 수 있다.
참조 번호 목록
2 소프트웨어 처리 장치
4 A-측 프로세서 유닛
6 A-측 메모리 부분
8 A-측 인계 유닛
10 A-측 데이터 저장부 및 A-측 메모리 부분
12 A-측 소프트웨어 저장부 및 A-측 메모리 부분
14 B-측 프로세서 유닛
16 B-측 메모리 부분
18 B-측 인계 유닛
20 B-측 데이터 저장부 및 B-측 메모리 부분
22 B-측 소프트웨어 저장부 및 B-측 메모리 부분
24 업데이트 제어 유닛
26 전달 유닛
28 상태 비교 유닛
30 전달 제어 유닛
32 스위치 오버 유닛
34 메모리 관리 유닛
36 소프트웨어 로딩 유닛
38 주 프로세서
40 원격 프로세서
42 접속 라인
44 원격 프로세서의 업데이트 수단
46 원격 프로세서의 메모리 부분

Claims (33)

  1. 업데이트 기능을 가진 형태의 소프트웨어 처리 장치로서,
    제1그룹의 소프트웨어 모듈 및 관련 데이터 모듈을 저장하는 실행 메모리 부분 수단(6)과, 제2그룹의 소프트웨어 모듈 및 관련 데이터를 저장하는 스탠바이 메모리 부분 수단(16)으로 세부 분리되는 메모리 수단(6, 16),
    이전 소프트웨어를 계속 실행하는 동안, 스탠바이 메모리 부분 수단(16)의 새로운 소프트웨어의 상태를 실행 메모리 부분 수단(6)의 이전 소프트웨어의 상태로 업데이트하도록 되어있는 업데이트 제어 수단(24), 및
    실행 메모리 부분 수단(6)으로부터 스탠바이 메모리 부분 수단(16)으로의 조절가능한 데이터 전달을 위한 전달 수단(26)을 포함하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  2. 제1항에 있어서, 상기 업데이트 제어 수단(24)은:
    새로운 소프트웨어와 이전 소프트웨어 및 데이터에 대해 메모리 부분을 할당 및 할당해제(deallocate)하여, 이것에 의해 참조 정보를 유지하는 메모리 관리 수단(34), 및
    조절가능한 데이터 전달 명령에 따라 상기 전달 수단(26)을 제어하는 전달 제어 유닛(30)을 포함하는 것을 특징으로 하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  3. 제1항 또는 제2항에 있어서, 상기 업데이트 제어 수단(24)은 스위칭 수단(32)과 상태 비교 수단(28)을 더 포함하여, 상태 비교 수단(28)에 의해 스탠바이 메모리 부분 수단(16)과 실행 메모리 부분 수단(6)에 대해 동일한 상태가 검출되면 곧 새로운 소프트웨어의 실행으로 즉시 전환하는 것을 특징으로 하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  4. 제1항 내지 3항 중 어느 한 항에 있어서, 상기 각 메모리 부분 수단(6,16)에 하나 이상의 인계 수단(8, 18)이 할당되어, 이전 소프트웨어와 관련된 데이터가 단지 일부라도 전달되는 경우 디폴트 동작을 수행하여, 스위치 오버 직후 상기 인계 수단(8, 18)이 작동되는 것을 특징으로 하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  5. 제1항 내지 4항 중 어느 한 항에 있어서, 상기 전달 수단(26)은 변경된 데이터 또는 새로운 소프트웨어에 대한 새로운 표현으로 변환된 후의 데이터를 복사하는 것을 특징으로 하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  6. 제5항에 있어서, 상기 전달 수단(26)은, 실행 메모리부 수단(6)의 이전 소프트웨어 실행에 병행하여 상기 실행을 방해하지 않고 데이터 변환을 수행하는 것을 특징으로 하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  7. 제5항 또는 6항에 있어서, 상기 전달 수단(26)은 지정된 변환 수단을 포함하는 것을 특징으로 하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  8. 제1항 내지 7항 중 어느 한 항에 있어서, 상기 업데이트 제어 수단(24)은, 상기 스위칭 수단(32)이 새로운 소프트웨어를 실행하는 것으로 전환될 때까지 업데이터 과정을 반복 실행하여, 실행 메모리 부분 수단(6)의 변경되는 상태를 계속 추적하는 것을 특징으로 하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  9. 제1항 내지 8항 중 어느 한 항에 있어서, 스위치 오버시 전달되지 않는 이전 소프트웨어와 관련된 데이터가 존재하는 경우, 상기 전달 수단(26)은, 필요하다면 새로운 소프트웨어를 시작하기 전에 상기 데이터를 전달하는 것을 특징으로 하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  10. 제1항 내지 9항 중 어느 한 항에 있어서, 상기 업데이트 제어 수단(24)은, 스위치 오버 전에 오차 상황이 발생하는 경우 실행 메모리 부분 수단의 이전 소프트웨어가 계속되도록 명령하는 것을 특징으로 하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  11. 제1항 내지 10항 중 어느 한 항에 있어서, 상기 스위치 오버 수단(32)은 스위치 백을 수행하도록 되어 있어, 스위치 오버 후 새로운 소프트웨어를 실행하는 동안 오차가 발생하는 경우 이전 소프트웨어를 가진 부분이 다시 실행 메모리 부분 수단(6)이 되는 것을 특징으로 하는 업데이트 기능을 가진 형태의 소프트웨어 처리 장치.
  12. 업데이트 기능을 가진 형태의 분산 계산 환경에 있어서,
    주 프로세서 수단(30)으로서, 분산 계산 환경의 처리 작업 분산 및 상기 환경에 포함된 프로세서의 상호작용을 처리하기 위해, 분산 계산 환경의 복수의 프로세서에서 선택된 하나 이상의 주 프로세서 수단(38), 및
    원격 프로세서 수단(40)으로서, 새로운 소프트웨어를 상기 원격 프로세서 수단(40)의 메모리 부분(46)으로 업데이트하기 위한 업데이트 수단(44)을 가져, 새로운 소프트웨어의 상태가 상기 주 프로세서 수단(38)의 상태에 부합하여, 부합이 이루어지면 곧 원격 프로세서 수단(40)에서의 소프트웨어 실행이 새로운 소프트웨어로 전환되는 하나 이상의 원격 프로세서 수단(40)을 포함하는 업데이트 기능을 가진 형태의 분산 계산 환경.
  13. 제12항에 있어서, 새로운 소프트웨어를 상기 원격 프로세서 수단(40)으로 업데이트한 후에도 상기 원격 프로세서 수단(40)과 상기 주 프로세서 수단(48) 간의 인터페이스가 계속 호완성을 유지하는 경우, 상기 주 프로세서 수단(38)은 상기 제1항 내지 11항 중 어느 한 항에 따라 실행되어, 상기 원격 프로세서 수단(38)과 상기 주 프로세서 수단(40)의 소프트웨어에 대해 결합 업그레이드가 이루어지는 것을 특징으로 하는 업데이트 기능을 가진 형태의 분산 계산 환경.
  14. 제12항에 있어서, 소프트웨어를 업데이트한 후 상기 원격 프로세서 수단(40)과 상기 주 프로세서 수단(38) 간의 인터페이스가 상반성을 띠는 경우, 상기 주 프로세서(38)와 상기 원격 프로세서(40)는 제1항 내지 11항 중 어느 한 항에 따라 실행됨과 동시에, 상기 변형된 인터페이스로 조절하는데 필요한 소프트웨어 업데이트를 실행하는 것을 특징으로 하는 업데이트 기능을 가진 형태의 분산 계산 환경.
  15. 두 개 이상의 논리 부분을 가진 계산 시스템의 상태 복사 방법으로서,
    a) 이전 소프트웨어를 계속 실행하는 동안, 스탠바이 부분 수단(16)의 새로운 소프트웨어 상태를 실행 부분 수단의 이전 소프트웨어 상태로 업데이트하는 단계,
    b) 스탠바이 부분 수단(16)과 실행 부분 수단(6)에 대해 동일한 상태가 얻어지면, 새로운 소프트웨어를 실행하는 것으로 전환하는 단계를 포함하는 두 개의 논리 부분을 가진 계산 시스템의 상태 복사 방법.
  16. 제15항에 있어서,
    상기 업데이트하는 단계 a)는:
    c) 새로운 소프트웨어를 스탠바이 부분 수단(16)에 로딩하는 단계, 및
    d) 실행 부분 수단(6)으로부터 스탠바이 부분 수단(16)으로 데이터를 조절 가능하게 전달하는 단계로 세부 분리되는 것을 특징으로 하는 상태 복사 방법.
  17. 제15항 또는 16항에 있어서, 상기 실행 부분 수단(6)으로부터 상기 스탠바이 부분 수단(16)으로 데이터를 전달하는 단계는:
    e) 변경되지 않고 전달된 데이터를 복사하는 단계, 및
    f) 새로운 소프트웨어에 대한 새로운 표현으로 변환되도록 데이터를 변환하는 단계로 세부 분리되는 것을 특징으로 하는 상태 복사 방법.
  18. 제17항에 있어서, 상기 데이터 변환 단계는, 실행 부분 수단(6)의 이전 소프트웨어 실행에 병행하여 상기 실행을 방해하지 않고 수행되는 것을 특징으로 하는 상태 복사 방법.
  19. 제17항 또는 18항에 있어서, 상기 데이터 변환 단계는 지정된 변환 과정을 통해 실행되는 것을 특징으로 하는 상태 복사 방법.
  20. 제1항 내지 19항 중 어느 한 항에 있어서, 상기 업데이트하는 단계 a)는, 실행 부분 수단(6)에서의 이전 소프트웨어 실행에 병행하여 상기 실행을 방해하지 않고 실행되는 초기화 세부단계를 더 포함하는 것을 특징으로 하는 상태 복사 방법.
  21. 제20항에 있어서, 상기 초기화 세부단계는, 새로운 소프트웨어를 스탠바이 부분 수단(16)에 로딩한 직후에 수행되거나, 또는 상기 단계가 이전 소프트웨어로부터의 데이터에 의존하는 경우에는 가능한 빨리 수행되는 것을 특징으로 하는 상태 복사 방법.
  22. 제15항 내지 21항 중 어느 한 항에 있어서, 상기 업데이트하는 단계 a)는 새로운 소프트웨어로 전환할 때까지 후순위 프로세스로 반복 실행되어, 실행 부분 수단(6)에서의 변경되는 상태를 계속 추적하는 것을 특징으로 하는 상태 복사 방법.
  23. 제20항 또는 21항에 있어서, 상기 업데이트하는 단계 a)는 초기화 단계와 병행하여 반복 실행되는 것을 특징으로 하는 상태 복사 방법.
  24. 제15항 내지 23항 중 어느 한 항에 있어서, 스위치 오버시 전달되지 않는 이전 소프트웨어와 관련된 데이터가 존재하는 경우, 필요하다면 상기 데이터는 새로운 소프트웨어를 시작하기 전에 전달되는 것을 특징으로 하는 상태 복사 방법.
  25. 제16항 내지 24항 중 어느 한 항에 있어서, 상기 세부 단계 d)에서, 이전 소프트웨어와 관련된 데이터가 일부만 전달되어, 스위치 오버 직후 소정의 인계 단계가 수행되어 완전한 데이터 입력을 필요로하지 않는 디폴트 동작을 수행하는 것을 특징으로 하는 상태 복사 방법.
  26. 제15항 내지 25항 중 어느 한 항에 있어서, 스위치 오버 이전에 오차 상황이 발생하는 경우, 업데이트가 종료하여, 실행 부분 수단(6)의 이전 소프트웨어 실행이 계속되는 것을 특징으로 하는 상태 복사 방법.
  27. 제15항 내지 26항 중 어느 한 항에 있어서, 스위치 오버 후 새로운 소프트웨어를 실행하는 동안 오차가 발생하는 경우, 스위치 백 단계가 수행되어, 이전 소프트웨어를 가진 실행 부분 수단(6)이 다시 실행 부분 수단(6)이 되는 것을 특징으로 하는 상태 복사 방법.
  28. 제27항에 있어서, 상기 스위치 백은, 필요하다면 제한되게 또는 방해없이 수행되는 데이터 복사 및 변환을 이용한 데이터 전달을 포함하는 것을 특징으로 하는 상태 복사 방법.
  29. 제27항 또는 28항에 있어서, 상기 스위치 백 단계는, 이전 소프트웨어를 재시작하기 전에 실행되는 복원 단계를 포함하는 것을 특징으로 하는 상태 복사 방법.
  30. 하나의 주 프로세서 수단(38) 및 하나 이상의 원격 프로세서 수단(40)을 포함하는 분산 계산 환경의 상태 복사 방법으로서,
    새로운 소프트웨어를 원격 프로세서 수단(40)의 제1메모리 부분 수단(46)으로 업데이트하는 단계,
    주 프로세서 수단(38)에서 소프트웨어를 계속 실행하면서, 주 프로세서 수단(38)의 상태와 부합하도록 새로운 소프트웨어의 상태를 업데이트하는 단계, 및
    주 프로세서 수단(38)의 상태와 부합하면 곧, 원격 프로세서 수단(40)에서의 소프트웨어 실행을 새로운 소프트웨어로 전환하는 단계를 포함하는 분산 계산 환경의 상태 복사 방법.
  31. 제30항에 있어서, 새로운 소프트웨어를 원격 프로세서 수단(40)으로 업데이트한 후에도 상기 원격 프로세서 수단(40)과 상기 주 프로세서 수단(38) 간의 인터페이스가 계속 호완성을 유지하는 경우, 제15항 내지 29항 중 어느 한 항에 따른 상태 복사 방법을 상기 주 프로세서 수단(38)에서 추가로 실행함으로써, 원격 프로세서 수단(40)과 주 프로세서 수단(38)의 소프트웨어에 대한 결합 업그레이드가 이루어지는 것을 특징으로 하는 분산 계산 환경의 상태 복사 방법.
  32. 제30항에 있어서, 변형된 인터페이스를 이용한 상기 원격 프로세서 수단(40)과 상기 주 프로세서 수단(38)의 동시 업데이트는, 주 프로세서 수단(38)과 원격 프로세서 수단(40)에 각각, 제15항 내지 29항 중 어느 한 항에 따른 상태 복사 방법을 동시에 실행함으로써 이루어지는 것을 특징으로 하는 분산 계산 환경의 상태 복사 방법.
  33. 제30항 내지 32항 중 어느 한 항에 있어서, 상기 원격 프로세서 수단(40)에 접속된 또 다른 하드웨어 부품은, 교환될 하드웨어 부품을 지정한 다음, 상기 부품을 교체하고, 마지막으로 상기 부품을 지정 해제함으로써 교환되는 것을 특징으로 하는 분산 계산 환경의 상태 복사 방법.
KR1020007010022A 1998-03-12 1999-03-11 소프트웨어 업데이트를 위한 상태 복사 방법 KR20010041771A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE1998110814 DE19810814B4 (de) 1998-03-12 1998-03-12 Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung
DE19810814.1 1998-03-12
PCT/EP1999/001587 WO1999046675A2 (en) 1998-03-12 1999-03-11 State copying method for software update

Publications (1)

Publication Number Publication Date
KR20010041771A true KR20010041771A (ko) 2001-05-25

Family

ID=7860692

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007010022A KR20010041771A (ko) 1998-03-12 1999-03-11 소프트웨어 업데이트를 위한 상태 복사 방법

Country Status (9)

Country Link
US (1) US6463584B1 (ko)
EP (1) EP1062573B1 (ko)
JP (1) JP2002507022A (ko)
KR (1) KR20010041771A (ko)
AU (1) AU3033699A (ko)
BR (1) BR9908705A (ko)
CA (1) CA2323100C (ko)
DE (1) DE19810814B4 (ko)
WO (1) WO1999046675A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100433056B1 (ko) * 2001-08-18 2004-05-24 엘지전자 주식회사 프로그램 업그레이드 방법
KR100440950B1 (ko) * 2001-06-30 2004-07-21 삼성전자주식회사 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스
KR101137157B1 (ko) * 2004-05-11 2012-04-20 마이크로소프트 코포레이션 효과적 패칭
KR101641818B1 (ko) * 2015-02-10 2016-07-21 주식회사 엘지씨엔에스 금융기기 및 그의 구동 제어 방법, 그리고 시스템

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US6754848B1 (en) * 1999-09-30 2004-06-22 International Business Machines Corporation Method, system and program products for operationally migrating a cluster through emulation
CA2394352C (en) 1999-12-14 2008-07-15 Scientific-Atlanta, Inc. System and method for adaptive decoding of a video signal with coordinated resource allocation
JP3838840B2 (ja) * 2000-01-06 2006-10-25 Necエレクトロニクス株式会社 コンピュータ
US7310801B2 (en) * 2000-04-27 2007-12-18 Microsoft Corporation Servicing a component-based software product throughout the software product lifecycle
US6629227B1 (en) 2000-05-04 2003-09-30 Scientific-Atlanta, Inc. System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
US6795965B1 (en) * 2000-05-10 2004-09-21 Microsoft Corporation Multi-source program module updater
US6618805B1 (en) 2000-06-30 2003-09-09 Sun Microsystems, Inc. System and method for simplifying and managing complex transactions in a distributed high-availability computer system
US20020073410A1 (en) * 2000-12-13 2002-06-13 Arne Lundback Replacing software at a telecommunications platform
EP1237078A1 (de) * 2001-01-19 2002-09-04 Siemens Aktiengesellschaft Durchführung eines zeitoptimierten Austausches einer Software-Applikation
US20030041125A1 (en) * 2001-08-16 2003-02-27 Salomon Kirk C. Internet-deployed wireless system
US20030046678A1 (en) * 2001-08-30 2003-03-06 Robert Boxall Computer hardware and software installation apparatus and method
US7210131B2 (en) * 2001-10-01 2007-04-24 Microsoft Corporation Method and system for migrating computer state
US7251812B1 (en) * 2001-10-31 2007-07-31 Microsoft Corporation Dynamic software update
US20030092438A1 (en) * 2001-11-14 2003-05-15 Moore Brian J. Method and apparatus for stabilizing calls during a system upgrade or downgrade
US7274857B2 (en) 2001-12-31 2007-09-25 Scientific-Atlanta, Inc. Trick modes for compressed video streams
US6965674B2 (en) * 2002-05-21 2005-11-15 Wavelink Corporation System and method for providing WLAN security through synchronized update and rotation of WEP keys
US7965842B2 (en) * 2002-06-28 2011-06-21 Wavelink Corporation System and method for detecting unauthorized wireless access points
US7606242B2 (en) * 2002-08-02 2009-10-20 Wavelink Corporation Managed roaming for WLANS
US7522906B2 (en) * 2002-08-09 2009-04-21 Wavelink Corporation Mobile unit configuration management for WLANs
US20040059704A1 (en) * 2002-09-20 2004-03-25 International Business Machines Corporation Self-managing computing system
US7043419B2 (en) * 2002-09-20 2006-05-09 International Business Machines Corporation Method and apparatus for publishing and monitoring entities providing services in a distributed data processing system
US7194445B2 (en) * 2002-09-20 2007-03-20 Lenovo (Singapore) Pte. Ltd. Adaptive problem determination and recovery in a computer system
US20040060054A1 (en) * 2002-09-20 2004-03-25 International Business Machines Corporation Composition service for autonomic computing
US7216343B2 (en) * 2002-09-20 2007-05-08 International Business Machines Corporation Method and apparatus for automatic updating and testing of software
US7234056B2 (en) * 2002-09-24 2007-06-19 Inrange Technologies Corp. Method and apparatus for downloading executable code in a non-disruptive manner
AU2003282492A1 (en) * 2002-10-08 2004-05-04 Yuqing Ren Embedded software update methods
US7284236B2 (en) * 2002-10-29 2007-10-16 Brocade Communications Systems, Inc. Mechanism to change firmware in a high availability single processor system
US6978452B2 (en) * 2003-04-02 2005-12-20 Beach Unlimited Llc Upgrading digital media servers
US7356577B2 (en) * 2003-06-12 2008-04-08 Samsung Electronics Co., Ltd. System and method for providing an online software upgrade in load sharing servers
US7379419B2 (en) * 2003-08-13 2008-05-27 Samsung Electronics Co., Ltd. Apparatus and method for performing an online software upgrade of resource servers
US7966642B2 (en) 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
US7559058B2 (en) * 2004-05-11 2009-07-07 Microsoft Corporation Efficient patching
US7890946B2 (en) 2004-05-11 2011-02-15 Microsoft Corporation Efficient patching
US20060239448A1 (en) * 2005-03-31 2006-10-26 Pang Robert J In-field upgrade management of data capture systems
US7743372B2 (en) * 2005-06-28 2010-06-22 Internatinal Business Machines Corporation Dynamic cluster code updating in logical partitions
US7774785B2 (en) * 2005-06-28 2010-08-10 International Business Machines Corporation Cluster code management
US7937616B2 (en) * 2005-06-28 2011-05-03 International Business Machines Corporation Cluster availability management
DE102005034820A1 (de) * 2005-07-26 2007-02-01 Volkswagen Ag System und Verfahren zum Ausführen eines parallelisierten Softwareupdates
US9348574B2 (en) * 2006-03-30 2016-05-24 Bosch Automotive Service Solutions Inc. Method for having multiple software programs on a diagnostic tool
US20080059496A1 (en) * 2006-04-07 2008-03-06 Bell Blaine A Thin-client and distributed development using data programming
US20080052699A1 (en) * 2006-08-02 2008-02-28 Baker Steven T Syncronized dual-processor firmware updates
US8151257B2 (en) * 2007-05-29 2012-04-03 Sap Ag Managing different versions of server components regarding compatibility with collaborating servers
US8276136B2 (en) * 2007-12-11 2012-09-25 Red Hat, Inc. Transparent configuration of a network appliance
JP4413976B2 (ja) * 2008-05-23 2010-02-10 株式会社東芝 情報処理装置及び情報処理装置のバージョンアップ方法
US8418164B2 (en) 2008-05-29 2013-04-09 Red Hat, Inc. Image install of a network appliance
US8300696B2 (en) 2008-07-25 2012-10-30 Cisco Technology, Inc. Transcoding for systems operating under plural video coding specifications
US8930894B2 (en) * 2008-10-08 2015-01-06 Oracle America, Inc. Method and system for executing an executable file
JP5728812B2 (ja) * 2010-02-17 2015-06-03 日本電気株式会社 分散型情報処理システム及び分散ストレージシステム
EP2388693A1 (de) * 2010-05-21 2011-11-23 Siemens Aktiengesellschaft Verfahren zur Aktualisierung der Datenstruktur eines Instanz-Datenbausteins
FR2990531B1 (fr) * 2012-05-11 2014-06-06 Airbus Operations Sas Methode de mise a jour d'un logiciel embarque a bord d'un aeronef
US9043903B2 (en) 2012-06-08 2015-05-26 Crowdstrike, Inc. Kernel-level security agent
US9292881B2 (en) 2012-06-29 2016-03-22 Crowdstrike, Inc. Social sharing of security information in a group
US9998750B2 (en) 2013-03-15 2018-06-12 Cisco Technology, Inc. Systems and methods for guided conversion of video from a first to a second compression format
US10289405B2 (en) 2014-03-20 2019-05-14 Crowdstrike, Inc. Integrity assurance and rebootless updating during runtime
EP2937986A1 (en) * 2014-04-25 2015-10-28 Alstom Technology Ltd A control module
GB2531546B (en) 2014-10-21 2016-10-12 Ibm Collaborative maintenance of software programs
WO2016180550A1 (de) * 2015-05-12 2016-11-17 Siemens Ag Österreich Verfahren zur aktualisierung von komponenten in automatisierungssystemen
US10339316B2 (en) 2015-07-28 2019-07-02 Crowdstrike, Inc. Integrity assurance through early loading in the boot phase
US10037203B1 (en) * 2016-07-28 2018-07-31 National Technology & Engineering Solutions Of Sandia, Llc Real-time software upgrade
US11153164B2 (en) 2017-01-04 2021-10-19 International Business Machines Corporation Live, in-line hardware component upgrades in disaggregated systems
US10534598B2 (en) * 2017-01-04 2020-01-14 International Business Machines Corporation Rolling upgrades in disaggregated systems
US10387228B2 (en) 2017-02-21 2019-08-20 Crowdstrike, Inc. Symmetric bridge component for communications between kernel mode and user mode
EP3376391A1 (en) * 2017-03-17 2018-09-19 Ricoh Company Ltd. Information processing apparatus, updating method, and carrier means
US10740459B2 (en) 2017-12-28 2020-08-11 Crowdstrike, Inc. Kernel- and user-level cooperative security processing

Family Cites Families (12)

* Cited by examiner, † Cited by third party
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
US4773034A (en) 1985-05-09 1988-09-20 American Telephone And Telegraph Company Adaptive equalizer utilizing a plurality of multiplier-accumulator devices
US5008814A (en) * 1988-08-15 1991-04-16 Network Equipment Technologies, Inc. Method and apparatus for updating system software for a plurality of data processing units in a communication network
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
DE4134207C1 (en) * 1991-10-16 1993-04-01 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer
US5410703A (en) 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
DE4429969A1 (de) * 1994-08-24 1996-02-29 Sel Alcatel Ag Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
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
GB2332288A (en) * 1997-12-10 1999-06-16 Northern Telecom Ltd agent enabling technology

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100440950B1 (ko) * 2001-06-30 2004-07-21 삼성전자주식회사 네트워크 환경에 있어서 소프트웨어 업그레이드 방법 및그에 따른 네트워크 디바이스
KR100433056B1 (ko) * 2001-08-18 2004-05-24 엘지전자 주식회사 프로그램 업그레이드 방법
KR101137157B1 (ko) * 2004-05-11 2012-04-20 마이크로소프트 코포레이션 효과적 패칭
KR101641818B1 (ko) * 2015-02-10 2016-07-21 주식회사 엘지씨엔에스 금융기기 및 그의 구동 제어 방법, 그리고 시스템

Also Published As

Publication number Publication date
DE19810814A1 (de) 1999-09-16
JP2002507022A (ja) 2002-03-05
BR9908705A (pt) 2000-11-21
US6463584B1 (en) 2002-10-08
CA2323100A1 (en) 1999-09-16
CA2323100C (en) 2009-09-08
AU3033699A (en) 1999-09-27
WO1999046675A2 (en) 1999-09-16
DE19810814B4 (de) 2004-10-28
EP1062573B1 (en) 2002-06-05
EP1062573A2 (en) 2000-12-27
WO1999046675A3 (en) 1999-12-02

Similar Documents

Publication Publication Date Title
KR20010041771A (ko) 소프트웨어 업데이트를 위한 상태 복사 방법
AU717645B2 (en) Method of synchronization allowing state transfer
US6681389B1 (en) Method for providing scaleable restart and backout of software upgrades for clustered computing
US6385770B1 (en) Software upgrade
US7185331B2 (en) Method and apparatus for downloading executable code in a non-disruptive manner
US8032740B2 (en) Update in-use flash memory without external interfaces
US20020073410A1 (en) Replacing software at a telecommunications platform
JP2002507020A (ja) 障害を生じることなくデータを更新する技術
JP3748339B2 (ja) 複数のデータストアの同期をとってデータ整合性を達成する方法
EP1049974B1 (en) Software upgrade
US6438606B1 (en) Router image support device
US6332199B1 (en) Restoring checkpointed processes including adjusting environment variables of the processes
US20050268188A1 (en) Backup method, backup system, disk controller and backup program
KR100247467B1 (ko) 엠엠씨 커맨드를 이용한 교체 블록 로딩 방법
JP3253473B2 (ja) 二重化された共用メモリの等価性回復処理方法および装置
JPH09218788A (ja) インサービス直接ダウンロード方式
JP2001154896A (ja) 計算機およびそのファイル更新方法
JP3394189B2 (ja) 任意プロセッサのプログラム・データ無中断更新システム
JP2001218242A (ja) 交換機のファイル更新同期方式
US7617175B1 (en) Method and apparatus for upgrading a database in a redundant environment by release chaining
JPH10187454A (ja) Bios書き換え方式
JPH0997173A (ja) 制御プログラムの保守管理システム
JP3589433B2 (ja) データベース保証方式
JP4051644B2 (ja) ネットワーク間接続装置における中継処理部制御方法
JPH0430220A (ja) ソフトウエアメンテナンス方式

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