KR20060064663A - Update package catalog for update package transfer between generator and content server in a network - Google Patents
Update package catalog for update package transfer between generator and content server in a network Download PDFInfo
- Publication number
- KR20060064663A KR20060064663A KR1020067004488A KR20067004488A KR20060064663A KR 20060064663 A KR20060064663 A KR 20060064663A KR 1020067004488 A KR1020067004488 A KR 1020067004488A KR 20067004488 A KR20067004488 A KR 20067004488A KR 20060064663 A KR20060064663 A KR 20060064663A
- Authority
- KR
- South Korea
- Prior art keywords
- update
- update package
- packages
- package container
- version
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
Abstract
Description
관련 출원Related Applications
본 특허출원은 2003년 9월 26일자로 출원된 발명의 명칭이 "네트워크에서의 생성자와 콘텐츠 서버 간의 업데이트 패키지 전송을 위한 업데이트 패키지 카탈로그(Update package Catalog for Update Package Transfer Between Generator and Content Server in Network)"인 미국 가특허출원 제60/506,294호를 참조하고 그를 우선권 주장하며 그로부터의 이익을 향유하고, 2003년 10월 22일자로 출원된 발명의 명칭이 "업데이트 패키지 컨테이너(Update Package Container)"인 미국 가특허출원 제60/513,848호를 우선권 주장하며 그로부터의 이익을 향유한다.This patent application was filed on September 26, 2003, entitled "Update package Catalog for Update Package Transfer between Generator and Content Server in Network." U.S. Provisional Patent Application No. 60 / 506,294, which claims priority to and enjoys the benefit therefrom, and entitled "Update Package Container", filed October 22, 2003 It claims priority to Provisional Patent Application No. 60 / 513,848 and enjoys the benefit from it.
상기한 미국 가특허출원의 전체 내용은 본 명세서에 참조로서 포함된다. 게다가, 본 출원은 2000년 11월 17일자로 출원된 발명의 명칭이 "정보를 업데이트 및 분배하는 시스템 및 방법(System and Method for Updating and Distributing Information)"인 미국 가특허출원 제60/249,606호 및 2002년 3월 23일자로 공개된 발명의 명칭이 "정보를 업데이트 및 분배하는 시스템 및 방법(System and Method for Updating and Distributing Information)"인 국제 특허출원 공개 제WO 02/41147 A1호를 참조하며, 이들 각각의 전체 내용은 본 명세서에 참조로서 포함된다.The entire contents of the foregoing U.S. Provisional Patent Application are incorporated herein by reference. In addition, the present application discloses U.S. Provisional Patent Application No. 60 / 249,606, entitled "System and Method for Updating and Distributing Information," filed November 17, 2000; See International Patent Application Publication No. WO 02/41147 A1 entitled "System and Method for Updating and Distributing Information" published March 23, 2002, The entire contents of each of which are incorporated herein by reference.
이동 전화 및 개인 휴대 단말기(PDA) 등의 전자 장치는 종종 전자 장치의 제조업자에 의해, 전기 통신 사업자에 의해 또는 제3자에 의해 제공되는 펌웨어 및 애플리케이션 소프트웨어를 포함하고 있다. 이들 펌웨어 및 애플리케이션 소프트웨어는 종종 소프트웨어 버그를 포함하고 있다. 이 버그를 수정하거나 새로운 특징을 도입하기 위해 또는 둘다를 위해, 새로운 버전의 펌웨어 및 소프트웨어가 주기적으로 발표된다.Electronic devices such as mobile phones and personal digital assistants (PDAs) often include firmware and application software provided by the manufacturer of the electronic device, by a telecommunications operator, or by a third party. These firmware and application software often contain software bugs. In order to fix this bug, introduce new features, or both, new versions of firmware and software are periodically released.
모바일 핸드셋 등의 전자 장치의 제조 환경 또는 다른 소프트웨어 개발 환경에서의 생성자는 소프트웨어 컴포넌트의 펌웨어를 업데이트하는 데 사용되는 업데이트 패키지를 생성한다. 이들 업데이트 패키지는 저장소에 보관되어 있다. 불행히도, 몇개의 서로 다른 생성자가 서로 다른 종류의 정보를 생성하고 있을 수 있다. 이들 서로 다른 종류의 업데이트 패키지를 어떤 종류의 저장소에 채워넣는 쉬운 방법이 없다. 보다 중요한 것은, 이들 업데이트 패키지를 배포할 수 있는 분배 환경 내의 저장소가 업데이트 패키지가 이용가능하게 되어 있는 서로 다른 포맷 모두를 처리해야만 하게 된다는 것이다. 게다가, 업데이트 패키지의 배포에 관한 결정을 하기 위해 업데이트 패키지와 종종 연관되어 있는 메타데이터 등의 다른 관련 정보가 필요할 수 있다. 그렇지만, 이러한 관련 정보는 종종 분배 환경에서 이용가능하지 않다. 필요한 경우 이러한 관련 정보를 원격 소스로부터 검색하기 위해 종종 특별한 소프트웨어가 작성된다.Creators in the manufacturing environment of electronic devices, such as mobile handsets, or other software development environments, create update packages that are used to update firmware of software components. These update packages are stored in the repository. Unfortunately, several different producers may produce different kinds of information. There is no easy way to populate these different kinds of update packages into some kind of repository. More importantly, the repository in the distribution environment in which these update packages can be distributed will have to handle all of the different formats in which the update packages are available. In addition, other relevant information, such as metadata that is often associated with the update package, may be needed to make decisions regarding the distribution of the update package. However, such relevant information is often not available in a distribution environment. Special software is often written to retrieve this relevant information from remote sources as needed.
전기 통신 사업자 또는 무선 통신 사업자는 몇개의 서로 다른 소스(각각의 소스는 아마도 통신 사업자 네트워크/무선 네트워크로 전송될 데이터에 대해 여러가지 서로 다른 포맷을 이용할 수 있음)로부터 수신된 업데이트 패키지를 저장하는 것을 지원하고자 할 수 있다. 다양한 소스로부터의 업데이트 패키지의 이러한 전송을 위한 보안을 제공하는 것이 문제이다. 많은 보안 해결책을 지원하는 것은 관리 문제임은 물론 기술적 문제이기도 하다.Telecommunications carriers or wireless carriers assist in storing update packages received from several different sources, each of which may possibly use several different formats for data to be transmitted to the carrier network / wireless network. You may want to. It is a problem to provide security for this transfer of update packages from various sources. Supporting many security solutions is a management problem as well as a technical one.
종래의 전통적인 방법의 다른 제한 및 단점은 이러한 시스템을, 도면을 참조하여 본 명세서의 나머지에 기술되어 있는 본 발명의 어떤 측면들과 비교해보면 당업자에게는 자명하게 될 것이다.Other limitations and disadvantages of conventional conventional methods will be apparent to those skilled in the art when comparing such a system with certain aspects of the invention described in the remainder of this specification with reference to the drawings.
본 발명의 측면들은 복수의 전자 장치에 대한 업데이트 정보를 전달하는 업데이트 패키지 컨테이너에서 찾아볼 수 있다. 이 업데이트 패키지 컨테이너는 복수의 전자 장치의 일부분(subset)과 연관된 적어도 하나의 장치 부분(device portion)를 포함할 수 있고, 적어도 하나의 장치 부분 각각은 복수의 전자 장치의 일부분 내의 각각의 전자 장치에서의 코드와 연관된 적어도 하나의 타겟 부분(target portion)을 포함할 수 있다. 본 발명의 대표적인 실시예에서, 적어도 하나의 타겟 부분 각각은 코드의 제1 버전으로부터 제2 버전으로의 변환과 연관된 적어도 하나의 전환 부분(transition portion)을 포함할 수 있고, 적어도 하나의 전환 부분 각각은 업데이트 패키지 및 업데이트 패키지 컨테이너 밖에 있는 업데이트 패키지의 장소를 식별해주는 참조 정보 중 하나 및 연관된 메타데이터를 포함할 수 있다. 복수의 전자 장치 각각은 장치 식별 정보에 의해 식별될 수 있고, 장치 식별 정보는 제조업자 식별자, 모델 식별자 및 버전 식별자 중 적어도 하나를 포함할 수 있다. 연관된 메타데이터는 업데이트 패키지의 크기, 설명, 생성 일자, 다운로드 시간, 리플래쉬(re-flash) 시간, 벤더 정보 및 디지털 서명 중 적어도 하나를 포함할 수 있다.Aspects of the present invention can be found in an update package container that delivers update information for a plurality of electronic devices. The update package container may include at least one device portion associated with a subset of the plurality of electronic devices, each of the at least one device portion being in each electronic device within the portion of the plurality of electronic devices. It may include at least one target portion associated with the code of. In an exemplary embodiment of the invention, each of the at least one target portion may comprise at least one transition portion associated with the transformation from the first version of the code to the second version, each of the at least one transition portion May include one of the reference information identifying the update package and the location of the update package outside the update package container and associated metadata. Each of the plurality of electronic devices may be identified by device identification information, and the device identification information may include at least one of a manufacturer identifier, a model identifier, and a version identifier. The associated metadata may include at least one of the size, description, creation date, download time, re-flash time, vendor information, and digital signature of the update package.
본 발명의 대표적인 실시예는 또한 업데이트 패키지 컨테이너의 적어도 하나의 장치 부분의 디지털 서명을 포함할 수 있다. 업데이트 패키지 컨테이너 밖에 있는 업데이트 패키지의 장소를 식별해주는 참조 정보는 URL(universal resource locator)을 포함할 수 있다. 업데이트 패키지 컨테이너 내에 포함된 모든 업데이트 패키지 및 업데이트 패키지 컨테이너에 의해 참조되는 업데이트 패키지의 세트는 복수의 제조업자 및 소프트웨어 벤더에 의해 생성된 차이 정보(difference information)를 포함할 수 있다. 본 발명의 대표적인 실시예에서, 업데이트 패키지는 복수의 전자 장치 중 하나에 대한 소프트웨어, 펌웨어, 자바 가상 머신, 게임 엔진, 구성 파일 및 시스템 파일 중 적어도 하나를 포함할 수 있다. 본 발명의 다른 대표적인 실시예에서, 업데이트 패키지는 제1 버전의 코드를 제2 버전의 코드로 업데이트하기 위한 차이 정보를 포함할 수 있다. 차이 정보는 제1 버전의 코드를 제2 버전의 코드로 변환시키는 일련의 실행가능 명령어를 포함할 수 있다.An exemplary embodiment of the present invention may also include a digital signature of at least one device portion of the update package container. Reference information identifying a location of an update package outside the update package container may include a universal resource locator (URL). All update packages included in the update package container and the set of update packages referenced by the update package container may include difference information generated by a plurality of manufacturers and software vendors. In an exemplary embodiment of the present invention, the update package may include at least one of software, firmware, a Java virtual machine, a game engine, a configuration file, and a system file for one of the plurality of electronic devices. In another exemplary embodiment of the present invention, the update package may include difference information for updating the code of the first version with the code of the second version. The difference information may include a series of executable instructions that convert the code of the first version into the code of the second version.
본 발명의 부가의 측면들은 업데이트 패키지를 복수의 전자 장치로 분배하는 네트워크에서 찾아볼 수 있다. 이러한 네트워크는 복수의 전자 장치 각각에 대한 복수의 업데이트 패키지를 저장하는 업데이트 패키지 저장소를 포함할 수 있다. 네트워크는 업데이트 패키지 및 연관된 메타데이터를 포함하는 복수의 업데이트 패키지 컨테이너를, 네트워크가 통신 연결되어 있는 복수의 업데이트 패키지 컨테이너 소스 각각으로부터 수신하고, 네트워크는 복수의 업데이트 패키지 컨테이너에 포함된 업데이트 패키지 및 연관된 메타데이터를 업데이트 패키지 저장소에 저장할 수 있다. 본 발명의 대표적인 실시예에서, 복수의 업데이트 패키지 컨테이너 소스 중 적어도 하나는 업데이트 패키지의 생성자를 포함할 수 있다. 복수의 업데이트 패키지 컨테이너 소스는 복수의 생성자를 포함할 수 있고, 복수의 생성자 각각은 연관된 데이터 유형 정의를 가지며 복수의 전자 장치의 복수의 제조업자 중 연관된 제조업자에 의해 관리될 수 있다. 복수의 생성자는 동일한 데이터 유형 정의를 이용할 수 있다. Additional aspects of the present invention can be found in a network that distributes update packages to a plurality of electronic devices. Such a network may include an update package repository for storing a plurality of update packages for each of the plurality of electronic devices. The network receives a plurality of update package containers including update packages and associated metadata from each of a plurality of update package container sources to which the network is communicatively connected, and the network receives update packages and associated meta contained in the plurality of update package containers. You can store data in the update package repository. In a representative embodiment of the present invention, at least one of the plurality of update package container sources may include a creator of the update package. The plurality of update package container sources may include a plurality of producers, each of which has an associated data type definition and may be managed by an associated manufacturer among a plurality of manufacturers of the plurality of electronic devices. Multiple constructors can use the same data type definition.
본 발명의 대표적인 실시예에서 네트워크는 무선 네트워크를 포함할 수 있고, 복수의 업데이트 패키지 컨테이너 소스 중 적어도 일부분은 업데이트 패키지 저장소로부터 원격지에 위치할 수 있다. 업데이트 패키지 저장소는 복수의 업데이트 패키지 컨테이너 소스로부터 업데이트 패키지 컨테이너를 수신할 수 있고 또 업데이트 패키지 컨테이너의 추가의 처리 이전에 업데이트 패키지 컨테이너의 진위를 확인할 수 있다. 본 발명의 대표적인 실시예에서, 업데이트 패키지 저장소는 복수의 업데이트 패키지 컨테이너 소스로부터 업데이트 패키지 컨테이너를 수신할 수 있고 또 업데이트 패키지를 배포하기 이전에 업데이트 패키지 컨테이너 및 그 안에 포함된 업데이트 패키지의 진위를 확인할 수 있다. 업데이트 패키지는 제1 버전의 코드로부터 제2 버전의 코드로 업데이트하기 위한 차이 정보를 포함할 수 있고, 차이 정보는 제1 버전의 코드를 제2 버전의 코드로 변환시키는 일련의 실행가능 명령어를 포함할 수 있다.In a representative embodiment of the present invention, the network may comprise a wireless network, and at least a portion of the plurality of update package container sources may be located remote from the update package repository. The update package repository can receive update package containers from multiple update package container sources and can verify the authenticity of the update package container prior to further processing of the update package container. In a representative embodiment of the present invention, the update package repository may receive update package containers from a plurality of update package container sources and may verify the authenticity of the update package container and the update packages contained therein before distributing the update package. have. The update package may include difference information for updating from the first version of the code to the second version of the code, the difference information comprising a series of executable instructions for converting the first version of the code into the second version of the code. can do.
본 발명의 또다른 측면들은 생성자로부터의 복수의 업데이트 패키지를 업데이트 패키지 컨테이너를 사용하여 저장소로 전달하는 방법에서 찾아볼 수 있으며, 여기서 복수의 업데이트 패키지 각각은 전자 장치와 연관되어 있을 수 있다. 이러한 방법은, 복수의 업데이트 패키지를 생성하는 단계, 복수의 업데이트 패키지에 디지털적으로 서명하는 단계, 및 복수의 업데이트 패키지와 연관된 메타데이터를 수집하는 단계를 포함할 수 있다. 메타데이터는 복수의 업데이트 패키지에 대한 디지털 서명을 포함할 수 있다. 본 발명의 대표적인 실시예는 또한 복수의 업데이트 패키지 및 연관된 메타데이터를 업데이트 패키지 컨테이너에 삽입하는 단계, 디지털 서명 기술을 사용하여 업데이트 패키지 컨테이너에 서명하는 단계, 및 디지털적으로 서명된 업데이트 패키지 컨테이너를 저장소로 전달하는 단계를 포함할 수 있다. 본 발명의 대표적인 실시예에서, 삽입하는 단계는 연관된 전자 장치의 제조업자 유형, 모델, 타겟 및 전환 중 적어도 하나에 따라 복수의 업데이트 패키지를 배열하는 단계를 포함할 수 있다. 업데이트 패키지 컨테이너에 서명하는 단계는, W3C-기반 디지털 서명을 산출하는 단계, 및 W3C-기반 디지털 서명을 업데이트 패키지 컨테이너에 삽입하는 단계를 포함할 수 있다. 삽입하는 단계는, 펌웨어, 소프트웨어, 구성 및 데이터 중 적어도 하나에 대해 생성된 업데이트 패키지를 포함시키는 단계를 포함할 수 있다. 게다가, 전달하는 단계는, 생성자와 저장소 간에 보안 통신을 설정하는 단계, 및 업데이트 패키지 컨테이너를 처리 및 저장을 위해 저장소에 보관하는 단계를 포함할 수 있다.Still other aspects of the invention can be found in a method of delivering a plurality of update packages from a creator to a repository using an update package container, where each of the plurality of update packages can be associated with an electronic device. Such a method may include generating a plurality of update packages, digitally signing the plurality of update packages, and collecting metadata associated with the plurality of update packages. The metadata may include digital signatures for the plurality of update packages. An exemplary embodiment of the present invention also provides a method of inserting a plurality of update packages and associated metadata into an update package container, signing the update package container using digital signature technology, and storing the digitally signed update package container. It may include delivering to. In an exemplary embodiment of the present invention, the inserting may include arranging a plurality of update packages according to at least one of a manufacturer type, a model, a target, and a conversion of the associated electronic device. Signing the update package container may include calculating a W3C-based digital signature and inserting the W3C-based digital signature into the update package container. The inserting step can include including an update package generated for at least one of firmware, software, configuration, and data. In addition, the delivering may include establishing a secure communication between the producer and the repository, and storing the update package container in the repository for processing and storage.
본 발명의 이들 및 다른 이점, 측면 및 신규의 특징은 물론 본 발명의 예시된 실시예들에 대한 상세는 이하의 설명 및 도면으로부터 보다 충분히 이해될 것이다.These and other advantages, aspects, and novel features of the invention, as well as details of the illustrated embodiments of the invention, will be more fully understood from the following description and drawings.
도 1은 본 발명의 대표적인 실시예에 따른, 업데이트 패키지를 업데이트 패키지 컨테이너(update package container, UPC) 포맷으로 다운로드할 수 있는 네트워크에서 사용되는 예시적인 모바일 핸드셋을 나타낸 블록도.1 is a block diagram illustrating an exemplary mobile handset used in a network capable of downloading an update package in an update package container (UPC) format, in accordance with an exemplary embodiment of the present invention.
도 2는 본 발명의 대표적인 실시예에 따른, 예를 들어 펌웨어 업데이트 패키지 등의 콘텐츠의 다운로드를 지원할 수 있는 콘텐츠 서버를 포함하는 UPC 시스템의 예시적인 실시예를 나타낸 블록도.2 is a block diagram illustrating an exemplary embodiment of a UPC system including a content server capable of supporting the download of content, such as, for example, a firmware update package, in accordance with an exemplary embodiment of the present invention.
도 3은 본 발명의 대표적인 실시예에 따른, 예시적인 업데이트 패키지 컨테이너(UPC)의 사시 블록도.3 is a perspective block diagram of an exemplary update package container (UPC), in accordance with an exemplary embodiment of the present invention.
도 4는 본 발명의 대표적인 실시예에 따른, 예를 들어 도 3에 도시된 업데이트 패키지 컨테이너 등의 업데이트 패키지 컨테이너를 생성하는 예시적인 방법을 나타낸 흐름도.4 is a flow diagram illustrating an exemplary method of creating an update package container, such as, for example, the update package container shown in FIG. 3, in accordance with an exemplary embodiment of the present invention.
본 발명은 일반적으로 다양한 생성 환경으로부터의 업데이트 패키지(이 업데이트 패키지는 여러가지 차이 정보 생성자를 사용하여 소프트웨어 또는 펌웨어 업 데이트를 위해 생성됨)를 오퍼레이터의 네트워크 또는 보안 분배 네트워크로 보안 전송하는 것에 관한 것이다. 다양한 OEM(original equipment manufacturer) 및 제3자 소프트웨어 벤더는 일반적으로 업데이트 에이전트를 사용하여 예를 들어 모바일 핸드셋 등의 전자 장치에서의 펌웨어/소프트웨어 컴포넌트의 업데이트를 생성할 책임이 있다. OEM 및 제3자 소프트웨어 벤더는 업데이트를 통신사업자의 네트워크로 또는 분배 환경으로 안전하게 전달하고자 한다. 이하의 내용이 모바일 핸드셋에 대한 펌웨어 및 소프트웨어에 대한 업데이트 패키지 컨테이너의 관점에서 본 발명의 측면들을 기술하고 있지만, 이하의 내용은 또한 다른 유형의 정보에, 또한 예를 들어 개인 휴대 단말기(PDA), 페이저, 퍼스널 컴퓨터(PC), 및 유사한 핸드헬드 전자 장치 등의 다른 모바일 전자 장치에도 적용된다는 것은 명백할 것이다.The present invention generally relates to secure transmission of update packages from various production environments, which are generated for software or firmware updates using various differential information generators, to an operator's network or a secure distribution network. Various original equipment manufacturers (OEMs) and third party software vendors are generally responsible for generating updates of firmware / software components, for example, on electronic devices such as mobile handsets using update agents. OEMs and third-party software vendors want to securely deliver updates to the carrier's network or to distribution environments. While the following describes aspects of the present invention in terms of update package containers for firmware and software for mobile handsets, the following also describes other types of information, such as personal digital assistants (PDAs), It will be apparent that the same applies to other mobile electronic devices such as pagers, personal computers (PCs), and similar handheld electronic devices.
도 1은 본 발명의 대표적인 실시예에 따른, 업데이트 패키지를 업데이트 패키지 컨테이너(update package container, UPC) 포맷으로 다운로드할 수 있는 네트워크(105)에서 사용되는 예시적인 모바일 핸드셋(107)을 나타낸 블록도이다. 네트워크(105)는 예를 들어 유선 또는 무선 통신사업자 네트워크를 포함할 수 있고, 또 OTA(over-the-air, 무선) 또는 다른 기술을 이용하여 업데이트 패키지를 예를 들어 모바일 핸드셋(107) 등의 전자 장치로 다운로드할 수 있다. 모바일 핸드셋(107)은 업데이트 패키저(packager)/생성자(131)에 의해 생성된 업데이트 패키지를 사용하여 그의 펌웨어(117) 및 소프트웨어(119, 211)를 업데이트할 수 있다. 업데이트 패키지는 예를 들어 제1 버전의 펌웨어/소프트웨어를 제2 버전의 펌웨어/소프트웨어로 변환시키는 일련의 실행가능 명령어를 포함할 수 있다. 업데이트 패키지는 모바일 핸드셋(107)에 통신 연결되어 있는 콘텐츠 서버/업데이트 스토어(129)로 직접 또는 DM 서버/전달 서버(127)를 통해 업데이트 패키지 컨테이너(UPC) 포맷을 이용하여 전송될 수 있다. UPC 포맷은 또한 때로는 업데이트 패키지 카탈로그 포맷이라고도 할 수 있다.1 is a block diagram illustrating an exemplary
본 발명의 대표적인 실시예에서, 업데이트 패키저/생성자(131)는 하나 이상의 업데이트 패키지를 생성 또는 작성하고, 연관된 메타데이터를 판정 및/또는 수집하며, 디지털 서명 등의 보안 정보를 판정 또는 산출할 수 있고, 또 업데이트 패키지, 메타데이터 및 보안 정보를 업데이트 패키지 카탈로그에 포함(incorporate)시키거나 또는 그것으로 취합할(assemble) 수 있다. 본 발명의 대표적인 실시예에서, 업데이트 패키지 컨테이너는 본 명세서에 기술된 정보 항목들의 배열을 갖는 메모리 영역을 포함할 수 있다. 본 발명에 따른 다른 대표적인 실시예에서, 업데이트 패키지 컨테이너는 본 명세서에 기술되어 있는 정보 항목들을 포함하는 메시지를 포함할 수 있다. 업데이트 패키지 카탈로그(즉, 업데이트 패키지 컨테이너)는 이어서 네트워크(105)에 대한 저장소로서 기능하는 콘텐츠 서버/업데이트 스토어(129)로 전달될 수 있다. 콘텐츠 서버/업데이트 스토어(129)는 업데이트 패키지 카탈로그를 파싱할 수 있고 또 이용가능한 업데이트 패키지의 전부 또는 그의 일부분을 선택적으로 검색할 수 있다. 콘텐츠 서버/업데이트 스토어(129)는 선택적으로 업데이트 패키지 카탈로그의 진위를 확인함은 물론 업데이트 패키지 자체의 진위도 확인할 수 있고, 또 정보를 스토리지에 저장할 수 있다. 본 발명의 대표적인 실시예에서의 콘텐츠 서버/업데이트 스토어(129)는 업데이트 패키지 및 관련 메타 데이터의 저장소로서 기능할 수 있다.In an exemplary embodiment of the present invention, update packager /
업데이트 패키저/생성자(131)를 갖는 하나 이상의 제조업자로부터의 업데이트 패키지는 예를 들어 저장 및 차후의 모바일 핸드셋(107)으로의 배포를 위해 장치 관리(device management, DM) 서버/전달 서버(127)를 거쳐 콘텐츠 서버/업데이트 스토어(129)로 전송될 수 있다.Update packages from one or more manufacturers with update packager /
본 발명의 한 대표적인 실시예에서, 업데이트 패키지 카탈로그(UPC)(즉, 업데이트 패키지 컨테이너)는 XML(extensible markup language, 확장가능 마크업 언어) 포맷을 사용하여 정보를 저장하는 데 사용될 수 있다. 이러한 정보는 하나 이상의 장치에 대한 업데이트 패키지 및 각각의 장치에 대한 하나 이상의 버전 전환(transition of version)을 포함할 수 있다. 게다가, 각 장치 내의 하나 이상의 타겟(이 타겟은 모든 펌웨어, 펌웨어의 어떤 일부분, 단일의 소프트웨어 컴포넌트, 다수의 애플리케이션 컴포넌트, 기타 등등임)에 대한 지원도 제공될 수 있다. 예를 들어 WBXML(wireless binary extensible markup language, 무선 바이너리 확장가능 마크업 언어) 및 바이너리 포맷 등의 다른 보다 효율적인 포맷도 역시 UPC에 대해 생각되고 있다.In one exemplary embodiment of the present invention, an update package catalog (UPC) (ie, update package container) may be used to store information using an extensible markup language (XML) format. Such information may include update packages for one or more devices and one or more transition of versions for each device. In addition, support may be provided for one or more targets in each device, which are all firmware, some portion of firmware, a single software component, multiple application components, and so forth. Other more efficient formats, such as, for example, wireless binary extensible markup language (WBXML) and binary formats, are also contemplated for UPC.
본 발명의 대표적인 실시예에서, 네트워크(105)는 예를 들어 업데이트 스토어 또는 어떤 다른 형태의 저장소에 통신 연결되어 있는 생성자를 포함할 수 있다. 생성자, 예를 들어 도 1에 도시된 패키저/생성자(131)는 XML 포맷을 사용하여 정보를 저장하기 위해 업데이트 패키지 컨테이너(UPC)를 이용할 수 있다. UPC는 하나 이상의 장치에 대한 하나 이상의 업데이트 패키지, 및 각각의 장치에 대한 하나 이 상의 버전 전환을 포함할 수 있다. UPC는 업데이트 패키저/생성자(131)에 의해 생성될 수 있고 또 예를 들어 콘텐츠 서버/업데이트 스토어(129) 등의 저장소로 전송될 수 있다. 전술한 바와 같이, UPC는 또한 메타데이터 정보, 보안 정보, 기타 등등을 포함할 수 있다.In a representative embodiment of the present invention, the
본 발명의 한 대표적인 실시예에서, UPC는 예를 들어 전술한 업데이트 패키지 등의 업데이트 패키지를 포함할 수 있다. 본 발명에 따른 다른 대표적인 실시예에서, UPC는 업데이트 패키지에 대한 참조를 포함할 수 있다. 본 발명의 또다른 대표적인 실시예에서, UPC는 업데이트 패키지 및 업데이트 패키지에 대한 참조의 조합을 포함할 수 있다. 게다가, 본 발명의 대표적인 실시예에서의 UPC는 나중에 업데이트 패키지를 검색하기 위해 예를 들어 통신사업자 네트워크 등의 소비자에 의해 사용되는 인증(authentication) 및 권한 부여(authorization) 정보를 포함할 수 있다.In one representative embodiment of the present invention, the UPC may comprise an update package such as, for example, the update package described above. In another exemplary embodiment in accordance with the present invention, the UPC may include a reference to an update package. In another exemplary embodiment of the invention, the UPC may comprise a combination of an update package and a reference to the update package. In addition, the UPC in a representative embodiment of the present invention may include authentication and authorization information used by a consumer, such as a carrier network, for later retrieving an update package.
업데이트 패키지는, 제조업자에 의해, 통신사업자에 의해, 또는 다른 소스에 의해 생성되었는지에 상관없이, 전자 장치에 대한 2개의 서로 다른 버전의 펌웨어 간의 변경을 캡슐화할 수 있다. 업데이트 패키지는 분배 네트워크(예를 들어, 통신사업자 네트워크)을 통해 예를 들어 도 1의 모바일 핸드셋(107) 등의 모바일 핸드셋으로 배포될 수 있는 한 형태의 전달가능한 콘텐츠이다. 각각의 업데이트 패키지는 전자 장치에서의 제1 버전의 코드를 제2의 업데이트된 버전의 코드로 변환시키는 일련의 실행가능 명령어를 포함할 수 있다. 업데이트 패키지가 배포되기 이전에 이들을 저장소에 취합하는 것이 바람직할 수 있다. 업데이트 패키지를 복 수의 소스로부터 분배 환경으로 표준화된 포맷을 사용하여 전송할 수 있도록 하기 위해, 본 발명의 여러가지 대표적인 실시예는 업데이트 패키지의 업데이트 패키지 컨테이너로의 패키징의 표준화를 다루고 있다.The update package may encapsulate a change between two different versions of firmware for the electronic device, whether by the manufacturer, by the service provider, or by another source. An update package is a form of deliverable content that can be distributed via a distribution network (eg, a carrier network) to a mobile handset, such as
본 발명의 대표적인 실시예는 업데이트 패키지 컨테이너(UPC)에 의한 업데이트 패키지에 대한 XML 래퍼 및 UPC에 포함되어 있는 업데이트 패키지에 대한 메타데이터를 포함할 수 있다. 본 발명에 따른 대표적인 실시예는 또한 인증을 위한 디지털 서명 정보(또는 다른 형태의 서명), 및 복수의 업데이트 패키지의 동시적인 퍼블리싱(publishing)에 대한 지원을 포함할 수 있다. 본 발명의 대표적인 실시예는 또한 최종 사용자에게 대략적인 다운로드 및 리플래쉬(re-flash) 시간을 알려주는 데 유용한 정보를 포함할 수 있다. 이러한 정보는 예를 들어 개개의 업데이트 패키지에 대한 메타데이터의 일부로서 제공될 수 있다.Exemplary embodiments of the present invention may include XML wrappers for update packages by the update package container (UPC) and metadata for update packages included in the UPC. Exemplary embodiments according to the present invention may also include digital signature information (or other forms of signature) for authentication, and support for simultaneous publishing of multiple update packages. Representative embodiments of the present invention may also include information useful for informing end users of approximate download and re-flash times. Such information may be provided, for example, as part of the metadata for an individual update package.
본 발명의 대표적인 실시예에서, 개개의 업데이트 패키지의 구조는 독점적일 수 있으며, UPC는 서로 다른 벤더로부터의 몇개의 서로 다른 유형의 업데이트 패키지를 지원할 수 있다. 게다가, UPC는 UPC를 예를 들어 도 1의 업데이트 패키저/생성자(131) 등의 생성자로부터 예를 들어 도 1의 콘텐츠 서버/업데이트 스토어(129) 등의 저장소 또는 전달 서버로 전송하는 데 이용되는 통신 메카니즘에 직교일 수 있다. 본 발명에 따른 대표적인 실시예는 업데이트 패키지 컨테이너(UPC)가 데이터 자체보다는 오히려 실제 데이터에 대한 참조(예를 들어, URL(universal resource locator) 등)를 포함하고 있는 구성을 지원한다. 예를 들어, 참조된 업데이트 패키지 대신에, 업데이트 패키지에 대한 URL이 UPC 내에 제공될 수 있다.In a representative embodiment of the present invention, the structure of the individual update package may be proprietary, and the UPC may support several different types of update packages from different vendors. In addition, the UPC is a communication used to transfer the UPC from a creator, such as, for example, update packager /
본 발명의 대표적인 실시예에서, 업데이트 패키지의 생성은 예를 들어 도 1의 업데이트 패키저/생성자(131) 등의 생성 환경에서 수행될 수 있다. 이러한 생성 환경은 예를 들어 제조업자에 의해 관리될 수 있고 또 예를 들어 통신사업자에 의해 관리될 수 있는 분배 환경과 다른 별개의 것일 수 있다.In an exemplary embodiment of the present invention, the generation of the update package may be performed in a generation environment such as the update packager /
본 발명의 대표적인 실시예는 다양한 소스로부터의 업데이트 패키지들을 배포(분배 환경을 이용함)에 이용가능하도록(예를 들어, 저장소를 사용함) 하기 위해 이들의 컬렉션을 제공한다. 본 발명의 대표적인 실시예는 예를 들어 다수의 서로 다른 제조업자 및/또는 통신사업자(이들은 자신들이 생성한 업데이트 패키지를 분배 환경(통신사업자 네트워크 등)과 연관된 저장소에 보관할 방법이 필요함) 등의 2개 이상의 업데이트 패키지 소스를 지원한다. 비록 업데이트 패키지 소스들 모두가 동일한 전송 메카니즘을 사용할 수 있는 것은 아니지만, 본 발명의 대표적인 실시예는 이들 소스가 분배 환경과 연관된 저장소에 보관되어 있는 업데이트 패키지에 대한 UPC에 의해 지원되는 동일한 XML 래퍼 및 메타데이터를 채택할 수 있게 해준다. 게다가, 본 발명의 대표적인 실시예는 업데이트 패키지, 연관된 메타데이터 및 다른 관련 데이터의 효율적인 그룹화를 위한 구조를 제공하며, 그렇지 않았으면 이들은 몇개의 데이터 소스에 걸쳐 분산되어 있으며 이들을 취합하거나 검색하려면 다수의 질의 또는 통신을 필요로 하게 될 것이다.Exemplary embodiments of the present invention provide a collection of update packages from various sources to make them available for distribution (using a distribution environment) (eg, using a repository). Exemplary embodiments of the present invention include, for example, a number of different manufacturers and / or carriers (they need a way to store their generated update packages in a repository associated with a distribution environment (such as a carrier network)). Support for more than one update package source. Although not all update package sources can use the same transport mechanism, a representative embodiment of the present invention provides the same XML wrapper and meta support supported by UPC for update packages in which these sources are stored in a repository associated with a distributed environment. It allows you to adopt data. In addition, exemplary embodiments of the present invention provide a structure for efficient grouping of update packages, associated metadata, and other related data, otherwise they are distributed across several data sources and multiple queries to aggregate or retrieve them. Or you will need communication.
도 2는 본 발명의 대표적인 실시예에 따른, 예를 들어 펌웨어 업데이트 패키지 등의 콘텐츠의 다운로드를 지원할 수 있는 콘텐츠 서버(229)를 포함하는 UPC 시스템(2045의 예시적인 실시예를 나타낸 블록도이다. 도 2의 UPC 시스템(205)은 또 한 예를 들어 도 1의 업데이트 패키저/생성자(131)에 대응할 수 있는 업데이트 패키저(231)도 포함할 수 있다. 업데이트 패키저(231)는 업데이트 패키지를 생성하고 또 이를 업데이트 패키지 카탈로그/업데이트 패키지 컨테이너(UPC) 형태로 통신 링크(230)를 통해 콘텐츠 서버(229)로 전송할 수 있다. 콘텐츠 서버(229)는 예를 들어 도 1의 콘텐츠 서버/업데이트 스토어(129)에 대응할 수 있으며 또 장치 관리(DM) 서버(227)에 통신 연결되어 있을 수 있다. 장치 관리(DM) 서버(227)는 예를 들어 도 1의 DM 서버/전달 서버(127)에 대응할 수 있다. 장치 관리(DM) 서버(227)는 예를 들어 장치(207) 등의 장치를 관리할 수 있다. 도 2의 장치(207)는 예를 들어 도 1의 모바일 핸드셋(107)에 대응할 수 있고 또 DM 서버에 의해 관리될 수 있도록 구성될 수 있다.2 is a block diagram illustrating an exemplary embodiment of a UPC system 2045 including a
콘텐츠 서버(229)는 업데이트 패키지를 저장 및 검색하는 저장소를 포함할 수 있다. 콘텐츠 서버(229)는 업데이트 패키지를 예를 들어 도 1의 모바일 핸드셋(107) 등의 모바일 핸드셋으로 전달하는 것을 용이하게 해줄 수 있다. 본 발명에 따른 대표적인 실시예는 업데이트 패키저(231)와 콘텐츠 서버(229) 간의 상호작용을 지원하도록 적당하게 구성될 수 있다.The
도 3은 본 발명의 대표적인 실시예에 따른, 예시적인 업데이트 패키지 컨테이너(UPC)(300)의 사시 블록도이다. 도 3의 예시에 도시되어 있는 바와 같이, UPC(300)는 장치 1(310) 내지 장치 N(340)에 대한 몇개의 장치 정보 블록/세그먼트를 포함한다. 각각의 장치 정보 블록/세그먼트(310, 340)는 예를 들어 도 3에 도시된 타겟 1(320) 내지 타겟 M(330) 등의 하나 이상의 타겟을 포함할 수 있다. UPC(300) 내의 타겟들 각각은 타겟 1(320)의 전환 1(322) 내지 전환 L(326) 등의 하나 이상의 전환을 포함할 수 있다. 본 발명의 대표적인 실시예에서, 예를 들어 전환 1(320) 내지 전환 L(326) 등의 전환은 예를 들어 전환 1(322)의 업데이트 패키지(324) 등의 업데이트 패키지를 포함할 수 있다. 전환은 또한 예를 들어 전환 L(326)의 외부 참조를 갖는 업데이트 패키지(328) 등의 외부 참조를 갖는 업데이트 패키지를 포함할 수 있다. 도 3에 도시한 바와 같이, 각각의 전환은 업데이트 패키지 및 연관된 메타데이터(도시 생략)를 포함할 수 있다.3 is a perspective block diagram of an exemplary update package container (UPC) 300, in accordance with an exemplary embodiment of the present invention. As shown in the example of FIG. 3,
본 발명의 대표적인 실시예에서, 예를 들어 도 3의 UPC(300) 등의 업데이트 패키지 컨테이너(UPC)의 예는 예를 들어 도 1의 업데이트 패키저/생성자(131) 등의 생성자에 의해 생성될 수 있다. 도 3에 도시된 바와 같이, 업데이트 패키지 컨테이너(UPC)(300)는 서로 다른 가능한 (현재 지원되는) 펌웨어 버전 전환(322, 326)과 각각 연관되어 있는 하나 이상의 개별적인 업데이트 패키지(324, 328)를 포함할 수 있다. 예를 들어 제조업자 등의 업데이트 패키지의 원작자(originator)는 예를 들어 도 2의 장치(207) 등의 장치의 몇개의 서로 다른 모델에 대한 업데이트 패키지를 동일한 업데이트 패키지 컨테이너(300) 내에 포함시키고자 할 수 있다. 본 발명의 대표적인 실시예는 UPC가 예를 들어 장치의 제조업자, 모델 및 펌웨어 버전에 기초한 콘텐츠의 계층구조를 포함할 정도로 충분히 유연성이 있다는 점에서 이러한 패키징을 지원한다.In an exemplary embodiment of the invention, for example, an example of an update package container (UPC) such as
본 발명의 대표적인 실시예에서, 예를 들어 도 2의 UPC 시스템(205) 등의 업데이트 패키지 컨테이너(UPC) 시스템은 이하의 기능을 포함하는 업데이트 패키지 컨테이너를 이용할 수 있다.In an exemplary embodiment of the present invention, an update package container (UPC) system such as, for example, the
a) 복수의 업데이트 패키지를 포함시킬 수 있는 기능a) the ability to include multiple update packages
b) 복수의 제조업자/모델 조합을 포함시킬 수 있는 기능b) the ability to include multiple manufacturers / model combinations
c) 주어진 제조업자/모델에 대한 복수의 버전 전환을 포함시킬 수 있는 기능c) the ability to include multiple version transitions for a given manufacturer / model
d) UPC 시스템의 일부인 분배 네트워크 인프라에 대한 부하를 최소화시키기 위한 효율적이고 콤팩트한 포맷d) Efficient and compact format to minimize the load on distributed network infrastructure that is part of the UPC system
e) 업데이트 패키지 컨테이너가 업데이트 패키지 및 연관된 메타데이터에 대한 참조만을 포함하고 실제 데이터(즉, 업데이트 패키지)를 포함하고 있지 않을 때 업데이트 패키지 다운로드의 보안을 제공할 수 있는 기능.e) Ability to provide security for update package downloads when the update package container contains only references to update packages and associated metadata and does not contain actual data (ie, update packages).
본 발명의 대표적인 실시예에서, 예를 들어 도 3의 UPC(300) 등의 업데이트 패키지 컨테이너는 복수의 업데이트 패키지를 캡슐화/래핑하는 XML 래퍼를 포함할 수 있다. 복수의 업데이트 패키지를 포함하는 특정의 업데이트 패키지 컨테이너의 정확한 콘텐츠에 대한 상세가 본 발명의 범위를 넘어설 수 있지만, 본 명세서에 기술된 본 발명의 대표적인 실시예를 사용하여 임의의 업데이트 패키지 컬렉션이 업데이트 패키지 컨테이너 내에 취합될 수 있다.In an exemplary embodiment of the invention, for example, an update package container such as
본 발명에 따른 대표적인 실시예에서, 업데이트 패키지 컨테이너는 다수의 엔트리 또는 엘리먼트를 지원하는 XML 래퍼를 포함할 수 있으며, 각각의 엔트리/엘리먼트는 하나의 업데이트 패키지 또는 차이 정보 패키지를 이 컨테이너에 포함시키는 것을 용이하게 해주는 것을 목표로 한다.In an exemplary embodiment according to the present invention, an update package container may include an XML wrapper that supports multiple entries or elements, each entry / element being adapted to include one update package or difference information package in this container. The goal is to make it easy.
예를 들어 도 3의 UPC(300) 등의 본 발명의 대표적인 실시예에 따른 업데이 트 패키지 컨테이너의 이하의 예에서, 장치는 제조업자와 모델 값의 조합에 의해 식별된다. 게다가, 각각의 장치에 대해, 연관된 업데이트 패키지를 갖는 펌웨어 전환을 나타내는 다수의 전환 엔티티(transition entity)가 지정될 수 있다. 본 발명의 대표적인 실시예에 따른 업데이트 패키지 컨테이너는 동일한 업데이트 패키지 컨테이너 내에 다수의 장치에 관한 데이터를 제공할 수 있다.In the following example of an update package container according to a representative embodiment of the present invention, such as for
펌웨어, 오퍼레이팅 시스템, 애플리케이션, 기타 등등의 서로 다른 유형의 타겟에 대한 업데이트 패키지의 명세를 제공하기 위해, TARGET 엘리먼트가 도입되었다. 따라서, 각각의 DEVICE 엘리먼트에 대해, 하나 이상의 TARGET 엘리먼트(이 각각은 하나 이상의 TRANSITION 엘리먼트(업데이트 패키지)를 가짐)가 지정될 수 있다.The TARGET element is introduced to provide a specification of update packages for different types of targets, such as firmware, operating systems, applications, and so forth. Thus, for each DEVICE element, one or more TARGET elements, each of which has one or more TRANSITION elements (update package), can be specified.
XML로 래핑되어 있는 콘텐츠(업데이트 패키지)에 대한 UPDATEPACKAGECONTAINER 메타데이터 엘리먼트는 이하의 표 1에 나타낸 엘리먼트를 포함할 수 있다.The UPDATEPACKAGECONTAINER metadata element for the content (update package) wrapped in XML may include the elements shown in Table 1 below.
UPDATEPACKAGE 자체는 몇개의 메타데이터 엘리먼트를 포함할 수 있다. 예를 들어, 개개의 업데이트 패키지는 예를 들어 이하의 것 등의 몇개의 메타데이터 엘리먼트를 포함할 수 있다.The UPDATEPACKAGE itself can contain several metadata elements. For example, each update package may include several metadata elements, for example the following.
● 이름● Name
● 설명● Description
● 생성일자● Creation date
● 크기● Size
● 서명 유형● Signature type
● 서명● Signature
● 다운로드 시간 추정치● Estimated download time
● 리플래쉬 시간 추정치● Refresh time estimate
● 데이터● data
● 데이터 유형● Data type
● 업데이트 유형● Update type
● 중대성(severity)● Severity
업데이트 패키지와 연관된 서명은 디지털 서명, MD5 체크섬, 순환 중복 검사(CRC), 기타 등등일 수 있다. 데이터는 예를 들어 적절한 DATATYPE 엘리먼트 값을 사용하여 지정될 수 있는, 그와 연관된 MIME-유형을 가질 수 있다.The signature associated with the update package can be a digital signature, an MD5 checksum, a cyclic redundancy check (CRC), and the like. The data may have a MIME-type associated with it, which may be specified using, for example, the appropriate DATATYPE element value.
본 발명의 대표적인 실시예에서, UPDATEPACKAGE 메타데이터 엘리먼트는 이하의 표 2에 나타낸 바와 같이 정의될 수 있다.In an exemplary embodiment of the present invention, the UPDATEPACKAGE metadata element may be defined as shown in Table 2 below.
XML 구조의 동일한 레벨에서 업데이트 패키지 메타데이터 및 데이터를 지정하는 데 사용될 수 있는 예시적인 UPDATEPACKAGE가 이하에 제공되어 있다. 이 예는 UPDATEPACKAGE 엘리먼트에 대한 XML 구조의 동일한 레벨에 메타데이터 및 데이터를 포함시키는 것을 제공할 수 있다.An example UPDATEPACKAGE is provided below that can be used to specify update package metadata and data at the same level of the XML structure. This example may provide for including metadata and data at the same level of XML structure for the UPDATEPACKAGE element.
메타데이터 및 데이터가 XML 구조 상의 서로 다른 레벨에 제공될 수 있는 다른 예시적인 업데이트 패키지가 이하에 나타내어져 있다. 이 예는 UPDATEPACKAGE 엘리먼트에 대한 XML 구조의 서로 다른 레벨에 메타데이터 및 데이터의 상세를 제공할 수 있으며, 실제 데이터는 메타데이터의 레벨보다 하위 레벨에 나타나고 PACKAGE 태그 쌍으로 둘러싸여 있다.Other exemplary update packages are shown below where metadata and data can be provided at different levels on the XML structure. This example can provide details of metadata and data at different levels of the XML structure for the UPDATEPACKAGE element, with the actual data appearing at a lower level than the level of metadata and surrounded by PACKAGE tag pairs.
본 발명의 대표적인 실시예에서, 예를 들어 도 3의 업데이트 패키지 컨테이너(UPC)(300) 등의 업데이트 패키지 컨테이너는 외부 업데이트 패키지에 대한 참조로 지정될 수 있다. 업데이트 패키지 컨테이너는 외부에 저장된 업데이트 패키지에 대한 참조를 포함하면서 그의 메타데이터를 포함할 수 있다. 이러한 외부 업데이트 패키지 참조의 예가 도 3에 외부 참조를 갖는 업데이트 패키지(328)로서 나타내어져 있다. 실제 바이너리 데이터는 외부 웹사이트에 또는 외부 서버에 저장될 수 있고 이러한 서버 또는 웹사이트의 아키텍처와 관련하여 어떤 가정도 할 필요가 없으며, 유효한 외부 참조가 제공되기만 하면 된다. 업데이트 패키지에 대한 메타데이터는, 서명 및 서명 유형 등의 연관된 보안 정보와 함께, 업데이트 패키지 컨테이너 내에 제공될 수 있다.In an exemplary embodiment of the invention, an update package container, such as, for example, update package container (UPC) 300 of FIG. 3, may be designated as a reference to an external update package. The update package container may contain its metadata while including a reference to an update package stored externally. An example of such an external update package reference is shown in FIG. 3 as
이하의 예는 REFERENCE 엘리먼트의 사용을 통해 업데이트 패키지에 대한 외부 참조를 지원하는 XML 구조를 제공한다.The following example provides an XML structure that supports external references to update packages through the use of the REFERENCE element.
업데이트 패키지의 URL이 여기에 지정됨 Update package's URL is specified here
REFERENCE 엘리먼트는 웹사이트에서 호스팅되거나 서버에 의해 제공될 수 있는 실제 데이터(바이너리 또는 다른 방식)에 대한 외부 참조의 지정을 용이하게 해줄 수 있다. 외부 업데이트 패키지에 대한 이러한 액세스의 보안에 관하여 가정을 할 필요가 없다. 본 발명의 대표적인 실시예는 이러한 외부 액세스에 대한 보안 지원을 포함할 수 있다.The REFERENCE element may facilitate the specification of external references to actual data (binary or otherwise) that may be hosted on a website or provided by a server. There is no need to make assumptions about the security of such access to external update packages. Representative embodiments of the present invention may include security support for such external access.
본 발명의 대표적인 실시예에서, 부가의 보안 관련(예를 들어, 인증 및 권한 부여 관련) 정보가 업데이트 패키지 엘리먼트에(예를 들어, UPDATEPACKAGE 태그 내에) 포함될 수 있다. 이러한 정보는 예를 들어 통신사업자 네트워크에서의 DM 서버 또는 저장소의 사용자 등의 소비자에 의한 업데이트 패키지 데이터의 차후의 다운로드의 보안을 향상시킬 수 있다.In a representative embodiment of the invention, additional security related (eg, authentication and authorization related) information may be included in the update package element (eg, in an UPDATEPACKAGE tag). Such information may enhance the security of subsequent download of update package data by a consumer, such as, for example, a user of a DM server or a repository in a carrier network.
업데이트 패키지에 대한 외부 참조를 둘러싸고 있는 REFERENCE 엘리먼트는 또한 업데이트 패키지를 다운로드하면서 통신사업자 네트워크에서의 사용자에 의해 저장 및 사용될 수 있는 애트리뷰트(예를 들어, 연관된 DTD(document type definition)에서의 XML ATTLIST-기반 명세로 지정될 수 있음)를 제공받을 수 있다. 이러한 다운로드는 생성 환경 내에서 이용가능하거나 포털(portal)(예를 들어, 아마도 통신사업자 네트워크 밖에 있음)로서 제공되는 웹사이트 또는 분배 네트워크로부터 행해질 수 있다. 업데이트 패키지를 생성하는 벤더는 이를 포털 상에 올리고 벤더에 의해 제공되는 UPC는 포털 상의 업데이트 패키지에 대한 외부 참조(예를 들어, URL, 기타 등등)를 가질 수 있다.The REFERENCE element, which encloses an external reference to the update package, is also an attribute that can be stored and used by a user in the carrier network while downloading the update package (eg, XML ATTLIST-based in the associated document type definition (DTD)). Can be specified as a specification). Such download may be from a distribution network or a website that is available within the production environment or provided as a portal (eg, perhaps outside the service provider network). The vendor generating the update package may upload it on the portal and the UPC provided by the vendor may have an external reference (eg, URL, etc.) to the update package on the portal.
본 발명의 대표적인 실시예에서, 완비된(self-contained) 업데이트 패키지 컨테이너(즉, 외부 참조를 갖지 않음) 및 외부 참조를 갖는 UPC 둘다는 상황에 따라 유리하게 사용될 수 있다. 외부 데이터에 대한 참조만을 포함하는 것보다는, 업데이트 패키지에 대한 실제 데이터 뿐만 아니라 메타데이터도 포함하는 완비된 업데이트 패키지 컨테이너를 생성하는 것이 몇가지 이점이 있다. 예를 들어, 업데이트 패키지를 생성하는 벤더 또는 생성 환경은 예를 들어 웹사이트 등의 퍼블리싱 또는 분배 환경이 없는 경우 업데이트 패키지 컨테이너에서 참조되는 업데이트 패키지에 대한 지연된 액세스를 제공할 수 있다. 따라서, 본 발명의 대표적인 실시예를 이용함에 있어서, 소규모 벤더는 고비용의 웹사이트 솔루션에 투자할 필요가 없다. 게다가, 예를 들어 통신사업자 네트워크 등의 업데이트 패키지 컨테이너의 소비자는 웹사이트 또는 퍼블리싱 시스템이 "다운"되거나 다른 방식으로 액세스가능하지 않음으로 인한 업데이트 패키지의 비가용성에 대처할 필요가 없다. 중요한 문제인 보안과 관련하여, 업데이트 패키지의 다운로드를 위한 부가적인 보안은 벤더의 웹사이트 또는 생성 환경에 의해 제공될 수 있다.In a representative embodiment of the present invention, both a self-contained update package container (ie without an external reference) and an UPC with an external reference can be advantageously used in some circumstances. Rather than include only references to external data, there are several advantages to creating a complete update package container that contains metadata as well as actual data for the update package. For example, the vendor or generation environment generating the update package may provide delayed access to the update package referenced in the update package container, for example in the absence of a publishing or distribution environment such as a website. Thus, in using a representative embodiment of the present invention, small vendors do not need to invest in expensive website solutions. In addition, consumers of update package containers, such as carrier networks, for example, do not have to cope with the availability of update packages due to the website or publishing system being "down" or otherwise inaccessible. With regard to security, which is an important issue, additional security for the download of update packages can be provided by the vendor's website or creation environment.
이하는 TRANSITION 엘리먼트의 재귀적 정의를 제공할 수 있는 예시적인 DTD이다. TRANSITION 엘리먼트는 업데이트 패키지를 캡슐화하는 데 사용될 수 있다. UPDATEPACKAGE는 예를 들어 디지털 서명, CRC 및 MD5 체크섬, 기타 등등일 수 있는 서명을 포함할 수 있다. DEVICE 엘리먼트는 하나 이상의 TARGET 엘리먼트를 캡슐화하는 데 사용될 수 있으며, 여기서 TARGET의 한 예는 '펌웨어'일 수 있고 다른 예는 'OS', 기타 등등일 수 있다.The following is an example DTD that can provide a recursive definition of a TRANSITION element. The TRANSITION element can be used to encapsulate the update package. The UPDATEPACKAGE can include a signature that can be, for example, a digital signature, a CRC and MD5 checksum, and so forth. The DEVICE element can be used to encapsulate one or more TARGET elements, where one example of TARGET can be 'firmware' and another can be 'OS', and so forth.
본 발명의 대표적인 실시예에서, 업데이트 패키지가 몇개의 업데이트 패키지를 포함하는 경우, 이러한 업데이트 패키지의 리스트가 이용가능하게 될 수 있다. 예를 들어, 본 발명의 대표적인 실시예는 카탈로그에서 이용가능한 업데이트 패키지 각각의 이름 및 다른 상세를 검색하고 이를 리스트로서 디스플레이하기 위해 XML (SAX) 파서에 대한 간단한 API 또는 DOM(document object model, 문서 객체 모델) 파서를 이용하여 UPC를 파싱할 수 있다. 본 발명에 따른 한 대표적인 실시예에서, SAX 파서 기반 파싱 코드는 주어진 UPC에서의 모든 이용가능한 업데이트 패키지의 이름을 검색할 수 있고, XSL(extensible style sheet language, 확장 가능 스타일 시트 언어) 문서(즉, 스타일 시트)는 검색된 정보를 쉽게 보고 브라우징하기 위한 리스트 구조로 변환하는 데 사용될 수 있다.In a representative embodiment of the present invention, if an update package includes several update packages, a list of such update packages may be made available. For example, a representative embodiment of the present invention is a simple API or document object model (DOM) for the XML (SAX) parser to retrieve the name and other details of each of the update packages available in the catalog and display them as a list. Model) You can parse UPC using a parser. In one exemplary embodiment in accordance with the present invention, the SAX parser based parsing code may retrieve the names of all available update packages in a given UPC, and may include an XSL (extensible style sheet language) document (i.e., Style sheets) can be used to convert the retrieved information into a list structure for easy viewing and browsing.
본 발명에 따른 대표적인 실시예에서, UPC에 대한 XML에 기초한 포맷이 선택될 수 있고, 여기서 업데이트 패키지 이름 및 심지어 메타데이터의 리스트가 XML 파일의 시작부에 배치된다. 실제 업데이트 패키지는 XML 파일의 끝부분쪽에 배치될 수 있으며, 개개의 업데이트 패키지 이름과 그의 업데이트 패키지 데이터 간의 연관(association) 또는 매핑은 고유한 것일 수 있는 태그 이름, 태그의 애트리뷰트 또는 다른 유형의 식별(identification)/연관에 기초하여 가능하다.In a representative embodiment according to the invention, a format based on XML for the UPC can be selected, where a list of update package names and even metadata is placed at the beginning of the XML file. The actual update package can be placed at the end of the XML file, and the association or mapping between an individual update package name and its update package data can be unique: tag name, attribute of tag, or other type of identification ( Possible based on identification / association.
이하는 TRANSITION 엘리먼트의 재귀적 정의를 제공하는 예시적인 DTD이다. 본 발명의 대표적인 실시예에서 TRANSITION 엘리먼트는 업데이트 패키지를 캡슐화하는 데 사용될 수 있다. UPDATEPACKAGE는 디지털 서명, CRC 및 MD5 체크섬, 기타 등등일 수 있는 서명을 포함할 수 있다.The following is an example DTD that provides a recursive definition of the TRANSITION element. In a representative embodiment of the present invention, the TRANSITION element can be used to encapsulate the update package. The UPDATEPACKAGE may include a signature that may be a digital signature, CRC and MD5 checksums, and so forth.
DEVICE 엘리먼트는 하나 이상의 TARGET 엘리먼트를 캡슐화하는 데 사용될 수 있고, 여기서 TARGET의 한 예는 '펌웨어'일 수 있고, 다른 예는 'OS', 기타 등등일 수 있다. VENDOR 엘리먼트는 예를 들어 벤더 이름, 벤더 상세 및 벤더 관련 파라미터를 비롯한 벤더 관련 정보에 대한 위치 보유자(placeholder)를 제공할 수 있다. 게다가, DEPLOYMENT 엘리먼트는 '통신사업자' 배치(deployment), 'OEM' 배치, 기타 등등을 지정할 수 있다.The DEVICE element may be used to encapsulate one or more TARGET elements, where one example of TARGET may be 'firmware', another example may be 'OS', and so forth. The VENDOR element may provide a placeholder for vendor related information, including, for example, vendor name, vendor details, and vendor related parameters. In addition, the DEPLOYMENT element may specify a 'carrier' deployment, an 'OEM' deployment, or the like.
디지털 서명의 정의를 참조하는 서명 필드를 갖는 예시적인 업데이트 패키지가 이하에 나타내어져 있다.Digital signature An example update package having a signature field referencing a definition is shown below.
업데이트 패키지의 URL이 여기에 지정됨Update package's URL is specified here
도 4는 본 발명의 대표적인 실시예에 따른, 예를 들어 도 3에 도시된 업데이트 패키지 컨테이너(300) 등의 업데이트 패키지 컨테이너를 생성하는 예시적인 방법을 나타낸 흐름도이다. 도 4의 방법은 시작 블록(410)에서 시작한다. 다수의 전자 장치에 대한 펌웨어 및/또는 소프트웨어를 업데이트하기 위한 업데이트 패키지가 궁극적으로 개별적인 전자 장치로 전달하기 위해 생성될 수 있다(블록 414). 업데이트 패키지 각각은 예를 들어 제1 버전의 펌웨어/소프트웨어를 제2 버전의 펌웨어/소프트웨어로 변환시키는 일련의 실행가능 명령어 및 연관된 데이터를 포함할 수 있다. 이어서, 업데이트 패키지와 연관된 임의의 디지털 서명을 비롯하여 업데이트 패키지 각각과 연관된 메타데이터가 수집될 수 있다(블록 418). 업데이트 패키지와 연관된 메타데이터는 예를 들어 전술한 바와 같이 크기, 이름, 모델, 제조사, 서명 유형을 포함할 수 있다. 이어서, 업데이트 패키지 및 연관된 메타데이터는 업데이트 패키지 컨테이너에 삽입될 수 있다(블록 420). 본 발명에 따른 한 대표적인 업데이트 패키지 컨테이너의 예가 도 3에 도시되어 있다. 이어서, 조립된 업데이트 패키지 컨테이너는 예를 들어 MD5, 순환 중복 검사(CRC) 또는 다른 형태의 디지털 서명 등의 메시지 다이제스트(message digest)를 사용하여 디지털적으로 서명될 수 있다(블록 422). 이어서, 취합되고 디지털적으로 서명된 업데이트 패키지 컨테이너는 그 안에 포함되어 있는 업데이트 패키지의 저장 및/또는 개별적인 전자 장치로의 분배를 위해 저장소로 전달될 수 있다(블록 426). 이어서, 도 4의 방법은 종료된다(블록 428).4 is a flow diagram illustrating an exemplary method of creating an update package container, such as, for example, update
따라서, 본 발명은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 실현될 수 있다. 본 발명은 적어도 하나의 컴퓨터 시스템에서 중앙집중식으로 또는 여러가지 구성요소가 몇개의 상호연결된 컴퓨터 시스템에 걸쳐 분산되어 있는 분산 방식으로 실현될 수 있다. 본 명세서에 기술된 방법을 수행하도록 구성되어 있는 임의의 종류의 컴퓨터 시스템 또는 다른 장치가 적당하다. 하드웨어와 소프트웨어의 일반적인 조합은 로드되어 실행될 때 본 명세서에 기술된 방법을 수행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 갖는 범용 컴퓨터 시스템일 수 있다.Thus, the present invention can be realized in hardware, software, or a combination of hardware and software. The invention may be realized centrally in at least one computer system or in a distributed manner in which various components are distributed across several interconnected computer systems. Any kind of computer system or other apparatus configured to perform the methods described herein is suitable. A general combination of hardware and software may be a general purpose computer system having a computer program that controls the computer system to perform the methods described herein when loaded and executed.
본 발명은 또한 본 명세서에 기술된 방법의 구현을 가능하게 해주는 모든 특징을 포함하고 또 컴퓨터 시스템에 로드될 때 이들 방법을 수행할 수 있는 컴퓨터 프로그램 제품에 내장될 수 있다. 이러한 관점에서 컴퓨터 프로그램은 임의의 언어, 코드 또는 표기법으로 된, 정보 처리 기능을 갖는 시스템으로 하여금 특정의 기능을, 즉각 또는 a) 다른 언어, 코드 또는 표기법으로의 변환 및 b) 다른 자료 형태로 재생성 중 어느 하나 또는 둘다 이후에 수행하도록 하는 일련의 명령어의 임의의 표현식을 의미한다.The invention may also be embedded in a computer program product that includes all the features that enable implementation of the methods described herein and that may perform these methods when loaded into a computer system. In this regard, a computer program can cause a system having an information processing function, in any language, code, or notation, to convert a particular function immediately, or a) to another language, code, or notation, and b) to reproduce it in another form. Either or both of them refer to any expression of a series of instructions to be performed later.
본 발명이 어떤 실시예를 참조하여 기술되어 있지만, 당업자라면 본 발명의 범위를 벗어나지 않고 여러가지 변경이 행해질 수 있고 또 균등물이 대용될 수 있음을 잘 알 것이다. 게다가, 본 발명의 범위를 벗어나지 않고 특정의 상황 또는 자료를 본 발명의 개시 내용에 적합하도록 하기 위해 많은 수정이 행해질 수 있다. 따라서, 본 발명이 개시된 특정의 실시예에 한정되지 않으며 또 본 발명이 첨부된 청구항의 범위 내에 속하는 모든 실시예를 포함하는 것으로 보아야 한다.While the invention has been described with reference to certain embodiments, those skilled in the art will recognize that various changes may be made and equivalents may be substituted without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from its scope. Therefore, it is to be understood that the invention is not limited to the specific embodiments disclosed and that the invention includes all embodiments falling within the scope of the appended claims.
Claims (24)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US50629403P | 2003-09-26 | 2003-09-26 | |
US60/506,294 | 2003-09-26 | ||
US60/513,848 | 2003-10-23 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097005363A Division KR20090035044A (en) | 2003-09-26 | 2004-09-27 | Update package catalog for update package transfer between generator and content server in a network |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060064663A true KR20060064663A (en) | 2006-06-13 |
Family
ID=37160092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020067004488A KR20060064663A (en) | 2003-09-26 | 2004-09-27 | Update package catalog for update package transfer between generator and content server in a network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060064663A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8893110B2 (en) | 2006-06-08 | 2014-11-18 | Qualcomm Incorporated | Device management in a network |
US9081638B2 (en) | 2006-07-27 | 2015-07-14 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
-
2004
- 2004-09-27 KR KR1020067004488A patent/KR20060064663A/en active Search and Examination
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8893110B2 (en) | 2006-06-08 | 2014-11-18 | Qualcomm Incorporated | Device management in a network |
US9081638B2 (en) | 2006-07-27 | 2015-07-14 | Qualcomm Incorporated | User experience and dependency management in a mobile device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20090035044A (en) | Update package catalog for update package transfer between generator and content server in a network | |
US20040226008A1 (en) | Update system for facilitating software update and data conversion in an electronic device | |
US7716414B2 (en) | Method for updating a mobile device using an update package obtained from a remote server | |
CN102073512B (en) | JAVA cluster application system code loading and upgrading device and method | |
US7644111B2 (en) | Framework for content representation and delivery | |
US7401065B2 (en) | System for downloading contents, and client terminal for downloading contents from contents server | |
KR101164833B1 (en) | Virtual file system | |
KR101143027B1 (en) | Self-describing software image update components | |
US20040034853A1 (en) | Mobile download system | |
CN106598673B (en) | Application program upgrading method and system | |
JP2007523419A6 (en) | How to supply content to a device | |
CN104426924A (en) | Method, apparatus, client, server and system for updating application software | |
CN105516079A (en) | Method for efficient download of data package, client device, and server | |
WO2007062294A2 (en) | Managing software configuration of a wireless device | |
CN104699511A (en) | Plug-in upgrading method and plug-in upgrading device | |
KR20060064663A (en) | Update package catalog for update package transfer between generator and content server in a network | |
US7716658B2 (en) | Method and apparatus for optimizing patching of objects containing references | |
CN101146123B (en) | A mobile phone reading system and its method | |
CN110007937B (en) | System updating method and system | |
CN112114871A (en) | Code sharing method, device, server, terminal and medium | |
CN111294397A (en) | npm packet management method, device, electronic equipment and storage medium | |
CN112612504B (en) | JAVA installation package management method | |
KR20050057869A (en) | Wireless application manager system and method | |
CN114115969A (en) | Hot updating method and system based on real Native | |
CN116009869A (en) | Resource package construction method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
N231 | Notification of change of applicant | ||
E601 | Decision to refuse application | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B601 | Maintenance of original decision after re-examination before a trial | ||
E801 | Decision on dismissal of amendment | ||
J301 | Trial decision |
Free format text: TRIAL NUMBER: 2009101002368; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090316 Effective date: 20101115 Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20090316 Effective date: 20101115 |