KR20060050967A - 소프트웨어를 위한 패치들을 제공하는 방법 - Google Patents

소프트웨어를 위한 패치들을 제공하는 방법 Download PDF

Info

Publication number
KR20060050967A
KR20060050967A KR1020050081669A KR20050081669A KR20060050967A KR 20060050967 A KR20060050967 A KR 20060050967A KR 1020050081669 A KR1020050081669 A KR 1020050081669A KR 20050081669 A KR20050081669 A KR 20050081669A KR 20060050967 A KR20060050967 A KR 20060050967A
Authority
KR
South Korea
Prior art keywords
patch
client system
level
client
patches
Prior art date
Application number
KR1020050081669A
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 KR20060050967A publication Critical patent/KR20060050967A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

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

Abstract

각각 적어도 하나의 데이터 프로세서(12)와 메모리(13 내지 15)를 가지며, 각각 실제 패치 레벨을 나타내는 정보를 유지하고, 실제 패치 레벨이 필요한 패치 레벨에 대해 미리 규정된 관계에 있는 경우에만 필요한 패치 레벨을 나타내는 데이터와 함께 설치된 애플리케이션에 제공된 입력 데이터를 처리함으로써 출력 데이터를 발생시키도록 프로그래밍 되어 있는, 복수의 클라이언트 시스템들(2 내지 5)상에 설치되는 소프트웨어를 위한 패치들을 제공하는 방법은 패치들내로의 포함을 위해 컴퓨터 프로그램 코드를 획득하는 단계로서, 상기 코드는 상기 패치가 상기 클라이언트 시스템에 적용된 후, 클라이언트 시스템(2 내지 5)상에 설치된 상기 소프트웨어의 적어도 일부와 협동하여 특정 기능을 수행하도록 구성되어 있는 단계, 및 다음 레벨을 반영하도록 클라이언트 시스템(2 내지 5)에 유지된 실제 패치 레벨을 갱신하기 위한 명령과 함께 적어도 하나의 제 1 클라이언트 시스템내의 애플리케이션을 위한 제 1 패치를 제공하는 단계를 포함한다. 이 방법은 다음 레벨을 반영하도록 클라이언트 시스템내에 유지된 실제 패치 레벨을 갱신하기 위한 명령과 함께 클라이언트 시스템들(2 내지 5) 중 적어도 하나의 나머지를 위해 제 2 패치를 제공하는 것을 특징으로 한다. 코드는 제 1 및 제 2 패치들 중 첫 번째에만 제공된다.
데이터 프로세서, 클라이언트 시스템, 패치 레벨, 컴퓨터 프로그램 코드, 개인화 센터,

Description

소프트웨어를 위한 패치들을 제공하는 방법{Method of providing patches for software}
도 1은 스마트 카드들을 위한 패치들(patches)을 제공하는 방법을 구현하기에 적합한 기반 구조(infrastructure)를 도시하는 도면.
도 2는 도 1의 스마트 카드내의 칩의 기능 구성 부품들의 개략도.
도 3은 스마트 카드내에 유지되는 바와 같은 모델 번호의 조성의 개략도.
본 발명은 각각 적어도 하나의 데이터 프로세서 및 메모리를 가지고, 각각 실제 패치 레벨을 나타내는 정보를 유지하고 실제 패치 레벨이 필요한 패치 레벨에 관해 미리 규정된 관계에 있는 경우에만, 필요한 패치 레벨을 나타내는 데이터와 함께 설치된 애플리케이션에 제공되는 입력 데이터를 처리함으로써 출력 데이터를 발생시키도록 프로그래밍 되어 있는 복수의 클라이언트 시스템들상에 설치된 소프트웨어를 위한 패치들을 제공하는 방법들에 관한 것으로, 이 방법은 패치 내로 포함을 위해 컴퓨터 프로그램 코드를 획득하는 단계로서, 코드는 패치가 클라이언트 시스템에 적용된 이후 특정 기능을 수행하기 위해 클라이언트 시스템상에 설치된 소프트웨어의 적어도 일부와 협력하도록 구성되는 단계, 및 다음 레벨을 반영하도록 클라이언트 시스템내에 유지된 실제 패치 레벨을 갱신하기 위한 명령과 함께 적어도 하나의 제 1 클라이언트 시스템내의 애플리케이션을 위해 제 1 패치를 제공하는 단계를 포함한다.
본 발명은 또한 이런 방법들을 실행하기 위해 프로그래밍된 프로세서와 메모리를 포함하는 데이터 처리 시스템에 관한 것이다.
본 발명은 또한 프로그램가능한 처리 시스템상에서 운용시, 시스템이 이런 방법들을 수행할 수 있게 하도록 구성된 컴퓨터 프로그램에 관한 것이다.
본 발명은 또한 프로세서 및 메모리와, 패치들을 수신하기 위한 인터페이스, 및 클라이언트 시스템상에 설치된 애플리케이션을 위한 입력 데이터를 로딩하기 위한 인터페이스를 갖는 클라이언트 시스템에 제공된 패치들을 처리하는 방법에 관한 것이며, 이 방법은 실제 패치 레벨을 나타내는 정보를 유지하는 단계, 및 실제 패치 레벨이 입력 데이터를 구비하는 정보에 표시된 필요한 패치 레벨에 대한 미리 규정된 관계에 있는 경우에만 애플리케이션에 제공된 입력 데이터를 처리함으로써 출력 데이터를 발생시키는 단계를 포함하고, 클라이언트 시스템은 적절한 명령을 구비하는 패치의 적용시 다음 레벨을 반영하도록 클라이언트 시스템내에 유지되는 실제 패치 레벨을 갱신하도록 구성되어 있다.
본 발명은 또한 프로세서, 메모리, 패치들을 수신하기 위한 인터페이스 및 데이터 처리 디바이스상에 설치된 애플리케이션을 위한 입력 데이터를 로딩하기 위한 인터페이스를 포함하는 데이터 처리 디바이스에 관한 것이다.
본 발명은 또한 다른 컴퓨터 프로그램에 관한 것이다.
상술된 방법의 예들은 EP-A2-0 217 351로부터 알려져 있다. 이 공보는 로컬 스테이션(local station)과 다른 원격 스테이션들(remote stations) 사이에서 통신하도록 컴퓨터 네트워크에 연결된 송-수신 회로, 통신 프로그램이 저장되어 있는 재기록가능한 저장 유닛, 송수신 회로에 의해 수용된 패킷내의 통신 제어 프로그램의 버전 번호가 저장 유닛에 저장된 통신 제어 프로그램의 것보다 새로운 것인지의 여부를 결정하기 위한 비교 유닛(comparison unit)을 포함하는 통신 제어 장치를 개시한다. 제어기는 통신 제어 프로그램의 보다 새로운 버전을 전달할 것을 요청하는 메시지를 원격 스테이션에 전송함으로써 비교기로부터의 출력에 기초하여 프로그램을 갱신한다.
공지된 방법의 문제점은 모든 스테이션이 동일하게 남아있거나, 서로 다른 버전 번호들의 패킷들을 사용할 것을 필요로 한다는 것이다. 통신 프로그램의 새로운 버전은 그들이 모두 동일 버전 번호를 갖는 패킷들의 교환들에 계속 수반되는 것인 경우에 모든 스테이션들에 적용가능하여야만 한다.
본 발명의 목적은 클라이언트 시스템들 사이의 차별화를 고려하고, 복수의 클라이언트 시스템들 중 하나에 설치된 소프트웨어의 개선된 갱신을 가능하게 하는 상술한 유형들의 방법들을 제공하는 것이다.
이 목적은 새로운 레벨을 반영하도록 클라이언트 시스템들내에 유지된 실제 패치 레벨을 갱신하기 위한 명령과 함께 적어도 하나의 다른 클라이언트 시스템들 을 위한 제 2 패치를 제공하는 단계를 포함하고, 제 1 및 제 2 패치들 중 제 1 패치들에만 코드가 제공되는 것을 특징으로 하는 상술된 유형의 패치들을 제공하는 방법에 의해 달성된다.
이하에서, 용어 '패치'는 설치된 소프트웨어를 교정 및/또는 향상시키기 위해 설치된 소프트웨어에 삽입되기에 적합한 코드의 단편을 프로그램가능한 처리 시스템에 제공하기 위한 데이터 구조를 지칭하기 위해 사용된다. 패치는 부가적으로 패치가 적용될 때 예로서, 삽입 대상 패치내의 소정의 코드 및 이미 설치된 소프트웨어 양자 모두 또는 그 중 하나에 의해 사용되는 데이터 또는 파일들에 대한 포인터들의 값을 변경하기 위한 코드를 포함할 수 있다. 따라서, 애플리케이션은 클라이언트 시스템에 의해 수용된 패치가 기능할 수 있는 프로세스를 지칭한다.
제 1 클라이언트 시스템 또는 시스템들 및 다른 클라이언트 시스템 또는 시스템들 양자 모두가 동일 값을 반영하도록 실제 패치 레벨을 갱신하기 위한 명령을 수신하기 때문에, 모든 클라이언트 시스템들을 위한 입력 데이터는 모든 클라이언트 시스템들이 갱신되고 나서 단지 하나의 필요한 패치 레벨을 제공받을 수 있다. 따라서, 그들 모두 상에 설치된 애플리케이션에 의한 사용을 위해 입력 데이터를 제공시 클라이언트 시스템들 사이를 차별화할 필요가 없다. 서로 다른 패치 코드 콘텐트와 함께 패치가 다른 클라이언트 시스템 또는 시스템들에 제공되기 때문에, 클라이언트 시스템들의 서로 다른 현존하는 구성들을 고려하거나 서로 다른 방식들로 제 1 및 다른 클라이언트 시스템을 재구성하는 것이 가능하다.
본 발명의 다른 양태에 따라서, 패치들을 제공하는 방법에서, 적어도 하나의 식별의 목표 값이 각 패치와 함께 제공되고, 각 클라이언트 시스템은 이 값들이 클라이언트 시스템 내에 제공된 대응하는 식별에 대해 미리 규정된 관계들을 나타내는 경우에만 패치를 받아들이기 위한 필터를 갖는다.
각 패치에 식별이 제공되기 때문에, 클라이언트 시스템을 위한 패치를 제공하기 이전에 개별적으로 각 클라이언트 시스템과 통신할 필요 없이 클라이언트 시스템들 사이의 차별화가 고려된다. 따라서, 복수의 클라이언트 시스템들 상에 설치된 소프트웨어를 갱신하는 효과적인 방법이 제공된다. 사실, 본 방법은 그 위에 패치들 모두를 갖는 데이터 캐리어(data carrier)를 제공함으로써 또는 네트워크를 거쳐 모든 클라이언트 시스템들에 대하여 모든 패치들을 방송 또는 멀티캐스팅하기에 적합하다.
유리한 실시예에 따라서, 목표 소유자 식별의 값이 적어도 제 1 패치와 함께 제공되고, 각 클라이언트 시스템은 일 회 프로그램가능한 메모리를 구비하며, 목표 소유자 식별이 일 회 프로그램가능한 메모리에 프로그래밍된 대응하는 소유자 식별에 대해 미리 규정된 관계에 있는 경우에만 클라이언트 시스템이 패치를 수용할 수 있게 하는 필터를 구비한다.
따라서, 클라이언트 시스템이 클라이언트 시스템에 저장된 식별들의 우발적인 또는 고의적인 무허가 변경의 결과로서 잘못된 패치를 적용하는 것이 방지된다.
바람직한 실시예에서, 목표 모델 식별의 값이 적어도 제 1 패치와 함께 제공되고, 각 클라이언트 시스템은 프로그램가능한 메모리를 구비하며, 프로그램가능한 메모리에 저장된 대응하는 모델 식별에 대해 목표 모델 식별이 미리 규정된 관계에 있는 경우에만 클라이언트 시스템이 패치를 수용할 수 있게 하는 필터를 구비한다.
따라서, 다른 모델 식별을 프로그램함으로써, 원래 동일한 클라이언트 시스템들의 서로 다른 구성들을 확립하는 것이 가능하다. 이는 클라이언트 시스템의 단일 기본 모델의 서로 다른 버전들을 제공하는 비교적 효율적인 방식이다.
바람직하게는, 이 방법은 클라이언트 시스템을 위한 패치를 제공하는 단계를 더 포함하고, 패치는 프로그램가능한 메모리에 저장된 모델 식별을 다른 값으로 클라이언트 시스템이 변경할 수 있게 하도록 구성되어 있다.
따라서, 클라이언트 시스템들의 그 각 사용자들에게로의 전달 이후에도, 단순히 적절한 패치들을 제공함으로써, 클라이언트 시스템의 단일 기본 모델의 다른 버전들이 확립될 수 있다.
바람직한 실시예에서, 특정 패치 레벨을 나타내는 정보가 적어도 제 1 패치와 함께 제공된다.
이는 몇몇 레벨들을 "스킵(skip)"하는 패치들의 버전을 가능하게 한다. 하나의 클라이언트 시스템이 이를 새로운 레벨이 되게 하는 시퀀스에서 몇몇 패치들이 누락된 경우의 상황에서, 이 변형은 누락된 패치들 모두를 하나씩 적용해야만 하게 되는 것을 방지한다.
바람직한 실시예에서, 적어도 제 1 패치는 패치를 적용하기 위해 필요한 패치 레벨을 나타내는 정보를 제공받으며, 각 클라이언트 시스템은 클라이언트 시스템에 유지된 실제 패치 레벨이 패치를 적용하기 위해 필요한 패치 레벨에 대해 미리 규정된 관계에 있는 경우에만 클라이언트 시스템이 패치를 적용할 수 있게 하는 필터를 갖는다.
따라서, 클라이언트 시스템은 적절히 기능하도록, 보다 이전의 패치의 적용 이전에 필요한 패치를 적용하는 것이 방지된다. 따라서, 이는 클라이언트 시스템내의 일련의 패치들의 특정 의도된 순서의 적용을 실행한다.
바람직한 실시예에서, 패치는 연계된 디코더 시스템과 통신하는 적어도 하나의 클라이언트 시스템으로의 전달을 위해 적어도 하나의 자격 관리 메시지에 제공되며, 적어도 하나의 클라이언트 시스템내의 애플리케이션은 연계된 디코더 시스템에 의해 클라이언트 시스템으로 포워딩된 자격 관리 메시지들 중 적어도 일부로부터 디코더 시스템에 제공된 스크램블링된 콘텐트 데이터가 디스크램블링될 수 있게 하는 제어 워드 데이터를 발생시키기 위한 적어도 하나의 루틴을 포함한다.
이 변형은 본 발명에 따른 방법의 적용에 특히 유용하며, 그 이유는 이는 제어 워드 데이터의 발생을 위한 갱신된 소프트웨어의 사용을 실행하기 때문이다. 따라서, 이는 클라이언트 시스템 내의 보안성의 빈틈을 교정하기 위해 사용될 수 있다. 특히, 빈틈은 다른 클라이언트 시스템들을 위해 다른 방식들로 교정될 수 있다.
바람직한 변형에서, 자격 관리 메시지들이 디코더 시스템에 전송되며, 디코더 시스템은 자격 관리 메시지들을 클라이언트 시스템으로 포워딩한다.
따라서, 다양한 위치들의 클라이언트 시스템들의 무선 갱신이 가능해진다.
바람직한 실시예에서, 애플리케이션이 디코더 시스템에 제공된 스크램블링된 콘텐트 데이터가 디스크램블링될 수 있게 하는 암호화된 제어 워드들을 포함하는 자격 관리 메시지들의 일부를 해독하기 위한 적어도 하나의 루틴을 포함하며, 패치를 포함하는 자격 관리 메시지들의 적어도 일부는 그들이 패치의 적용 이전에 클라이언트 시스템에 유지되는 실제 패치 레벨의 최신 값에 대응하는 필요한 패치 레벨을 나타내는 정보를 갖는 적어도 하나의 자격 관리 메시지 내에서 디코더 시스템에 제공되는 적어도 하나의 제어 워드를 사용하여 해독될 수 있게 하도록 암호화된다.
따라서, 제어 워드들을 이미 발생시킬 수 있었던 클라이언트 시스템들만이 갱신된다.
바람직한 실시예에서, 패치는 제 1 지점에서 클라이언트 시스템들 중 적어도 하나에 통신되고, 입력 데이터는 도입 시간 간격 만큼 제 1 시점으로부터 떨어져 있는 제 2 시점에서, 다음 필요한 패치 레벨을 나타내는 데이터와 함께 클라이언트 시스템들 중 적어도 하나에 먼저 제공된다.
따라서, 클라이언트 시스템에 패치 적용시 특정 시간 간격을 사용할 수 있다. 이는 패치 분배의 방송 모델을 가능하게 한다. 클라이언트는 패치의 제 1 방송 동안 스위치 오프될 수 있지만, 패치가 다시 방송되고 그에 의해 수신될 때까지 기능 상태로 남아 있는다. 또한, 매우 짧은 시간 간격으로 일 그룹의 클라이언트 시스템들 모두에게 패치들을 전달할 필요가 없으며, 따라서 패치가 네트워크를 거쳐 전달되는 경우에 정체 현상(congestion)을 경감시킨다.
다른 양태에 따라서, 본 발명은 프로세서 및 메모리를 포함하고, 본 발명에 따른 방법을 실행하도록 프로그래밍된 데이터 처리 시스템을 제공한다.
다른 양태에 따라서, 본 발명은 프로그램가능한 처리 시스템상에서 구동시, 본 발명에 따른 방법을 시스템이 수행할 수 있게 하도록 구성된 컴퓨터 프로그램을 제공한다.
본 발명의 다른 양태에 따라서, 클라이언트 시스템에 제공된 패치들을 처리하는 방법은 클라이언트 시스템 내에 적어도 하나의 식별 값을 저장하는 단계 및 각 저장된 식별 값이 패치와 함께 제공된 적어도 하나의 목표 식별 값의 세트 중 각각의 하나에 대해 미리 규정된 관계에 있는 경우에만 클라이언트 시스템이 패치를 수용할 수 있게 하는 단계를 특징으로 한다.
따라서, 클라이언트 시스템은 그를 위해 의도된 패치만을 수용하도록 배열된다. 실제 패치 레벨의 값이 갱신되기 때문에, 클라이언트 시스템은 서로 다른 효과를 가지는 패치를 수신 및 적용하는 소정의 다른 클라이언트 시스템들 및 그와 동일한 버전 번호를 갖는 입력 데이터를 취급할 수 있는 상태로 남는다.
바람직한 실시예는 패치를 수용하는 단계 및 패치를 적용하는 단계를 포함하고, 패치를 적용하는 단계는 클라이언트 시스템 내의 메모리의 적어도 일부의 구성을 재배열하기 위한 명령들을 실행하는 단계를 포함한다.
따라서, 클라이언트 시스템은 개선된 소프트웨어를 실행하기에 적합해진다. 또한, 클라이언트 시스템은 또한 동일 유형의 입력 데이터를 처리하는 다른 클라이언트 시스템내의 다른 패치의 적용에 의해 필요한 새로운 포맷의 입력 데이터를 처리하기에 적합할 수도 있다. 이런 경우들에서, 클라이언트 시스템의 기능성은 패치에 의해 소정의 방식으로 변경될 필요가 없다.
다른 양태에 따라서, 본 발명은 프로세서, 메모리, 패치들을 수신하기 위한 인터페이스 및 데이터 처리 디바이스상에 설치된 애플리케이션을 위해 입력 데이터를 로딩하기 위한 인터페이스를 포함하는 데이터 처리 디바이스를 제공하며, 이 디바이스는 본 발명에 따른 방법을 수행하도록 프로그래밍 되어 있다.
패치들을 수신하기 위한, 그리고, 입력 데이터를 로딩하기 위한 인터페이스들은 하나의 인터페이스로 구현될 수 있다.
바람직한 실시예에서, 패치들을 수신하기 위한 인터페이스 및 입력 데이터를 로딩하기 위한 인터페이스는 데이터 처리 디바이스 외부의 데이터 처리 시스템내의 기록/판독 유닛에 대한 물리적 인터페이스를 포함한다.
따라서, 데이터 처리 디바이스는 저장 매체들을 판독하기 위한 디바이스를 구비할 필요가 없다. 부가적으로, 이는 네트워크에 연결되는 시스템에 포함된 기록/판독 유닛에 결합될 수 있으며, 그래서 큰 거리들에 걸친 원격 갱신들이 이루어질 수 있다.
다른 양태에 따라서, 프로세서, 메모리, 패치들을 수신하기 위한 인터페이스 및 입력 데이터를 로딩하기 위한 인터페이스를 포함하는 프로그램가능한 처리 시스템상에서 구동시, 프로그램가능한 처리 시스템이 본 발명에 따른 방법을 수행할 수 있게 하도록 배열된 컴퓨터 프로그램이 제공된다.
이제, 첨부 도면을 참조로 본 발명을 보다 상세히 설명한다.
도 1은 콘텐트 데이터를 액세스하기 위한 조건부 액세스 서브시스템들로 사용되는 프로그램가능한 처리 디바이스들의 기능을 향상시키는 방법을 예시하기 위 해 여기에 사용된다. 부가적인 기능을 제공하는 코드는 패치 생성 센터(1)에서 생성된다. 이는 하나 이상의 스마트 카드들(또한 집적 회로 카드들이라고도 알려짐)에 제공된다. 제 1, 제 2, 제 3 및 제 4 스마트 카드들(2 내지 5)이 각각 스마트 카드들의 매우 보다 큰 집단의 예시로서 도 1에 도시되어 있다. 스마트 카드들(2 내지 5)에 코드를 제공하기 위해, 패치 코드가 도 1에 예시된 시스템을 통해 이동할 때 후술될 패치들을 제공하는 방법이 적어도 1회 수행된다. 이 방법의 제 1 변형은 제 1 스마트 카드(2)에 패치를 제공하기 위해 개인화 센터(personalization centre; 6)에 의해 수행된다. 제 2 변형은 중간 엔티티들(intermediate entities)을 통해 제 2, 제 3 및 제 4 스마트 카드들(3 내지 5)을 위한 패치들을 제공하기 위해 개인화 센터(6)에 의해 수행된다. 방법의 제 3 변형은 제 1 조건부 액세스(CA) 시스템(7) 및 제 2 CA 시스템(8)에 의해 수행된다. 제 4 변형은 자격 관리 메시지들(EMM들)을 전송하기 위한 주문형 비디오(VOD) 서버(10) 및 서버(11)를 포함하는 시스템과 방송 송신기(9)에 의해 수행된다.
스마트 카드내의 집적 회로의 기능 구성 부품들이 도 2에 예시되어 있다. 스마트 카드는 프로세서(12), 마스크 판독 전용 메모리(ROM)(13), 랜덤 액세스 메모리(RAM)(14) 및 전자 삭제가능한 프로그램형 판독 전용 메모리(EEPROM)(15)를 포함한다. 부가적으로, 이는 시리얼 인터페이스(16)를 포함한다. 스마트 카드의 유리한 대안 실시예들은 암호학적 보조 프로세서(co-processor) 및/또는 배터리를 포함한다. 적절한 스마트 카드들은 접촉형 또는 비접촉형의 것들이다. 그러나, 도 1 및 도 2는 단지 접촉형의 스마트 카드들(2 내지 5) 만을 도시한다. 모든 경우들 에서, 스마트 카드는 스마트 카드 외부의 데이터 처리 시스템의 판독/기록 유닛(도 2에는 미도시)에 대한 물리적 인터페이스를 포함한다. 접촉형 스마트 카드에서, 이런 인터페이스는 판독/기록 유닛 내의 대응하는 접촉 핀들과의 접촉을 위한 접촉 패드들의 배열을 포함할 것이다. 비접촉 스마트 카드는 본 기술에 공지된 바와 같은 안테나 배열을 포함할 것이다.
여기에 설명된 방법들은 외부 데이터 처리 디바이스의 판독/기록 유닛에 대한 물리적 인터페이스를 갖는 휴대용 처리 디바이스들의 다른 유형들에 대한 패치들의 제공에 동등하게 적용할 수 있다는 것이 관찰되었다. 이런 디바이스의 다른 예는 유니버셜 시리얼 버스(USB) 키에 포함된 처리 디바이스, 또는 PCMCIA 표준에 순응하는 카드이다. 당업자는 다른 예들을 알 수 있다. 또한, 여기에 설명된 방법들은 또한 스마트 카드의 것들과 유사한 기능들을 충족하며, 셋-톱 박스 또는 유사한 디코더 시스템에 직접적으로 설치되는 소프트웨어 에이전트를 안전하게 하기 위한 패치들을 제공하기 위해서도 적용가능하다.
마스크 ROM(13)은 칩의 오퍼레이팅 시스템을 포함하며, 제조 프로세스의 일부로서 이루어진다. 마스크 ROM(13)의 콘텐츠는 변경되지 못할 수 있다. 도 1의 예에서, 그들을 최종 사용자들이 입수할 수 있게 하는 특정 엔티티에 제공된 하나 이상의 스마트 카드들의 세트마다 다른 소유자 식별 및 고유 스마트 카드 일련 번호를 제외하면, 마스크 ROM(13)의 콘텐츠는 스마트 카드들(2 내지 5) 각각에 대해 동일하다. 대안적인 실시예에서, 소유자 식별 값 및/또는 스마트 카드 일련 번호가 물리적으로 재기록가능한 메모리 유닛에 저장된다 해도, 그러나 스마트 카드는 적어도 소유자 식별 값의 재프로그래밍을 방지하도록 구성된다. 방지 메커니즘들은 광학적으로 삭제가능한 프로그램형 판독 전용 메모리(미도시)의 마스킹 또는 적절한 구조의 메모리 제어 루틴을 마스크 ROM(13) 내에 포함한다.
RAM(14)은 프로세서(12)에 의해 사용되는 메모리 작업 공간을 형성하며, 실행 프로그램들은 마스크 ROM(13) 및/또는 EEPROM(15) 내에 저장된다. RAM(14)은 휘발성 메모리(volatile memory)의 일 유형이다.
EEPROM(15)은 애플리케이션 데이터 및 부가적인 애플리케이션 프로그램들을 유지한다. 이는 프로그램 제어하에 데이터가 기록 및 판독될 수 있게 하는 불휘발성 메모리의 일 유형이다. 그 콘텐츠는 칩에 어떠한 파워도 제공되지 않는 경우에도 보존된다. EEPROM 뿐만 아니라, 다른 유형의 재기록가능한 불휘발성 메모리가 여기에 설명된 방법들을 이행하기 위해 사용될 수 있다.
본 내용의 애플리케이션은 스마트 카드에 의해 수행되는 기능을 이행하는 프로그램 또는 소프트웨어이다. 스마트 카드들이 최종 사용자들에게 물리적으로 배포되기 이전에 특정 애플리케이션들이 설치된다. 이는 EEPROM(15)내에 코드를 로딩하는 것을 수반한다. 그 후, 스마트 카드는 적절한 명령의 발령시 코드를 실행하도록 구성된다. 스마트 카드의 유형에 따라, 오퍼레이션 시스템에 의해 사용되는 필터 값들은 이 효과를 위한 명령이 시리얼 인터페이스(16)를 통해 제공되거나, 다른 애플리케이션 또는 소프트웨어 루틴에 의해 호출이 이루어질 때, 코드가 실행되는 것을 보증하도록 조절되어야 한다. 메모리 내의 위치들에 대한 포인터들, 예로서, RAM(14) 또는 EEPROM(15)는 이들 메모리 위치들에 기록 또는 그로부터 판독 을 위해 애플리케이션이 설치되게 하도록 조절되어야 한다.
스마트 카드들(2 내지 5)상의 애플리케이션에 의해 수행되는 기능들 중 적어도 하나는 콘텐트 보호 기능, 구체적으로는 데이터의 암호학적 처리의 기능인 것이 유리하다. 예로서, 도 1에 도시된 시스템에서, 제 2 스마트 카드(3) 및 제 3 스마트 카드(4)는 예로서, 디지털 비디오 방송(DVB) 표준 공용 스크램블링 알고리즘 또는 비견할만한 표준에 따라 방송 네트워크(19)를 거쳐 방송 송신기(9)에 의해 제 1 및 제 2 집적 수신기 디코더 디바이스들(IRD들)(17, 18)에게 방송된 자격 관리 메시지들(ECM들) 및 자격 관리 메시지들(EMM들)에 제공된 입력 데이터를 해독한다. 유사하게, 제 4 스마트 카드(5)는 VOD 서버(10)에 의해 통신 네트워크(20), 예로서, 인터넷을 통해 제 3 IRD(21)에게로의 ECM들에 제공된 정보 및 서버(11)에 의해 EMM들에 제공된 정보를 해독한다.
콘텐트 데이터는 클리어 콘텐트 서버(22)상에 저장된다. 콘텐트 방송 시스템에서, 제 1 스크램블링 유닛(23)은 일련의 연속 제어 워드들(CW들)을 사용하여 클리어 콘텐트 서버(22)로부터 수신된 콘텐트 데이터를 스크램블링한다. CW들은 제 1 스크램블링 유닛(23)에 의한 암호화를 위해 ECM들을 반환하는 제 1 CA 시스템(7)에 의해 ECM들에 삽입된다. 제 1 스크램블링 유닛(23) 및 제 1 CA 시스템(7)은 하나로 조합될 수 있다. 제 1 CA 시스템(7)은 또한 ECM들 모두 또는 그 중 일부에 필요한 패치 레벨을 나타내는 데이터를 삽입한다. ECM이 암호화되기 때문에, 필요한 패치 레벨을 나타내는 데이터도 암호화된다. 제 1 CA 시스템(7)은 또한 제 1 가입자 관리 시스템(SMS)(24)으로부터 수신된 정보를 사용하여 EMM들을 제공한다. 제 1 SMS(24)는 방송 서비스를 위해 가입자들에게 발행된 제 2 및 제 3 스마트 카드들(3, 4)의 세부 정보들을 저장하는 데이터베이스에 대한 액세스를 갖는다. 멀티플렉싱 유닛(25)은 ECM들, EMM들 및 스크램블링된 콘텐트 데이터를 전송 스트림으로 멀티플렉싱하며, 이는 방송 송신기(9)에 의해 가입자들에게 제공된다. 필요한 패치 레벨을 나타내는 데이터의 삽입을 제외하면, 방송 시스템의 동작은 다소 표준적이다.
주문형 비디오 유형의 콘텐트 분배에서, 클리어 콘텐트 데이터는 클리어 콘텐트 서버(22)에 의해 제 2 스크램블링 유닛(26)에 제공된다. 제 2 스크램블링 유닛(26)은 일련의 변하는 CW들을 사용하여 암호해독되도록 콘텐트 데이터를 스크램블링한다. 다시, CW들은 제 2 CA 시스템(8)에 제공되며, 이는 제어 워드 정보를 포함하는 ECM들을 반환한다. ECM들 모두 또는 그 중 일부는 설명된 방식으로 제 1 CA 시스템(7)에 대한 것과 같이, 제 2 CA 시스템(8)에 알려지는 필요한 패치 레벨을 나타내는 정보를 포함한다. 적어도 제어 워드 정보 및 ECM들에서 필요한 패치 레벨 데이터는 암호화된다. 스크램블링된 콘텐트 데이터 및 ECM들은 VOD 서버(10)상에서의 후속 역할을 위해 저장된다. VOD 시스템은 제 2 CA 시스템(8)이 제 2 SMS(27)와 통신하는 방송 시스템과 유사하며, VOD 시스템의 사용자에게 제공되는 제 4 스마트 카드(5)에 관한 정보를 저장하도록 구성된다. 정보는 서비스들을 포함하며, 제 4 스마트 카드는 제 4 스마트 카드의 고유 정보 및, 예로서 그 일련 번호에 대한 액세스를 갖는다. EMM들을 전송하기 위한 서버(11)는 제 4 스마트 카드(5)의 사용자에게 EMM들을 제공하며, 이는 필요한 패치 레벨을 나타내는 데이터와 함께, VOD 서버(11)상에 저장된 ECM들의 CW들이 구해질 수 있게 한다. 상술된 바와 같은 VOD 시스템의 동작은 ECM들의 제어 워드 정보와 함께 필요한 패치 레벨을 나타내는 데이터의 제공을 제외하면, 공지된 바와 같다.
제 2 스마트 카드(3)가 방송 네트워크(19)를 거쳐 방송된 스크램블링된 콘텐트를 액세스하기 위해 사용될 때, 이는 제 2 스마트 카드(3)에 외부적인 제 1 IRD(17)에 삽입되며, 스마트 카드 판독/기록 모듈(미도시)을 구비한다. 제 1 IRD(17)는 제 1 스마트 카드(3)로부터 수신하는 제어 워드들을 사용하여 스크램블링된 콘텐트 데이터를 디스크램블링하기 위해 디스크램블링 유닛(미도시)을 포함한다. 디스크램블링된 콘텐트는 제 1 엔터테인먼트 디바이스(entertainment device; 28), 예로서, 텔레비전 세트 상에서 가용해진다. 제 2 스마트 카드(3)는 제 1 IRD(17)에 의해 그에게로 포워딩되는 EMM들 및 ECM들의 암호화된 부분들을 해독하기 위한 애플리케이션을 포함한다.
제 2 IRD(18)는 제 2 엔터테인먼트 디바이스(29)에 접속된다. 제 2 IRD(18)는 제 3 스마트 카드(4)와 정보를 교환한다. 유사하게는, 제 3 IRD(21)는 제 4 스마트 카드(5)와 데이터를 교환하고, 제 3 엔터테인먼트 디바이스(30)에 클리어 콘텐트 데이터가 가용해지게 한다. 제 2, 제 3 및 제 4 스마트 카드들(3 내지 5)은 유사한 형태로 동작하며, 그래서 이 설명에서는 예로서 대부분 제 2 스마트 카드(3)를 사용한다.
패치는 EMM들의 자격 정보 또는 ECM들의 제어 워드 정보의 암호학적 처리를 위해 설치된 프로그램에 대한 변경을 이행하기 위해 제 2 스마트 카드(3)에 제공될 수 있다. 이런 변경은 사용 동안 발견되는 보안성의 틈에 의해 발생할 수 있다. 다른 변경들은 스마트 카드(3 내지 5) 중 소정의 것 상에 설치된 비임계적 소프트웨어의 기능의 문제들을 교정한다. 다른 패치들은 스마트 카드들(3 내지 5) 모두 또는 일부의 기능을 향상시킬 수 있다.
스마트 카드들(3 내지 5) 각각은 설치된 필터를 갖는다. 스마트 카드는 패치들을 구비하는 정보를 사용하여 수신하는 패치들을 필터링하고, 프로그래밍된 필터 기준들을 충족하는 것들만을 수용한다. 수용된 패치는 후속 사용을 위해 그 EEPROM에 로딩된다. 패치 기능을 렌더링하기 위해, 이는 적용되어야만 한다. 이를 위해, 패치는 후속하여 반복되는 사용을 위해 설치되는 코드 및 패치의 애플리케이션 동안 일 회만 실행되는 명령들을 포함한다. 후자는 소프트웨어의 최초 설치와 유사한 프로세스이다.
필터는 소프트웨어로 구현되는 것이 바람직하다. 이는 오퍼레이팅 시스템의 일부이거나, 적어도 부분적으로 마스크 ROM(13) 또는 일회 프로그램가능한 메모리의 다른 유형에 저장되는 것이 유리하다. 따라서, 이는 해커에 의한 공격을 통해 훼손될 수 없다. 필터, 오퍼레이팅 시스템 또는 특수 패치 로더 프로그램이 EEPROM(15)에 저장되는 실제 패치 레벨을 나타내는 정보를 유지한다. 스마트 카드의 이 구성 부품은 또한 EEPROM(15)에 저장된 정보에 의해 나타내지는 바와 같은 실제 패치 레벨을 갱신할 것을 그에게 명령하는 패치를 구비한 명령들에 응답한다. 따라서, 이 실제 패치 레벨은 스마트 카드 내에 적용된 패치들의 수를 반영한다. 여기에 상세히 설명된 바에 대한 변형에서, 명령들은 패치의 코드를 전달하는 메시 지에 포함된다. 명령들은 대안적으로 암시적일 수 있으며, 여기서 스마트 카드는 수용된 패치가 적용되는 각 시기에 자동으로 실제 패치 레벨을 증분한다. 다른 변형에서, 명령들은 패치가 적용될 때 일회 실행되는 코드를 포함하는 패치의 일부에 포함될 수 있다.
ECM들의 적어도 일부가 암호화된 제어 워드 정보에 부가하여 필요한 패치 레벨을 나타내는 데이터를 포함한다는 것이 상기될 것이다. 해독된 제어 워드 정보는 필요한 패치 레벨이 실제 패치 레벨에 관하여 미리 규정되어 있는 경우에, IRD들(17, 18, 21) 내의 디스크램블러에만 제공된다. 패치가 적용될 때, 패치 레벨이 증가되는 경우에, 필요한 패치 레벨은 기능을 위해 해독된 코드 워드들을 제공하는 애플리케이션을 위하여 실제 패치 레벨과 같거나 그보다 낮아야 한다. 따라서, 제 1 및 제 2 CA 시스템들(7, 8)의 운영자들은 가입자들의 소유인 스마트 카드들(3 내지 5)에 대한 어떠한 직접적 물리적 제어도 갖지 않는 경우에도, 제 2, 제 3 및 제 4 스마트 카드들(3 내지 5)에 패치들이 적용되는 것을 보증한다.
패치들은 패치 생성 센터(PPC)(1)에서 생성 및 테스트된다. 각 패치는 암호화되고, 개인화 센터(6)의 파일에 제공된다. 개인화 센터는 제 1, 제 2, 제 3 및 제 4 스마트 카드들(2 내지 5)을 위한 패치들에게 특정 패치를 위해 의도된 스마트 카드들의 식별들의 목표 값들을 제공한다. 개인화 센터(6)는 스마트 카드 판독/기록 유닛(31)을 사용하여 제 1 스마트 카드(2)에 직접적으로 패치들을 제공한다. 제 1 스마트 카드(2)는 예로서, 최종 사용자에게 아직 배포되지 않은 카드이다. 이미 현장에서 사용중인 제 2 내지 제 4 스마트 카드들(3 내지 5)은 제 1 및 제 2 CA 시스템들(7, 8)의 중개를 통해 패치들을 제공받는다.
패치들은 이들을 제 2, 제 3 및 제 4 스마트 카드들(2 내지 5)로 포워딩하는 제 1, 제 2 및 제 3 IRD들(17, 18, 21)로의 메시지들에 제공된다. 구체적으로, 패치들은 제 1 및 제 2 CA 시스템들(7, 8)에 의해 발생된 하나 또는 다수의 특수 EMM들로 제공된다. 스마트 카드들(2 내지 5) 각각은 소유자 지정 코드와 함께 패치를 수신할 수 있다. 따라서, 그들 중 단 하나의 기능성만이 향상될 수 있거나, 그들 중 단 하나의 버그가 치유될 수 있다. 후속하여, 스마트 카드들(2 내지 5) 각각은 ECM들을 처리할 수 있도록 남는다. 이는, 스마트 카드(2 내지 5) 각각이 패치를 적용하기 위한 명령 및 패치를 구비하기 때문이다. 따라서, 이들 중 각각은 다음 레벨을 반영하도록 그 EEPROM(15)에 유지되는 실제 패치 레벨을 갱신하도록 명령받는다. 패치에 의해 제공되는 기능성은 스마트 카드들 간에 다를 수 있다. 사실, 그들 중 일부는 패치의 적용 이전에 존재하던 바와 같은 상태로 스마트 카드상에 설치된 소프트웨어의 기능성을 남겨두는 패치들, 즉, "더미 패치(dummy patch)" 를 제공받을 수 있다.
패치들은 링크 레벨에서 어드레스된, 즉, IRD들(17, 18, 21)의 어드레스를 갖는 메시지들 내에 수반된다. 이들은 또한 적어도 하나의 식별의 목표 값을 구비한다. 따라서, 이는 애플리케이션 레벨에서의 어드레스의 형태이다. 대응하는 식별 값들은 스마트 카드들(2 내지 5) 각각에 저장되며, 그래서 어느 패치가 수용되는지를 안다. 식별 값들의 포맷은 하나의 값을 갖는 하나의 그룹의 스마트 카드들을 어드레스할 수 있도록 이루어진다. 달리 말해서, 패치들은 각 스마트 카드에 개별적으로 어드레스될 필요는 없다. 이는 패치들을 수반하는 메시지들이 방송되거나, 멀티캐스팅될 수 있기 때문에 방송 네트워크(19) 및 통신 네트워크(20)의 보다 효과적인 사용을 가능하게 한다.
패치를 수반하는 특수 EMM들 중 적어도 하나는 목표 소유자 식별을 포함한다. 스마트 카드 내의 필터는 목표 소유자 식별을 스마트 카드 내에 저장된 소유자 식별과 비교한다. 스마트 카드는 두 값들이 대응하는 경우에만 패치를 수용하도록 허용된다. 소유자 식별 값들은 스마트 카드들의 공급자들에게 고유하다는 것을 상기한다. 따라서, 제 1 CA 시스템(7)의 운영자는 제 2 CA 시스템(8)의 운영자에게 할당된 값과는 다른 소유자 식별 값을 가질 것이다. 이는 다수의 운영자가 동일 네트워크, 예로서 인터넷을 거쳐 특수 EMM들을 방송, 멀티캐스팅 또는 유니캐스팅하는 경우에 특히 유용하다.
패치를 수반하는 특수 EMM들은 또한 목표 모델 식별 번호를 포함한다. 스마트 카드들(2 내지 5) 각각은 EEPROM(15)내에 실제 모델 식별 값을 저장하도록 구성된다. 실제 모델 식별 값은 스마트 카드의 소프트웨어 구성의 변화들을 반영하도록 스마트 카드의 수명에 걸쳐 진화한다. 모델 식별 값(32)의 포맷이 도 3에 도시되어 있다. 이는 EEPROM(15)의 특정 레이아웃을 나타내는 고유 값(섹터들, 제품들 및 패치들의 번호)이다. 4개 비트가 주 모델 버전(33)을 인코딩하기 위해 사용되고, 4개 비트는 부 모델 버전(minor model version; 34)을 인코딩하기 위해 사용되고, 8개 비트는 구축 번호(build number; 35)를 인코딩하기 위해, 그리고, 8개 비트는 변형 번호(variant number; 36)를 인코딩하기 위해 사용된다. 패치는 단지 실제 모델 번호가 패치를 제공받은 목표 모델 식별 값에 관하여 미리 규정되어 있는 경우에만 수용된다. 적어도, 주 및 부 모델 버전들(33, 34)은 예로서 대응하여야 하거나, 전체 모델 번호가 동일하여야 한다.
모델 식별 값(32)의 제 1 부분은 스마트 카드 집적 회로의 하드웨어 구성을 반영한다. 메모리 레이아웃의 제 2 부분은 설치된 소프트웨어 구성에 대응한다. 모델 번호의 일 용도는 동일한 소유자 식별 값을 갖는 제 2 스마트 카드(3) 및 제 3 스마트 카드(4)에, 이들이 현장에서 사용되는 동안, 서로 다른 기능성을 제공하는 것이다. 이를 위해, 제 2 스마트 카드(3) 및 제 3 스마트 카드(4)는 양자 모두 적용되는 스플리터 패치(splitter patch)를 전송받는다. 패치 레벨은 결과적으로 증가된다. 스플리터 패치는 EMM내의 적절한 명령의 수신시 실행되는 코드를 포함한다. 제 2 및 제 3 스마트 카드들(3, 4) 중 단 하나 만이 코드를 실행하기 위한 명령을 전송받는다. 실행시, 코드는 제 2 또는 제 3 스마트 카드(3, 4)에 유지된 실제 모델 식별 값의 변형 번호(36)를 변경한다. 후속하여, 두 개의 서로 다른 패치들이 방송 송신기(9)에 의해 방송된다. 하나는 목표 모델 식별 값으로서 변경된 모델 번호를 제공받고, 나머지는 목표 모델 식별 값으로서 이전 모델 번호를 받는다. 이들 패치들 중 단 하나만이 패치의 적용시 개선된 기능성을 제공하는 코드를 포함한다. 다른 패치는 "더미 패치"일 수 있다.
부가적인 기능성은 EEPROM(15)의 서로 다른 조직을 필요로 할 수 있다. 이는 제 2 및 제 3 스마트 카드들(3, 4) 양자 모두에 의해 사용되는 재위치설정 변수들을 포함한다. 이 경우에, 스플리터 패치 또는 별개의 패치가 제 2 및 제 3 스마 트 카드(3, 4) 양자 모두에 전송된다. 이런 패치는 스마트 카드의 메모리 구성을 재구성하기 위한 명령들을 포함하며, 이 명령들은 패치의 적용시 수행된다. 이런 메모리 구성은 스마트 카드에 적용된다. 예로서, 데이터의 서로 다른 유형들을 위해 할당된 메모리의 서로 다른 크기들을 갖는 것이 가능할 수 있다. 이는 카드상에 가용한 특정 물리적 메모리 크기들, 메모리 어드레스 범위에 관한 한계들 등을 고려하여 이루어질 수 있다. 이런 패치는 데이터 저장의 한계를 고려하여, 및/또는 가용한 메모리의 서로 다른 부분 또는 부분들에 데이터를 재배치하기 위한 기능성을 제공한다. 바람직한 변형에서, 패치는 클라이언트 디바이스에서 적용될 때, 클라이언트 디바이스의 구성을 검출하고, 검출된 구성에 따라 메모리 구성을 재배열하도록 구성된다.
또한, 패치를 수반하는 특수 EMM들에 제공된 정보는 목표 패치 레벨을 포함한다. 스마트 카드 내의 필터는 EEPROM(15)에 저장된 실제 패치 레벨에 대한 미리 규정된 재배치시 패치가 목표 패치 레벨을 제공받는 경우에만 스마트 카드가 패치를 수용할 수 있게 할 수 있다. 이는 패치들이 미리 결정된 순서로 스마트 카드들(2 내지 5) 각각에 적용되는 것을 보증한다. 이는 하나의 패치 내의 코드가 적절히 기능하기 위해 이전 패치에 의해 제공된 기능의 활용을 필요로 할 수 있기 때문에 유리하다. 제 2, 제 3 및 제 4 스마트 카드들(3 내지 5)이 무선으로 패치들을 수신하고, 제 1, 제 2 및 제 3 IRD들(17, 18, 21)에 의해 포워딩되는 메시지들내에서 패치들을 수신하기 때문에, 이들 스마트 카드들(3 내지 5) 중 하나가 패치를 놓칠 가능성이 있다. 대안적인 변형에서, 미리 규정된 관계를 충족시키지 않는 패치 는 수용될 수 있지만, 미래의 적용을 위해 EEPROM(15)내에 파일로 저장되지는 않는다.
패치는 패치의 적용시 다음 레벨을 반영하는 정보를 제공받는 것이 유리하다. 이는 스마트 카드가 소수의 레벨들을 "스킵" 하는 것을 가능하게 한다. 스마트 카드는 단순히 다수의 패치들에 의해 제공되는 개선들을 조합하는 패치를 적용하고, 다음 레벨을 반영하도록 EEPROM(15)내의 실제 패치 레벨 값을 갱신한다. 이는 제 2, 제 3 또는 제 4 스마트 카드들(3 내지 5)이 소정 시간에 제 1, 제 2 및 제 3 IRD들(17, 18, 21) 중 어느 것과도 통신하지 않거나, 이들 IRD들이 장시간 동안 사용되지 않는 경우에 유리하다. 이 특징은 또한, 아직 배포되지 않은 제 1 스마트 카드(2)에 내장된 기본 소프트웨어에 대해 다수의 개선들을 설치하는 것을 가속시키는데 유용하다.
바이러스들에 대하여, 스마트 카드들(3 내지 5)을 보호하기 위해, 방송 네트워크(19) 및 통신 네트워크(20)를 거쳐 제공된 패치들은 암호화되고, 스마트 카드들(3 내지 5)에 안전히 저장된 키들을 갖는 키 쌍들을 형성하는 키들을 사용하여 인증된다. 패치의 모두 또는 EMM 수반 부분은 ECM 또는 ECM들에 제공된 하나 이상의 제어 워드들을 사용하여 디스크램블링을 가능하게 하도록 스크램블링된 형태로 패치 코드를 포함하는 것이 유리하다. 일 변형에서, 스마트 카드들(3 내지 5)은 ECM 또는 ECM들로부터 제어 워드들을 구하고, IRD(17, 18, 21)내의 디스크램블링 유닛은 패치 코드를 디스크램블링한다. 그러나, 보안의 이유들 때문에, 스마트 카드(3 내지 5) 내의 패치 코드를 수반하는 EMM(들)의 암호화된 부분들을 해독하는 것이 바람직하다. 따라서, 스마트 카드(3 내지 5)는 단지 암호화된 패치 코드만을 수신한다.
바람직하게, 패치 레벨에서 각각의 증가는 도입 기간이 이어진다. 도입 기간 동안, 제 2, 제 3 및 제 4 스마트 카드들(3 내지 5) 내에 저장된 실제 패치 레벨과, ECM들에 표시된 필요한 패치 레벨 사이의 미리 규정된 관계는 제 2, 제 3 및 제 4 스마트 카드들(3 내지 5)이 다음에, 즉, 증가된 패치 레벨에 있는 경우에 충족될 뿐만 아니라, 그들이 다음 패치 레벨 아래의 하나의 패치 레벨에 있는 경우에도 충족된다. 일 변형에서, 제 2, 제 3 및 제 4 스마트 카드들(3 내지 5)은 도입 시간 간격을 나타내는 정보를 전송받는다. 패치 레벨을 향상시키는 것을 책임지는 애플리케이션은 도입 시간 간격 동안 암호화된 제어 워드들의 해독을 가능하게 한다. 실제 시간은 스크램블링된 자격 관리 메시지들(ECM들 및/또는 EMM들) 내의 시간 스탬프들로부터, 내부 클록으로부터 또는 IRD들(17, 18, 21) 중 하나의 클록으로부터 본 기술에 공지된 바와 같이, 제 2, 제 3 및 제 4 스마트 카드들(3 내지 5)에 의해 얻어질 수 있다.
바람직하게는, 보다 단순한 변형에서, 패치는 제 1 시점에서 제 2, 제 3 및 제 4 스마트 카드들(3 내지 5) 중 적어도 하나에 통신되고, 입력 데이터는 먼저 도입 시간 간격만큼 제 1 시점으로부터 떨어져 있는, 제 2 시점에서 다음 필요한 패치 레벨을 나타내는 데이터와 함께 스마트 카드들(3 내지 5) 중 적어도 하나에 제공된다. 따라서, 스마트 카드(3 내지 5)는 이 목적을 위해 시간의 추적을 유지할 필요가 없다.
개인화 센터(6)는 스마트 카드들(2 내지 5)상에 설치된 소프트웨어를 위한 패치들을 제공하는 방법의 변형을 수행하는 것이 관찰되었다. 개인화 센터(6)는 패치 생성 센터(1)로부터 패치들을 획득한다. 스마트 카드들(2 내지 5)이 하나 이상의 패치 레벨들까지 이동하는 경우, 적어도 하나의 패치들은 스마트 카드들(2 내지 5) 중 하나 또는 하나 상에 설치된 소프트웨어 구성 부품의 적어도 일부를 치환 또는 향상시키기 위한 프로그램 코드를 포함한다. 다른 패치들은 기능 향상을 제공하는 코드를 전혀 포함하지 않을 수 있거나, 이들은 서로 다른 기능 향상 또는 변경을 제공할 수 있다.
도시된 예에서, 개인화 센터(6)는 두 가지 서로 다른 방식들로 패치들을 제공한다. 먼저, 이는 특수 EMM들 내의 제 2, 제 3 및 제 4 스마트 카드들(3 내지 5)에 제공된 정보에 대응하는 정보 및 적절한 패치를 이에 제공함으로써 제 1 스마트 카드(2)를 직접적으로 갱신한다. 따라서, 제 1 스마트 카드(2)는 목표 소유자 식별 값 및 목표 모델 식별 값과 필요한 패치 레벨 및 다음 패치 레벨을 나타내는 정보와 함께 패치를 수신하며, 그 값은 패치의 적용시 제 1 스마트 카드(2)내에서 유지된다.
두 번째로, 개인화 센터(6)는 제 1 및 제 2 CA 시스템들(7, 8)에 패치들을 제공한다. 제 2 및 제 3 스마트 카드들(3, 4)을 위한 패치들은 제 1 패치 업로드 파일에 제공된다. 제 4 스마트 카드(5)를 위한 패치는 제 2 패치 업로드 파일에 제공된다. 부가적으로, 제 1 스마트 카드 업로드 파일은 제 1 CA 시스템(7)을 위해 생성되고, 제 2 스마트 업로드 파일은 제 2 CA 시스템(8)을 위해 생성된다. 스 마트 카드 업로드 파일은 고유 스마트 카드 정보를 포함한다. 제 1 스마트 카드 업로드 파일은 제 2 및 제 3 스마트 카드들(3, 4)의 일련 번호들과 목표 모델 식별, 필요한 패치 레벨 및 다음 글로벌 패치 레벨의 값을 포함한다. 따라서, 이는 그를 위해 의도된 패치의 적용시 다음 레벨을 반영하도록 제 2 및 제 3 스마트 카드들(3, 4) 내에 유지되는 실제 패치 레벨을 갱신하기 위한 제 2 및 제 3 스마트 카드들(3, 4)에 대한 명령을 암시적으로 포함한다. 이 패치는 소환될 때, 패치 업로드 파일 내에 유지된다. 제 1 및 제 2 패치 업로드 파일들, 제 1 및 제 2 스마트 카드 업로드 파일들은 콤팩트 디스크 같은 데이터 캐리어상에서 또는 네트워크에 걸친 전송에 의해 제 1 및 제 2 CA 시스템들(7, 8)에 제공된다. 양 파일들은 패치 생성 센터에 의해 서명 및 암호화된다. 제 1 및 제 2 CA 시스템들이 대응하는 키들을 가지는 경우에만, 이들이 파일들에 액세스하고 그 발원처들을 검증할 수 있다.
본 발명은 상술된 실시예들에 제한되지 않으며, 이는 첨부된 청구범위의 범주내에서 변할 수 있다. 예로서, 일부 분야들에서, 스마트 카드 내에 저장된 실제 모델 번호의 주 모델 버전(33)이 재기록가능한 메모리의 일부에 저장될 수 있다. 또한, 패치들은 하나 이상의 특수 EMM들에서 함께 모든 스마트 카드들(3 내지 5)로 방송될 수 있으며, 스마트 카드들이 정확한 것들을 필터링해내거나, 이들은 관련 패치를 실제로 적용하는 스마트 카드들(3 내지 5)에게 개별적으로 유니캐스트 및/또는 멀티캐스팅될 수 있다.
본 발명은 클라이언트 시스템들 사이의 차별화를 고려하고, 복수의 클라이언트 시스템들 중 하나에 설치된 소프트웨어의 개선된 갱신을 가능하게 하는 상술한 유형들의 방법들을 제공하는 것이다.

Claims (25)

  1. 각각 적어도 하나의 데이터 프로세서(12) 및 메모리(13 내지 15)를 가지고, 실제 패치 레벨(patch level)을 나타내는 정보를 유지하고, 실제 패치 레벨이 필요한 패치 레벨에 대해 미리 규정된 관계에 있는 경우에만 상기 필요한 패치 레벨을 나타내는 데이터와 함께 설치된 애플리케이션에 제공된 입력 데이터를 처리함으로써 출력 데이터를 발생시키도록 각각 프로그래밍 되어 있는 복수의 클라이언트 시스템들(2 내지 5)상에 설치된 소프트웨어를 위해 패치들을 제공하는 방법으로서, 패치가 클라이언트 시스템에 적용된 후에, 클라이언트 시스템(2 내지 5)상에 설치된 소프트웨어의 적어도 일부와 협동하여 특정 기능을 수행하도록 배열된 컴퓨터 프로그램 코드를 상기 패치 내에 포함시키기 위해 획득하는 단계, 및 다음 레벨을 반영하도록 클라이언트 시스템(2 내지 5)에 유지되어 있는 실제 패치 레벨을 갱신하기 위한 명령과 함께 적어도 하나의 제 1 클라이언트 시스템 내의 애플리케이션을 위해 제 1 패치를 제공하는 단계를 포함하는, 패치들을 제공하는 방법에 있어서,
    상기 클라이언트 시스템에 유지된 상기 실제 패치 레벨을 다음 레벨을 반영하도록 갱신시키기 위한 명령과 함께 적어도 하나의 다른 클라이언트 시스템들(2 내지 5)을 위해 제 2 패치를 제공하는 단계를 특징으로 하며, 상기 코드는 상기 제 1 및 제 2 패치들 중 첫 번째 것에만 제공되는, 패치 제공 방법.
  2. 제 1 항에 있어서, 적어도 하나의 식별(identification)의 목표 값이 각 패치와 함께 제공되고, 각 클라이언트 시스템(2 내지 5)은, 상기 값들이 상기 클라이언트 시스템(2 내지 5)에 저장된 대응하는 식별들에 대해 각각 미리 규정된 관계들에 있는 경우에만 패치를 수용하기 위한 필터를 가지는, 패치 제공 방법.
  3. 제 2 항에 있어서, 목표 소유자 식별의 값이 상기 제 1 패치와 함께 제공되고, 각 클라이언트 시스템(2 내지 5)은 일회 프로그램가능한 메모리(13)를 구비하며, 상기 목표 소유자 식별이 일회 프로그램가능한 메모리에 프로그래밍된 대응하는 소유자 식별에 대해 미리 규정된 관계에 있는 경우에만 상기 클라이언트 시스템(2 내지 5)이 패치를 수용하도록 허용하는 필터를 구비하는, 패치 제공 방법.
  4. 제 2 항 또는 제 3 항에 있어서, 목표 모델 식별의 값이 적어도 상기 제 1 패치와 함께 제공되고, 각 클라이언트 시스템(2 내지 5)은 상기 목표 모델 식별이 프로그램가능한 메모리(15)에 저장된 대응하는 모델 식별에 대하여 미리 규정된 관계에 있는 경우에만 상기 클라이언트 시스템이 패치를 수용하도록 허용하는 필터를 구비하는, 패치 제공 방법.
  5. 제 4 항에 있어서, 클라이언트 시스템(2 내지 5)을 위한 패치를 제공하는 단계를 더 포함하고, 상기 패치는 상기 클라이언트 시스템이 프로그램가능한 메모리(15)내에 저장된 상기 모델 식별을 서로 다른 값으로 변경하게 하도록 구성되는, 패치 제공 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 특정 패치 레벨을 나타내는 정보가 적어도 상기 제 1 패치와 함께 제공되는, 패치 제공 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 적어도 상기 제 1 패치는 패치를 적용하기 위해 필요한 패치 레벨을 나타내는 정보와 함께 제공되고, 각 클라이언트 시스템(2 내지 5)은 상기 클라이언트 시스템에 유지된 상기 실제 패치 레벨이 상기 패치를 적용하기 위해 필요한 상기 패치 레벨에 대해 미리 규정된 관계에 있는 경우에만 상기 클라이언트 시스템이 상기 패치를 적용하도록 허용하는 필터를 가지는, 패치 제공 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서, 연계된 디코더 시스템(17, 3; 18, 4; 21, 5)과 통신하는 적어도 하나의 클라이언트 시스템(3 내지 5)으로의 전달을 위해 적어도 하나의 자격 관리 메시지(Entitlement Management Message)내에 패치가 제공되며, 상기 적어도 하나의 클라이언트 시스템 내의 애플리케이션은, 상기 연계된 디코더 시스템에 의해 상기 클라이언트 시스템으로 포워딩된 자격 관리 메시지들(Entitlement Contrl Messages) 중 적어도 일부로부터 상기 디코더 시스템(17, 3; 18, 4; 21, 5)에 제공된 스크램블링된 콘텐트 데이터가 디스크램블링될 수 있게 하는 제어 워드 데이터(control word data)를 발생시키기 위한 적어도 하나의 루틴(routine)을 포함하는, 패치 제공 방법.
  9. 제 8 항에 있어서, 상기 자격 관리 메시지들은 상기 디코더 시스템(17, 3; 18, 4; 21, 5)에 전송되고, 상기 디코더 시스템은 상기 자격 관리 메시지들을 상기 클라이언트 시스템(3 내지 5)에 포워딩하는, 패치 제공 방법.
  10. 제 8 항 또는 제 9 항에 있어서, 상기 애플리케이션은 상기 디코더 시스템에 제공된 스크램블링된 콘텐트 데이터가 디스크램블링될 수 있게 하는 암호화된 제어 워드들을 포함하는 자격 관리 메시지들의 일부들을 해독하기 위한 적어도 하나의 루틴을 포함하고, 상기 패치를 포함하는 상기 자격 관리 메시지들의 적어도 일부들은 상기 패치의 적용 전에 상기 클라이언트 시스템에 유지된 상기 실제 패치 레벨의 최신 값에 대응하는 필요한 패치 레벨을 나타내는 정보를 갖는 적어도 하나의 자격 관리 메시지에서 상기 디코더 시스템에 제공된 적어도 하나의 제어 워드를 사용하여 그들이 해독되는 것을 허용하도록 암호화되는, 패치 제공 방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서, 패치가 제 1 시점에서 클라이언트 시스템들(2 내지 5) 중 적어도 하나에 통신되고, 입력 데이터는 도입 시간 간격만큼 상기 제 1 시점으로부터 떨어져 있는 제 2 시점에서 다음의 필요한 패치 레벨을 나타내는 데이터와 함께 상기 클라이언트 시스템들 중 적어도 하나에 먼저 제공되는, 패치 제공 방법.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 따른 방법을 실행하도록 프로그래밍된 프로세서 및 메모리를 포함하는 데이터 처리 시스템.
  13. 프로그램가능한 처리 시스템상에서 구동시, 상기 시스템이 제 1 항 내지 제 11 항 중 어느 한 항에 따른 방법을 수행할 수 있도록 구성된 컴퓨터 프로그램.
  14. 프로세서(12) 및 메모리(13 내지 15), 패치들을 수신하기 위한 인터페이스(16) 및 클라이언트 시스템(2 내지 5)상에 설치된 애플리케이션을 위한 입력 데이터를 로딩하기 위한 인터페이스(16)를 구비하는 클라이언트 시스템에 제공된 패치들을 처리하는 방법으로서, 실제 패치 레벨을 나타내는 정보를 유지하고, 상기 실제 패치 레벨이 상기 입력 데이터와 함께 제공된 정보에 표시된 필요한 패치 레벨에 대해 미리 규정된 관계에 있는 경우에만 상기 애플리케이션에 제공된 입력 데이터를 처리함으로써 출력 데이터를 발생시키는 단계를 포함하고, 상기 클라이언트 시스템(2 내지 5)은 적절한 명령과 함께 제공되는 패치의 적용시 다음 레벨을 반영하도록 클라이언트 시스템에 유지된 실제 패치 레벨을 갱신하도록 구성되는, 상기 패치 처리 방법에 있어서,
    상기 클라이언트 시스템 내에 적어도 하나의 식별 값을 저장하고, 각 저장된 식별 값이 상기 패치와 함께 제공된 적어도 하나의 목표 식별 값의 세트 중 각각의 하나에 대해 미리 규정된 관계에 있는 경우에만 상기 클라이언트 시스템이 패치를 수용하도록 허용하는 단계를 특징으로 하는, 패치 처리 방법.
  15. 제 14 항에 있어서, 상기 클라이언트 시스템(2 내지 5)은 일회 프로그램가능한 메모리(13)를 구비하고, 상기 저장된 식별 값들은 일회 프로그램가능한 메모리(13) 내에 저장된 소유자 식별을 포함하며, 상기 방법은, 상기 패치와 함께 상기 목표 소유자 식별이 제공되고, 상기 목표 소유자 식별이 상기 일회 프로그램가능한 메모리에 저장된 상기 소유자 식별에 대해 미리 규정된 관계에 있는 경우에만 상기 클라이언트 시스템이 상기 패치를 수용하도록 허용하는 단계를 포함하는, 패치 처리 방법.
  16. 제 14 항 또는 제 15 항에 있어서, 상기 클라이언트 시스템은 프로그램가능한 메모리(15)를 구비하고, 상기 방법은, 상기 패치가 프로그램가능한 메모리(15) 내에 저장된 대응하는 모델 식별에 대해 미리 규정된 관계에 있는 목표 모델 식별과 함께 제공되는 경우에만 상기 클라이언트 시스템이 패치를 수용하도록 허용하는 단계를 포함하는, 패치 처리 방법.
  17. 제 14 항 내지 제 16 항 중 어느 한 항에 있어서, 다음 레벨의 값은 상기 패치와 함께 제공되는 정보로부터 유도되는, 패치 처리 방법.
  18. 제 14 항 내지 제 17 항 중 어느 한 항에 있어서, 상기 패치와 함께 제공되 는 정보로부터 상기 패치를 적용하기 위해 필요한 패치 레벨의 값을 유도하고, 상기 패치를 적용하기 위해 필요한 상기 패치 레벨이 상기 실제 패치 레벨에 대해 미리 규정된 관계에 있는 경우에만 상기 클라이언트 시스템(2 내지 5)이 상기 패치를 적용하도록 허용하는 단계를 포함하는, 패치 처리 방법.
  19. 제 14 항 내지 제 18 항 중 어느 한 항에 있어서, 상기 패치는 자격 관리 메시지에서 수신되고, 상기 자격 관리 메시지의 적어도 일부는 상기 패치의 적어도 일부를 획득하기 위해 해독되는, 패치 처리 방법.
  20. 제 14 항 내지 제 19 항 중 어느 한 항에 있어서, 상기 필요한 패치 레벨을 나타내는 정보를 갖는 암호화된 정보를 포함하는 입력 데이터를 수신하고, 상기 암호화된 정보를 해독하기 위해 상기 애플리케이션을 구동하는 단계를 포함하는, 패치 처리 방법.
  21. 제 14 항 내지 제 20 항 중 어느 한 항에 있어서,
    패치를 수용하는 단계,
    상기 패치를 적용하는 단계,
    다음 패치 레벨을 반영하도록 이전 값의 반영으로부터 상기 유지된 실제 패치 레벨을 갱신하는 단계, 및
    상기 패치를 적용하는 단계에 후속하여, 상기 패치의 적용 전에 제 1 시점을 상기 제 1 시점보다 늦은 제 2 시점으로부터 분리하는 도입 시간 간격의 나머지 부분 동안 상기 이전 레벨에 대해서만 미리 규정된 관계에 있는 필요한 패치 레벨의 표시와 함께 제공되는 입력 데이터를 상기 애플리케이션이 처리할 수 있게 하는 단계를 포함하는, 패치 처리 방법.
  22. 제 14 항 내지 제 21 항 중 어느 한 항에 있어서,
    패치를 수용하는 단계, 및
    상기 패치를 적용하는 단계를 포함하고,
    상기 패치를 적용하는 단계는 상기 클라이언트 시스템(2 내지 5) 내의 상기 메모리(14, 15)의 적어도 일부의 구성을 재배열하기 위한 명령들을 실행하는 단계를 포함하는, 패치 처리 방법.
  23. 프로세서(12), 메모리(13 내지 15), 패치들을 수신하기 위한 인터페이스(!6) 및 데이터 처리 디바이스(2 내지 5) 상에 설치된 애플리케이션을 위한 입력 데이터를 로딩하기 위한 인터페이스(16)를 포함하며, 제 14 항 내지 제 22 항 중 어느 한 항에 따른 방법을 수행하도록 프로그래밍 되어 있는, 데이터 처리 디바이스.
  24. 제 23 항에 있어서,
    패치들을 수신하기 위한 상기 인터페이스(16) 및 입력 데이터를 로딩하기 위한 상기 인터페이스(16)는 상기 데이터 처리 디바이스(2 내지 5) 외부의 데이터 처 리 시스템(6; 17; 18; 21) 내의 판독/기록 유닛(31)에 대한 물리적 인터페이스를 포함하는, 데이터 처리 디바이스.
  25. 프로세서(12), 메모리(13 내지 15), 패치들을 수신하기 위한 인터페이스(16) 및 입력 데이터를 로딩하기 위한 인터페이스(16)를 포함하는 프로그램가능한 처리 시스템상에서 구동시, 상기 프로그램가능한 처리 시스템이 제 14 항 내지 제 22 항 중 어느 한 항에 따른 방법을 수행할 수 있도록 구성된 컴퓨터 프로그램.
KR1020050081669A 2004-09-06 2005-09-02 소프트웨어를 위한 패치들을 제공하는 방법 KR20060050967A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04104285A EP1632848A1 (en) 2004-09-06 2004-09-06 Method of providing patches for software
EP04104285.4 2004-09-06

Publications (1)

Publication Number Publication Date
KR20060050967A true KR20060050967A (ko) 2006-05-19

Family

ID=34929541

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050081669A KR20060050967A (ko) 2004-09-06 2005-09-02 소프트웨어를 위한 패치들을 제공하는 방법

Country Status (13)

Country Link
US (1) US20060136898A1 (ko)
EP (1) EP1632848A1 (ko)
JP (1) JP2006079611A (ko)
KR (1) KR20060050967A (ko)
CN (1) CN1776611A (ko)
AR (1) AR050794A1 (ko)
AU (1) AU2005205818A1 (ko)
BR (1) BRPI0503688A (ko)
CA (1) CA2517535A1 (ko)
MX (1) MXPA05009450A (ko)
RU (1) RU2005127726A (ko)
TW (1) TW200609821A (ko)
ZA (1) ZA200507121B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101246360B1 (ko) * 2011-12-30 2013-03-22 (주)네오위즈게임즈 메모리 및 임시 메모리를 이용한 패치 방법 및 그를 이용한 패치 서버, 패치 클라이언트

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539469B2 (en) * 2004-05-11 2013-09-17 Microsoft Corporation Efficient patching
US20070156902A1 (en) * 2005-12-30 2007-07-05 Becker Wolfgang A Systems and methods for implementing a tenant space in a provider-tenant environment
US7698284B2 (en) * 2005-12-30 2010-04-13 Sap Ag Systems and methods for deploying a tenant in a provider-tenant environment
US7693851B2 (en) * 2005-12-30 2010-04-06 Sap Ag Systems and methods for implementing a shared space in a provider-tenant environment
US20070156849A1 (en) * 2005-12-30 2007-07-05 Wolfgang Becker Systems and methods for delivering software upgrades in a provider-tenant environment
US7917607B2 (en) 2005-12-30 2011-03-29 Sap Ag Software management systems and methods, including use of such systems and methods in a provider-tenant environment
US7680825B2 (en) * 2005-12-30 2010-03-16 Sap Ag Systems and methods for generating tenant-specific properties for use in a provider-tenant environment
US20070156901A1 (en) * 2005-12-30 2007-07-05 Wolfgang Becker Generation and use of table links in a provider-tenant environment
US7689593B2 (en) * 2005-12-30 2010-03-30 Sap Ag Systems and methods for accessing a shared space in a provider-tenant environment
EP1811778A1 (fr) * 2006-01-24 2007-07-25 Nagracard S.A. Méthode de mise à jour du microprogramme d'un module de sécurité
US8775572B2 (en) * 2006-06-23 2014-07-08 Microsoft Corporation Public network distribution of software updates
US20080162490A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Methods and systems for automatic registration during deployment of a tenant
US20080162536A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Systems and methods for extending shared data structures with tenant content in a provider-tenant environment
US8069184B2 (en) 2006-12-29 2011-11-29 Sap Ag Systems and methods to implement extensibility of tenant content in a provider-tenant environment
US20080162587A1 (en) * 2006-12-29 2008-07-03 Ulrich Auer Server synchronization for maintenance activities
US20080162483A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Methods and systems for protecting shared tables against unauthorized overwriting from a tenant space in a mega-tenancy environment
US7739348B2 (en) * 2006-12-29 2010-06-15 Sap Ag Systems and methods for accessing a shared space in a provider-tenant environment by using middleware
US7933869B2 (en) * 2006-12-29 2011-04-26 Sap Ag Method and system for cloning a tenant database in a multi-tenant system
EP2015173A1 (en) * 2007-07-05 2009-01-14 Hewlett-Packard Development Company, L.P. Method of maintaining software updates by means of dependency expressions
US20090132999A1 (en) * 2007-11-21 2009-05-21 At&T Corp. Secure and fault-tolerant system and method for testing a software patch
US7516367B1 (en) 2008-05-30 2009-04-07 International Business Machines Corporation Automated, distributed problem determination and upgrade planning tool
US11553250B2 (en) * 2008-09-02 2023-01-10 Comcast Cable Communications, Llc Updating application code
US8224828B2 (en) 2009-12-22 2012-07-17 Sap Ag Multi-client generic persistence for extension fields
FR2967852B1 (fr) * 2010-11-18 2013-07-05 Freebox Ensemble de diffusion par reseau ip de flux video numeriques embrouilles vers des terminaux ip directement relies a ce reseau
JP5675373B2 (ja) 2011-01-06 2015-02-25 任天堂株式会社 通信システム、情報処理装置、通信プログラムおよび通信方法
JP5688297B2 (ja) * 2011-01-06 2015-03-25 任天堂株式会社 通信システム、情報処理装置、通信プログラムおよび通信方法
EP2849464A1 (en) * 2013-09-17 2015-03-18 Gemalto SA Method of communicating between a server and a secure element
US9547489B2 (en) * 2014-03-31 2017-01-17 Qualcomm Incorporated System and method for modifying a sequence of instructions in a read-only memory of a computing device
TWI550515B (zh) * 2014-12-17 2016-09-21 晨星半導體股份有限公司 原始碼品質管理系統與方法
CN105867887A (zh) * 2015-01-22 2016-08-17 晨星半导体股份有限公司 原始码质量管理系统与方法
US10846080B2 (en) 2018-09-06 2020-11-24 International Business Machines Corporation Cooperative updating of software
CN113434165A (zh) * 2021-06-02 2021-09-24 武汉天喻信息产业股份有限公司 一种嵌入式操作系统的补丁更新方法及系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
FR2741972B1 (fr) * 1995-11-30 1998-01-02 Thomson Multimedia Sa Dispositif et procede de chargement d'une interface utilisateur
US6216175B1 (en) * 1998-06-08 2001-04-10 Microsoft Corporation Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations
US6952823B2 (en) * 1998-09-01 2005-10-04 Pkware, Inc. Software patch generator using compression techniques
US20020078262A1 (en) * 2000-12-14 2002-06-20 Curl Corporation System and methods for providing compatibility across multiple versions of a software system
KR100400542B1 (ko) * 2001-02-28 2003-10-08 엘지전자 주식회사 디지털 방송 수신장치의 광고를 이용한 시스템 소프트웨어업그레이드 장치 및 방법
JP2003216449A (ja) * 2002-01-23 2003-07-31 Nec Corp パッチ処理システム
US20030221190A1 (en) * 2002-05-22 2003-11-27 Sun Microsystems, Inc. System and method for performing patch installation on multiple devices
US20050120384A1 (en) * 2003-12-01 2005-06-02 General Instrument Corporation Methods and systems for enabling software and firmware downloads to high definition television appliances
US8677462B2 (en) * 2004-11-01 2014-03-18 Cisco Technology Inc. Efficient and secure renewal of entitlements

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101246360B1 (ko) * 2011-12-30 2013-03-22 (주)네오위즈게임즈 메모리 및 임시 메모리를 이용한 패치 방법 및 그를 이용한 패치 서버, 패치 클라이언트

Also Published As

Publication number Publication date
CN1776611A (zh) 2006-05-24
RU2005127726A (ru) 2007-03-10
EP1632848A1 (en) 2006-03-08
BRPI0503688A (pt) 2006-04-25
CA2517535A1 (en) 2006-03-06
US20060136898A1 (en) 2006-06-22
TW200609821A (en) 2006-03-16
MXPA05009450A (es) 2006-04-27
ZA200507121B (en) 2006-06-28
JP2006079611A (ja) 2006-03-23
AU2005205818A1 (en) 2006-03-23
AR050794A1 (es) 2006-11-22

Similar Documents

Publication Publication Date Title
KR20060050967A (ko) 소프트웨어를 위한 패치들을 제공하는 방법
EP0908810B1 (en) Secure processor with external memory using block chaining and block re-ordering
CA2508424C (en) Method of securing software updates
CN100435581C (zh) 条件访问终端设备和方法
US6970565B1 (en) Apparatus for and method of securely downloading and installing a program patch in a processing device
US20050237821A1 (en) Method and system of external data storage
US20100299528A1 (en) Method for providing access control to media services
JP5933705B2 (ja) 受信機ソフトウェアの保護
CZ301694B6 (cs) Mechanismus shody mezi prijímacem a bezpecnostním modulem
CN101513057A (zh) 安全处理器以及用于配置该处理器的性能的记录方法和介质
US11308242B2 (en) Method for protecting encrypted control word, hardware security module, main chip and terminal
KR20020084076A (ko) 호스트용 인터페이스 모듈 및 디코더
US20110125995A1 (en) Method and apparatus for downloading secure micro bootloader of receiver in downloadable conditional access system
JP6350548B2 (ja) 受信装置及び受信方法
KR20020022092A (ko) 데이터 세트의 일체성 및 확실성을 보장하기 위한 방법 및장치
US8315392B2 (en) Method to secure access to audio/video content in a decoding unit
JP2001344216A (ja) 記録制限情報付メモリーカードを用いたダウンロードシステム
EP1978467A1 (en) Integrated circuit and method for secure execution of software
US20080276083A1 (en) Method for Transmitting a Message Containing a Description of an Action to be Executed in a Receiver Equipment
KR101110678B1 (ko) 다운로드 가능한 제한수신시스템에서 제한수신시스템 소프트웨어의 보안 방법
KR100947315B1 (ko) Dcas 기반 로밍 지원 방법 및 시스템
EP1633145A1 (en) Secured electronic device
TW201141196A (en) Method for updating a security processor, corresponding computer program and processor

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid