KR19980701680A - 소프트웨어의 다운로드 방법 및 장치 - Google Patents

소프트웨어의 다운로드 방법 및 장치 Download PDF

Info

Publication number
KR19980701680A
KR19980701680A KR1019970705076A KR19970705076A KR19980701680A KR 19980701680 A KR19980701680 A KR 19980701680A KR 1019970705076 A KR1019970705076 A KR 1019970705076A KR 19970705076 A KR19970705076 A KR 19970705076A KR 19980701680 A KR19980701680 A KR 19980701680A
Authority
KR
South Korea
Prior art keywords
node
software
software file
files
response
Prior art date
Application number
KR1019970705076A
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 KR19980701680A publication Critical patent/KR19980701680A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

제2 노드에 연결된 제1 노드를 갖는 전기통신 시스템과 같은 네트워크화된 시스템에서, 각 소프트웨어 파일 식별자가 복수의 소프트웨어 파일 중 대응하는 하나를 식별하는 경우에, 원하는 하나 이상의 소프트웨어 파일을 제2 노드에 공급하는 기술은 소프트웨어 파일 식별자의 메뉴를 검색하는 제1 노드로부터 시작된다. 소프트웨어 파일 식별자는 제2 노드로 전달되어, 각각 조사되고 각각에 대해 응답이 형성된다. 복수의 소프트웨어 파일 중 대응하는 하나가 둘 중 하나로 원하여지는가 또는 원하여지지 않는가 여부를 나타내는 응답은 다시 제1 노드로 전달된다. 제1 노드는 그 응답을 조사하고 원하는 소프트웨어 파일을 검색한다. 검색된 소프트웨어는 제1 노드에서 제2 노드로 전달된다. 본 발명의 다른 양태에서, 원하지 않는다는 표시는 제공된 파일이 이미 로드되었거나 또는 로드되는 것이 금지되었다는 표시를 포함하도록 확장된다. 본 발명의 또 다른 양태에서, 메뉴를 제공하고, 응답을 수신하고, 또한 원하는 파일을 전송하는 단계는 각 두 위상으로 반복되므로, 제1 위상에서 제2 노드는 더 복잡한 부트스트랩(bootstrap) 프로그램이 다운로드되어 시작될 것을 요구할 수 있다. 이어서, 다운로드의 제2 위상 동안에는 제2 노드에서 운행되는 더 복잡한 부트스트랩 프로그램이 제1 노드로부터 수용될 서브파일이 더 있는가에 대해 결정한다.

Description

소프트웨어의 다운로드 방법 및 장치
본 발명은 통신 시스템내의 한 노드(node)로부터 하나 이상의 다른 노드로 소프트웨어 파일을 다운로드(download)시키기 위한 시스템 및 방법에 관한 것으로, 특히 셀방식 전기통신 시스템에서 베이스 스테이션(base station) 제어기로부터 베이스 송수신기 스테이션으로 소프트웨어를 다운로드시키기 위한 시스템 및 방법에 관한 것이다.
셀방식 전화기 시스템과 같은 이동 통신 시스템의 동작 원리는 이미 공지되어 있다. 본래, 시스템은 지상 기지 시스템과 무선 시스템으로 나뉜다. 이동 가입자는 무선 인터페이스를 통해 복수의 베이스 송수신기 스테이션(BTS) 중 하나와 통신한다. BTS는 이동 가입자가 배회할 때 그 가입자가 시스템내의 BTS 중 적어도 하나의 서비스 영역내에 있게 되도록 지형적으로 분배된다. 호출이 진행되고 있을 때 이동 가입자가 지정된 BTS의 범위 밖으로 이동하여 인접한 BTS의 범위로 옮겨가면, 셀방식 전화기 시스템은 핸드오프(handoff)라 칭하여지는 처리에서 이동 가입자를 인접 BTS로 재지정하게 된다. 호출 초기화 및 종료의 다른 모든 특성 뿐만 아니라 호출 핸드오프의 관리는 지상 기지 시스템의 다양한 성분에 의해 처리된다. 지상 기지 시스템은 또한 이동 가입자간의 호출 경로를 정하고 공중 교환 전화기 네트워크(PSTN)로의 호출을 인터페이스로 연결하는 것을 담당한다.
지상 기지 시스템의 많은 기능은 단일 하드웨어 유닛에 의해 실행되지는 않지만, 대신에 통신 네트워크에서 함께 연결된 복수의 성분 중에 분배된다. 이러한 성분은 지상 기지 시스템과 이동 가입자간의 무선 링크(radio link)를 제공하는 상술된 BTS를 포함한다. 지상 기지 시스템은 또한 100개 이상으로 많은 BTS의 고레벨 동작을 제어하는 베이스 스테이션 제어기(BSC)를 포함한다. 스위칭, 호출 핸드오프, 및 다른 기능은 시스템에서 BSC에 연결된 이동 스위칭 센터(MSC)에 의해 실행된다.
도 1(a)를 참조로, 네트워크는 전형적으로 BTS (103-1), ..., (103-n)(이후에 일반적으로 참조 번호 103로 칭하여지는)을 포함한다. BTS(103)는 서로 동일할 필요가 없고, 전형적으로 더 새롭고 개선된 장비의 유닛으로 반복된 업그레이드 및/또는 시스템 확장의 결과로 다양한 발생, 종류, 및 변형이 된다. 확장은 전체적으로 새로운 BTS(103)의 부가나 송수신기와 같은 새로운 부품의 부가를 포함한다. 업그레이드는 송수신기나 타이밍 유닛과 같은 부품의 대치를 의미한다.
도 1(a)에서 설명되는 바와 같이, BTS(103)는 전형적으로 하나 이상의 송수신기(TRX) 및 전체적으로 BTS(103)에 공통된 기능을 실행하고 베이스 스테이션 중앙 기능(BCF)이라 칭하여지는 송수신기 그룹 관리자와 같은, 수개의 기능적 서브유닛 (113-1-1), ..., (113-1-m1), ..., (113-n-1), ..., (113-n-mn) (이후에 일반적으로 참조 번호 113으로 칭하여지는)으로 구성된다. 일반적으로, 각 서브유닛(113)은 자체 메모리를 갖는 자체 컴퓨터(117)에 의해 제어된다. 기술된 바와 같이, 최상위 레벨상의 서브유닛(113)은 각각 이들이 BSC(101)에 의해 직접적으로 제어가능한 신호 전송 경로 (115-1-1), ..., (115-1-m1), ..., (115-n-1), ..., (115-n-mn)(이후에 일반적으로 참조 번호 115로 칭하여지는)를 갖는다. 신호 전송 경로(115)는 전용 펄스 코드 변조(PCM) 시간 슬롯으로 구성된다. 다른 방법으로, 신호 전송 경로(115)는 PCM 시간 슬롯을 이용한 오픈 시스템 상호연결 층 2 데이터 링크(OSI Layer 2 data link)로 실행될 수 있다(물리적인 층으로 사용되기 위해) (OSI는 표준화를 위한 국제 조직(ISO)에 의해 추천된 표준 데이터 통신 프로토콜이다). OSI 층 2 데이터 링크는 다중화되거나 임의의 방법으로 다른 OSI 층 2 데이터 링크와 함께 하나의 같은 PCM 시간 슬롯에서 다른 서브유닛으로 집중된다. 이러한 링크나 전용 PCM 시간 슬롯은 BSC(101)와 서브유닛(113)간의 직접적인 신호 전송 경로(115)인 것으로 고려된다. 서브유닛 제어를 위해 신호 전송 경로(115)를 사용하는 것과 별개로, 무선 채널을 통해 BTS(103)에 연결된 이동 스테이션(도시되지 않은)과 BSC(101)간의 신호 전송을 실행하는 것이 또한 사용된다.
상술된 바와 같은 시스템에서, BTS(103), 및 그의 구성 서브유닛(113)은 전형적으로 BSC(101)로부터 다운로드된 소프트웨어(SW)(119)로 제어된다. 다운로드된 소프트웨어는 예를 들어, 시스템이 시작되면 실행되어야 한다. 다른 작동도 또한 소프트웨어 다운로드 동작을 요구한다. 예를 들면, 새로운 BTS(103) 및 BTS(103)내의 새로운 부품은 BTS(103)에서 이전에 운행되었던 것과 다른 새로운 응용 SW(119)를 요구한다. 이러한 새로운 SW(119)는 BSC(101)로부터 새롭거나 변형된 BTS(103)로 다운로드되어야 한다. 더욱이, 시스템내의 하드웨어(HW)가 전혀 바뀌지 않을 때에도 전체적인 네트워크나 그의 부품은 또한 새로운(업그레이드된) 응용 SW(119)로 때때로 업데이트된다. SW 다운로드를 요구하는 다른 모든 상황에서도(예를 들면, 시작시, HW 유닛 교체시, 또한 순수한 SW 업데이트시), SW(119)의 다른 버전은 다른 BTS(103)로 다운로드되어야 한다.
시스템을 업그레이드하는 것은 전형적으로 다른 것을 변화시키지 않고 남겨두면서 일부 서브유닛(113)을 대치 또는 수정하는 것을 포함한다. 그 결과로, 한 BTS(103)로 로드될 필요가 있는 SW(119)는 또 다른 BTS(103)와 연관된 SW(119)와 다르다.
종래의 시스템에서는 BTS(103)와 같은 구조에 대한 응용 소프트웨어가 각 서브유닛에 대한 수 개의 파일의 패키지(package)(121)(이후에 서브파일로 칭하여지는)이다. BTS 다운로드는 신호 전송 경로(115)에 걸쳐 실행된다. 일부의 실현에서 모든 경로는 모든 신호 전송 경로(115)에 걸쳐 전달되는 같은 소프트웨어로 가능하게 사용된다. 다른 방법으로, 다른 소프트웨어가 다른 서브유닛(113)에 전달될 수 있다.
도 1(b)에서 설명되는 것과 같은 다른 네트워크 구성에서는 각 BTS(103)로 단 하나의 신호 전송 경로(115)가 사용된다. 이러한 신호 전송 경로는 BCF 기능을 실행하는 서브유닛(113-x-1) (1≤x≤n)에서 종료되는 것이다. BTS(103-x)내에서 나머지 서브유닛(113-x-y) (y1) 중 적절한 하나로 SW(119)를 더 전송하는 것은 내부 통신 네트워크(123-x)로 실행된다. 이러한 통신 네트워크(123-x)는 BSC(101)로부터 소프트웨어 서브파일을 분배하는 방법이 설계 선택의 문제가 되도록 다양한 제한을 갖는다. 최적의 선택은 BTS(103)의 종류나 변형에 의존하고 새롭게 업그레이드된 SW 방출이 제시될 때 변화된다.
이러한 종래 기술의 소프트웨어 다운로드 방법에는 복수의 불편한 점이 있다. BSC(101)가 단일 신호 전송 경로(115)를 통해 BTS(103)로 SW 패키지(121)를 전달하는 도 1(b)에서 설명된 방법을 잠시 고려해보면, BSC(101)는 어느 BTS가 어느 SW 패키지(121)로 다운로드되어야 하는가를 계속 알고 있어야 한다. 업데이트를 처리하기 위해서는 단 하나의 서브유닛(113)이 변화되더라도 BTS(103)의 각 변형에 대해 SW 패키지(121)의 새로운 버전이 하나 있어야 한다. 더욱이, 전체적으로 적절히 변형된 SW 패키지(121)는 가능한 모든 신호 전송 경로(115)상에 전부 전송된다. 다소간 독립적으로 업데이터된 SW를 요구할 수 있는 서브유닛(113)과 응용이 많이 있으므로, 패키지 버전의 수는 빠르게 증가된다. 그래서, 이러한 방법은 많은 증가된 전송 용량의 낭비를 초래하여, 결과적으로 다운로드 시간을 길게 증가시킨다. 이러한 방법으로 또한 저장 용량의 낭비가 초래되어, 파일 운행 매체의 수동 처리에 많은 증가된 부담을 부과한다.
각 서브유닛(113)이 대응하는 서브 파일을 수신하기 위해 전용 신호 전송 경로(115)를 갖는 도 1(a)에서 설명된 방법을 고려해보면, BSC(101)는 어느 패키지(121)가 어느 서브유닛(113)으로 전해지는가를 알아야 하는 보다 성가신 작업을 갖는다. 네트워크내의 각 서브유닛(113)은 변형을 생각할 때 의도되는 업그레이드를 제공할 BSC(101)에 기록된 버전 레벨을 포함하여야 한다. 다른 서브유닛(113)에 대한 버전간의 의존도는 BSC(101)내의 버전 처리 서브 시스템에 의해서나 수동적으로, 또는 종래 기술의 또 다른 특성에서 동작 지지 시스템(OSS)으로 또한 알려져야 한다. 이러한 종류의 정보의 많은 양을 고려할 때, 일부 지정에서 필수적으로 요구되는 수동 데이터 입력은 전위 에러의 소스를 생성하게 된다.
〈요약〉
본 발명의 목적은 BSC에 저장되어야 하는 BTS 프로그램 코드 데이터의 양을 줄이는 한 BSC에서 하나 이상의 BTS로 SW를 분배하기 위한 장치 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 엄격히 필요로 하는 부품만을 BTS에 전송함으로서 BTS에 전송될 BTS 프로그램 코드 데이터의 양을 줄이는 SW 다운로드 기술을 제공하는 것이다. 이는 제한되지는 않지만, 일부 SW가 BTS 메모리에 이미 저장되는 경우를 포함한다.
본 발명의 또 다른 목적은 업데이트가 모든 SW에 대해 거의 영향을 받지 않는 경우와 업데이트가 BTS 종류 및/또는 변형에 적용되어야 하는 경우에, SW 일부를 일반적으로 많이 필요로 하여, 또는 일반적으로 많이 필요로 하지 않고 수 개의 변형 및/또는 종류의 BTS 집단에 전해지는 연속적인 SW 업데이트의 존재시 일반적이고 탄력적인 SW 다운로드 기술을 제공하는 것이다. 본 발명의 또 다른 목적은 종류/변형 뿐만 아니라 SW 파일 버전이 급격히 증가되는 환경에서 이러한 기술을 제공하는 것이다.
본 발명의 또 다른 목적은 어느 SW가 어느 BTS 및 어느 BTS 서브유닛으로 전해지는가를 제어하고, 또한 이러한 다운로드를 위해 어느 신호 전송 경로가 사용되는가를 제어하는 정보를 제공할 때 사람 실수의 위험성을 제거한 SW 다운로드 기술을 제공하는 것이다. 또 다른 목적은 이러한 시스템에서 호환성이 없는 SW 서브파일을 다운로드시킬 위험성을 제거하는 것이다.
본 발명의 한 특성에 따라, 상기의 목적 및 다른 목적은 예를 들면, 셀방식 전기통신 시스템에서 BTS에 연결된 BSC인 제2 노드에 연결된 제1 노드를 포함하는 네트워크화된 시스템에서 이루어진다. 본 발명의 방법 및 장치는 다음의 방법으로 하나 이상의 원하는 소프트웨어 파일을 제2 노드로 공급한다. 제1 노드에서는 소프트웨어 파일 식별자의 목록을 포함하는 메뉴가 검색되고, 여기서 각 소프트웨어 파일 식별자는 복수의 소프트웨어 파일 중 대응하는 하나를 식별하게 된다. 이어서, 소프트웨어 파일 식별자의 목록은 제1 노드에서 제2 노드로 전달된다. 제2 노드에서는 각 소프트웨어 파일 식별자가 조사된다. 각 소프트웨어 파일 식별자에 대해 복수의 소프트웨어 파일중 대응하는 것이 둘 중 하나로 원하여지는가 또는 원하여지지 않는가 여부의 표시를 포함하는 응답이 형성된다. 본 발명의 또 다른 특성에 따라, 소프트웨어 파일이 원하여지지 않는다는 표시는 소프트웨어 파일이 이미 로드되었거나 또는 로드 금지되었다는 표시중 둘중 하나를 포함한다. 제1 노드가 소프트웨어 파일을 이미 로드하였다는 표시를 수신하는 경우에, 소프트웨어가 이미 로드되었다는 표시에도 불구하고 소프트웨어 파일이 제2 노드에 다운로드되어야 하는가 여부를 결정하도록(즉, 소프트웨어 파일의 다운로드가 제2 노드로 강요되어야 하는가 여부를 결정하도록) 또 다른 처리가 실행된다.
그 응답은 제2 노드로부터 제1 노드로 전달되어 조사된다. 제1 노드는 복수의 소프트웨어 파일 중 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색한다. 본 발명의 한 특성에 따라, 제1 노드가 셀방식 전기통신 네트워크내의 BSC일 때, 원하는 소프트웨어 파일은 BSC에 위치하는 저장 수단으로부터 검색된다. 다른 방법의 실시예에서, BSC는 원하는 소프트웨어 파일을 국부적으로 저장한 OSS로부터 이를 요구한다. 국부 저장 수단으로부터 이를 검색한 후에, OSS는 원하는 소프트웨어 파일을 BSC로 전달한다.
원하는 소프트웨어 파일을 검색한 후에, 제1 노드는 이를 제2 노드로 전달한다.
본 발명의 또 다른 특성으로, 소프트웨어 파일 식별자의 목록을 제2 노드로 전달하는 단계는 제1 노드에서 소프트웨어 파일 식별자를 제2 노드로 한 번에 하나씩 전달하고, 다음 소프트웨어 파일 식별자를 전달하기 전에 각 문의로의 응답을 대기하는 것을 포함한다.
본 발명의 또 다른 특성으로, 메뉴(즉, 소프트웨어 파일 식별자)를 제2 노드로 제공하고, 제1 노드에서 응답을 수신하고, 또한 원하는 파일을 제1 노드에서 제2 노드로 전송하는 단계는 각 두 위상에서 반복되어, 첫 번째 위상에서 제2 노드는 더 복잡한 부트스트랩(bootstrap) 프로그램이 다운로드되어 시작될 것을 요구할 수 있다. 두 번째 위상의 다운로드 동안에는 제2 노드에서 더 복잡한 부트스트랩 프로그램이 운행되어 제1 노드로부터 수용될 또 다른 서브파일에 대해 결정한다.
본 발명의 목적 및 장점은 도면과 연관되는 다음의 상세한 설명을 판독함으로서 이해된다:
도 1(a) 및 도 1(b)는 종래 기술의 방법에 따라 소프트웨어를 다운로드하기 위한 셀방식 전기통신 시스템에서의 관련 성분 블록도.
도 2는 본 발명에 따라 소프트웨어 패키지를 포함하는 셀방식 통신 시스템에서의 성분을 설명하는 도면.
도 3은 본 발명에 따라 베이스 스테이션 제어기에서 발생하는 다운로드 동작의 고레벨 흐름도.
도4(a) 및 도4(b)는 본 발명에 따라 베이스 스테이션 제어기에서 실행되는 제1 위상 다운로드 동작의 보다 상세한 흐름도.
도 5(a) 및 도 5(b)는 본 발명에 따라 베이스 스테이션 제어기에서 실행되는 제2 위상 다운로드 동작의 보다 상세한 흐름도.
도 6은 본 발명에 따라 부팅(booting) 상태인 서브유닛에 의해 베이스 송수신기 스테이션에서 실행되는 다운로드 동작의 흐름도.
도 7은 본 발명에 따라 시작 상태인 서브유닛에 의해 베이스 송수신기 스테이션에서 실행되는 다운로드 동작의 흐름도.
도 8은 본 발명에 따른 베이스 송수신기 스테이션 서브유닛의 부팅 및 시작 상태에 대한 상태 전이도.
도 9(a) 및 도 9(b)는 본 발명에 따라 사용되는 소프트웨어 패키지의 성분을 설명하는 도면.
같은 부분은 같은 참조 문자로 식별된 도면에 관련한, 본 발명의 다양한 특성이 설명된다. 비록 본 발명이 셀방식 통신 시스템에서의 응용에 대해 설명되지만, 이는 이와 같은 사용에만 제한되지는 않는다. 또한, 설명된 실시예는 설명의 목적으로만 도시된다.
도 2는 본 발명에 관련된 셀방식 통신 시스템내의 성분을 설명한다. 도면에 도시된 바와 같이, BSC(201)는 복수의, 즉 n개의 BTS (203-1), ..., (203-n)(이후에 일반적으로 참조 번호 203으로 칭하여지는)에 연결된다. 각 BTS(203)는 복수의 서브유닛을 포함한다: BTS(203-1)에는 서브유닛 (213-1-1), (213-1-2), ..., (213-1-m1)이 있고; BTS(203-n)에는 서브유닛 (213-n-1), (213-n-2), ..., (213-n-mn)이 있다. 일반적으로, 소정의 BTS(203-x)에서 서브유닛(213-x)의 수는 다른 BTS에서의 서브유닛의 수와 무관하므로, 값 mx로 표시된다. 서브유닛은 일반적으로 참조 번호(213)으로 칭하여지지만, 이는 각 서브유닛이 같은 기능을 실행하는 것을 의미하려는 의도가 아니다. 각 서브유닛(213)은 프로세서 (217-x-y) (1≤x≤n; 1≤y≤mn)와, 서브프로그램(219-x-y)를 저장하기 위한 메모리를 포함한다. 상술된 바와 같이, 같은 BTS(203-x)내의 서브유닛(213-x)은 일반적으로 서로 전부 다른 기능 및 구성을 가지므로, 서로 다른 클래스인 것으로 말하여진다. 소정의 서브유닛(213)으로 로드될 프로그램 코드는 서브유닛의 클래스에 대해 의도되는 것이어야 한다. 예를 들면, 서브유닛(213-1-1)은 클래스 베이스 스테이션 중앙 기능(BCF)의 것이고, 서브유닛 (213-1-2), ..., (213-1-m1)은 클래스 송수신기(TRX)이다. 다른 BTS(203)에서 같은 클래스의 서브유닛(213)은 반드시 구성이 동일할 필요는 없으므로, 다운로드된 SW(219)는 또한 서브유닛 종류 및 변형에 대응하여야 한다. 동일하게 구성된 서브유닛에 대해 다른 SW 버전이 존재할 수 있으므로, 서브유닛에 다른 기능을 부여할 수 있다. 전형적으로, 더 높은 SW 버전 레벨은 더 많은 기능을 제공한다. 한 서브유닛(213)에서 SW 버전 레벨은 같은 BTS(203)내의 다른 서브유닛에서의 SW 버전과 호환되거나 호환되지 않는다. 이는 같은 클래스에 대한 SW와 다른 클래스에 대한 SW 모두에 인가된다. 또한, 한 클래스에 대해 동일한 기능이지만 다른 성질을 제공하는 버전의 서브 버전이 존재하므로, 서브 버전의 선택은 BSC(201)나 OSS(233)의 작동자 또는 OSS 최적 프로그램에 대한 선택 사항이 된다. BTS(203)의 서브유닛(213)은 다소간의 일부 제한된 방법으로 서로 통신하도록 버스나 버스 시스템(214)에 의해 상호연결된다. 특정한 BTS(203)에서, 이러한 버스(214)는 한 서브유닛에서 다른 서브유닛으로 다운로드된 SW를 전송할 목적으로 사용된다. 그러나, 이러한 기능은 다른 BTS(203)에서 존재하지 않는다.
본 발명의 한 특성에 따라, 각 서브유닛(213)은 적어도 두 상태 중 하나에서 동작된다: 부팅 상태(801) 및 시작 상태(803). 도 8은 이후 기술될 다양한 동작이 서브유닛(213)의 상태에 영향을 미치는 방법을 도시하는 상태 전이도이다.
모범적인 실시예에서, BSC(201)는 대응하는 신호 전송 경로 (215-1-1), ..., (215-1-m1), ..., (215-n-1), ..., (215-n-mn)을 통해 각 서브유닛 (213-1-1), ..., (213-1-m1), ..., (213-n-1), ..., (213-n-mn)에 직접 연결된다. 신호 전송 경로(215)는 또 다른 다중화를 포함하는, 또는 포함하지 않은 PCM 시간 슬롯과 같은 층(Layer) 1 (즉, 물리적인) 연결이다. 다른 방법으로, 신호 전송 경로(215)는 물리적인 연결상의 OSI 층 2 데이터 링크로 구성될 수 있다. 종래 기술에서 이미 공지된 바와 같이, 수 개의 층 2 데이터 링크는 같은 물리적인 연결상에서 실행된다. 신호 전송 경로(215)의 특정한 실행은 본 발명에 관련되지 않으므로, 여기서는 보다 상세하게 설명되거나 도 2에 도시되지도 않는다. 층 2 및 데이터 링크를 실현하는데 사용되는 프로토콜을 특정하게 선택하는 것도 본 발명에 관련되지 않으므로, 각 BTS(203)의 각 서브유닛(213)과 BSC(201)간에 논리적으로 독립적인 신호 전송 경로를 허용하는 배열이나 프로토콜에 적용가능하다. 이미 공지된 데이터 링크 층의 예는: ETS 300 125에서의 LAPD - 집적된 서비스 디지탈 네트워크(ISDN); CCITT 추천의 사용자 네트워크 인터페이스 데이터 링크 층 명세서 출원 Q.920/I.440 및 Q.921/I.441; CCITT x.25에서의 LAPB 또는 신호 전송 시스템 #7에서 제시된 층 2. 논리적으로, 신호 전송 경로(215)에서 어드레스를 지정하는 층 2와 층 1 선택(스위칭)을 조합함으로서, 모든 서브유닛(213)은 별모양의 구성으로 BSC(201)에 직접적으로 동일하게 연결된다. 그러나, 본 발명은 이러한 배열에 제한되지 않고, 대신에 BSC(201)가 통신하는 서브유닛(213)( 및 물론, 서브유닛(213)이 위치하는 BTS(203))을 정확하게 제어하는 임의의 구성을 포함한다.
본 발명에 따라, BSC(201)는 어느 SW 패키지(221)가 각 BTS(203)에 다운로드되어야 하는가를 식별하는 정보로 미리 준비되어야 한다. 또한, BSC(201)나 OSS(233)에는 미리 BTS(203)에 대한 BTS SW 패키지(221), 아마도 BTS(203) 각각의 총 다른 발생 및/또는 BTS(203) 각각의 제작자의 구성을 위한 한 BTS SW 패키지(221)가 공급되어 이를 저장한다.
모범적인 실시예에서 사용되는 BTS SW 패키지(221)는 도 9(a) 및 도 9(b)에서 보다 상세히 설명된다. 도 9(a)에서 볼 수 있는 바와 같이, BTS SW 패키지(221)는 헤더(header) 파일(911) 및 하나 이상의 서브유닛(213)으로 다운로드될 서브프로그램인 하나 이상의 다른 서브파일 (921-1), ..., (921-k)를 포함하는 복수의 서브파일로 구성된다. 각 서브파일 (921-1), ..., (921-k)은 파일 개정 번호(FR)에 의해 식별된다. 예를 들어 도 9(a)에서, 서브프로그램을 포함하는 첫 번째 서브파일은 FR1으로 식별되고, 최종 파일은 FRk로 식별된다.
대부분의 소프트웨어와 같이, BTS 서브파일은 때로 하드웨어 특성으로의 변화에 맞추도록, 또한 때로는 순수한 독립적 소프트웨어 개선을 제시하도록 규칙적으로 업데이트된다. 소프트웨어의 새로운 버전이 되는 이러한 변화는 함께 작업하도록 의도되는 모든 서브파일에서 벗어난 하나 이상의 서브파일로의 변화를 의미한다. 또한, 함께 패키지화된 서브파일의 수에서의 변화는 새로운 버전 레벨을 또한 나타낼 수 있다. 이러한 다양한 버전을 알기 위해서는 파일 개정 번호가 또한 버전 번호를 포함한다. 이러한 번호를 사용하는 가능한 한 방법에서, 이는 변화된 서브파일에서 뿐만 아니라 변화된 서브파일과 함께 패키지화된 변화되지 않은 서브파일에서도 업데이트된다. 이는 특정한 BTS 종류 및 변형에 대응하는 모든 서브파일이 같은 버전 번호를 갖도록 허용한다.
또한, 본 발명에 따라, 헤더 파일(911)은 BTS SW 패키지(221)에 포함된 서브파일 (921-1), ..., (921-k)의 파일 개정 번호에 대응하는 모든 파일 개정 식별자 (931-1), ..., (931-k)의 목록을 포함하는 메뉴(930)를 포함한다(도 9(b)를 참조). 각 파일 개정 식별자 (931-1), ..., (931-k)는 대응하는 파일이 BSC(201)내의 근본적인 파일 저장 시스템, 또는 본 발명의 다른 실시예에서 OSS(233)를 이용하여 위치를 정하고 판독되는 방법으로 서브파일(921)을 전체적으로 유일하게 식별한다.
본 발명의 한 실시예에 따라, 다운로드는 도 3 내지 도 7의 흐름도에서 또한 도시된 다음의 방법으로 진행된다. 가능한 다른 실시예에서, BSC(201)에서 실행되는 것으로 여기서 설명되는 모든 단계나 그 일부는 BSC(201)를 통해 BTS(203)로 신호 전송을 실행하는 OSS(233)에 의해 다른 방법으로 실행될 수 있다.
도 3을 참조로, 복수의 가능한 동작 중 하나에 의해 다운로드가 초기화된다(단계 301). 이러한 동작은 제한되지는 않지만 다음을 포함한다:
· 다운로드 동작이 단일 BTS(203-x)로 타켓화되는 것을 요구하는 BSC 작동자로부터의 명령 발행;
· 다운로드 동작이 BTS(203)의 선택 그룹으로 타켓화되는 것을 요구하는 BSC 작동자로부터의 명령 발행;
· 다운로드 동작이 BSC(201)에 연결된 모든 BTS(203)로 타켓화되는 것을 요구하는 BSC 작동자로부터의 명령 발행;
· 다운로드 동작이 단일 BTS(203-x)로 타켓화되는 것을 요구하는 OSS 작동자로부터의 명령 발행;
· 다운로드 동작이 BTS(203)의 선택 그룹으로 타켓화되는 것을 요구하는 OSS 작동자로부터의 명령 발행;
· 다운로드 동작이 BSC(201)에 연결된 모든 BTS(203)로 타켓화되는 것을 요구하는 OSS 작동자로부터의 명령 발행;
· 이전의 폴트가 없어졌음을 나타내는 BTS(203)로부터의 보고를 BSC(201)에 의해 수신(이러한 보고가 수신되면 다운로드 초기화가 BSC(201)에 의해 자동적으로 실행된다);
· 특정 명령에 대한 응답의 부족과 같은 특정 BTS 오동작의 신호를 BSC(201)에 의해 검출.
하나 이상의 서브프로그램 (921-1), ..., (921-k)의 잠재적인 수신자가 되는 각 BTS(203-x) (1≤x≤n)에 대해, 대응하는 헤더 파일(911)은 BSC 컴퓨터 메모리로 위치가 정해져 판독된다(단계 303). 다음에는 BTS(203-x)와 연관된 첫 번째 서브유닛(213-x-i) (i=1)이 처리를 위해 선택된다. 단계(317)(처리를 위해 다음 서브유닛 213-x-(i+1)을 선택)의 실행으로 이어지는 단계(315)(모든 서브유닛이 처리되었나?)에서의 시험은 실행 루프를 생성하므로, BTS(203-x)에서 단계(307) 내지 (313)이 각 서브유닛 (213-x-1), ..., (213-x-mx)에 대해 한 번 실행되는 것을 볼 수 있다. 소정의 서브유닛(213-x-i) (1≤i≤mx)에 대한 단계(307) 내지 (313)의 실행 동안에, 대응하는 신호 전송 경로(215-x-i)를 이용하는 서브유닛(213-x-i)과 메시지가 교환된다. 비록 모범적인 실시예에서는 각 서브유닛(213)이 연속하여 한 번에 한 개씩 처리되는 것으로 도시되지만(단계 307 내지 317의 반복된 실행에 의해), 이는 본 발명의 요구조건이 아니다. 여기서 기술되는 방법이 모든 서브유닛(213)을 동시에 다루도록 적용될 수 있음은 본 분야에 숙련된 자에게 용이하게 명백해진다.
모범적인 실시예에서, 단계(307) 내지 (313)에서 BSC(201)내에 발생하는 처리 과정은 2-위상 다운로드 동작을 실행하도록 설계된다. 실행의 제1 위상에서, 각 서브유닛(213-x-i)에는 다운로드되어 시작될 서브파일을 선택하도록 상주 부트스트랩 프로그램(또는 다른 방법으로 부트스트랩 프로그램을 에뮬레이트(emulate)하는 실행 응용 프로그램)을 사용하는 기회가 주어진다. 본 발명에 따라, 이 위상 동안에 전달되는 서브파일은 그 자체가 상주 부트스트랩 프로그램 보다 더 복잡한 프로그램 로드 동작을 실행할 수 있는 부트스트랩 프로그램이다. 그러므로, 실행의 제1 위상은 각 서브유닛(213-x-i)에 다시 다운로드되어 시작될 서브파일을 선택하는 기회가 주어지는 제2 위상으로 이어진다. 그러나, 제2 위상 동안에는 이것이 결정을 하는 제1 위상 동안에 다운로드되어 시작되었던 프로그램이다. 물론, 설계가 단지 두 위상에서 중단될 필요는 없지만, 설계자가 특정한 환경에 대해 적합하다고 보는 만큼 많은 다운로드 위상을 포함하도록 확장될 수 있다.
본 발명의 모범적인 실시예에서 두 위상이 설명된다. 단계(307)에서, BSC(201)는 헤더 파일내의 부트 위상 질문 메뉴명의 절차를 호출한다. 이 절차(도4(a) 및 도4(b)를 참조로 이후 보다 상세히 설명되는)는 헤더 파일(911)을 통해 진행되어, 목록화된 파일 개정 식별자 (931-1), ..., (931-k) 각각에 대해 서브파일 (921-1), ..., (921-k) 중 대응하는 것이 서브유닛(213-x-i)로 전달되어야 하는가 여부를 결정한다. 단계(307)에서의 실행은 또한 선택된 서브파일이 서브유닛(213-x-i)로 다운로드되는 것을 보장한다. 본 발명의 바람직한 실시예에 따라, 서브파일 선택 및 이어지는 다운로드는 서브파일(921-j) (1≤j≤k)에 관해 서브유닛(213-x-i)에 번갈아 질문하고, 수신된 응답 및 가능한 다른 정보에 따라 서브유닛(213-x-i)에 서브파일(921-j)를 조건부로 전달함으로서 이루어진다.
헤더 파일내의 부트 위상 질문 메뉴 절차가 어떠한 로드도 전혀 없이 실행되므로(즉, 서브유닛(213-x-i)이 제시된 서브파일(921)을 모두 거절하므로), 서브유닛(213-x-i)이 블록(307)의 실행 이전에 반드시 부팅 상태(801)로 놓일 필요는 없음을 주목하여야 한다. 상태 전이는 하드웨어 시험 기능과 연관되는 것과 같은 다른 관련되지 않은 시간 소모 처리를 트리거(trigger)시키기 때문에, 서브유닛(213-x-i)이 불필요하게 시작 상태로 되거나 그로부터 벗어나도록 하는 것을 방지하는 것이 유리하다. 그러므로, 모범적인 실시예에서, 이러한 상태 전이는 최소화된다. 단계(307)가 실행을 시작할 때 서브유닛(213-x-i)이 시작 상태(803)에 있는 경우에, 헤더 파일내의 부트 위상 질문 메뉴 절차는 서브파일(921-j)이 실질적으로 다운로드를 위해 선택되면 서브유닛(213-x-i)을 부팅 상태(801)로 들어가게 한다.
단계(307)에서의 처리 과정이 완료된 후에, BSC(201)는 시작 상태로의 설정 명령을 서브유닛(213-x-i)에 전달하도록 대응하는 신호 전송 경로(215--x-i)를 사용한다. 이는 서브유닛(213-x-i)이 부팅 상태(801)에 있었으면 그 상태에서 벗어나 시작 상태(803)로 들어가게끔 한다. 단계(307)의 실행 결과로 다운로드된 서브파일(921-j)는 이제 실행을 시작한다. 본 발명의 한 특성에 따라, 이 다운로드된 서브파일(921-j)는 그 자체로 다음의 다운로드 위상 동안에 어느 서브파일(921-j)이 다운로드될 것인가를 제어할 부트스트랩 프로그램을 구성한다(이후에 기술될).
다음에는 단계(311)에서, BSC(201)가 헤더 파일에서의 시작 위상 질문 메뉴 절차를 호출함으로서 다운로드 처리의 제2 위상으로 들어간다(도 5(a) 및 도 5(b)를 참조로 이후에 보다 상세하게 설명됨). 단계(307)에서 호출된 절차와 같이, 헤더 파일내의 시작 위상 질문 메뉴절차는 헤드 파일(911)을 통해 전해지고, 목록화된 파일 개정 식별자 (931-1), ..., (931-k) 각각에 대해 서브파일 (921-1), ..., (921-k)중 어떤 대응하는 것이 어느 서브유닛(213-x-i)에 전송되어야 하는가 여부를 결정한다. 단계(311)에서의 실행은 또한 선택된 서브파일(921)이 서브유닛(213-x-i)으로 다운로드되는 것을 보장한다.
이러한 서브파일 전송 절차 호출의 완료에 이어서, BSC(201)는 패키지의 종료 표시를 서브유닛(213-x-i)에 전달한다. 이하 좀더 상세한 기술로부터 알 수 있는 바와 같이, 서브유닛(213-x-i)에 의한 패키지의 종료 표시의 수신으로 서브유닛(213-x-i)은 있는 경우 다운로드된 파일 중 어느 것이 시작되어야 하는가를 먼저 결정하고 그 파일을 시작하게 된다.
다음에는 상술된 바와 같이, BTS(203-x)에서 각 서브유닛 (213-x-1), ..., (213-x-mx)에 대해 다운로드 처리가 실행되었는가 여부가 단계(315)에서 결정된다. 그러한 경우, 처리 과정은 블록(319)에서 완료된다. 그렇지 않은 경우에는 단계(317)에서 단계(307) 내지 (313)의 반복 처리를 위해 다음의 서브유닛(213-x-(i+1))이 선택된다.
그래서, 각 서브유닛(213-x-i)에 대해 BSC(201)는 서브파일 질문 절차를 두 번 실행한다: 한 번은 단계(307)에서 실행되고, 단계(311)에서 다시 실행된다. 그러나, 수신 서브유닛(213-x-i)이 다른 상태에 있기 때문에, 헤더 파일내의 부트 위상 질문 메뉴 절차에 의해 다운로드되는 것과 비교해 다른 서브파일이 헤더 파일내의 시작 위상 질문 메뉴에 의해 다운로드되므로, 각 두 호출 동안에 다른 프로그램을 실행한다. 즉, 단계(307)의 실행 동안에 서브유닛(213-x-i)는 부팅 상태(801)에 있어 상주 부트 프로그램을 실행한다(또는 시작 상태(803)에서 상주 부트 프로그램을 에뮬레이트한 응용 프로그램을 실행한다). 대조하여, 단계(311)의 실행 동안에 서브유닛(213-x-i)는 시작 상태로 설정 명령을 서브유닛(213-x-i)에 전달한 결과로(단계 309), 시작 상태(803)에 있도록 보장된다. 시작 상태(803)에서, 서브유닛(213-x-i)는 다운로드 처리의 제2 위상에서 다운로드 결정을 이룰 목적으로 막 다운로드되었던 부트스트랩 프로그램이나 초기에 로드되었던 응용 프로그램을 사용한다.
도4(a) 및 도4(b)는 단계(307)에서 호출되는 BSC의 헤더 파일내의 부트 위상 질문 메뉴 동작을 보다 상세하게 도시한다. 이러한 위상 1 서브파일 전달 절차는 호출될 때 시작된다(단계 401). 단계(403)에서는 메뉴(930)로부터 첫 번째 파일 개정 식별자(931-j) (j=1로)를 선택함으로서 절차를 위한 초기화가 실행된다. 이어서, 단계(405)에서는 BSC(201)가 메시지를 서브유닛(213-x-i)에 전달하는데 신호 전송 경로(215-x-i)를 사용하고, 파일 개정 식별자(931-j)에 의해 식별된 서브프로그램이 다운로드 되기를 원하거나, 이미 로드되었거나, 또는 금지되었는가 여부를 묻는다.
서브유닛(213-x-i)는 도 6 및 도 7을 참조로 이후 기술될 방법에 따라 응답을 발생하고, 그 응답을 BSC(201)로 복귀시킨다. 그 응답은 단계(407)에서 BSC(201)에 수신되고, 단계(409)에서는 부트 상태 대답이 추출된다. 서브유닛(213-x-i)은 시작 상태(803)에 있으므로, 이것이 시작 상태(803)에서 허용된 작동이더라도 부트 상태 대답이 응답에 제공될 것을 요구하지 않는다. 그래서, 단계(411)에서는 부트 상태 대답이 사실상 수신된 응답에 주어지는가 여부를 결정할 필요가 있다.
부트 상태 대답이 응답에 주어져 있지 않으면, 서브유닛(213-x-i)이 부팅 상태(801)로 들어가도록 강요할 필요가 있으므로, 이 특정한 서브프로그램에 대해 질문이 반복될 수 있다. 따라서, 단계(413)에서는 부팅 상태로 설정 명령을 서브유닛(213-x-i)에 전달하는데 신호 전송 경로(215-x-i)가 사용된다. 이어서, 실행은 처리 과정이 반복될 수 있도록 단계(405)로 복귀된다.
응답으로부터 부트 상태 대답이 성공적으로 추출되면, 실행은 대답의 본질을 결정하도록 단계(415)로 진행된다. 파일 개정 식별자(931-j)에 의해 식별된 서브프로그램이 다운로드되는 것을 금지하는 것으로 서브유닛(213-x-i)이 나타내면, 실행은 직접 단계(427)로 진행되고, 여기서 메뉴(930)내의 각 파일 개정 식별자(931-j)가 처리되었는가 여부를 보도록 시험이 실행된다. 그러한 경우, 단계(431)에서 헤더 파일내의 부트 위상 질문 메뉴 절차는 절차 호출 지점으로 복귀된다(즉, 실행이 단계(309)에서 재시작된다). 그렇지 않은 경우, 단계(429)에서는 다음 파일 개정 식별자(931-(j+1))에 의해 식별된 서브프로그램이 선택되고, 실행이 다시 단계(405)에서 계속된다.
단계(415)에서, 파일 개정 식별자(931-j)에 의해 식별된 서브프로그램이 다운로드되기를 원하거나 또는 이미 로드된 것으로 서브유닛(213-x-i)이 나타내도록 결정되면(즉, 단계(417)에서 강요된 경로를 취하면), 실행은 단계(419)로 진행된다. BSC 작동자나 OSS로부터의 정보는 서브프로그램(921-j)의 다운로드가 서브유닛(213-x-i)에서 강요되어야 하는가 여부를 결정하는데 사용된다. 다운로드 강요가 적절한 상황의 한 예는 시험되어야 하는 소프트웨어 모듈에 대한 서브 버전 번호가 대치되어야 하는 모듈 보다 상당히 더 높은 버전 레벨로 인식되지 않을 때이다. 이러한 경우에, 현존하는 모듈은 이미 로드되었음을 나타내는 응답을 발생한다. 다른 상황은 유사하게 서브유닛(213-x-i)에서 서브프로그램(921-j)의 다운로드를 강요하기를 원한다. 이러한 상황은 특정한 응용이기 때문에, 이를 열거하는 것은 본 발명의 범위에서 벗어난다.
파일 개정 식별자(931-j)에 의해 식별된 서브프로그램이 이미 로드되어 강요되지 않으면, 실행은 단순히 상술된 바와 같이 단계(427)에서 계속된다.
단계(419)를 실행하는 지점에서, 다운로드 동작이 일어나는 것으로 결정되어 있다. 이 다운로드 위상 동안에 서브파일(921)을 수신하기 위해서는 서브유닛(213-x-i)이 대응하는 상태(즉, 부팅 상태(801))에 있어야 하기 때문에, BSC(201)는 서브유닛(213-x-i)의 상태를 시험하고(단계 419)(바람직한 실시예에서는 BSC(201)가 항상 각 서브유닛(213)의 현재 상태를 알고 있다), 만약 서브유닛(213-x-i)이 시작 상태(803)에 있는 것으로 발견되면, BSC(201)는 먼저 부팅 상태로 설정 명령을 서브유닛(213-x-i)에 전달하는데 신호 전송 경로(215-x-i)를 사용한다. 서브유닛(213-x-i)이 이미 부팅 상태(801)에 있으면, 이러한 단계는 생략된다.
다음에는 단계(423)에서 BSC(201)가 파일 개정 식별자(931-j)에 대응하는 서브파일(921-j)를 검색한다. 이는 BSC(201)에 위치하는 저장 수단으로부터 파일을 판독함으로서 실행된다. 본 발명의 또 다른 특성에 따라, 이는 다른 방법으로 이러한 파일을 저장하기 위한 저장 수단을 갖는 OSS(233)에 요구를 전달함으로서 실행된다. 후자의 경우에서, OSS(233)는 국부 저장 수단으로부터 요구되는 서브파일(921-j)을 검색하고, 이를 BSC(201)에 전달한다.
다음에는 단계(425)에서 BSC(201)가 검색된 서브파일(921-j)를 서브유닛(213-x-i)에 전달하는데 신호 전송 경로(215-x-i)를 사용한다. 실행은 단계(427)에서 메뉴내의 각 항목이 처리되었는가 여부를 결정하는 시험으로 진행된다. 그러한 경우에는 그 절차가 종료된다. 그렇지 않은 경우에는 다음의 파일 개정 식별자(931-(j+1))이 선택되어 루프가 반복된다.
도 5(a) 및 도 5(b)를 참조로, 이는 단계(311)에서 호출되는 BSC의 헤더 파일내의 시작 위상 질문 메뉴 절차 동작을 보다 상세히 도시한다. 이러한 위상 2 서브파일 전달 절차는 헤더 파일내의 부트 위상 질문 메뉴와 유사하게 호출될 때 시작된다(단계 501). 단계(503)에서는 메뉴(930)로부터 첫 번째 파일 개정 식별자(931-j) (j=1로)를 선택함으로서 절차를 위한 초기화가 실행된다. 이어서, 단계(505)에서는 BSC(201)가 메시지를 서브유닛(213-x-i)에 전달하는데 신호 전송 경로(215-x-i)를 사용하고, 파일 개정 식별자(931-j)에 의해 식별된 서브프로그램이 다운로드 되기를 원하거나, 이미 로드되었거나, 또는 금지되었는가 여부를 묻는다.
서브유닛(213-x-i)은 도 7을 참조로 이후 기술될 방법에 따라 응답을 발생하고(단계(309)의 실행 결과로, 서브유닛(213-x-i)이 시작 상태(803)에 있는 것으로 보장된다), 그 응답을 BSC(201)로 복귀시킨다. 응답은 단계(507)에서 BSC(201)에 수신되고, 단계(509)에서는 시작 상태 대답이 추출된다. 서브유닛(213-x-i)은 시작 상태(803)에 있기 때문에, 시작 상태 대답이 주어질 것으로 보장된다.
다음에는 실행이 응답의 본질을 결정하도록 단계(511)로 진행된다. 파일 개정 식별자(931-j)에 의해 식별된 서브프로그램이 다운로드되는 것을 금지하는 것으로 서브유닛(213-x-i)가 나타내면, 실행은 직접 단계(519)로 진행되고, 여기서 메뉴(930)내의 각 파일 개정 식별자(931-j)가 처리되었는가 여부를 보도록 시험이 실행된다. 그러한 경우, 단계(523)에서 헤더 파일내의 시작 위상 질문 메뉴 절차는 절차 호출 지점으로 복귀된다(즉, 실행이 단계(313)에서 재시작된다). 그렇지 않은 경우, 단계(521)에서는 다음 파일 개정 식별자(931-(j+1))에 의해 식별된 서브프로그램이 선택되고, 실행이 다시 단계(505)에서 계속된다.
단계(511)에서, 파일 개정 식별자(931-j)에 의해 식별된 서브프로그램이 다운로드되기를 원하거나 또는 이미 로드된 것으로 서브유닛(213-x-i)이 나타내도록 결정되면(즉, 단계(513)에서 강요된 경로를 취하면), 실행은 단계(515)로 진행된다. BSC 작동자나 OSS로부터의 정보는 서브프로그램(921-j)의 다운로드가 서브유닛(213-x-i)에서 강요되어야 하는가 여부를 결정하는데 사용된다. 상술된 바와 같이, 다운로드 강요가 적절한 상황의 한 예는 시험되어야 하는 소프트웨어 모듈에 대한 서브 버전 번호가 대치되어야 하는 모듈 보다 상당히 더 높은 버전 레벨로 인식되지 않을 때이다.
파일 개정 식별자(931-j)에 의해 식별된 서브프로그램이 이미 로드되어 강요되지 않으면, 실행은 단순히 상술된 바와 같이 단계(519)에서 계속된다.
단계(515)를 실행하는 지점에서, 다운로드 동작이 일어난 것으로 결정되어 있다. 서브유닛(213-x-i)이 시작 상태(803)에 있는 것으로 이미 공지되기 때문에, BSC(201)는 상태 변화 명령을 전달할 필요가 없다. 그러므로, 이 지점에서 BSC(201)는 파일 개정 식별자(931-j)에 대응하는 서브파일(921-j)을 검색한다. 상기와 같이, 이는 BSC(201)에 위치하는 저장 수단으로부터 파일을 판독함으로서 실행된다. 본 발명의 또 다른 특성에 대해, 이는 다른 방법으로 이러한 파일을 저장하기 위한 저장 수단을 갖는 OSS(233)에 요구를 전달함으로서 실행된다. 후자의 경우에서, OSS(233)는 국부 저장 수단으로부터 요구된 서브파일(921-j)을 검색하여 BSC(201)에 전달한다.
다음에는 단계(517)에서, BSC(201)가 검색된 서브파일(921-j)를 서브유닛(213-x-i)에 전달하는데 신호 전송 경로(215-x-j)를 갖는다. 실행은 단계(519)에서 메뉴내의 각 항목이 처리되었는가 여부를 결정하는 시험으로 진행된다. 그런 경우에, 그 절차는 종료된다. 그렇지 않은 경우에는 다음의 파일 개정 식별자(931-(j+1))가 선택되어 루프가 반복된다.
상술된 다운로드 절차를 실행하는 BSC(201)로 동작하기 위해서는 BTS 서브유닛(213)이 도 6 내지 도 8을 참조로 이제 기술될 프로그램을 실행한다. 상술된 바와 같이, 서브유닛(213)은 다운로드 절차와 관련된 두 상태 중 하나가 될 수 있다: 부팅 상태(801) 및 시작 상태(803)(도 8을 참조). 부팅 상태(801)에서는 서브유닛(213)이 상주 부트스트랩 로더(loader) 프로그램(예를 들면, 비휘발성 메모리에 저장된 프로그램이나 부트스트랩 프로그램을 에뮬레이트하는 실행 응용 프로그램)을 운행한다. 시작 상태(803)에서는 서브유닛(213)이 메모리에 로드되었던 응용 프로그램을 운행한다. 상술된 바와 같이, 이러한 응용 프로그램은 다운로드 절차의 제2 위상 동안에 어느 파일이 다운로드될 것인가를 결정하도록 보다 정교한 부트스트랩 프로그램이 된다. 도 8은 특정한 메시지의 수신이 서브유닛(213)의 상태에 영향을 미치는 방법을 설명하는 상태 전이도이다.
도 6은 현재 부팅 상태(801)에 있는 서브유닛(213)의 흐름을 도시한다. 단계(601)에서, 서브유닛(213)은 BSC(201)로부터의 메시지 수신을 대기한다. BSC(201)가 상술된 헤더 파일내의 부트 위상 질문 메뉴 절차(도4(a) 및 도4(b))를 실행하기 시작할 때, 서브유닛(213)은 파일 개정 식별자(931-j)에 의해 식별된 서브프로그램이 다운로드 되기를 원하거나, 이미 로드되었거나, 또는 금지되었는가 여부를 묻는 질문 메시지를 수신한다. 이로 서브유닛(213)에 의해 질문이 수신되는 단계(611)가 실행된다.
다음에는 단계(613)에서, 서브유닛(213)은 부팅 상태 대답을 제시한다. 이는 예를 들면, 유효한 프로그램 파일이 메모리에 이미 로드되었나 여부를 결정하도록 복수의 이미 공지된 방법(순회 용장 문자(CRC) 점검합을 계산하는 것과 같은)을 이용함으로서 실행된다. 그러한 경우에, 질문에서 수신되었던 파일 개정 식별자(931-j)는 서브 버전 부분을 제외하고 로드된 파일과 비교된다. 두 개가 정합하면, 이미 로드되었다는 대답이 응답 메시지로 전달된다(단계 615). 현재 유효한 프로그램 파일이 서브유닛의 메모리에 로드되어 있지 않거나 부정합이 있으면, 파일 개정 식별자(931-j)는 이것이 부팅 상태(801)에 있는 특정 서브유닛(213)에 대해 유효한 서브유닛 클래스, 서브유닛 변형, 및 BTS 종류에 관한 SW 파일인가를 보도록 분석된다. 그러한 경우에는 원하여 진다는 대답이 응답으로 전달된다(단계 615).
상기 대답 중 아무 것도 발생되지 않으면, 금지된다는 대답이 응답으로 전달된다(단계 615). 서브유닛(213)은 단계(601)로 다시 진행되고, 여기서 다시 또 다른 메시지가 도착하기를 대기한다.
다음 메시지가 새로운 질문이면 기술된 흐름이 반복된다. 다음 메시지가 서브파일(921-j)이면, 이는 단계(607)에서 수신된다. 이어서, 단계(609)에서는 수신된 서브파일(921-j)이 압축 해제, CRC 합산의 실행, 암호 해독, 또는 길이 점검과 같은 이미 공지된 복수의 방법에 따라 처리된다. 마지막으로, 처리된 파일은 이것이 실행되는 서브유닛의 메모리에 저장된다.
서브유닛(213)이 BSC(201)로부터 메시지를 대기하는 상황을 다시 고려하여(단계 601), 다음의 도착 메시지가 시작 상태(803)로 진행되는 명령이면, 이 경우에는 명령을 수신하여(단계 605) 부팅 상태(801)에서 메모리에 저장되거나 발견되었던 프로그램 파일의 실행을 시작한다(단계 606). 프로그램의 실행이 시작되면, 서브유닛(213)의 상태는 도 7에서 입력 지점(1)으로의 전이에 의해 도시되는 바와 같이 시작 상태(803)로 변한다.
도 7을 참조로, 이는 일단 시작 상태(803)에 있는 서브유닛(213)의 동작을 도시하는 흐름도이다. 단계(701)에서는 BSC(201)로부터 메시지를 수신하도록 대기한다. (물론, 서브유닛(213)은 또한 실행 프로그램에 의해 지시되는 바와 같은 다른 작업을 실행한다. 흐름도는 다운로드 처리에 관련된 동작만을 도시한다.) 운행되고 있는 프로그램은 부팅 상태(801)에서 로드되었던 것(또는, 다운로드 처리의 제1 위상 동안에 이미 상주하고 있는 것으로 발견된 것)이다. 이는 질문 메시지의 분석이 로드가능한 프로그램에 상주하고 있음을 의미한다. 그러므로, 분석은 복잡한 방법으로 이루어지고 단순한 SW 변화에 의해 수정될 수 있다. 한마디로 말하면, 이것은 동적으로 로드가능한 제어 프로그램의 모든 탄력성을 나타낸다.
다른 점에서, 도 7의 흐름은 도 6의 흐름과 유사하다. 시작 상태로의 설정 명령(단계 309) 이후에 도착되는 첫 번째 메시지는 단계(711)에서 수신되는 질문이다. 단계(713)에서 서브유닛(213)은 단계(613)에 대해 상술된 방법으로 부팅 상태 대답을 선택적으로 제시한다. 이는 시작 상태(803)에서 실행되는 프로그램이 다운로드 처리의 제1 위상 동안에 사용되기 위해 응답을 제공하는 옵션을 갖도록 행해진다.
다음에는 단계(715)에서, 서브유닛(213)이 시작 상태 대답을 제시한다. 이 작동은 선택적인 것이 아니다. 시작 상태 응답의 제시는 전체적으로 부트 위상에서 다운로드되었던(또는 이미 로드된 것으로 발견된) 프로그램에 의존한다. 이 단계는 제공된 서브파일(921-j)을 수용하는가 여부(시작 상태 대답 = 원하여지는) 또는 제공된 서브파일(921-j)이 이미 로드되거나 (다시 로드될 수 있는) 다운로드되는 것이 금지되었나를 나타내는가 여부에 관한 결정에 이르는 기능을 실행할 수 있다. 예를 들면, 서브유닛(213)은 BTS 종류, 서브유닛 변형, 및 서브유닛 클래스를 고려하여 서브파일의 유효성에 대한 함수로 시작 상태 대답을 유도한다. 서브유닛(213)은 또한 제공된 서브파일(921-j)의 버전 번호를 고려한다: 이것이 현재 로드되어 있는 버전(만약 있다면)과 같은가, 더 낮은가, 또는 더 높은가 여부를 고려한다. 사용될 수 있는 다른 가능한 정보는 제공된 버전이 다른 서브파일 - BTS(203-x)의 다른 서브유닛에 위치하는 서브파일까지도-의 버전과 호환가능한가 여부에 관한 정보이다(이 정보를 결정하기 위해서는 내부 네트워크(214-x)가 사용된다).
시작 상태 대답을 제시한 후에 실행은 단계(717)로 진행되고, 여기서 시작 상태 대답 및 선택적인 부팅 상태 응답은 BSC(201)로 전달되는 응답으로 부호화된다. 본 발명의 바람직한 실시예에 따라, 응답은 현재 상태에 대한 응답 유지 전용인 슬롯(slot)과, 다른 상태에 대한 응답 유지 전용인 제2 슬롯을 갖도록 부호화된다. 그래서, 서브유닛(213)이 현재 시작 상태(803)에 있으므로, 시작 상태 대답은 현재 상태에 할당된 응답 슬롯으로 부호화되고, 부팅 상태 응답은 다른 상태에 할당된 응답 슬롯에 놓이게 된다.
서브유닛(213)은 메시지를 대기하도록 복귀되고(단계 701), 부팅 상태(801)에 대해 상술된 바와 같이 동작한다(도 6을 참조). 즉, 서브파일(921-j)이 도착될 때, 서브유닛(213)은 단계(607) 및 (609)에 대해 상술된 바와 같이 이를 처리하여 저장한다(단계 707 및 709).
새로운 질문 메시지가 도착되면, 이는 상술된 바와 같이 단계(711) 내지 (717)에 의해 처리된다.
패키지의 종료 표시가 도착되면(단계(313)에서 BSC(201)에 의해 전달되는), 이는 수신되고, 서브유닛(213)은 메모리에 지금 로드된 프로그램 중 만약 있다면 어느 것이 시작되어야 하는가를 결정하도록 특정 응용 루틴을 사용한다(단계 703 내지 704). 그러나, 서브유닛(213)의 상태는 변하지 않고 남아있고, 단계(706)의 결정시 운행되는 어떠한 루틴이든 다음의 메시지 대기를 재시작하기 위해 단계(701)가 실행되도록 보장한다. 즉, 현재 실행되는 프로그램으로부터 제어를 인계받은 새로운 프로그램은 도 7에서 설명되는 단계를 실행할 수 있어야 한다.
부팅 상태로 설정 명령이 도착되면, 서브유닛(213)은 그 명령을 수신하고(단계 705), 상주 부트스트랩 프로그램의 실행을 시작한다(단계 706). 다른 방법으로, 서브유닛(213)은 상주 부트스트랩 프로그램을 에뮬레이트한 응용 프로그램의 실행을 시작할 수 있다. 어떠한 경우에도 서브유닛(213)의 상태는 도 6에서 입력 지점 2로의 전이에 의해 도시되는 바와 같이, 부팅 상태(801)로 변한다.
본 발명의 또 다른 특성으로, BTS(203-x)내의 서브유닛(213-x-i) 중 단 하나만이 서브파일(921-j)가 로드되는 것을 허용한다. 나머지 서브유닛(213-x-y) (2≤y≤mx)은 부팅 상태(801) 또는 시작 상태(803)에 있는가 여부에 관계없이 각 질문에 응답해 항상 금지된 상태로 대답한다. 본 예에서는 제1 서브유닛(213-x-1)이 BTS(203-x)에 대한 모든 서브파일(921)을 수신하고, 내부 네트워크(914-x)를 통해 다른 서브유닛(213-x-y)으로 이를 분배하는 것을 담당한다.
본 발명의 또 다른 특성에 따라, 다운로드 처리의 위상 수는 변할 수 있다. 즉, 이는 단 하나의 질문 처리(서브파일(921) 당 하나의 질문)로 줄어들거나, 3개 이상의 위상으로 증가될 수 있다. 본 발명은 한 하나의 위상 동안에 모든 파일 전달을 실행하고, 모든 다른 다운로드 위상 동안에는 서브유닛(213)이 제공된 모든 서프파일(921-j)을 거절하게 함으로서 위상의 수를 단 하나로 효과적으로 줄이는 가능성을 포함함을 주목한다.
더욱이, 위상의 수는 BTS 서브유닛(213)으로부터 수신된 응답 정보를 근거로 동적으로 변할 수 있다. 이는 또한 헤더 파일에서 파일 개정 식별자(931-j) 당 가능하게 부가되는 정보를 근거로 할 수 있다.
본 발명의 또 다른 실시예에서는 서브유닛(213-x-i)이 순차적으로 처리되지 않아도 된다. 또한, BSC(201)는 일부 또는 모든 서브유닛(213)에 평행하게 질문을 전달할 수 있다.
본 발명의 또 다른 실시예에서, BSC(201)는 다음의 서브파일(921-(j+1))에 대한 질문을 전달하기 전에 첫 번째 서브파일(921-j)에 대해 서브유닛(213-x)으로부터 응답을 대기할 필요가 없다. 대신에, BSC(201)는 파일 개정 식별자(931)의 전체 목록을 서브유닛(213-x-i)으로 한 번에 모두 전달할 수 있다. 이는 서브유닛(213-x-i)이 특정한 서브파일(921)을 수신하는데 관여하기 전에 전체적인 목록을 충분히 판독하는 것을 허용하는 이점을 갖는다. 종래 기술에 숙련된 자는 본 발명의 이러한 다른 방법의 실시예를 이루도록 도 3 내지 도 7의 모범적인 실시예를 용이하게 수정할 수 있다. 예를 들면, BSC(201)가 각 파일 개정 식별자(931)를 서브유닛(213-x-i)로 전달하고, 패키지의 종료 표시가 이어져, 서브유닛(213-x-i)이 모든 파일 개정 식별자(931)를 수신하였음을 알게하는 루틴이 설계될 수 있다. 패키지의 종료 표시가 수신되면, 서브유닛(213-x-i)은 목록을 충분히 판독하여 선택하고 응답으로 이를 부호화한다. 그 응답이 수신되면, BSC(201)는 상술된 바와 같이 요구되는 서브파일(921)을 검색하여 전달할 수 있다.
상술된 바와 같이, 본 발명은 다운로드 소프트웨어에 관한 종래 기술의 방법에 걸쳐 복수의 이점을 갖는다. 예를 들면, 이는 소프트웨어 패키지가 수개의 서브파일로 구성된다는 사실과, 또한 각각이 BTS(203-x)의 다른 서브유닛(213-x-i)에서 종료되는 수개의 운송 경로에 걸쳐 다운로드가 일어날 수 있는 가능성 모두를 고려한다.
더욱이, 본 발명은 서브유닛과 서브파일간에 일 대 일 대응을 요구하지 않는다. 본 발명의 기술은 서브유닛이 제공된 서브파일을 거절하거나 수용하는 것을 허용하기 때문에, 서브파일은 한 서브유닛의 요구사항에 의존하지 않는 패키지로 그룹화될 수 있다.
본 발명은 특정한 실시예를 참조로 설명되었다. 그러나, 종래 기술에 숙련된 자에게는 상술된 바람직한 실시예 이외의 특정한 형태로 본 발명을 구체화할 수 있음이 용이하게 명백해진다. 이는 본 발명의 의도에서 벗어나지 않고 실행될 수 있다. 바람직한 실시예는 단순히 설명을 위한 것으로, 어떠한 방법으로든 제한되게 고려되어서는 않된다. 본 발명의 범위는 선행하는 설명 보다는 첨부된 청구항에 의해 주어지고, 청구항의 범위내에 드는 모든 변형 및 동등한 것은 이에 포함되도록 의도된다.

Claims (16)

  1. 제2 노드에 연결된 제1 노드를 포함하는 네트워크화된 시스템에서 원하는 하나 이상의 소프트웨어 파일을 제2 노드에 공급하는 방법에 있어서:
    제1 노드에서, 복수의 소프트웨어 파일 중 대응하는 하나를 식별하는 각 소프트웨어 파일 식별자의 목록을 포함하는 메뉴를 검색하는 단계;
    소프트웨어 파일 식별자의 목록을 제1 노드에서 제2 노드로 전달하는 단계;
    제2 노드에서, 각 소프트웨어 파일 식별자를 조사하고, 각 소프트웨어 파일 식별자에 대해 복수의 소프트웨어 파일 중 대응하는 하나가 원하여지는 것이거나 원하여지지 않는 것이라는 표시를 포함하는 응답을 형성하는 단계;
    응답을 제2 노드에서 제1 노드로 전달하는 단계;
    제1 노드에서, 응답을 조사하고 복수의 소프트웨어 파일 중 제2 노드에서 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색하는 단계; 및
    검색된 소프트웨어 파일을 제1 노드에서 제2 노드로 전달하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 복수의 소프트웨어 파일 중 대응하는 것이 원하여지지 않는다는 표시는 복수의 소프트웨어 파일 중 대응하는 것이 제2 노드에 이미 로드되어 있다는 표시이거나, 복수의 소프트웨어 파일 중 대응하는 것이 제2 노드에 로드되는 것을 금지한다는 표시중 하나인 방법.
  3. 제1항에 있어서,
    상기 네트워크화된 시스템은 셀방식 전화 시스템, 상기 제1 노드는 베이스 스테이션(base station) 제어기, 및 상기 제2 노드는 베이스 송수신기 스테이션이고;
    상기 베이스 스테이션 제어기는 복수의 소프트웨어 파일을 저장하기 위한 저장 수단을 포함하고; 및
    제1 노드에서, 복수의 소프트웨어 파일 중 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색하는 단계는 복수의 소프트웨어 파일 중 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 국부 저장 수단으로부터 검색하는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    상기 네트워크화된 시스템은 셀방식 전화 시스템이고, 상기 제1 노드는 베이스 스테이션(base station) 제어기이고, 및 상기 제2 노드는 베이스 송수신기 스테이션이고; 및
    상기 제1 노드에서, 복수의 소프트웨어 파일 중 상기 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색하는 단계는:
    복수의 소프트웨어 파일 중 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것에 대한 요구를 제1 노드에서 동작 지지 시스템으로 전달하는 단계;
    상기 동작 지지 시스템에서, 요구되는 소프트웨어 파일을 검색하는 단계; 및
    상기 검색된 소프트웨어 파일을 동작 지지 시스템에서 제1 노드로 전달하는 단계를 포함하는 방법.
  5. 제1항에 있어서,
    상기 소프트웨어 파일 식별자의 목록을 제2 노드로 전달하는 단계는:
    a) 현재 소프트웨어 파일 식별자로 사용하도록 첫 번째 소프트웨어 파일 식별자를 소프트웨어 파일 식별자의 목록으로부터 선택하는 단계;
    b) 현재의 소프트웨어 파일 식별자를 제1 노드에서 제2 노드로 전달하는 단계;
    c) 제2 노드로부터 응답을 대기하는 단계;
    d) 제2 노드로부터 응답을 수신한 후에, 현재 소프트웨어 파일 식별자로 사용하도록 다음의 소프트웨어 파일 식별자를 소프트웨어 파일 식별자의 목록으로부터 선택하는 단계; 및
    e) 소프트웨어 파일 식별자의 목록내의 각 소프트웨어 파일 식별자가 제1 노드에서 제2 노드로 전달될 때까지 단계 b) 내지 d)를 반복하는 단계를 포함하는 방법.
  6. 제5항에 있어서,
    상기 단계 d)는:
    제2 노드로부터 응답을 수신한 후에, 응답이 제1 노드에서 조사되는 것을 대기하는 단계;
    복수의 소프트웨어 파일 중 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것이 제1 노드에서 검색되는 것을 대기하는 단계;
    검색된 소프트웨어 파일이 제1 노드에서 제2 노드로 전달되는 것을 대기하는 단계; 및
    현재 소프트웨어 파일 식별자로 사용하도록 다음의 소프트웨어 파일 식별자를 소프트웨어 파일 식별자의 목록으로부터 선택하는 단계를 포함하는 방법.
  7. 제2 노드에 연결된 제1 노드를 포함하는 네트워크화된 시스템에서, 원하는 하나 이상의 소프트웨어 파일을 제2 노드에 공급하는 방법에 있어서:
    제1 노드에서, 복수의 소프트웨어 파일 중 대응하는 하나를 식별하는 각 소프트웨어 파일 식별자의 목록을 포함하는 메뉴를 검색하는 단계;
    소프트웨어 파일 식별자의 목록을 제1 노드에서 제2 노드로 전달하는 단계;
    제2 노드에서, 각 소프트웨어 파일 식별자를 조사하도록 상주 프로그램을 이용하고, 각 소프트 파일 식별자에 대해 복수의 소프트 파일 중 대응하는 하나가 둘 중 하나로 원하여지거나 원하여지지 않은가 여부의 제1 표시를 포함하는 제1 응답을 형성하는 단계;
    제1 응답을 제2 노드에서 제1 노드로 전달하는 단계;
    제1 노드에서, 제1 응답을 조사하고 복수의 소프트웨어 파일 중 제2 노드에서 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색하는 단계;
    검색된 소프트웨어 파일을 제1 노드에서 제2 노드로 전달하는 단계;
    제2 노드에서, 제1 노드로부터 수신된 소프트웨어 파일의 실행을 시작하는 단계;
    제2 시간 동안에 소프트웨어 파일 식별자의 목록을 제1 노드에서 제2 노드로 전달하는 단계;
    제2 노드에서, 각 소프트웨어 파일 식별자를 조사하도록 제1 노드로부터 수신되었던 실행 소프트웨어 파일을 이용하고, 각 소프트 파일 식별자에 대해 복수의 소프트 파일 중 대응하는 하나가 원하여지는 것이거나 원하여지지 않는 것이라는 제2 표시를 포함하는 제2 응답을 형성하는 단계;
    제2 응답을 제2 노드에서 제1 노드로 전달하는 단계;
    제1 노드에서, 제2 응답을 조사하고 복수의 소프트웨어 파일 중 제2 노드에서 원하여지는 것으로 제2 응답에서 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색하는 단계; 및
    제1 노드에서 제2 응답을 조사한 결과로 검색되었던 소프트웨어 파일을 제1 노드에서 제2 노드로 전달하는 단계를 포함하는 방법.
  8. 제7항에 있어서,
    복수의 소프트웨어 파일 중 대응하는 것이 원하여지지 않는다는 상기 제1 및 제2 표시 각각은 복수의 소프트웨어 파일 중 대응하는 것이 제2 노드에 이미 로드되어 있다는 표시이거나, 복수의 소프트웨어 파일 중 대응하는 것이 제2 노드에 로드되는 것을 금지한다는 표시중 하나인 방법.
  9. 제2 노드에 연결된 제1 노드를 포함하는 네트워크화된 시스템에서 원하는 하나 이상의 소프트웨어 파일을 제2 노드에 공급하는 장치에 있어서:
    상기 제1 노드에서:
    복수의 소프트웨어 파일 중 대응하는 하나를 식별하는 각 소프트웨어 파일 식별자의 목록을 포함하는 메뉴를 검색하는 수단; 및
    소프트웨어 파일 식별자의 목록을 제1 노드에서 제2 노드로 전달하는 수단;
    상기 제2 노드에서:
    각 소프트웨어 파일 식별자를 조사하고, 각 소프트웨어 파일 식별자에 대해 복수의 소프트 파일 중 대응하는 하나가 원하여지는 것이거나 또는 원하여지지 않는것이라는 여부의 표시를 포함하는 응답을 형성하는 수단; 및
    상기 응답을 제2 노드에서 제1 노드로 전달하는 수단을 포함하고,
    상기 제1 노드는:
    응답을 조사하고 복수의 소프트웨어 파일 중 제2 노드에서 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색하는 수단; 및
    검색된 소프트웨어 파일을 제1 노드에서 제2 노드로 전달하는 수단을 더 포함하는 장치.
  10. 제9항에 있어서,
    복수의 소프트웨어 파일 중 대응하는 것이 원하여지지 않는다는 상기 표시는 복수의 소프트웨어 파일 중 대응하는 것이 제2 노드에 이미 로드되어 있다는 표시이거나, 복수의 소프트웨어 파일 중 대응하는 것이 제2 노드에 로드되는 것을 금지한다는 표시중 하나인 장치.
  11. 제9항에 있어서,
    상기 네트워크화된 시스템은 셀방식 전화 시스템이고, 상기 제1 노드는 베이스 스테이션 제어기이고, 및 상기 제2 노드는 베이스 송수신기 스테이션이고;
    상기 베이스 스테이션 제어기가 복수의 소프트웨어 파일을 저장하기 위한 저장 수단을 포함하고; 및
    제1 노드에서, 복수의 소프트웨어 파일 중 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색하는 수단은 복수의 소프트웨어 파일 중 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 국부 저장 수단으로부터 검색하는 수단을 포함하는 장치.
  12. 제9항에 있어서,
    상기 네트워크화된 시스템은 상기 제1 노드에 연결된 동작 지지 시스템을 더 포함하는 셀방식 전화 시스템이고;
    상기 제1 노드는 베이스 스테이션 제어기이고;
    상기 제2 노드는 베이스 송수신기 스테이션이고;
    상기 제1 노드에서, 복수의 소프트웨어 파일 중 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색하는 수단은 복수의 소프트웨어 파일 중 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것에 대한 요구를 제1 노드에서 동작 지지 시스템으로 전달하는 수단을 포함하고; 및
    상기 동작 지지 시스템은:
    요구되는 소프트웨어 파일을 검색하는 수단; 및
    검색된 소프트웨어 파일을 동작 지지 시스템에서 제1 노드로 전달하는 수단을 포함하는 장치.
  13. 제9항에 있어서,
    상기 소프트웨어 파일 식별자의 목록을 상기 제2 노드로 전달하는 수단은:
    현재 소프트웨어 파일 식별자로 사용하도록 첫 번째 소프트웨어 파일 식별자를 소프트웨어 파일 식별자의 목록으로부터 선택하는 수단;
    현재의 소프트웨어 파일 식별자를 상기 제1 노드에서 상기 제2 노드로 전달하는 수단;
    상기 제2 노드로부터 응답을 대기하는 수단; 및
    상기 제2 노드로부터의 응답 수신에 응답하여, 현재 소프트웨어 파일 식별자를 상기 제1 노드에서 상기 제2 노드로 전달하는 수단에 의해 현재 소프트웨어 파일 식별자로 사용하도록 다음의 소프트웨어 파일 식별자를 소프트웨어 파일 식별자의 목록으로부터 선택하는 수단을 포함하는 장치.
  14. 제9항에 있어서,
    상기 소프트웨어 파일 식별자의 목록을 상기 제2 노드로 전달하는 수단은:
    현재 소프트웨어 파일 식별자로 사용하도록 첫 번째 소프트웨어 파일 식별자를 소프트웨어 파일 식별자의 목록으로부터 선택하는 수단;
    현재의 소프트웨어 파일 식별자를 상기 제1 노드에서 상기 제2 노드로 전달하는 수단;
    조사 및 검색 수단과 검색된 소프트웨어 파일을 상기 제1 노드에서 상기 제2 노드로 전달하는 수단에 연결되어, 복수의 소프트웨어 파일 중 상기 제2 노드에 의해 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것이 검색되어 상기 제1 노드에서 상기 제2 노드로 전달되는 것을 대기하고, 대기가 완료될 때 출력을 발생하는 대기 수단; 및
    상기 대기 수단의 출력에 응답하여, 현재 소프트웨어 파일 식별자를 상기 제1 노드에서 상기 제2 노드로 전달하는 수단에 의해 현재 소프트웨어 파일 식별자로 사용하도록 다음의 소프트웨어 파일 식별자를 소프트웨어 파일 식별자의 목록으로부터 선택하는 수단을 포함하는 장치.
  15. 제2 노드에 연결된 제1 노드를 포함하는 네트워크화된 시스템에서 원하는 하나 이상의 소프트웨어 파일을 제2 노드에 공급하는 장치에 있어서:
    상기 제1 노드에서:
    각 소프트웨어 파일 식별자가 복수의 소프트웨어 파일 중 대응하는 하나를 식별하는 경우에, 소프트웨어 파일 식별자의 목록을 포함하는 메뉴를 검색하는 수단; 및
    소프트웨어 파일 식별자의 목록을 상기 제1 노드에서 상기 제2 노드로 전달하는 수단;
    상기 제2 노드에서:
    각 소프트웨어 파일 식별자를 조사하도록 상주 프로그램을 이용하고, 각 소프트 파일 식별자에 대해 복수의 소프트 파일 중 대응하는 하나가 원하여지는 것이거나 또는 원하여지지 않는 것이라는 제1 표시를 포함하는 제1 응답을 형성하는 수단; 및
    상기 제1 응답을 상기 제2 노드에서 상기 제1 노드로 전달하는 수단을 포함하고,
    상기 제1 노드는:
    상기 제1 응답을 조사하고 복수의 소프트웨어 파일 중 상기 제2 노드에서 원하여지는 것으로 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색하는 수단;
    검색된 소프트웨어 파일을 상기 제1 노드에서 상기 제2 노드로 전달하는 수단; 및
    제2 시간 동안에 소프트웨어 파일 식별자의 목록을 상기 제1 노드에서 상기 제2 노드로 전달하는 수단을 더 포함하고,
    상기 제2 노드는:
    상기 제1 노드로부터 수신된 소프트웨어 파일의 실행을 시작하는 수단;
    각 소프트웨어 파일 식별자를 조사하도록 상기 제1 노드로부터 수신되었던 실행 소프트웨어 파일을 이용하고, 각 소프트 파일 식별자에 대해 복수의 소프트 파일 중 대응하는 하나가 원하여지는 것이거나 또는 원하여지지 않는 것이라는 제2 표시를 포함하는 제2 응답을 형성하는 수단; 및
    상기 제2 응답을 상기 제2 노드에서 상기 제1 노드로 전달하는 수단을 더 포함하고,
    상기 제1 노드는:
    상기 제2 응답을 조사하고 복수의 소프트웨어 파일 중 상기 제2 노드에서 원하여지는 것으로 상기 제2 응답에서 표시되었던 소프트웨어 파일 식별자에 대응하는 것을 검색하는 수단; 및
    상기 제1 노드에서 상기 제2 응답을 조사한 결과로 검색되었던 소프트웨어 파일을 상기 제1 노드에서 상기 제2 노드로 전달하는 수단을 더 포함하는 장치.
  16. 제15 항에 있어서,
    복수의 소프트웨어 파일 중 대응하는 것이 원하여지지 않는다는 상기 제1 및 제2 표시 각각은 복수의 소프트웨어 파일 중 대응하는 것이 제2 노드에 이미 로드되어 있다는 표시이거나 또는 복수의 소프트웨어 파일 중 대응하는 것이 제2 노드에 로드되는 것을 금지한다는 표시인 장치.
KR1019970705076A 1995-01-30 1996-01-30 소프트웨어의 다운로드 방법 및 장치 KR19980701680A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38079495A 1995-01-30 1995-01-30
US8/380794 1995-01-30

Publications (1)

Publication Number Publication Date
KR19980701680A true KR19980701680A (ko) 1998-06-25

Family

ID=23502472

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970705076A KR19980701680A (ko) 1995-01-30 1996-01-30 소프트웨어의 다운로드 방법 및 장치

Country Status (10)

Country Link
EP (1) EP0807363B1 (ko)
JP (1) JPH11501136A (ko)
KR (1) KR19980701680A (ko)
CN (1) CN1089538C (ko)
AU (1) AU702231B2 (ko)
CA (1) CA2211733A1 (ko)
DE (1) DE69632031D1 (ko)
FI (1) FI973143A (ko)
RU (1) RU2155372C2 (ko)
WO (1) WO1996024231A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000076612A (ko) * 1999-02-09 2000-12-26 포만 제프리 엘 개인용 컴퓨터의 소프트웨어의 설치를 위한 시스템과 방법
KR100531843B1 (ko) * 2002-12-03 2005-12-02 엘지전자 주식회사 무선운용국 프로그램 로딩 장치 및 운용방법
KR101458490B1 (ko) * 2006-09-15 2014-11-07 톰슨 라이센싱 콘텐츠 배포 시스템용 파일 수리 방법

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU713402B2 (en) * 1996-02-12 1999-12-02 British Telecommunications Public Limited Company Telephone system
US6349204B1 (en) 1996-02-12 2002-02-19 British Telecommunications Public Limited Company Provision of telecommunications control program data pursuant to preliminary data exchange between system elements
WO1997029606A1 (en) * 1996-02-12 1997-08-14 British Telecommunications Public Limited Company Telephone system
US5809251A (en) * 1996-10-09 1998-09-15 Hewlett-Packard Company Remote installation of software by a management information system into a remote computer
US6023585A (en) * 1997-05-02 2000-02-08 Webtv Networks, Inc. Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices
JP3489983B2 (ja) * 1997-12-26 2004-01-26 富士通株式会社 データ転送システム、端末装置、及びその方法
JPH11194943A (ja) * 1997-12-26 1999-07-21 Matsushita Electric Ind Co Ltd 送信装置および受信装置
DE19843324C2 (de) * 1998-09-22 2000-10-05 Nokia Networks Oy Verfahren und Vorrichtung zum Managen von mindestens einem Netzwerkelement in einem Telekommunikationsnetzwerk
US6289511B1 (en) * 1998-09-29 2001-09-11 Telephonaktiebolaget Lm Ericsson Method and system for distributing software in a telecommunications network
KR100332763B1 (ko) 1999-02-10 2002-04-17 구자홍 디지탈데이터 플레이어의 복제방지 장치 및 방법
US6986134B1 (en) 1999-03-16 2006-01-10 Sun Microsystems, Inc. Lightweight global distribution mechanism
EP1163592A1 (en) * 1999-03-18 2001-12-19 Kent Ridge Digital Labs Software distribution, execution and upgrading
US6609127B1 (en) 1999-06-09 2003-08-19 Amx Corporation Method for dynamically updating master controllers in a control system
GB2353918B (en) * 1999-09-03 2003-12-31 Ericsson Telefon Ab L M Access rights in a mobile communications system
KR100390867B1 (ko) * 2000-05-30 2003-07-10 주식회사 마이크로랩스 네트웍상에서 소프트웨어를 효율적으로 갱신하는 방법
US20020165976A1 (en) * 2001-05-02 2002-11-07 Jean-Charles Gonthier Software deployment in a data communications network
GB2376152B (en) * 2001-05-29 2003-10-08 Ericsson Telefon Ab L M Telecommunications system
GB0123861D0 (en) 2001-10-04 2001-11-28 Marconi Comm Ltd Comunications networks
SE0104080D0 (sv) * 2001-12-05 2001-12-05 Ericsson Telefon Ab L M A method and apparatus for negotiating mobile services
CN100393141C (zh) * 2002-01-25 2008-06-04 中兴通讯股份有限公司 移动通讯系统基站软件并行下载方法
CN1308812C (zh) * 2002-04-29 2007-04-04 上海广电信息产业股份有限公司 控制用户从网络下载软件的方法
CN100417251C (zh) * 2002-11-08 2008-09-03 中兴通讯股份有限公司 基于随路控制命令的数据下载方法
KR100693551B1 (ko) 2003-09-25 2007-03-14 주식회사 팬택앤큐리텔 소프트웨어의 부분 업데이트를 위한 통신단말기 및 통신네트워크 시스템, 소프트웨어의 부분 업데이트 방법 및 이를 위한 소프트웨어 생성 장치 및 방법
KR100571753B1 (ko) * 2004-07-13 2006-04-18 삼성전자주식회사 프로그램 업그레이드 기능을 가지는 무선 통신 시스템 및그의 프로그램 업그레이드 방법
EP1619904B1 (de) * 2004-07-23 2007-04-04 Alcatel Lucent Verfahren zum Erbringen von Diensten in einem Telekommunikationsnetz sowie Telekommunikationsnetz und Netzwerkknoten hierfür
DE602004020214D1 (de) 2004-08-05 2009-05-07 Sony Ericsson Mobile Comm Ab Softwareaktualisierung in einem tragbaren Funkkommunikationsgerät
CN100384283C (zh) * 2005-09-05 2008-04-23 上海华为技术有限公司 一种基站下载软件方法
EP1934720B1 (en) 2005-09-07 2018-02-14 Open Invention Network LLC Method and computer program for device configuration
US20080052368A1 (en) * 2006-08-28 2008-02-28 Sony Ericsson Mobile Communications Ab System and method to shuffle and refill content
EP1940184A4 (en) 2006-10-10 2009-09-02 Obshchestvo S Ogranichennoj Ot METHOD FOR MANAGING ADDITIONAL SERVICES IN MOBILITY COMMUNICATION NETWORKS
CN101111032B (zh) * 2007-08-31 2010-12-29 中兴通讯股份有限公司 下载软件的方法和系统
JP5216790B2 (ja) * 2010-01-29 2013-06-19 株式会社エヌ・ティ・ティ・ドコモ 移動通信システム、オペレーション装置及び移動通信方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4730187A (en) * 1986-02-18 1988-03-08 Motorola, Inc. Interface method and apparatus for a cellular system site controller
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
JPH03504175A (ja) * 1989-08-03 1991-09-12 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン データ処理ネツトワーク
SE513182C2 (sv) * 1991-06-12 2000-07-24 Icl Systems Ab Förfarande och system för att revidera data i ett distribuerat datasystem
FI101908B1 (fi) * 1992-04-01 1998-09-15 Nokia Telecommunications Oy Vikasietoinen muutostenjakomenetelmä hajautetussa tietokantajärjestelmässä

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000076612A (ko) * 1999-02-09 2000-12-26 포만 제프리 엘 개인용 컴퓨터의 소프트웨어의 설치를 위한 시스템과 방법
KR100531843B1 (ko) * 2002-12-03 2005-12-02 엘지전자 주식회사 무선운용국 프로그램 로딩 장치 및 운용방법
KR101458490B1 (ko) * 2006-09-15 2014-11-07 톰슨 라이센싱 콘텐츠 배포 시스템용 파일 수리 방법

Also Published As

Publication number Publication date
WO1996024231A1 (en) 1996-08-08
CA2211733A1 (en) 1996-08-08
FI973143A0 (fi) 1997-07-29
FI973143A (fi) 1997-09-29
RU2155372C2 (ru) 2000-08-27
EP0807363B1 (en) 2004-03-31
JPH11501136A (ja) 1999-01-26
DE69632031D1 (de) 2004-05-06
AU4637996A (en) 1996-08-21
AU702231B2 (en) 1999-02-18
EP0807363A1 (en) 1997-11-19
CN1179254A (zh) 1998-04-15
CN1089538C (zh) 2002-08-21

Similar Documents

Publication Publication Date Title
KR19980701680A (ko) 소프트웨어의 다운로드 방법 및 장치
US5654901A (en) Loading software into field test equipment
KR100566224B1 (ko) 무선 이동 단말기의 소프트웨어를 업그레이드하기 위한장치 및 방법
US6385770B1 (en) Software upgrade
US7350068B2 (en) Server blade network boot method that minimizes required network bandwidth
US6023620A (en) Method for downloading control software to a cellular telephone
US6289511B1 (en) Method and system for distributing software in a telecommunications network
US20040250245A1 (en) Network having customizable generators and electronic device having customizable updating software
EP1444593A1 (en) Method and apparatus for performing a software upgrade of a router while the router is online
US5991541A (en) Dynamically modifiable call processing methods and apparatus
WO2001084792A1 (en) Method and gateway for performing on line switching of software in a communication system
AU2721499A (en) Software upgrade
EP1338962A2 (en) Installation server
CN100496167C (zh) 支持宽带码分多址网络业务批量升级的装置、系统及方法
CN114257509A (zh) 模块升级方法及装置、存储介质及电子装置
KR970003972B1 (ko) CMS 시스템에서 기지국과 제어국간의 공통 데이타 초기로딩방법(Method for Loading of Common Data Initial in CDMA Mobile System)
KR100735234B1 (ko) 지능망 시스템에서 기능루틴과 서비스 프로그램간의인터페이스 방법 및 장치
EP1501012A1 (en) Software replacement method and related software replacement system
CN113542019A (zh) 转控分离分布式cp的升级方法及系统
JPH08297576A (ja) 局データローディング方式
JPH02274042A (ja) 集線装置システム
MXPA97005722A (es) Cargar software en equipo de prueba en campo
KR20040049196A (ko) 이동통신 시스템의 소프트웨어 로딩 방법 및 장치
JP2000194387A (ja) 音声認識・合成装置
AU6640398A (en) Method and apparatus for remotely upgrading control software in a cellular telephone

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee