KR20050077422A - 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법 - Google Patents

소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법 Download PDF

Info

Publication number
KR20050077422A
KR20050077422A KR1020040005288A KR20040005288A KR20050077422A KR 20050077422 A KR20050077422 A KR 20050077422A KR 1020040005288 A KR1020040005288 A KR 1020040005288A KR 20040005288 A KR20040005288 A KR 20040005288A KR 20050077422 A KR20050077422 A KR 20050077422A
Authority
KR
South Korea
Prior art keywords
software
version
checksum
folder
file
Prior art date
Application number
KR1020040005288A
Other languages
English (en)
Other versions
KR100582896B1 (ko
Inventor
서정수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020040005288A priority Critical patent/KR100582896B1/ko
Priority to US11/039,851 priority patent/US20050165760A1/en
Priority to CNB2005100061260A priority patent/CN1320455C/zh
Publication of KR20050077422A publication Critical patent/KR20050077422A/ko
Application granted granted Critical
Publication of KR100582896B1 publication Critical patent/KR100582896B1/ko

Links

Classifications

    • 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/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

본 발명은, 단말기에 탑재되어 필요에 따라 업그레이드되는 소프트웨어에 대한 이력정보를 관리하기 위한 자동 버전 관리 시스템 및 그 방법에 관한 것이다. 본 자동 버전 관리 시스템은, 소프트웨어를 구성하는 적어도 하나의 폴더와 파일에 대한 구조를 탐색하여 인덱싱을 수행하는 탐색모듈, 소프트웨어에 대한 버전, 파일속성, 체크섬, 버전 변경 이력 중 적어도 하나를 포함하는 소프트웨어 버전 정보를 저장하는 버전 관리 DB, 폴더와 파일에 대해 각각의 체크섬을 산출하는 체크섬 산출부, 버전 관리 DB에 저장된 이전 버전의 소프트웨어의 체크섬과, 버전업된 소프트웨어의 체크섬의 동일여부를 비교하여 변경된 폴더 및 파일 중 어느 하나를 추출하는 체크섬 비교부, 및 체크섬 비교부로부터의 비교결과 추출된 폴더 및 파일 중 어느 하나에 대한 정보를 버전 관리 DB에 저장하는 DB생성부를 포함한다. 이에 의해, 버전업된 소프트웨어의 변경된 폴더, 하위폴더, 파일을 간편하고 신속하게 파악할 수 있을 뿐만 아니라, 변경된 이력을 자동으로 DB화할 수 있으므로, 시간, 경비, 인력의 낭비를 최소화할 수 있을 뿐만 아니라, 생산성을 증대시키고 품질 저하를 방지할 수 있다.

Description

소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법{AUTO VERSION MANAGING SYSTEM AND METHOD FOR SOFTWARE}
본 발명은, 소프트웨어의 버전 업그레이드시 소프트웨어를 구성하는 각 폴더와 파일의 체크섬을 생성하고, 이전 버전의 소프트웨어를 구성하는 각 폴더와 파일의 체크섬과 비교하여 변경된 폴더와 파일을 선별하고, 선별된 폴더와 파일에 대한 정보를 자동으로 DB에 저장하여 버전 변경이력을 생성함으로써, 소프트웨어의 버전에 대한 변경이력의 관리를 효율적으로 수행할 수 있도록 하는 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법에 관한 것이다.
최근 급속한 정보화 기술의 발달로 인해 정보처리기기의 성능이 하루가 다르게 향상되는 추세에 있다. 그 중 대표적 정보처리기기인 컴퓨터의 경우, 마이크로칩의 처리능력이 18개월마다 2배로 늘어난다는 무어의 법칙에 따라, 컴퓨터의 처리속도와 메모리의 용량은 18개월에 2배씩 늘어나고 있다. 이렇게 컴퓨터의 성능이 빠르게 향상되고 있는 반면, 부품이 다양화됨에 따라 그 가격은 저렴해지고 있다. 이에 따라, 사용자는 컴퓨터를 구성하는 하드웨어를 지속적으로 업그레이드함으로써, 컴퓨터의 성능을 우수하고 안정적으로 유지하고자 한다.
이러한 하드웨어 뿐만 아니라 소프트웨어도 지속적으로 그 성능이 향상되며, 소프트웨어는 일반적으로 새로운 기능을 추가하거나, 이전에 출시되었던 버전에서 발견된 오류인 버그를 제거하기 위해 버전업(VERSION UP)된다. 일반적으로 소프트웨어의 개발사에서는 버전업된 소프트웨어를 다소 할인된 가격으로 제공하며, 이 때, 사용자가 자신이 이전 버전의 정식 사용자임을 입증하거나, 소프트웨어의 설치시 사용자의 컴퓨터에 이전 버전의 소프트웨어가 존재해야만 한다.
한편, 동일한 소프트웨어를 상품의 개발 단계 또는 순서에 따라 번호로 표시한 것을 버전이라고 하며, 해당 소프트웨어를 효율적으로 관리하기 위한 목적으로 사용한다. 일반적으로 버전은 소프트웨어의 개발중에 검증받을 목적으로 사용자에게 배포되는 α버전, β버전과, 개발이 완료되어 배포되는 정식버전이 있다. 정식버전의 버전번호는 점으로 구분된 두 개의 숫자 부분으로 구성되는데, 점 앞의 숫자를 주번호라고 하고 뒤의 숫자를 부번호라고 한다. 소프트웨어의 기능과 내용이 크게 변화된 경우에는 2.0 또는 3.0 등 주번호를 변경시키며, 이전의 제품에 있던 오류를 수정하는 정도로 기능 변화가 크지 않을 때는 1.1 또는 1.2 처럼 부번호를 바꾼다. 그러나, 버전을 꼭 주번호와 부번호를 갖는 두자리의 숫자로만 해야 되는 것은 아니다. 예를 들어, 운영체계인 MS-Windows의 경우에도 버전 3.1까지는 숫자를 사용했지만, 윈도우95부터는 제품이 출시된 연도를 붙이기 시작해서 후속 버전으로 윈도우98, 윈도우2000 등을 출시했으며, 그 이후에는 윈도우ME, 윈도우XP 등 계속적으로 버전의 부여 체계를 바꾸고 있다.
이렇게 소프트웨어가 하드웨어의 급속한 발전, 소비자의 요구 등 내부적, 외부적 필요에 따라 계속적으로 버전업됨에 따라, 소프트웨어의 개발사에서는 각 소프트웨어에 대해 버전업된 내용과 그 변경 이력 등을 체계적으로 관리할 필요가 생겼다.
종래에는 소프트웨어의 변경이력을 관리하기 위해, 개발자가 직접 이전 버전과 비교하여 변경된 폴더 또는 파일의 변경내용을 일일이 수작업으로 작성하거나, 툴(Tool)을 작동시켜 이전 버전과 이후 버전의 바이너리(Binary) 파일을 비교하여 변경된 파일을 찾아내도록 하였으며, 툴을 사용하는 경우에도 변경된 파일에 대한 정보, 버전업이 된 이유, 어떤 기능이 업그레이드되었는지 등에 대한 내용은 일일이 수작업으로 작성하여야 했다. 그런데, 일반적으로 소프트웨어의 크기는 일반적으로 작게는 수십 메가바이트(MB)에서 크게는 수 기가바이트(GB)에 이르며, 최소 하나의 폴더와, 그 하위에 수많은 파일로 이루어진다.
도 1은 복합기(MFP)를 지원하기 위한 복합기 드라이버의 폴더의 구조가 일부 디렉토리가 펼쳐진 상태로 도시한 것이다. 도 1을 참조하면, 복합기 드라이버는 다수의 폴더로 이루어져 있으며, 그 중 하나인 Driver 폴더의 하위에는 다시 CF-555P, SF-555P 폴더가 있고, 계속적으로 폴더를 펼쳐보면 결국 Driver 폴더는 5단계에 걸친 하부폴더를 가지고 있다는 것을 알 수 있다. 그리고 마지막 하위 폴더인 Win2K를 클릭하여 펼쳐보면, 창의 오른쪽에 나타난 바와 같이, 수 십개의 파일이 포함되어 있음을 알 수 있다. 이와 같이 하나의 소프트웨어는 여러 단계에 걸친 수십 수백개에 이르는 폴더와, 수많은 파일을 가진다.
따라서, 버전업된 소프트웨어의 이력관리를 위하여 이렇게 많은 파일을 일일이 수작업으로 비교한다는 것은 많은 시간과 비용이 든다는 문제점이 있다. 그리고 수작업으로 이력관리를 하는 만큼 개발자의 실수 또는 제조상의 실수로 인해 예기치 않은 파일 및/또는 폴더의 변경이 가능하며, 이 경우 소프트웨어의 품질이 저하될 수 있다는 문제점이 있다.
물론, 툴을 이용하여 바이너리 파일을 비교하는 방법은 수작업하는 양을 감소시킨다는 장점이 있기는 하나, 이 툴은 각 폴더의 가장 하위에 위치하는 모든 파일을 기존의 파일과 비교하여 바이너리파일이 변경되었는지를 파악하기 때문에, 수많은 파일을 모두 비교하는 데는 많은 시간과 비용이 소요될 수 밖에 없다. 더구나, 기존에 바이너리 파일을 비교하는 경우, 파일 속성, 사이즈, 업데이트 날짜, 파일버전 등 제한적인 정보만으로 바이너리 파일을 비교하기 때문에, 바이너리 파일이 변경되었음에도 불구하고 파일의 사이즈가 동일하거나 업데이트된 날짜가 동일한 경우에는 바이너리 파일의 변경을 찾아낼 수 없는 경우가 있다. 따라서 바이너리 파일을 비교하는 경우는 제한적인 정보만으로 파일을 비교하기 때문에 정확한 변경 이력의 관리가 어려웠다.
이에 따라, 지속적으로 버전업되는 소프트웨어의 이력을 간편하게 관리할 수 있는 방법을 모색함으로써, 종래에 소프트웨어의 이력관리에 소요되는 시간, 비용, 인력의 낭비를 감소시킬 수 있도록 해야 할 것이다.
따라서, 본 발명의 목적은, 소프트웨어의 버전 업그레이드시 소프트웨어를 구성하는 각 폴더와 파일의 체크섬을 생성하고, 이전 버전의 소프트웨어를 구성하는 각 폴더와 파일의 체크섬과 비교하여 변경된 폴더와 파일을 선별하며, 선별된 폴더와 파일에 대한 정보를 자동으로 DB에 저장하여 버전 변경 이력을 생성함으로써, 소프트웨어의 버전에 대한 변경이력의 관리를 효율적으로 수행하여 시간과 비용을 절감할 수 있도록 하는 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법을 제공하는 것이다.
이러한 목적을 달성하기 위한 본 발명의 구성은, 단말기에 탑재되어 필요에 따라 업그레이드되는 소프트웨어에 대한 이력정보를 관리하기 위한 자동 버전 관리 시스템에 있어서, 상기 소프트웨어를 구성하는 적어도 하나의 폴더와 파일에 대한 구조를 탐색하여 인덱싱을 수행하는 탐색모듈; 상기 소프트웨어에 대한 버전, 파일속성, 체크섬, 버전 변경 이력 중 적어도 하나를 포함하는 소프트웨어 버전 정보를 저장하는 버전 관리 DB; 상기 폴더와 파일에 대해 각각의 체크섬을 산출하는 체크섬 산출부; 상기 버전 관리 DB에 저장된 이전 버전의 소프트웨어의 체크섬과, 버전업된 소프트웨어의 체크섬의 동일여부를 비교하여 변경된 폴더 및 파일 중 어느 하나를 추출하는 체크섬 비교부, 및; 상기 체크섬 비교부로부터의 비교결과 추출된 폴더 및 파일 중 어느 하나에 대한 정보를 상기 버전 관리 DB에 저장하는 DB생성부를 포함하는 것을 특징으로 한다.
여기서, 상기 소프트웨어는, 상기 단말기에 탑재되는 O/S, 응용 프로그램, 디바이스 드라이버 중 적어도 하나를 포함하는 것이 바람직하다.
상기 체크섬 산출부에서는 버전업된 소프트웨어를 구성하는, 폴더, 하위폴더, 파일에 대해 각각 체크섬을 생성하며; 상기 체크섬 비교부는, 상기 폴더, 하위폴더, 파일의 순서에 따라 체크섬을 비교하여 변경된 폴더, 하위폴더, 파일을 추출하는 것이 바람직하다.
상기 DB생성부는, 상기 체크섬 비교부에 의해 추출된 폴더, 하위폴더, 파일의 버전 변경 이력을 포함하는 정보를 상기 소프트웨어의 버전 체계에 따라 분류하여 상기 버전 관리 DB에 저장할 수 있다.
한편, 상기 목적은, 본 발명의 다른 분야에 따르면, 단말기에 탑재되어 필요에 따라 업그레이드되는 소프트웨어에 대한 이력정보를 관리하기 위한 소프트웨어 버전 관리 방법에 있어서, 버전업된 소프트웨어를 구성하는 적어도 하나의 폴더와 파일에 대한 구조를 탐색하여 인덱싱을 수행하는 단계; 상기 버전업된 소프트웨어의 각 폴더와 파일에 대해 각각의 체크섬을 산출하는 단계; 이전 버전 소프트웨어의 체크섬과, 상기 버전업된 소프트웨어의 체크섬의 동일여부를 비교하여 변경된 폴더 및 파일 중 어느 하나를 추출하는 단계, 및; 상기 추출된 폴더 및 파일 중 어느 하나에 대한 버전, 파일속성, 체크섬, 버전의 변경 이력 중 적어도 하나를 포함하는 소프트웨어 버전 정보를 DB화하는 단계를 포함하는 것을 특징으로 하는 소프트웨어 버전 관리 방법에 의해서도 달성될 수 있다.
여기서, 상기 체크섬을 산출하는 단계는, 상기 버전업된 소프트웨어를 구성하는 폴더, 하위폴더, 파일에 대해 각각 체크섬을 생성하는 단계이며; 상기 변경된 폴더 또는 파일을 추출하는 단계는, 상기 폴더, 하위폴더, 파일의 순서에 따라 체크섬을 비교하여 변경된 폴더, 하위폴더, 파일을 순차적으로 추출하는 단계인 것이 바람직하다.
상기 DB화하는 단계는, 상기 추출된 폴더, 하위폴더, 파일의 버전 변경 이력을 포함하는 정보를 상기 소프트웨어의 버전 체계에 따라 분류하여 DB화하는 것이 바람직하다.
이하에서는 첨부도면을 참조하여 본 발명을 상세히 설명한다.
본 실시예에서 소프트웨어는, O/S, 응용 프로그램, 디바이스 드라이버 등 컴퓨터에 탑재될 수 있는 모든 종류의 프로그램을 포함한다. 여기서, O/S는, 개인용 컴퓨터 운영체제로서 개발된 CP/M, MS-DOS, Windows 등과, 슈퍼미니컴퓨터와 워크스테이션용으로 개발된 UNIX 시스템과, 새로이 개발된 VMS나 OS/2 등을 모두 포함한다. 그리고 응용 프로그램은, 아래아 한글, 마이크로소프트 워드, 훈민정음과 같은 워드 프로세서, 회계 등의 계산을 위한 엑셀, 그림 제작을 위한 포토샵, HTML문서를 작성하거나 소스를 보기위한 노트패드, 인터넷을 통한 정보의 표시를 지원하기 위한 익스플로러, 네비게이터 등을 포함한다. 디바이스 드라이버는, 디바이스를 운영체제에서 사용할 수 있도록 지원하는 소프트웨어로서, 프린터 드라이버, 사운드카드 드라이버, 그래픽카드 드라이버, 모니터 드라이버, CD-ROM 드라이버, USB 드라이버 등이 있다. 디바이스 드라이버는 컴퓨터에 디바이스를 연결할 때 설치해야 하며, 요즘에는 호환성을 갖는 디바이스에 대해서는 윈도우 자체에서 직접 드라이버를 지원하기도 한다.
도 2에는 이러한 소프트웨어에 대한 변경이력을 구축하기 위해 작동하는 소프트웨어 버전 자동 관리 시스템의 구성 블럭도가 도시되어 있다. 본 소프트웨어 버전 자동 관리 시스템은, 탐색모듈(10), 버전관리 DB(30), 체크섬 산출부(15), 체크섬 비교부(20), DB 생성부(25), 포메터(23)를 포함한다.
탐색모듈(10)은, 새로이 버전업된 소프트웨어가 CD나 디스켓 또는 네트워크상를 통해 제공되면, 입력된 소프트웨어를 읽어들이고, 소프트웨어를 구성하는 폴더 및 파일 구조를 파악하여 인덱싱한다. 즉, 탐색모듈(10)은, 도 1에 도시된 바와 같이, 버전업된 소프트웨어의 폴더, 다단계의 하부폴더, 파일 등의 디렉토리를 계층적 순서, 주제, 저자, 날짜, 파일 타입 등을 기준으로 인덱싱함으로써, 후술할 체크섬 비교부(20)에서 폴더, 하부폴더, 파일 등의 체크섬을 비교할 때, 버전업된 소프트웨어와 이전 버전 소프트웨어의 비교대상을 명확하고 간편하게 찾아낼 수 있도록 한다.
체크섬 산출부(15)는, 소프트웨어를 구성하는 폴더, 하위폴더, 파일 각각에 대해 비트 수를 카운트하여 폴더에 대한 체크섬, 하위폴더에 대한 체크섬, 파일에 대한 체크섬을 각각 산출한다. 원래 체크섬은 파일의 전송시 수신자가 데이터가 정확히 수신되었는지 판단하기 위해 사용되는 것으로서, 데이터의 전송단위인 패킷에 함께 전송되며, 수신자 컴퓨터에서는 패킷에 포함된 체크섬과, 수신자 컴퓨터에서 새로인 계산된 체크섬을 비교하여 두 체크섬이 일치하면 데이터가 정확히 수신되었다고 판단한다. 본 체크섬 산출부(15)에서 생성되는 체크섬은 버전업된 소프트웨어와 이전 버전의 소프트웨어 간에 변경된 폴더 또는 파일을 선별해내기 위해 사용된다. 체크섬 산출부(15)에서는 버전업된 소프트웨어의 각 폴더, 하위폴더, 파일에 대해 각각 체크섬을 산출한다.
체크섬 비교부(20)는, 버전관리 DB(30)에 저장된 이전 버전의 소프트웨어를 구성하는 폴더, 하위폴더, 파일에 대한 각각의 체크섬과, 버전업된 소프트웨어를 구성하는 폴더, 하위폴더, 파일에 대한 각각의 체크섬을 비교하여 변경된 폴더, 하위폴더, 파일을 추출한다. 이전 버전의 소프트웨어와 버전업된 소프트웨어의 체크섬을 비교할 때, 체크섬 비교부(20)는, 폴더→하위폴더→파일을 순서에 따라 체크섬을 비교한다. 체크섬 비교부(20)에서는 먼저, 이전 버전의 소프트웨어를 구성하는 최상위 폴더의 체크섬과, 버전업된 소프트웨어를 구성하는 최상위 폴더의 체크섬을 비교한다. 이 때, 최상위 폴더는 소프트웨어의 구성방식이나 크기에 따라 하나일 수도 있고 여러 개일 수도 있다. 체크섬 비교부(20)에서 이전 버전과 버전업된 소프트웨어의 최상위 폴더의 체크섬을 비교한 결과, 체크섬이 상이한 폴더가 발견된다면, 버전업된 소프트웨어의 해당 폴더는 수정된 것으로 볼 수 있다.
이렇게 버전업된 소프트웨어에서 수정된 폴더가 선별되면, 체크섬 비교부(20)에서는 버전업된 소프트웨어와 이전 버전 소프트웨어에서 수정된 폴더의 하위폴더에 대한 체크섬을 각각 인출하여 비교한다. 한편, 도 1에 도시된 바와 같이, 하나의 소프트웨어에는 다단계의 하위폴더가 형성될 수 있으며, 이에 따라, 체크섬 비교부(20)에서는 이전 버전의 소프트웨어와 버전업된 소프트웨어에 대해 하위폴더의 체크섬을 순차적으로 비교한다. 즉, 체크섬 비교부(20)에서는, 이전 버전의 소프트웨어와 버전업된 소프트웨어에서 제1단계에 속하는 각 하위폴더, 도 1을 예로 들면, CF-555P, SF-555P 폴더의 체크섬을 비교한다. 이 때, SF-555P 폴더의 체크섬이 이전 버전과 버전업된 소프트웨어 간에 상이하면, 체크섬 비교부(20)는 SF-555P 폴더를 선택한다. 그런 다음, 체크섬 비교부(20)에서는 이전 버전과 버전업된 소프트웨어에서 SF-555P 폴더의 하위폴더인 Chinese폴더, English폴더, French폴더, Korean폴더의 체크섬을 인출하여 비교한다. 이렇게 변경된 폴더의 하위폴더의 체크섬을 비교하는 과정을 반복하여 체크섬 비교부(20)에서는 최종적으로 변경된 하나 이상의 파일을 선별하게 된다.
이렇게 체크섬 비교부(20)에서 폴더와 하위폴더 및 파일의 계층에 따라 이전 버전의 소프트웨어의 체크섬과 버전업된 소프트웨어의 체크섬을 단계적으로 비교할 때, 이전 버전의 소프트웨어의 체크섬과 버전업된 소프트웨어의 체크섬이 동일한 폴더, 하위폴더, 파일의 하위계층에 대해서는 체크섬을 비교할 필요가 없다. 따라서, 이전 버전의 소프트웨어와 버전업된 소프트웨어의 폴더, 하위폴더, 파일과 비교한 다음, 변경된 폴더의 하위폴더, 변경된 하위폴더의 파일만을 체크섬 비교대상으로 선정하므로, 종래에서처럼 모든 파일의 바이너리 파일을 비교해야 할 때보다 체크섬을 비교해야 할 대상의 수가 상대적으로 아주 적어진다.
한편, 버전관리 DB(30)는, 소프트웨어의 출시버전인 1.0과 이후에 성능향상이나 버그의 제거를 위해 개발되었던 각 버전의 소프트웨어가 저장되어 있으며, 이와 함께, 소프트웨어의 각 버전에 대한 이력정보가 저장되어 있다.
버전관리 DB(30)는, 도 3에 도시된 바와 같이, 각 버전의 소프트웨어에 대해 각각 폴더, 하위폴더, 파일을 레코드로 설정하고 있다. 폴더와 하위폴더를 형성하는 레코드의 각 필드는, 각 폴더의 구분을 위한 폴더 인덱스 ID, 폴더 이름, 폴더 속성, 기록한 날짜, 체크섬, 해당 폴더에 연결된 하위폴더 인덱스 등으로 구성되어 있다. 여기서, 폴더 속성으로는, 도 4에 도시된 바와 같이, 폴더 종류, 폴더 위치, 폴더 사이즈, 폴더에 속해있는 하위폴더의 수와 파일의 수를 나타내는 폴더 내용, 폴더를 만든 날짜, 폴더가 읽기 전용인지 숨겨진 것인지를 나타내는 특성 등의 정보가 포함된다.
최하위 계층인 파일 레코드의 각 필드는, 각 파일의 구분을 위한 파일 인덱스 ID, 파일 이름, 파일 속성, 기록한 날짜, 파일 타입, 체크섬, 버전정보 구조, 링크된 상위폴더 ID 등으로 구성되어 있다. 여기서, 파일 속성으로는, 도 5에 도시된 바와 같이, 파일의 확장자명, 예를 들어, *.exe, *.com, *.dll, *.dat, *.bmp, *inf 등에 따른 파일 형식, 파일을 구동시키기 위한 연결 프로그램, 파일 크기, 할당된 크기, 만든 날짜, 수정한 날짜, 억세스한 날짜, 읽기 전용인지 숨긴 것인지 보관된 것인지를 나타내는 파일 특성 등의 정보가 포함된다. 한편, 파일의 레코드를 형성하고 있는 버전정보 구조는, 일반적으로 윈도우에서 실행가능한 파일이 가지는 버전 및 기타 정보를 말하며, 본 발명에서는 버전관리 DB(30)내에 저장되는 버전 정보, 체크섬, 시간, 속성을 비교하였을 때, 버전명명 체계를 미준수 하거나, 버전이 미변경되거나, 예고되지 않은 파일 변경인 경우를 판별할 수 있는 기준이 된다.
한편, 버전관리 DB(30)에는 소프트웨어의 버전이 업그레이드되면서 변경된 각 버전에 대해 이전 버전과 비교하여 변경된 폴더, 하위폴더, 파일에 대한 정보인 버전 변경이력이 저장된다. 즉, 버전관리 DB(30)에는, 체크섬 비교부(20)에 의해 이전 버전과 비교한 결과, 버전업된 소프트웨어에서 변경되었다고 판단된 폴더, 하위폴더, 파일에 대한 정보가 저장되며, 변경된 폴더, 하위폴더, 파일에 대한 정보로는 속성, 체크섬, 사이즈, 작성자, 특성, 형식 등이 포함된다. 이외에도 버전관리 DB(30)에는 소프트웨어의 버전이 업그레이드된 이유가 버그를 제거하기 위한 것이었다면, 어떤 버그가 어떤 폴더나 파일에 발생했는지, 어떻게 버그를 제거했는지에 대한 정보가 더 포함될 수 있으며, 이러한 정보는 작성자에 의해 직접 입력된다.
DB생성부(25)는, 체크섬 비교부(20)로부터의 비교결과에 따라 변경된 폴더, 하위폴더, 파일에 대한 정보를 버전관리 DB(30)에 저장하며, DB생성부(25)에서는 버전관리 DB(30)에 폴더, 하위폴더, 파일에 대한 정보를 저장시킬 때, 소프트웨어의 버전명명 체계에 준하여 정보의 저장순서를 결정한다. 일반적으로 소프트웨어의 버전명명 체계는 점으로 구분된 두 개의 숫자 부분으로 구성되는데, 점 앞의 숫자를 주번호라고 하고 뒤의 숫자를 부번호라고 한다. 소프트웨어의 기능과 내용이 크게 변화된 경우에는 2.0 또는 3.0 등 주번호를 변경시키며, 이전의 제품에 있던 오류를 수정하는 정도로 기능 변화가 크지 않을 때는 1.1 또는 1.2 처럼 부번호를 바꾼다. 이에 따라, DB생성부(25)에서는 버전의 번호가 작은 순서대로 소프트웨어의 버전을 배열하고, 각 버전에 대해 이전 버전에 비해 변경된 폴더, 하위폴더, 파일에 대한 정보를 저장한다. DB생성부(25)에서는 버전정보 구조를 파악하여 버전명명 체계를 미준수 하거나, 버전이 미변경되거나, 예고되지 않은 파일 변경인 경우에는 모니터나 프린터 등의 출력장치를 통해 사용자에게 에러메시지를 표시하도록 포메터(23)에 정보를 제공할 수 있다.
포메터(23)는, DB생성부(25) 등의 요청에 따라, 체크섬 비교부(20)에 의해 비교된 결과를 모니터에 표시하거나 프린터로 인쇄할 수 있도록 지원하는 모듈이다. 포메터(23)에서는 체크섬 비교부(20)에서 비교된 결과를 제공받아 일정한 형식에 맞춘 변경보고서를 모니터나 프린터로 출력하게 되며, 변경보고서에는 버전업된 소프트웨어에 대해 이전 버전의 소프트웨어와 비교하여 변경된 폴더, 하위폴더, 파일에 대한 정보가 포함된다.
이러한 구성에 의한 소프트웨어 버전 자동 관리 시스템을 이용하여 소프트웨어의 버전 이력정보를 자동으로 생성하는 과정을 도 6을 참조하여 살펴보면 다음과 같다.
본 소프트웨어 버전 자동 관리 시스템에, 외부로부터 CD, 디스켓, 네트워크 등을 이용하여 버전업된 소프트웨어가 제공되면(S710), 탐색모듈(10)에서는 버전업된 소프트웨어를 읽어들이고, 버전업된 소프트웨어의 폴더 및 파일구조를 파악하여 인덱싱한다(S720). 이러한 인덱싱과정을 통해 버전업된 소프트웨어의 폴더 및 파일구조가 순차적으로 인덱싱되면, 체크섬 산출부(15)에서는 인덱싱된 소프트웨어의 폴더, 하위폴더, 파일 각각에 대해 체크섬을 산출하여 체크섬 비교부(20)로 제공한다(S730).
체크섬 비교부(20)에서는, 버전관리 DB(30)로부터 이전 버전의 소프트웨어를 구성하는 각 폴더, 하위폴더, 파일의 체크섬에 대한 정보를 인출하고, 체크섬 산출부(15)로부터 버전업된 소프트웨어를 구성하는 폴더, 하위폴더, 파일의 체크섬을 제공받는다. 그런 다음, 체크섬 비교부(20)에서는, 이전 버전의 소프트웨어의 최상위 폴더들의 체크섬과, 체크섬 산출부(15)에서 제공받은 버전업된 소프트웨어의 최상위 폴더들의 체크섬을 비교한다(S740). 이 때, 체크섬이 상이한 최상위 폴더가 존재하는 경우(S750), 체크섬 비교부(20)에서는 버전업된 소프트웨어로부터 이전 버전과 상이한 체크섬을 갖는 최상위 폴더를 추출하고, 추출된 최상위 폴더에 대한 정보를 DB 생성부(25)로 제공한다(S760). 이렇게 체크섬이 상이한 최상위 폴더가 추출되면, 체크섬 비교부(20)에서는 추출된 최상위폴더의 하위폴더들에 대해 이전 버전의 소프트웨어와 버전업된 소프트웨어간에 체크섬을 비교한다(S740). 비교결과, 이전 버전과 체크섬이 상이한 하위폴더가 존재하면(S750), 체크섬 비교부(20)에서는 해당 하위폴더에 대한 정보를 DB 생성부(25)로 전달한다(S760). 그리고 체크섬 비교부(20)에서는, 해당 하위폴더의 하위계층인 또 다른 하위폴더들 또는 파일의 체크섬이 이전 버전 소프트웨어의 하위폴더들 또는 파일들과 체크섬이 상이한지 여부를 판단한다(S740). 버전업된 소프트웨어의 하위폴더나 파일 중 이전 버전과 상이한 체크섬을 갖는 하위폴더나 파일에 대해서는, 이전과 마찬가지로, 해당 하위폴더나 파일에 대한 정보를 추출하여 DB 생성부(25)로 제공한다(S750, S760). 체크섬 비교부(20)에서는 체크섬을 비교한 필드가 마지막 필드, 즉 파일인지를 판단하고(S770), 파일 단위까지 체크섬의 비교가 완료되면, 동작을 완료한다.
한편, 체크섬 비교부(20)에서는 최상위 폴더로부터 파일까지 다단계로 이전 버전과 버전업된 소프트웨어를 비교하면서, 어떠한 폴더 또는 하위폴더의 체크섬을 비교하였는지에 대한 정보와, 비교한 폴더 또는 하위폴더의 체크섬이 이전 버전과 상이한지 여부에 대한 정보를 생성함으로써, 다음 단계에서 체크섬을 비교할 하위폴더 또는 파일을 선별할 수 있도록 한다. 이 때 생성된 정보는 필요에 따라 버전관리 DB(30)에 저장될 수도 있다.
이렇게 체크섬 비교부(20)에서는 최상위 폴더로부터 파일까지 다단계에 걸쳐 체크섬을 비교하며, 이전 버전과 상이한 체크섬을 갖는 폴더 또는 하위폴더의 하위계층에 대해서만 체크섬을 비교하도록 한다. 따라서, 소프트웨어를 구성하는 모든 파일의 변경여부를 검사하는 것이 아니라, 변경가능성이 있는 폴더, 하위폴더, 파일의 변경여부만을 검사하게 된다.
체크섬 비교부(20)에서 이전 버전의 소프트웨어와 상이한 폴더, 하위폴더, 파일에 대한 정보가 추출되면, 추출된 정보는 실시간으로 DB 생성부(25)로 전달된다. DB 생성부(25)에서는 해당 소프트웨어의 버전체계에 따라 변경된 폴더, 하위폴더, 파일에 대한 정보를 버전관리 DB(30)에 저장함으로써, 버전 변경 이력을 생성하게 된다.
이와 같이, 본 소프트웨어 버전 자동 관리 시스템에서는, 버전업된 소프트웨어를 폴더 및 파일구조를 파악하여 인덱싱하고, 각 폴더, 하위폴더, 파일에 대한 체크섬을 산출한다. 그런 다음, 버전업된 소프트웨어를 구성하는 폴더, 하위폴더, 파일에 대한 체크섬과, 이전 버전 소프트웨어를 구성하는 폴더, 하위폴더, 파일의 체크섬을 비교하여 변경된 폴더, 하위폴더, 파일을 선별하도록 한다. 이 때, 체크섬이 변경된 폴더, 하위폴더, 파일은 내용이 수정된 것으로 판단하며, 이렇게 내용이 변경된 폴더, 하위폴더, 파일에 대한 정보를 버전체계에 따라 버전관리 DB(30)에 저장하여 변경이력을 생성하게 된다.
이에 따라, 본 소프트웨어 버전 자동 관리 시스템을 이용함으로써, 버전업된 소프트웨어의 변경된 폴더, 하위폴더, 파일을 간편하고 신속하게 파악할 수 있을 뿐만 아니라, 변경된 이력을 자동으로 DB화할 수 있다. 또한, DB화에 따라 변경이력의 역추적도 가능해진다. 따라서, 기존에 수작업이나 제한된 항목만을 비교할 수 있었던 툴로 버전관리 작업을 함에 따라 소모되었던 시간, 경비, 인력의 낭비를 최소화할 수 있으므로, 생산성을 증대시킬 수 있다. 뿐만 아니라, 수작업이나 툴을 이용하면서 발생할 수 있는 작업자의 실수나 완전하지 못한 툴에 의한 불완전한 결과를 방지함으로써, 품질 저하를 방지할 수 있다.
이와 같이, 본 발명의 상세한 설명에서는 구체적인 실시형태에 관해 설명하였으나, 이는 예시적인 것으로 받아들여져야 하며, 본 발명의 기술적 사상에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시 형태에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
이상에서 설명한 바와 같이, 본 발명에 따르면, 버전업된 소프트웨어의 변경된 폴더, 하위폴더, 파일을 간편하고 신속하게 파악할 수 있을 뿐만 아니라, 변경된 이력을 자동으로 DB화할 수 있다. 따라서, 기존에 수작업이나 제한된 항목만을 비교할 수 있었던 툴로 버전관리 작업을 함에 따라 소모되었던 시간, 경비, 인력의 낭비를 최소화할 수 있을 뿐만 아니라, 생산성을 증대시키고 품질 저하를 방지할 수 있다.
도 1는 일반적인 소프트웨어의 폴더 및 파일 구조를 보인 창,
도 2는 본 발명에 따른 소프트웨어 버전 자동 관리 시스템의 구성을 나타낸 블럭도,
도 3은 도 2의 소프트웨어 버전 자동 관리 시스템에 의해 구축된 버전 관리 DB의 구조를 예시한 구성도,
도 4는 일반적인 폴더의 속성을 보인 창,
도 5는 일반적인 파일의 속성을 보인 창,
도 6은 본 발명에 따른 소프트웨어 버전 자동 관리 시스템에 의한 버전 자동 관리 과정을 도시한 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 탐색모듈 15 : 체크섬 산출부
20 : 체크섬 비교부 23 : 포메터
25 : DB 생성부 30 : 버전관리 DB

Claims (7)

  1. 단말기에 탑재되어 필요에 따라 업그레이드되는 소프트웨어에 대한 이력정보를 관리하기 위한 자동 버전 관리 시스템에 있어서,
    상기 소프트웨어를 구성하는 적어도 하나의 폴더와 파일에 대한 구조를 탐색하여 인덱싱을 수행하는 탐색모듈;
    상기 소프트웨어에 대한 버전, 파일속성, 체크섬, 버전 변경 이력 중 적어도 하나를 포함하는 소프트웨어 버전 정보를 저장하는 버전 관리 DB;
    상기 폴더와 파일에 대해 각각의 체크섬을 산출하는 체크섬 산출부;
    상기 버전 관리 DB에 저장된 이전 버전의 소프트웨어의 체크섬과, 버전업된 소프트웨어의 체크섬의 동일여부를 비교하여 변경된 폴더 및 파일 중 어느 하나를추출하는 체크섬 비교부, 및;
    상기 체크섬 비교부로부터의 비교결과 추출된 폴더 및 파일 중 어느 하나에 대한 정보를 상기 버전 관리 DB에 저장하는 DB생성부;를 포함하는 것을 특징으로 하는 소프트웨어 자동 버전 관리 시스템.
  2. 제 1 항에 있어서,
    상기 소프트웨어는, 상기 단말기에 탑재되는 O/S, 응용 프로그램, 디바이스 드라이버 중 적어도 하나를 포함하는 것을 특징으로 하는 소프트웨어 자동 버전 관리 시스템.
  3. 제 1 항에 있어서,
    상기 체크섬 산출부에서는 버전업된 소프트웨어를 구성하는, 폴더, 하위폴더, 파일에 대해 각각 체크섬을 생성하며;
    상기 체크섬 비교부는, 상기 폴더, 하위폴더, 파일의 순서에 따라 체크섬을 비교하여 변경된 폴더, 하위폴더, 파일을 추출하는 것을 특징으로 하는 소프트웨어 자동 버전 관리 시스템.
  4. 제 1 항에 있어서,
    상기 DB생성부는, 상기 체크섬 비교부에 의해 추출된 폴더, 하위폴더, 파일의 버전 변경 이력을 포함하는 정보를 상기 소프트웨어의 버전 체계에 따라 분류하여 상기 버전 관리 DB에 저장하는 것을 특징으로 하는 소프트웨어 자동 버전 관리 시스템.
  5. 단말기에 탑재되어 필요에 따라 업그레이드되는 소프트웨어에 대한 이력정보를 관리하기 위한 소프트웨어 버전 관리 방법에 있어서,
    버전업된 소프트웨어를 구성하는 적어도 하나의 폴더와 파일에 대한 구조를 탐색하여 인덱싱을 수행하는 단계;
    상기 버전업된 소프트웨어의 각 폴더와 파일에 대해 각각의 체크섬을 산출하는 단계;
    이전 버전 소프트웨어의 체크섬과, 상기 버전업된 소프트웨어의 체크섬의 동일여부를 비교하여 변경된 폴더 및 파일 중 어느 하나를 추출하는 단계;
    상기 추출된 폴더 및 파일 중 어느 하나에 대한 버전, 파일속성, 체크섬, 버전의 변경 이력 중 적어도 하나를 포함하는 소프트웨어 버전 정보를 DB화하는 단계;를 포함하는 것을 특징으로 하는 소프트웨어 버전 관리 방법.
  6. 제 5 항에 있어서,
    상기 체크섬을 산출하는 단계는, 상기 버전업된 소프트웨어를 구성하는 폴더, 하위폴더, 파일에 대해 각각 체크섬을 생성하는 단계이며;
    상기 변경된 폴더 또는 파일을 추출하는 단계는, 상기 폴더, 하위폴더, 파일의 순서에 따라 체크섬을 비교하여 변경된 폴더, 하위폴더, 파일을 순차적으로 추출하는 단계인 것을 특징으로 하는 소프트웨어 버전 관리 방법.
  7. 제 6 항에 있어서,
    상기 DB화하는 단계는, 상기 추출된 폴더, 하위폴더, 파일의 버전 변경 이력을 포함하는 정보를 상기 소프트웨어의 버전 체계에 따라 분류하여 DB화하는 것을 특징으로 하는 소프트웨어 버전 관리 방법.
KR1020040005288A 2004-01-28 2004-01-28 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법 KR100582896B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020040005288A KR100582896B1 (ko) 2004-01-28 2004-01-28 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법
US11/039,851 US20050165760A1 (en) 2004-01-28 2005-01-24 Auto version managing system and method for use in software
CNB2005100061260A CN1320455C (zh) 2004-01-28 2005-01-28 供软件之用的自动版本管理系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040005288A KR100582896B1 (ko) 2004-01-28 2004-01-28 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법

Publications (2)

Publication Number Publication Date
KR20050077422A true KR20050077422A (ko) 2005-08-02
KR100582896B1 KR100582896B1 (ko) 2006-05-24

Family

ID=34793344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040005288A KR100582896B1 (ko) 2004-01-28 2004-01-28 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법

Country Status (3)

Country Link
US (1) US20050165760A1 (ko)
KR (1) KR100582896B1 (ko)
CN (1) CN1320455C (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007058722A1 (en) * 2005-11-16 2007-05-24 Microsoft Corporation Automated state migration while deploying an operating system
WO2013074380A2 (en) * 2011-11-15 2013-05-23 Microsoft Corporation Search augmented menu and configuration for computer applications
KR102176320B1 (ko) * 2020-03-02 2020-11-10 주식회사 이글루시큐리티 점검대상 운영체제 및 소프트웨어 입력보정 시스템 및 그 방법
WO2021025265A1 (ko) * 2019-08-06 2021-02-11 삼성전자 주식회사 미디어 스캔을 수행하는 전자 장치 및 그 미디어 스캔 방법

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100454302C (zh) * 2005-10-24 2009-01-21 中兴通讯股份有限公司 一种文件管理系统及管理方法
TWI287385B (en) * 2005-11-03 2007-09-21 Asustek Comp Inc Method for synchronizing two contact data of two storage media in a communications system
US7716649B2 (en) * 2005-12-15 2010-05-11 International Business Machines Corporation Activity-based software traceability management method and apparatus
CN101110788B (zh) * 2006-07-20 2010-09-08 阿里巴巴集团控股有限公司 升级客户端软件的方法及系统
DE102008016302B4 (de) * 2008-03-28 2013-06-13 Sew-Eurodrive Gmbh & Co. Kg Verfahren zum Datenaustausch zwischen Teilnehmern eines Systems entsprechend einer kompatiblen Version und System
JP5190796B2 (ja) * 2008-11-11 2013-04-24 横河電機株式会社 フィールド機器およびこれを用いたフィールド機器ソフトウェア更新システム
US9223793B1 (en) * 2009-06-03 2015-12-29 American Megatrends, Inc. De-duplication of files for continuous data protection with remote storage
BR112012004367B1 (pt) * 2009-08-28 2019-09-10 Volvo Lastvagnar Ab método de detecção de adulteração.
JP5397162B2 (ja) * 2009-10-29 2014-01-22 セイコーエプソン株式会社 プリンタードライバー、及び、posプリンターの制御方法
US8151021B1 (en) * 2010-03-31 2012-04-03 Emc Corporation Upgrading software on a cluster of computerized devices
JP5644202B2 (ja) * 2010-06-17 2014-12-24 富士通株式会社 制御装置、制御方法およびストレージシステム
CN102012978B (zh) * 2010-06-29 2012-10-03 飞天诚信科技股份有限公司 Iso文件安全升级的方法及系统
US20120130725A1 (en) * 2010-11-22 2012-05-24 Microsoft Corporation Automatic upgrade scheduling
US8868502B2 (en) * 2011-01-14 2014-10-21 Apple Inc. Organizing versioning according to permissions
US20130002796A1 (en) * 2011-06-29 2013-01-03 William Everett Hiller System and Method For Incorporating Content In A Videoconferencing Environment Without A Personal Computer
CN102750296B (zh) * 2011-10-19 2018-05-04 新奥特(北京)视频技术有限公司 一种基于可扩展标记语言的高效存盘方法及系统
US11487707B2 (en) 2012-04-30 2022-11-01 International Business Machines Corporation Efficient file path indexing for a content repository
CN102902555B (zh) * 2012-09-06 2016-09-21 华为终端有限公司 一种升级方法、装置及升级设备
US8938424B2 (en) * 2012-10-31 2015-01-20 Ca, Inc. System and method of assessing the state of a database product for installation consistency
US8914356B2 (en) 2012-11-01 2014-12-16 International Business Machines Corporation Optimized queries for file path indexing in a content repository
US9323761B2 (en) 2012-12-07 2016-04-26 International Business Machines Corporation Optimized query ordering for file path indexing in a content repository
US9053085B2 (en) * 2012-12-10 2015-06-09 International Business Machines Corporation Electronic document source ingestion for natural language processing systems
US9298449B2 (en) * 2013-03-14 2016-03-29 Red Hat Israel, Ltd. Composite program history
CN104424188B (zh) * 2013-08-19 2018-07-20 上海携程商务有限公司 对获取的网页数据进行更新的系统及方法
CN104679782A (zh) * 2013-11-30 2015-06-03 鸿富锦精密工业(深圳)有限公司 文件版本控制系统及方法
CN103810011B (zh) * 2014-02-25 2017-09-12 广州视源电子科技股份有限公司 通过文件服务器实现ota升级的方法
US10140110B2 (en) * 2014-04-02 2018-11-27 Ford Global Technologies, Llc Multiple chunk software updates
CN104111879B (zh) * 2014-07-03 2018-04-03 北京思特奇信息技术股份有限公司 一种程序文件自动上线方法及系统
JP2016186695A (ja) * 2015-03-27 2016-10-27 株式会社日立ソリューションズ ファイル管理装置
US10289532B2 (en) * 2015-04-08 2019-05-14 Opshub, Inc. Method and system for providing delta code coverage information
CN106095462A (zh) * 2016-06-22 2016-11-09 南京南瑞继保电气有限公司 一种嵌入式分布式系统程序配置版本管理方法
CN106202157A (zh) * 2016-06-23 2016-12-07 深圳市华域无线技术股份有限公司 基于时间流的视频快速检索方法
CN106250726A (zh) * 2016-08-10 2016-12-21 深圳金澜汉源科技有限公司 软件版本状态管控方法
CN108196910B (zh) * 2018-01-02 2021-03-30 中国工商银行股份有限公司 一种软件版本的切换方法、设备以及系统
US11768996B2 (en) * 2018-04-24 2023-09-26 Edifecs, Inc. Rapid reconciliation of errors and bottlenecks in data-driven workflows
CN110069273A (zh) * 2019-04-30 2019-07-30 四川长虹教育科技有限公司 软件升级包的批量打包方法及装置
CN111949287A (zh) * 2019-05-16 2020-11-17 北京京东尚科信息技术有限公司 软件升级方法和装置
US11645245B2 (en) * 2019-09-26 2023-05-09 International Business Machines Corporation Container software discovery and cataloging

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5008853A (en) * 1987-12-02 1991-04-16 Xerox Corporation Representation of collaborative multi-user activities relative to shared structured data objects in a networked workstation environment
US5220657A (en) * 1987-12-02 1993-06-15 Xerox Corporation Updating local copy of shared data in a collaborative system
US4912637A (en) * 1988-04-26 1990-03-27 Tandem Computers Incorporated Version management tool
US5884298A (en) * 1996-03-29 1999-03-16 Cygnet Storage Solutions, Inc. Method for accessing and updating a library of optical discs
CA2276840A1 (en) * 1999-07-05 2001-01-05 Telefonaktiebolaget Lm Ericsson Method and apparatus for synchronizing a database in portable communication devices
US6542884B1 (en) * 2000-03-14 2003-04-01 Microsoft Corporation Methods and systems for updating an inheritance tree with minimal increase in memory usage
EP1195675A1 (en) * 2000-07-14 2002-04-10 Sun Microsystems, Inc. Comment driven processing
US6581074B1 (en) * 2000-10-06 2003-06-17 Microsoft Corporation Directory synchronization
US6832373B2 (en) * 2000-11-17 2004-12-14 Bitfone Corporation System and method for updating and distributing information
JP2002323964A (ja) * 2001-04-26 2002-11-08 Canon Inc プリンタドライバ配信システム、プリンタドライバ配信方法及びプリンタドライバ配信サーバ装置
US7398301B2 (en) * 2001-08-04 2008-07-08 Kontiki, Inc. Method and apparatus for facilitating distributed delivery of content across a computer network
TW552501B (en) * 2002-03-22 2003-09-11 Taiwan Semiconductor Mfg Version recording and tracking method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007058722A1 (en) * 2005-11-16 2007-05-24 Microsoft Corporation Automated state migration while deploying an operating system
JP2009516294A (ja) * 2005-11-16 2009-04-16 マイクロソフト コーポレーション オペレーティングシステムの展開中の自動化された状態移行
CN101310270B (zh) * 2005-11-16 2010-05-26 微软公司 用于迁移计算设备的用户状态的方法
US7913250B2 (en) 2005-11-16 2011-03-22 Microsoft Corporation Automated state migration while deploying an operating system
WO2013074380A2 (en) * 2011-11-15 2013-05-23 Microsoft Corporation Search augmented menu and configuration for computer applications
WO2013074380A3 (en) * 2011-11-15 2013-07-11 Microsoft Corporation Search augmented menu and configuration for computer applications
US9697016B2 (en) 2011-11-15 2017-07-04 Microsoft Technology Licensing, Llc Search augmented menu and configuration for computer applications
US11016786B2 (en) 2011-11-15 2021-05-25 Microsoft Technology Licensing, Llc Search augmented menu and configuration for computer applications
WO2021025265A1 (ko) * 2019-08-06 2021-02-11 삼성전자 주식회사 미디어 스캔을 수행하는 전자 장치 및 그 미디어 스캔 방법
KR102176320B1 (ko) * 2020-03-02 2020-11-10 주식회사 이글루시큐리티 점검대상 운영체제 및 소프트웨어 입력보정 시스템 및 그 방법

Also Published As

Publication number Publication date
US20050165760A1 (en) 2005-07-28
KR100582896B1 (ko) 2006-05-24
CN1320455C (zh) 2007-06-06
CN1648857A (zh) 2005-08-03

Similar Documents

Publication Publication Date Title
KR100582896B1 (ko) 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법
US8010962B2 (en) Infrastructure for the automation of the assembly of schema maintenance scripts
US7774772B2 (en) Method and apparatus to perform an application software migration
KR100655124B1 (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트를촉진하는 데이타베이스
US6237144B1 (en) Use of relational databases for software installation
US9176971B2 (en) Method and apparatus for subtractive installation
US6631382B1 (en) Data retrieval method and apparatus with multiple source capability
KR100513551B1 (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트방법및 시스템
US7984088B2 (en) Method for supporting multiple filesystem implementations
WO2000000909A1 (en) Data retrieval method and apparatus with multiple source capability
WO2005045564A2 (en) Term database extension for label system
US20050216486A1 (en) Methods and systems for software release management
US8667035B2 (en) Method of converting a filesystem while the filesystem remains in an active state
US8630981B1 (en) Techniques for differencing binary installation packages
CN115756554A (zh) 版本升级方法及装置
AU772658B2 (en) Data retrieval method and apparatus with multiple source capability
Schwenke My computer is bigger than yours
WO2012026001A1 (ja) 情報処理装置およびプログラム管理方法
Gentleman et al. Package ‘Biobase’

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee