KR101190977B1 - 계층적 다중-계층 데이터 패키지의 디코딩 - Google Patents

계층적 다중-계층 데이터 패키지의 디코딩 Download PDF

Info

Publication number
KR101190977B1
KR101190977B1 KR1020107009496A KR20107009496A KR101190977B1 KR 101190977 B1 KR101190977 B1 KR 101190977B1 KR 1020107009496 A KR1020107009496 A KR 1020107009496A KR 20107009496 A KR20107009496 A KR 20107009496A KR 101190977 B1 KR101190977 B1 KR 101190977B1
Authority
KR
South Korea
Prior art keywords
subpackage
information
data
layer
data package
Prior art date
Application number
KR1020107009496A
Other languages
English (en)
Other versions
KR20100061574A (ko
Inventor
토마스 엠. 티르팍
Original Assignee
제너럴 인스트루먼트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 제너럴 인스트루먼트 코포레이션 filed Critical 제너럴 인스트루먼트 코포레이션
Publication of KR20100061574A publication Critical patent/KR20100061574A/ko
Application granted granted Critical
Publication of KR101190977B1 publication Critical patent/KR101190977B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

계층적 디코더는 계층적 다중-계층 데이터 패키지를 디코딩하는 동작을 한다. 계층적 다중-계층 데이터 패키지는 복수의 계층들 및 각각의 계층에서의 하나 이상의 서브패키지들을 포함한다. 데이터 패키지를 디코딩하기 위해, 데이터 패키지에서 관심의 정보와 가장 연관성이 있는 데이터를 식별하기 위한 파라미터들에 기초하여 목적 함수가 생성된다. 목적 함수를 사용하여 하나 이상의 계층들에서의 서브패키지들이 평가되고, 서브패키지가 선택된다. 요약 및 메타데이터를 포함할 수 있는 선택된 서브패키지에 대한 정보는 서브패키지가 정보 요구를 충족시키는지 여부를 판정하는 데 사용된다. 정보 요구가 충족되지 않는 경우, 데이터 패키지의 그 다음 하위 계층에서의 서브패키지들을 평가하기 위해 드릴 다운 절차가 수행된다.

Description

계층적 다중-계층 데이터 패키지의 디코딩{DECODING A HIERARCHICAL MULTI-LAYER DATA PACKAGE}
관련 출원의 상호 참조
이 특허 출원은 발명의 명칭이 "Encoding a Hierarchical Multi-Layer Data Package(계층적 다중-계층 데이터 패키지의 인코딩)"이고, 그 전체 내용이 참조로 포함되어 있는, Tirpak의 미국 특허 출원 일련 번호(TBD)(대리인 문서 번호 CML04818BLUE)와 관련된다.
현재의 네트워크 기술 진보에 따라, 많은 양의 데이터가 목적지로 전송될 수 있게 해주는 고대역폭 네트워크가 점점 더 보편화되고 있다. 이 네트워크들은 짧은 기간 내에 대량의 데이터를 목적지로 버스트 전송하는 것을 가능하게 해주는 무선 네트워크(wireless network) 또는 무선 액세스 네트워크(wireless access network)를 포함한다.
고대역폭 네트워크가 주어진 경우, 대량의 데이터를 목적지로 어떻게 신속하고 효율적으로 전송하느냐는 그다지 문제가 되지 않는다. 그 대신에, 장치가 짧은 기간에 대량의 데이터를 수신하는 상황이 발생할 수 있지만, 데이터의 크기로 인해, 장치가 수신된 데이터 내의 관심의 특정 데이터를 신속하고 효율적으로 식별하지 못할 수 있다.
예를 들어, 응급 상황에서, 응급 대원은 네트워크를 통해 다수의 부상자들에 대한 200 GB의 의료 기록 데이터 덤프(data dump)를 수신한다. 수신측 장치가 현장에 있는 경우, 그 장치가 200 GB의 의료 기록으로부터 부상자에 대한 극히 중요한 정보를 신속하고 효율적으로 식별하기 위한 처리 능력 또는 메모리를 가지고 있지 않을지도 모른다. 다른 일례에서, 매수인을 대리하는 부동산 중개인이 매수인을 위해 어떤 기준을 충족시키는 주택 정보를 다운로드할 수 있다. 그렇지만, 그 정보가 매도인의 관점에서 정리되어 있기 때문에, 부동산 중개인은 어떤 목록들을 빠뜨릴 수 있거나 매수인을 위한 정보를 신속하게 식별하지 못할 수 있다. 따라서, 이들 및 기타 상황에서, 전송된 데이터의 크기 및 어쩌면 정리 부족(lack of organization)으로 인해, 그 데이터가 수신측 장치에 덜 유용할 수 있고, 어떤 상황들에서, 수신측 장치의 컴퓨팅 자원들에 따라 쓸모없는 것일 수 있다.
유사한 참조 번호가 유사한 구성요소를 나타내고 있는 이하의 도면(들)에, 실시예들이 제한이 아닌 일례로서 예시되어 있다.
도 1은 일 실시예에 따른 시스템을 나타낸 도면.
도 2는 일 실시예에 따른 계층적 인코더(hierarchical encoder)를 나타낸 도면.
도 3은 일 실시예에 따른 계층적 디코더(hierarchical decoder)를 나타낸 도면.
도 4는 일 실시예에 따른 계층적 다중-계층 데이터 패키지(hierarchical multi-layer data package)를 나타낸 도면.
도 5a 및 도 5b는 일 실시예에 따른, 코딩될 텍스트 문서 데이터의 일례를 나타낸 도면.
도 6a 및 도 6b와 도 7a 내지 도 7c는 일 실시예에 따른, 텍스트 문서를 인코딩하는 일례를 나타낸 도면.
도 8a 및 도 8b는 일 실시예에 따른, 데이터를 디코딩하는 방법의 플로우차트.
도 9는 일 실시예에 따른 컴퓨터 시스템을 나타낸 도면.
간단함과 예시를 위해, 실시예들의 원리들이 실시예들의 일례를 주로 참조하여 기술되어 있다. 이하의 설명에서, 실시예들에 대한 완전한 이해를 제공하기 위해 수많은 구체적인 상세가 기술되어 있다. 그렇지만, 실시예들이 이들 구체적인 상세로 제한되지 않고 실시될 수 있다는 것이 당업자에게는 명백할 것이다. 다른 경우들에, 실시예들의 설명을 불필요하게 모호하게 하지 않기 위해 공지의 방법들 및 구조들이 상세히 기술되어 있지 않다.
일 실시예에 따르면, 계층적 다중-계층 데이터 패키지(hierarchical multi-layer data package)가 인코딩된다. 계층적 다중-계층 데이터 패키지(데이터 패키지라고도 함)는 계층구조(hierarchy)로 배열된 복수의 계층으로 이루어져 있다. 각각의 계층은 장치가 어떤 계층에서 관심의 정보를 신속하게 식별[즉, "훑어보기(skim)"]할 수 있게 해주고 또 그 계층에 있는 데이터를 디코딩할지 여부 또는 관심의 데이터를 식별하기 위해 하위 계층으로 "드릴 다운(drill down)"할지 여부를 결정할 수 있게 해주는 요약 및 메타데이터를 포함하는 하나 이상의 데이터 서브패키지(subpackage of data)를 포함하고 있다. 따라서, 데이터 패키지를 디코딩하는 것은 어떤 계층에 있는 서브패키지 내의 요약 및 메타데이터를 평가하는 것 및 하위 계층에 있는 관련 서브패키지로 드릴 다운할지 또는 현재의 계층에 있는 정보를 압축 해제(decompress)할지를 결정하는 것을 포함한다.
도 1은 계층적 다중-계층 데이터 패키지를 코딩하는 동작을 하는 시스템(100)을 나타낸 것이다. 코딩(coding)은 인코딩(encoding) 및 디코딩(decoding)을 포함한다. 도 1은 서버(110), 장치(120) 및 장치(130)를 나타내고 있다. 서버(110) 및 장치들(120 및 130) 각각은 정보 관리자(140), 인코더(141), 디코더(142) 및 데이터 저장장치(111)를 포함하고 있고, 이들이 각각 140a-c, 141a-c, 142a-c, 및 111a-c로 도시되어 있다.
장치들(120 및 130)은 네트워크를 통해 또는 피어-피어 연결(peer-to-peer connection)을 통해 다른 장치들과 통신하는 동작을 하는 장치들을 포함할 수 있다. 예를 들어, 장치들(120 및 130)은 네트워크를 거쳐 클라이언트-서버 구성을 통해 서버(110)와 통신을 할 수 있고, 장치들(120 및 130)은 피어-피어 프로토콜(peer-to-peer protocol)을 사용하여 서로 통신을 할 수 있다. 장치들(120 및 130)의 예로는 PDA(personal digital assistant), 랩톱, 데스크톱, 셋톱 박스, 컴퓨터 시스템을 포함하는 차량 또는 본 명세서에 기술된 실시예들의 기능들을 수행하는 동작을 하는 컴퓨터 시스템을 포함하는 거의 모든 디바이스 또는 장치가 있을 수 있다. 장치들(120 및 130)과 서버(110) 간의 통신은 유선 연결(wired connection) 및/또는 무선 연결(wireless connection)을 포함할 수 있다.
도 1은, 코딩 실시예들이 서로 다른 유형의 장치들에서 또 서로 다른 유형의 네트워크들에서 이용될 수 있다는 것을 나타내기 위해, 서버(110) 및 장치들(120 및 130)을 도시하고 있다. 코딩 실시예들이 기타 유형의 시스템들에서 제공될 수 있다는 것이 당업자에게는 명백할 것이다. 게다가, 일 실시예에서, 데이터 저장소(data repository)로서 동작하는 외부 데이터 저장장치(external data storage)는 장치들(120 및 130) 또는 서버(140)에 대한 데이터를 저장하는 데 사용될 수 있다. 이 실시예에서, 데이터 저장소는 정보 관리자 또는 인코더 또는 디코더를 포함하지 않는다. 장치들(120 및 130)은 또한 정보를 로컬적으로도 저장할 수 있다.
정보 관리자(140)는 다른 장치로 전송하기 위한 데이터를 인코딩하기 위해 인코더(141)에 정보를 제공하고 또한 수신된 데이터를 디코딩하기 위해 디코더(142)에 정보를 제공한다. 예를 들어, 정보 관리자(140)는 장치에 대한 관심의 주제들의 목록을 유지하고 있다. 정보 관리자(140)는 또한 이들 주제 각각에 대해 요망되는 상세 레벨(level of detail)[예를 들어, "임원 브리핑(executive briefing)", 500 단어 요약, 백서(white paper), 모든 이용가능한 원시 데이터(raw data) 등]을 식별한다. 정보 관리자(140)는 또한 컴퓨팅 자원들의 상태에 관한 현재의 정보[예를 들어, 프로세서 이용도(processor utilization), 자유 메모리 공간 등]를 유지한다. 이 정보를 사용하여, 정보 관리자(140)는 코딩 결정을 한다. 예를 들어, 정보 관리자(140)는 데이터 패키지 크기와 사용 용이성(ease of use) 간의 최상의 트레이드오프를 나타내는 압축비(compression ratio)를 인코더(141)에 제공한다. 일 실시예는 장치에 대한 현재의 컴퓨팅 자원 측정은 물론, 장치 및 그의 네트워크 내의 다른 장치들에 대한 장래의 자원 사용 예측에 기초하여 이러한 권고(advice)를 발생한다.
정보 관리자(140)는 데이터를 인코딩하기 위한 계층적 압축 전략을 결정한다. 이것은 압축비, 데이터 패키지 내의 주어진 계층에 대한 데이터 서브패키지의 최대 수 및 기타 메타데이터를 포함할 수 있다. 서브패키지의 최대 수는 통계상 의미있는/다른 데이터 클러스터의 수는 물론, 이용가능한 컴퓨팅 자원의 상태 및 데이터 패키지들을 공유하는 장치들의 네트워크의 "운용 목적(operations goal)"의 함수일 수 있다. "운용 목적"은 데이터 패키지를 전송 및/또는 사용할 것으로 예상되는 일련의 장치들에 대한 컴퓨팅 자원들의 속성들에 기초할 수 있다. 예를 들어, 적은 메모리 및 처리 능력을 갖는 휴대용 장치들은 그의 컴퓨팅 자원들을 최상으로 이용하는 목적을 설정할 수 있다. 일반적으로, 보다 많은 클러스터들이 보다 많은 서브패키지를 사용하게 되며, 그에 따라 서브패키지 내의 데이터의 특이성(specificity)을 증가시킨다.
정보 관리자(140)는 또한 데이터 패키지 내의 계층들의 최대 수(maximum number) 및 목표 수(target number)를 결정한다. 이것은 데이터 패키지의 전체 크기는 물론, 이용가능한 컴퓨팅 자원들의 상태 및 데이터 패키지들을 공유하는 장치들의 네트워크의 "운용 목적(operations goal)"의 함수이다. 일반적으로, 보다 큰 데이터 패키지가 보다 많은 계층을 사용할 수 있으며, 그에 따라 최상위 계층에서 스캔되어야만 하는 데이터의 양을 감소시킨다. 보다 높은 압축비 및 계산 효율성은 보다 큰 데이터 패키지에 의해 달성될 수 있다. 따라서, 일 실시예에서, 계층구조의 각각의 레벨에서 가장 큰 데이터 서브패키지가 사용된다. 이것은 "버스트" (전송) 및 "훑어보기"(검색) 방식과 부합된다.
인코더(141)는 계층적 인코더(hierarchical encoder)이다. 인코더(141) 내의 모듈들이 도 2에 도시되어 있다. 모듈들은 어떤 기능들을 수행하는 소프트웨어를 포함한다. 그렇지만, 인코더(141)가 하드웨어로, 소프트웨어로, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다는 것이 당업자에게는 명백할 것이다.
일 실시예에 따르면, 인코더(141)는 세그먼트화 모듈(segmentation module)(201), 취합 모듈(aggregation module)(202) 및 압축 모듈(compression module)(203)을 포함하고 있다. 세그먼트화 모듈(201)은 정보 관리자(140)에 의해 선택될 수 있는 세그먼트화 알고리즘을, 인코딩되기 위해 이전에 선택된 데이터에 적용한다. 세그먼트화 모듈(201)은 데이터 클러스터들을 발생하고, 키워드들 및/또는 기타 식별자들이 각각의 클러스터에 대해 설정된다.
취합 모듈(202)은 정보 관리자(140)에 의해 선택될 수 있는 취합 알고리즘을 클러스터들에 적용하여, 클러스터들에 대한 요약들을 발생한다. 요약들은 XML으로 제공될 수 있다. 데이터 패키지의 계층은 요약들을 포함하도록 업데이트된다.
압축 모듈(203)은 정보 관리자(140)에 의해 결정된 계층적 압축 전략을 적용한다. 압축 모듈(203)은 정보 관리자(140)에 의해 선택된 압축 알고리즘을 적용할 수 있다. 또한, 압축 모듈(203)은 정보 관리자(140)에 의해 선택된 아카이빙 방법(archiving method)을 적용할 수 있다. 아카이빙 방법은 압축 알고리즘을 이용하여 데이터 패키지의 서로 다른 계층들에 있는 데이터를 압축한다.
아카이빙 방법의 한 일례는 순차적 방법(sequential method)이다. 순차적 방법에서, 원시 소스 데이터(raw source data)는 계층 1에 아카이빙되고, 계층 1에서의 서브패키지들은 계층 2에 아카이빙되며, 계층 2에서의 서브패키지들은 계층 3에 아카이빙되고, 이하 마찬가지이다. 데이터 패키지 크기를 최소화시키는 것이 중요한 경우, 현재 레벨에서의 요약들을 압축하여 데이터 패키지의 아카이브 섹션(archive section)에 저장하는 순차적 압축 방법(sequential compressed method)이 적용될 수 있다. 키워드들 및 기타 메타데이터만이 데이터 패키지에 미압축된 채로 제공되어 있다. 데이터 패키지를 최소화시키는 다른 아카이빙 방법은 차분적 방법(differential method)이다. 차분적 방법에서, 원시 소스 데이터와 계층 1에서의 요약들 간의 차이가 계층 1에 아카이빙되고, 계층 1에서의 요약들과 계층 2에서의 요약들 간의 차이가 계층 2에 아카이빙되며, 계층 1에서의 요약들과 계층 2에서의 요약들 간의 차이가 계층 2에 아카이빙되고, 이하 마찬가지이다. 인코더(141)는 또한 장래에 요약들의 선택 및 아카이브들의 실시간 디코딩에 도움이 될 수 있는 관련 계산-시간 통계를 기록한다.
디코더(142)는 계층적 디코더(hierarchical decoder)이다. 일 실시예에 따르면, 디코더(142)는, 도 3에 도시한 바와 같이, 목적 함수 모듈(objective function module)(301), 드릴-다운 모듈(drill-down module)(302), 및 압축 해제 모듈(decompression module)(303)을 포함하고 있다. 목적 함수 모듈(301)은 검색된 데이터의 "적합도(goodness of fit)", 압축 해제 시간, 및 데이터 패키지의 기타 적용가능한 파라미터들과 연관된 트레이드-오프를 정량화하여 데이터 패키지를 탐색(traverse)하는 순서를 선택하는 것을 안내하기 위해 목적 함수를 사용한다. 목적 함수 모듈(301)의 출력, 예를 들어, 점수는, 데이터 패키지의 계층구조에서 하위 계층에 대한 메타데이터 및 요약들을 파싱할지 또는 현재의 계층으로부터의 데이터를 사용할지를 결정하기 위해, 드릴-다운 모듈(302)에 의해 사용될 수 있다. 압축 해제 모듈(303)은 선택된 계층에서의 관심의 서브패키지 또는 서브패키지들을 압축 해제한다.
일 실시예에서, 정보 관리자(140)는 목적 함수를 사용하여 선택된 서브패키지에 대한 요약 및 메타데이터[인코딩/디코딩 통계(예를 들어, 압축 해제 시간) 등]를 수신한다. 정보 관리자(140)는 요약 및 메타데이터가 정보 요구(information need)를 충족시키는지 여부를 판정한다. 예를 들어, 정보 관리자(140)는 요약이 관심의 정보와 얼마나 가깝게 일치하는지를 평가하기 위해 분류기(classifier), 통계적 처리 또는 기타 기법들을 사용할 수 있다. 또한, 정보 관리자(140)는 압축 해제 시간 및 장치 속성들을 고려할 수 있다. 또한, 서브패키지가 요청에 대해 충분한지 여부 또는 다른 서브패키지가 선택되어야 하는지를 판정하기 위해 사용자 입력이 사용될 수 있다. 서브패키지가 충분한 것으로 판정되는 경우, 정보 관리자(140)는 서브패키지에 대한 데이터를 압축 해제하라는 요청을 디코더(142)로 전송한다. 그렇지 않은 경우, 정보 관리자(140)는 다른 서브패키지를 선택하라는 요청을 디코더(142)로 전송한다. 예를 들어, 드릴 다운 모듈(302)은 하위 계층에서의 다른 서브패키지를 선택한다.
유의해야 할 점은, 아카이빙 방법에 따라, 서브패키지가 충분한 것으로 판정되는 경우, 정보 관리자(140)가 서브패키지에 대한 데이터를 압축 해제하라는 요청을 디코더(142)로 전송할 필요가 있거나 필요가 없을 수 있다는 것이다. 보통의 순차적 아카이빙 방법에서는, 서브패키지에 대한 요약이 서브패키지와 함께 압축된다. 따라서, 순차적 방법이 사용될 때, 요약에 액세스하기 위해 서브패키지 전체가 압축 해제될 수 있다. 서브패키지가 충분한 것으로 판정되는 경우, 서브패키지에 대한 데이터를 압축 해제할 필요가 더 이상 없다. 그 대신에, 서브패키지에 대한 데이터가 이미 요약과 함께 압축 해제되었다. 순차적 압축 아카이빙 방법 및 차분적 아카이빙 방법에 있어서, 서브패키지가 요약 및/또는 메타데이터로부터 충분한 것으로 판정되는 경우 서브패키지에 대한 데이터가 압축 해제될 필요가 있다.
다른 실시예에서, 디코더(142)는 선택된 서브패키지에 대한 데이터를 압축 해제하여 평가를 위해 정보 관리자(140)로 전송한다. 압축 해제된 데이터를 사용하여, 정보 관리자(140)는 정보가 충분한지 여부 또는 다른 서브패키지에 대한 데이터가 필요한지를 판정한다.
도 4는 일 실시예에 따른 계층적 다중-계층 데이터 패키지(400)를 나타낸 것이다. 데이터 패키지는 계층 1 내지 계층 N으로 나타낸 다수의 계층을 포함하고 있다. 각각의 계층은 하나 이상의 서브패키지로 이루어져 있다. 예를 들어, 계층 N은 서브패키지들(430-433)을 가지고, 계층 N-1은 서브패키지들(420-422)을 가지며, 계층 1은 서브패키지(410)를 갖는다. 각각의 계층에 나타내어진 서브패키지들의 수는 제한이 아닌 일례로서 제공된 것이며, 각각의 계층에서의 서브패키지들의 수는 서로 다른 데이터 패키지들에 대해 서로 다를 수 있다.
디코딩할 때, 서브패키지(430)가 연관성이 있지만 추가의 정보가 필요한 것으로 정보 관리자(140)가 판정하는 경우, 디코더(142)는 하위 계층으로 드릴 다운한다. 예를 들어, 서브패키지(420)는 서브패키지(430)와 관련되어 있고, 서브패키지(430)에 대한 메타데이터 및 요약이 그 서브패키지가 사용자에 대한 관심의 데이터를 포함하고 있는지 여부를 판정하기 위해 파싱된다. 포함하고 있는 경우, 그 데이터가 압축 해제된다. 드릴 다운을 위해 다른 계층에 있는 관련 서브패키지를 효율적으로 식별할 수 있게 해주기 위해 각각의 서브패키지에 대한 메타데이터가 계층구조에서의 상위 레벨 또는 하위 레벨에 있는 관련 서브패키지들을 식별할 수 있다.
도 5a 및 도 5b는 계층적 다중-계층 데이터 패키지를 형성하기 위해 인코딩될 수 있는 데이터의 일례를 나타낸 것이다. 이 일례에서, 데이터는 텍스트 문서(500)이다. 그렇지만, 본 명세서의 실시예들에 기술되어 있는 바와 같이, 계층적 다중-계층 데이터 패키지를 형성하기 위해 어떤 유형의 데이터(예를 들어, 비디오, 오디오, 원시 데이터 등)라도 인코딩될 수 있다는 것이 당업자에게는 명백할 것이다.
도 6a 및 도 6b와 도 7a 내지 도 7c는, 일 실시예에 따른, 3개의 계층을 포함하는 계층적 다중-계층 데이터 패키지 내의 계층들에 있는 정보 중 적어도 일부를 나타내는 코드를 나타낸 것이다. 도 6a 및 도 6b와 도 7a 내지 도 7c는 데이터 패키지에서의 정보의 유형들 및 정보의 일례들을 나타내고 있다. 유의해야 할 점은, 데이터 패키지들이 서로 다른 수의 서브패키지들 및 서로 다른 정보를 갖는 더 많은 또는 더 적은 계층들을 가질 수 있다는 것이다.
도 6a 및 도 6b와 도 7a 내지 도 7c에 도시된 데이터 패키지는 도 5a 및 도 5b에 도시된 텍스트 문서(500)로부터 인코딩된 데이터로 이루어져 있다. 이 데이터 패키지는 3개의 계층을 포함하고 있다. 계층 3은 디코더(142)에 의해 맨먼저 파싱되는 가장 바깥쪽의 계층(outermost layer)이다. 계층 3은 3 사이클의 압축으로부터 생성되는 계층을 나타낸다. 계층 3은 가장 중심이 되는(most focused) 서브패키지들을 포함하고 있다. 계층 2는 중간 계층이다. 계층 2는 더 많은 컨텐츠 및 더 많은 일반 컨텐츠를 갖는 더 적은 수의 서브패키지들을 가지고 있다. 계층 1은 나타내어져 있지 않지만, 데이터 패키지의 가장 안쪽의 계층(innermost layer)으로서 가장 많은 컨텐츠를 포함하고 있고 또 가장 넓은 범위(예를 들어, 원래의 전체 데이터의 표현)를 갖는다.
도 6a 및 도 6b와 도 7a 내지 도 7c에 도시된 데이터 패키지에서, 정보 관리자(140)는 각각의 계층에 대해 5대1 압축(5 to 1 compression)의 목표를 설정하였으며, 각각의 계층에 대해 최대 3개의 서브패키지를 설정하였다. 도 6a 및 도 6b는 데이터 패키지에서 중간 계층 2(600으로 표시됨)를 나타내고 있다. 서브패키지 ID 1 및 서브패키지 ID 2를 갖는, 계층 2에 대한 2개의 서브패키지(601 및 602로 나타내어져 있음)가 있다. 각각의 계층은 또한 메타데이터도 갖고 있다. 계층 2에 대한 메타데이터는 603 및 604로 나타내어져 있다. 메타데이터(603)는 장치의 컴퓨팅 자원들에 관한 속성들, 연결성, 대역폭 등을 포함하고 있을 수 있다. 메타데이터(603)는 계층 및 데이터 패키지에 대한 계층적 압축 전략에 관한 정보를 제공한다. 메타데이터(603)는 최대 압축비, 계층당 최대 서브패키지 수, 아카이빙 방법 등을 포함하고 있을 수 있다.
서브패키지들은 또한 메타데이터도 포함하고 있다. 서브패키지 1 및 서브패키지 2에 대한 메타데이터(605 및 606)가 각각 나타내어져 있으며, 사용되는 세그먼트화, 취합 및 압축에 관한 정보를 포함하고 있다. 예를 들어, 세그먼트화는 특정의 테마 또는 주제 클러스터(topic cluster)에 관련되어 있는 데이터 세트 전체의 섹션들의 ID(identification)를 포함하고 있다. 이러한 클러스터링(clustering)을 수행하기 위해 다수의 알고리즘들이 사용될 수 있다. 데이터 일례에서, 세그먼트화는 데이터 마이닝 방법(data mining method)[예를 들어, 규칙 귀납(rule induction), CBA(classification based on association) 등]을 적용함으로써 달성될 수 있다. 세그먼트화에 대한 메타데이터는 클러스터들을 생성하는 데 사용되는 클러스터링 알고리즘을 식별해줄 수 있다.
취합은 서브패키지들에 대한 요약들을 생성한다. 이 일례에서, 취합은 도 5a 및 도 5b에 나타낸 소스 문서에 대한 텍스트 요약들을 생성한다. 이 요약들은 세그먼트화에서 식별되는, 관심의 주제들일 수 있는 클러스터들에 대응한다. 취합에 대한 메타데이터는 요약들을 생성하는 데 사용되는 취합 방법[문장 추출 방법(sentence extraction method) 등]을 식별해줄 수 있다. 텍스트를 포함하지 않는 데이터 일례의 경우, 취합은 주어진 계층 레벨(level of stratification)에서의 데이터의 통계적 요약들(즉, 하나 이상의 데이터 세그먼트들을 포함함)을 생성함으로써 달성될 수 있다. 다른 대안으로서, 예를 들어, GEP(gene expression programming)[Motorola, Inc.에 양도된 발명의 명칭이 "Gene Expression Programming Algorithm(GEP 알고리즘)"인 미국 특허 제7,127,436호에 기술되어 있는 것 등]를 사용하여, 데이터 세트를 요약하는 명시적인 수치 관계(explicit numerical relation)를 발생함으로써 데이터가 취합될 수 있으며, 이 미국 특허는 여기에 인용함으로써 그 전체 내용이 본 명세서에 포함된다. 원시 데이터의 경우, 요약은 최적 방정식(best fit equation) 또는 데이터로 압축된 뷰들의 모음(a collection of compressed views into data)일 수 있다. 시계열(time series)의 경우, 요약은 원시 데이터보다 덜 빈번하게 샘플링되는 타임라인 경향(timeline trend)일 수 있거나, 요약은 상당한 변화가 있을 때의 데이터만을 나타낸다.
이 메타데이터는 또한 문서를 압축하는 압축 알고리즘을 식별해줄 수 있다. 압축 알고리즘은 일반적으로 임의의 이진 데이터 세트에 적용된다. 그렇지만, 정보 관리자(140)는 어떤 유형의 데이터(예를 들어, 텍스트-전용, JPEG 이미지 세트 등)에 대해 양호한 성능을 갖도록 특별히 조정되어 있는 압축 알고리즘을 선택할 수 있다.
메타데이터는 또한 압축된 데이터에 대한 ID 또는 링크도 포함하고 있다. 예를 들어, 정보 관리자(140)가 서브패키지가 사용자가 관심을 갖는 데이터를 포함하고 있는 것으로 판정하는 경우, 데이터 패키지로부터 압축된 데이터를 찾아내고 검색하는 데 <encoding param = "archive">0</encoding>으로 나타낸 링크가 사용된다.
메타데이터는 또한 클러스터(이 일례에서, 관심의 주제임)를 기술하는 하나 이상의 키워드를 포함하고 있다. 예를 들어, 서브패키지 1에 대한 클러스터는 키워드 "context" 및 "aware"에 의해 기술되어 있다.
서브패키지 1 및 서브패키지 2는 각각 요약(607) 및 요약(608)을 포함하고 있다. 요약들은 취합 프로세스를 통해 생성된다. 요약들은 서브패키지에 대한 데이터가 사용자에게 충분한지 여부 또는 다른 서브패키지를 선택할지 또는 다른 계층으로 드릴 다운할지를 식별하는 데 도움이 된다. 유의할 점은, 요약들이 관심의 주제[서브패키지에 대한 키워드(들)에 의해 기술되는 클러스터를 나타냄]와 관련되어 있는 도 5a 및 도 5b의 소스 문서로부터의 텍스트를 포함하고 있다는 것이다.
계층 2에 대한 압축된 데이터는 도 6b에 609로 나타내어져 있다. 순차적 아카이빙 방법이 사용되었기 때문에, 계층 2는 하위-레벨 계층 1에 대한 압축된 데이터를 포함하고 있다. 압축된 데이터에 대한 메타데이터(610)는 데이터를 코딩하기 위한 정보를 포함하고 있을 수 있다. 이 정보는 코딩 결정을 하기 위해 정보 관리자(140)에 의해 사용될 수 있다.
도 7a 내지 도 7c는 데이터 패키지에서의 계층 3을 나타낸 것이다. 계층 3은 서브패키지 3 내지 서브패키지 5(701 내지 703으로 표시됨)로 나타내어진 3개의 서브패키지를 포함하고 있다. 계층 3 및 서브패키지 3 내지 서브패키지 5는 계층 2에 대해 상기한 메타데이터와 유사한 메타데이터를 포함하고 있다. 계층 3은 메타데이터(704 및 705)를 포함하고 있다. 서브패키지 3 내지 서브패키지 5는 메타데이터(706) 내지 메타데이터(708) 및 요약(709) 내지 요약(711)을 포함하고 있다. 유의할 점은, 서브패키지 3 및 서브패키지 4에 대한 키워드들이 서브패키지 1에 대한 키워드들을 포함하고 있다는 것이다. 또한, 서브패키지 3 및 서브패키지 4 각각이 부가의 키워드도 포함하고 있다. 따라서, 서브패키지 3 및 서브패키지 4는 계층구조에서 서브패키지 1에 관련되어 있지만, 데이터 패키지 내의 데이터에 관한 부가의 상세 레벨(level of detail)을 제공한다. 디코딩 동안에, 정보 관리자(140)가 서브패키지 3이 연관성이 있는 것으로 판정하는 경우, 정보 관리자(140)는 추가의 정보가 필요한 경우 서브패키지 1로 드릴 다운하기로 결정할 수 있다. 이와 유사하게, 계층 3 내의 서브패키지 5는 계층 2 내의 서브패키지 2와 관련되어 있다. 도 7c는 계층 3에서의 각각의 서브패키지에 대한 압축된 데이터를, 연관된 메타데이터와 함께, 710 및 711로 나타내고 있다.
계층 3은 또한 압축된 데이터(712 내지 714)도 포함하고 있다. 순차적 아카이빙 방법이 사용되었기 때문에, 계층 3은 하위-레벨 계층 1 및 계층 2에 대한 압축된 데이터를 포함하고 있다. 기타 아카이빙 방법들은 계층에 대한 압축된 데이터를 계층에 저장할 수 있다.
도 8a 및 도 8b는 실시예들에 따른, 계층적 다중-계층 데이터 패키지를 디코딩하는 방법들을 나타낸 것이다. 서로 다른 아카이빙 방법들에 대해 서로 다른 디코딩 방법들이 적용될 수 있다. 데이터 패키지의 가장 바깥쪽의 계층에서의 메타데이터는 어느 아카이빙 방법(순차적 방법, 순차적 압축 방법, 및 차분적 방법 등)이 사용되었는지를 명시하는 태그 또는 기타 정보를 포함하고 있다. 다른 대안으로서, 정보는 각각의 계층에서 압축되는 소스 데이터의 서브셋 및 메타데이터도 압축되었는지 여부 또는 메타데이터가 미압축된 채로 유지되어 있는지(XML 텍스트 형태로 있는지 등)를 명시한다. 이와 같이, 어느 디코딩 방법이 사용되어야 하는지가 명백하다. 앞서 언급한 소스 데이터는 데이터 패킷 전체에 대한 데이터이고, 소스 데이터의 서브셋은 각각의 서브패키지에 대응한다. 어떤 아카이빙 방법들의 경우, 소스 데이터 전체가 데이터 패키지의 최하위 레벨에서 압축될 수 있다.
도 8a는 데이터 패키지를 인코딩하기 위해 순차적 아카이빙 방법이 사용되었을 때의 디코딩 방법(800)을 나타낸 것이다. 도 8a는, 제한이 아닌 일례로서, 도 1 내지 도 7c 중 하나 이상과 관련하여 기술되어 있다. 방법(800)이 다른 시스템들에서 실시될 수 있다는 것이 당업자에게는 명백할 것이다.
단계(801)에서, 데이터 패키지 내의 서브패키지들을 평가하는 목적 함수가 생성된다. 예를 들어, 정보 관리자(140)에 의해 모니터링되는 것과 같은 관심의 주제들 및 이용가능한 컴퓨팅 자원들에 기초하여, 디코더(142)는 (예를 들어, 키워드 일치에 기초한) 검색된 데이터의 적합도, 압축 해제 시간, 및 데이터 패키지의 기타 적용가능한 파라미터들과 연관된 트레이드-오프를 정량화하여 데이터 패키지에서의 서브패키지들 및 계층들을 탐색하는 순서를 선택하는 것을 안내하기 위해 목적 함수를 생성한다.
일반적으로, 목적 함수는 문제를 해결하기 위해 최적화되는 함수이다. 예를 들어, 데이터 패키지를 디코딩하는 목적 함수는 가장 연관성있는 데이터를 찾아내기 위해 압축 해제되어야 하는 정보의 양을 최소화하면서 검색을 위해 그 가장 연관성 있는 데이터를 식별해내는 문제의 특성을 파악한다. 목적은 신속하게 액세스될 수 있는 관심 영역에 가장 연관성있는 정보를 데이터 패키지에서 찾아내는 검색 시간을 최소화하는 것이다.
한 일례에서, 당신이 타운홈(townhome)의 매도인이고 데이터 패키지가 시장에 나와 있는 부동산 목록을 포함하는 경우를 가정한다. 데이터 패키지는 매도인들을 위한 서브패키지들, 매수인들을 위한 서브패키지들, 및 장치 속성들에 기초하여 데이터를 디코딩할 수 있는 서로 다른 유형의 장치들을 위한 서브패키지들을 포함할 수 있다. 목적 함수가 적합도(goodness of fit)인 경우, 목적 함수는, 특정 가격 범위에 있고 또 사용자가 이동 전화를 사용하는 경우 이동 전화에 의해 디코딩하도록 설계되어 있는, 타운홈들의 매도인들을 위한 서브패키지를 선택할 수 있다. 서브패키지 내의 메타데이터는 서브패키지를 선택하기 위해 요약과 함께 사용될 수 있는 장치 속성들 및 추정된 디코딩 시간을 포함할 수 있다.
단계(802)에서, 서브패키지들과 그의 요약 및 메타데이터를 식별하기 위해 계층 내의 정보가 파싱된다. 예를 들어, 디코더(142)는 계층을 파싱하고, 서브패키지들, 그의 각자의 키워드들, 및 메타데이터(요약들에 대한 예상된 압축 해제 시간 등)를 식별한다.
단계(803)에서, 서브패키지들이 목적 함수를 사용하여 평가된다. 예를 들어, 목적 함수는 각각의 서브패키지에 대한 점수를 발생하는 스코어링 함수(scoring function)일 수 있다. 목적 함수가 적합도를 이용하는 경우, 이것은, 특정의 정보 요구를 충족시키기 위해, 서브패키지가 키워드 검색어(예를 들어, 타운홈, 가격 범위, 매도인) 및 데이터 패키지를 디코딩하는 장치에 대한 장치 속성들을 포함할 수 있는 검색 요청과 얼마나 잘 일치하는지를 포함할 수 있다.
단계(804)에서, 이 평가에 기초하여 서브패키지가 선택된다. 예를 들어, 디코더(142)는 목적 함수로부터 최고 점수를 받는, 처음에 데이터 패키지에서 가장 바깥쪽의 계층일지도 모르는 현재의 계층에 있는 서브패키지를 선택한다.
단계(805)에서, 서브패키지가 정보 요구를 충족시키는지 여부에 관한 판정이 행해진다. 예를 들어, 디코더(142)는 서브패키지에 대한 요약 및 소스 데이터의 서브셋을 압축 해제하고 (미압축된) 요약을 정보 관리자(140)로 전송하며, 정보 관리자(140)는 정보 요구가 충족되었는지를 판정한다. 이 판정을 위해 기타 정보(서브패키지에 대한 메타데이터 등)도 역시 정보 관리자(140)로 전송될 수 있다. 정보 관리자(140)가 정보 요구가 충족된 것으로 판정하는 경우, 이 방법이 종료된다. 정보 관리자(140)는, 예를 들어, 요약과 함께 압축 해제된 서브패키지에 대한 압축 해제된 소스 데이터의 서브셋을 수신한다. 따라서, 소스 데이터의 서브셋은 정보 관리자(140) 및 사용자에게 제공된다.
정보 요구가 충족되지 않은 경우, 정보 관리자(140)는 추가의 정보에 대한 요청을 디코더(142)로 전송한다. 디코더(142)는 단계(806)에서 드릴 다운 절차를 수행하고, 다시 단계들(802 내지 805)을 반복한다. 드릴 다운 절차는 하위 레벨에 있는 임의의 서브패키지들에 대한 메타데이터를 압축 해제하는 것(단계 806)을 포함할 수 있다. 이어서, 그 다음 하위 계층에 있는 서브패키지들에 대해 단계들(802 내지 805)을 반복한다.
데이터 패키지에서의 최하위 계층에 도달되었고 정보 요구가 충족되지 않은 경우, 이 방법이 종료될 수 있고, 임의의 이전에 선택된 서브패키지들 중 하나 이상의 서브패키지가 선택될 수 있다. 이들 서브패키지에 대한 데이터가 압축 해제되어 사용자에게 제공된다. 다른 실시예에서, 새로운 목적 함수가 생성되고, 이 방법이 반복된다. 새로운 목적 함수는 더 광범위한 검색어들 또는 기타 파라미터들을 고려할 수 있다. 다른 대안으로서, 데이터 패키지 전체가 압축 해제되어 사용자에게 제공되거나 사용자에게 이용가능하게 된다. 유의해야 할 점은, 많은 경우들에, 하위 계층으로 드릴 다운할 때, 동일한 목적 함수가 사용된다는 것이다. 그렇지만, 실시간 응용의 경우, 예를 들어, 최하위 계층에 도달되지 않은 경우라도 디코딩 장치에서의 이용가능한 계산 자원들을 반영하기 위해, 목적 함수에 대한 업데이트가 수행될 수 있다.
도 8b는 데이터 패키지를 인코딩하기 위해 순차적 압축 아카이빙 방법(sequential compressed archiving method) 또는 차분적 아카이빙 방법(differential archiving method)이 사용되었을 때의 디코딩 방법(820)을 나타낸 것이다. 도 8b는, 제한이 아닌 일례로서, 도 1 내지 도 7c 중 하나 이상과 관련하여 기술되어 있다. 방법(800)이 다른 시스템들에서 실시될 수 있다는 것이 당업자에게는 명백할 것이다.
단계(811)에서, 데이터 패키지 내의 서브패키지들을 평가하는 목적 함수가 생성된다. 예를 들어, 정보 관리자(140)에 의해 모니터링되는 것과 같은 관심의 주제들 및 이용가능한 컴퓨팅 자원들에 기초하여, 디코더(142)는 (예를 들어, 키워드 일치에 기초한) 검색된 데이터의 적합도, 압축 해제 시간, 및 데이터 패키지의 기타 적용가능한 파라미터들과 연관된 트레이드-오프를 정량화하여 데이터 패키지에서의 서브패키지들 및 계층들을 탐색하는 순서를 선택하는 것을 안내하기 위해 목적 함수를 생성한다.
단계(812)에서, 서브패키지들과 그의 요약 및 메타데이터를 식별하기 위해 계층 내의 정보가 파싱된다. 예를 들어, 디코더(142)는 계층을 파싱하고, 현재의 계층에 있는 서브패키지들을 식별한다. 순차적 압축 아카이빙 방법의 경우, 키워드들 및 기타 메타데이터와 같은 어떤 메타데이터가 수신된 데이터 패키지에서 이미 미압축되어 있다. 메타데이터가 압축되어 있는 경우, 메타데이터는 단계(813)에서의 평가를 위해 압축 해제될 수 있다.
단계(813)에서, 서브패키지들이 목적 함수를 사용하여 평가된다. 예를 들어, 목적 함수는 각각의 서브패키지에 대한 점수를 발생하는 스코어링 함수(scoring function)일 수 있다. 목적 함수가 적합도를 이용하는 경우, 이것은, 특정의 정보 요구를 충족시키기 위해, 서브패키지가 키워드 검색어(예를 들어, 타운홈, 가격 범위, 매도인) 및 데이터 패키지를 디코딩하는 장치에 대한 장치 속성들을 포함할 수 있는 검색 요청과 얼마나 잘 일치하는지를 포함할 수 있다.
단계(814)에서, 이 평가에 기초하여 서브패키지가 선택된다. 예를 들어, 디코더(142)는 목적 함수로부터 최고 점수를 받는, 처음에 데이터 패키지에서 가장 바깥쪽의 계층일지도 모르는 현재의 계층에 있는 서브패키지를 선택한다.
단계(815)에서, 선택된 서브패키지에 대한 데이터가 압축 해제된다. 이것은 서브패키지에 대한 요약 및 소스 데이터의 서브셋을 압축 해제하는 것을 포함한다. 이것은 또한 그 다음 하위 계층에 있는 임의의 서브패키지들에 대한 메타데이터를 압축 해제하는 것을 포함할 수 있다.
단계(816)에서, 서브패키지가 정보 요구를 충족시키는지 여부에 관한 판정이 행해진다. 예를 들어, 디코더(142)는 (미압축된) 요약을 정보 관리자(140)로 전송하고, 정보 관리자(140)는 정보 요구가 충족되었는지를 판정한다. 이 판정을 위해 기타 정보(서브패키지에 대한 메타데이터 등)도 역시 정보 관리자(140)로 전송될 수 있다. 정보 관리자(140)가 정보 요구가 충족된 것으로 판정하는 경우, 이 방법이 종료된다. 정보 관리자(140)는, 예를 들어, 요약과 함께 압축 해제된 서브패키지에 대한 압축 해제된 소스 데이터의 서브셋을 수신한다. 소스 데이터의 서브셋이 정보 관리자(140)에게 제공되고 또 사용자에게 제공될 수 있다.
정보 요구가 충족되지 않은 경우, 정보 관리자(140)는 추가의 정보에 대한 요청을 디코더(142)로 전송한다. 디코더(142)는 그 다음 하위 계층에 있는 서브패키지들에 대해 다시 단계들(812 내지 816)을 반복함으로써 드릴 다운 절차를 수행한다.
데이터 패키지에서의 최하위 계층에 도달되었고 정보 요구가 충족되지 않은 경우, 이 방법이 종료될 수 있고, 임의의 이전에 선택된 서브패키지들 중 하나 이상의 서브패키지가 선택될 수 있다. 이들 서브패키지에 대한 데이터가 압축 해제되어 사용자에게 제공된다. 다른 실시예에서, 새로운 목적 함수가 생성되고, 이 방법이 반복된다. 새로운 목적 함수는 더 광범위한 검색어들 또는 기타 파라미터들을 고려할 수 있다. 다른 대안으로서, 데이터 패키지 전체가 압축 해제되어 사용자에게 제공되거나 사용자에게 이용가능하게 된다. 유의해야 할 점은, 많은 경우들에, 하위 계층으로 드릴 다운할 때, 동일한 목적 함수가 사용된다는 것이다. 그렇지만, 실시간 응용의 경우, 예를 들어, 최하위 계층에 도달되지 않은 경우라도 디코딩 장치에서의 이용가능한 계산 자원들을 반영하기 위해 목적 함수에 대한 업데이트가 수행될 수 있다.
도 9는 상기한 시스템(100)의 컴포넌트들에 대한 플랫폼으로서 사용될 수 있는 범용 컴퓨터 시스템(900)의 블록도를 나타낸 것이다. 예를 들어, 시스템(900)은 서버(110) 또는 사용자 장치들(120 및 130) 중 하나 이상에 대한 플랫폼을 나타낼 수 있다. 원하는 기능을 제공하기 위해, 컴포넌트들이 범용 시스템(900)에 추가되거나 그로부터 제거될 수 있다.
시스템(900)은 소프트웨어를 실행시키는 실행 플랫폼을 제공하는 프로세서(902)를 포함하고 있다. 프로세서(902)로부터의 명령 및 데이터가 통신 버스(909)를 통해 전달된다. 시스템(900)은 또한 런타임(runtime) 동안에 소프트웨어가 존재할 수 있는 랜덤 액세스 메모리(RAM)와 같은 메인 메모리(main memory)(906), 및 보조 메모리(secondary memory)(908)도 포함하고 있다. 보조 메모리(908)는, 예를 들어, 소프트웨어의 사본이 저장되어 있는 비휘발성 메모리를 포함할 수 있다. 한 일례에서, 보조 메모리(908)는 또한 ROM(read only memory), EPROM(erasable, programmable ROM), EEPROM(electrically erasable, programmable ROM)도 포함한다.
시스템(900)은 I/O 장치들(910)을 포함하고 있다. I/O 장치들은 디스플레이 및/또는 키보드, 마우스, 스타일러스, 스피커 등의 하나 이상의 I/O 장치들(910)을 포함하는 사용자 인터페이스들을 포함할 수 있다. 다른 컴포넌트들과 통신을 하기 위해 통신 인터페이스(913)가 제공된다. 통신 인터페이스(913)는 유선 또는 무선 인터페이스일 수 있다. 통신 인터페이스(913)는 네트워크 인터페이스일 수 있다. 시스템(900)의 컴포넌트들이 버스(909)를 통해 통신을 할 수 있다.
상기한 방법들의 단계들 중 하나 이상의 단계 및 본 명세서에 기술된 다른 단계들과 본 명세서에 기술된 소프트웨어는 컴퓨터 판독가능 매체 상에 임베딩되거나 저장된 소프트웨어로서 구현될 수 있다. 단계들은 각종의 형태(활성 및 비활성 둘다)로 존재할 수 있는 컴퓨터 프로그램에 의해 구현될 수 있다. 예를 들어, 단계들은, 실행될 때 단계들 중 일부 단계들을 수행하는, 소스 코드, 오브젝트 코드, 실행가능 코드 또는 기타 포맷으로 되어 있는 프로그램 명령어들로 이루어진 소프트웨어 프로그램(들)으로서 존재할 수 있다. 모듈들은 프로그램, 서브루틴, 객체 등과 같은 소프트웨어를 포함한다. 상기한 것들 중 임의의 것이, 압축된 또는 미압축된 형태로, 저장 장치 및 신호를 포함하는 컴퓨터 판독가능 매체 상에 저장될 수 있다. 적당한 컴퓨터 판독가능 저장 장치의 일례로는 종래의 컴퓨터 시스템 RAM(random access memory), ROM(read only memory), EPROM(erasable, programmable ROM), EEPROM(electrically erasable, programmable ROM), 및 자기 또는 광 디스크 또는 테이프가 있다. 컴퓨터 판독가능 신호의 일례로는, 반송파를 사용하여 변조되는지와 상관없이, 컴퓨터 프로그램을 호스팅하거나 실행하는 컴퓨터 시스템이 액세스하도록 구성될 수 있는 신호들(인터넷 또는 기타 네트워크들을 통해 다운로드되는 신호들을 포함함)이 있다. 상기한 것들의 구체적인 일례들은 CD-ROM을 통한 또는 인터넷 다운로드를 통한 프로그램들의 배포를 포함한다. 어떤 의미에서, 추상적 개체로서의 인터넷 자체는 컴퓨터 판독가능 매체이다. 일반적인 컴퓨터 네트워크들도 마찬가지이다. 따라서, 본 명세서에 열거된 기능들이 상기한 기능들을 실행할 수 있는 전자 장치에 의해 수행될 수 있다는 것을 잘 알 것이다.
실시예들이 일례들을 참조하여 기술되어 있지만, 당업자라면 본 발명의 진정한 사상 및 범위를 벗어나지 않고 기술된 실시예들에 다양한 수정들을 할 수 있을 것이다. 본 명세서에 사용되는 용어들 및 설명들이 제한이 아니라 단지 예시로서 기술되어 있다. 상세하게는, 방법들이 일례로서 기술되어 있더라도, 방법들의 단계들이 예시된 것과 다른 순서로 또는 동시에 수행될 수 있다. 당업자라면 이하의 청구항들에 정의된 사상 및 범위 그리고 그의 등가물 내에서 이들 및 기타 변형들이 가능하다는 것을 잘 알 것이다.

Claims (20)

  1. 계층적 다중-계층 데이터 패키지를 디코딩하는 방법으로서,
    메모리에 저장된 명령어들을 실행하는 프로세서에 의해 구현된 계층적 디코더(hierarchical decoder)를 사용하여, 데이터 패키지에서 관심의 정보와 가장 연관성이 있는 데이터를 식별하기 위한 파라미터들에 기초하여 목적 함수를 생성하는 단계,
    상기 계층적 디코더를 사용하여, 상기 데이터 패키지의 제1 계층에서의 임의의 서브패키지들을 식별하기 위해 상기 제1 계층을 파싱하는 단계,
    상기 계층적 디코더를 사용하여, 상기 서브패키지들을 각각의 서브패키지로부터의 정보 및 상기 목적 함수를 사용하여 평가하는 단계,
    상기 계층적 디코더를 사용하여, 관심의 정보에 가장 연관성이 있는 서브패키지를 식별하기 위해 상기 평가에 기초하여 서브패키지를 선택하는 단계,
    상기 프로세서에 의해 구현된 정보 관리자를 사용하여, 선택된 서브패키지가 정보 요구를 충족시키는지 여부를 판정하는 단계,
    상기 프로세서를 사용하여, 상기 정보 요구가 충족되는 경우 상기 서브패키지에 대한 압축 해제된 데이터를 제공하는 단계, 및
    상기 프로세서를 사용하여, 상기 정보 요구가 충족되지 않는 경우, 상기 관심의 정보와 가장 연관성이 있을 가능성이 있는 상기 데이터 패키지의 그 다음 하위 계층에서의 서브패키지를 식별하는 단계
    를 포함하는 데이터 패키지 디코딩 방법.
  2. 제1항에 있어서, 상기 프로세서를 사용하여, 상기 데이터 패키지의 그 다음 하위 계층에서의 상기 서브패키지를 식별하는 단계는,
    상기 목적 함수를 사용하여 상기 그 다음 하위 계층에서의 상기 서브패키지를 식별하는 단계를 포함하는 데이터 패키지 디코딩 방법.
  3. 제1항에 있어서, 상기 프로세서를 사용하여, 상기 데이터 패키지의 그 다음 하위 계층에서의 상기 서브패키지를 식별하는 단계는,
    상기 서브패키지에 대한 상기 제1 계층에서의 메타데이터로부터 상기 그 다음 하위 계층에서의 상기 서브패키지를 식별하는 단계를 포함하며,
    상기 그 다음 하위 계층에서의 상기 서브패키지는 상기 제1 계층에서의 상기 선택된 서브패키지와 관련되어 있는 데이터 패키지 디코딩 방법.
  4. 제1항에 있어서,
    상기 그 다음 하위 계층이 상기 데이터 패키지의 최하위 계층인지 여부를 판정하는 단계, 및
    상기 정보 요구가 충족되지 않고 상기 그 다음 하위 계층이 상기 데이터 패키지의 최하위 계층인 경우, 상기 데이터 패키지의 상기 제1 계층에서의 서브패키지들을 평가하기 위한 새로운 목적 함수를 생성하는 단계
    를 더 포함하는 데이터 패키지 디코딩 방법.
  5. 제1항에 있어서,
    상기 그 다음 하위 계층이 상기 데이터 패키지의 최하위 계층인지 여부를 판정하는 단계, 및
    상기 정보 요구가 충족되지 않고 상기 그 다음 하위 계층이 상기 데이터 패키지의 최하위 계층인 경우, 상기 데이터 패키지의 상위 계층들에서의 임의의 이전에 식별된 서브패키지들에 대한 데이터를 압축 해제하거나 상기 데이터 패키지 내의 모든 데이터를 압축 해제하는 단계
    를 더 포함하는 데이터 패키지 디코딩 방법.
  6. 제1항에 있어서, 상기 데이터 패키지의 각각의 계층 또는 각각의 계층에서의 서브패키지는 장치 속성들을 기술하는 메타데이터 및 서브패키지에 대한 데이터를 인코딩 또는 디코딩하기 위한 정보를 포함하는 데이터 패키지 디코딩 방법.
  7. 제6항에 있어서, 상기 목적 함수를 생성하는 단계는,
    상기 장치 속성들 및 상기 관심의 정보와 연관된 정보를 사용하여 상기 목적 함수를 생성하는 단계를 포함하는 데이터 패키지 디코딩 방법.
  8. 제7항에 있어서, 상기 계층적 디코더를 사용하여, 상기 서브패키지들을 상기 목적 함수를 사용하여 평가하는 단계는,
    상기 장치 속성들, 및 상기 관심의 정보와 연관된 정보를 사용하여 상기 서브패키지들을 평가하고 상기 관심의 정보와 가장 연관성이 있는 서브패키지를 선택하는 단계를 포함하는 데이터 패키지 디코딩 방법.
  9. 제6항에 있어서, 상기 메타데이터는 각각의 서브패키지에 대한 인코딩 또는 디코딩 통계를 포함하고, 상기 서브패키지들을 평가하는 단계는,
    상기 인코딩 또는 디코딩 통계를 사용하여 상기 관심의 정보와 가장 연관성이 있는 서브패키지를 선택하는 단계를 포함하는 데이터 패키지 디코딩 방법.
  10. 제1항에 있어서, 각각의 서브패키지는 요약 및 연관된 압축 데이터(associated compressed data)를 포함하고, 상기 요약은 상기 연관된 압축 데이터를 설명하는 데이터 패키지 디코딩 방법.
  11. 제10항에 있어서, 상기 프로세서에 의해 구현된 정보 관리자를 사용하여, 상기 선택된 서브패키지가 정보 요구를 충족시키는지 여부를 판정하는 단계는, 상기 요약을 사용하여 상기 선택된 서브패키지가 상기 정보 요구를 충족시키는지 여부를 판정하는 단계를 포함하고,
    상기 방법은 상기 정보 요구가 충족되는 경우 상기 연관된 압축된 데이터를 압축 해제하는 단계를 더 포함하는 데이터 패키지 디코딩 방법.
  12. 제1항에 있어서, 상기 목적 함수는, 평가되는 서브패키지 내의 정보에 대한 적합도(goodness of fit), 장치 속성들 및 평가되는 서브패키지 내의 정보의 압축 해제 시간 중 적어도 어떤 것들 간의 트레이드오프를 나타내는 데이터 패키지 디코딩 방법.
  13. 장치로서,
    복수의 계층들 및 각각의 계층에서의 하나 이상의 서브패키지들을 포함하는 계층적 다중-계층 데이터 패키지를 디코딩하는 계층적 디코더(hierarchical decoder) - 바깥쪽의 계층에서의 서브패키지가 안쪽의 계층에서의 서브패키지와 관련되어 있고 각각의 서브패키지가 그의 인코딩을 기술하는 메타데이터, 상기 계층적 다중-계층 데이터 패키지 내의 데이터 서브셋의 요약, 및 상기 데이터 서브셋의 링크 또는 ID를 압축된 형태로 포함하며, 디코딩하는 것은 관심의 정보와 연관되어 있는 상기 데이터 패키지의 한 계층(a layer)에서의 서브패키지를 선택하는 것을 포함함 -, 및
    선택된 서브패키지에 대한 요약 및 상기 서브패키지에 대한 메타데이터 중 적어도 하나를 수신하고, 수신된 요약 및 메타데이터 중 적어도 하나로부터, 선택된 서브패키지가 정보 요구를 충족시키는지 여부 또는 상기 데이터 패키지의 하나 이상의 하위 레벨들에서 하나 이상의 다른 서브패키지들을 식별할지 여부를 판정하는 정보 관리자
    를 포함하는 장치.
  14. 제13항에 있어서, 상기 정보 관리자가 더 많은 정보가 필요한 것으로 판정하는 경우, 상기 정보 관리자는 다른 서브패키지들에 대한 정보를 요청하는 요청을 상기 계층적 디코더로 전송하는 장치.
  15. 제13항에 있어서, 상기 정보 관리자가 상기 선택된 서브패키지가 상기 정보 요구를 충족시키는 것으로 판정하는 경우, 상기 정보 관리자는 상기 서브패키지에 대한 데이터 서브셋을 압축 해제하라는 요청을 상기 계층적 디코더로 전송하는 장치.
  16. 제13항에 있어서, 상기 계층적 디코더는 관심의 정보와 가장 연관성이 있는 상기 데이터 패키지 내의 데이터를 식별하기 위한 파라미터들에 기초하여 목적 함수를 생성하고, 상기 선택된 서브패키지를 선택하기 위해 상기 목적 함수를 사용하여 상기 데이터 패키지의 하나 이상의 계층들에서의 서브패키지들을 평가하는 장치.
  17. 제16항에 있어서, 상기 파라미터들은 상기 장치 및 상기 장치와 통신을 하는 다른 장치들에 대한 속성들 및 관심의 정보를 식별하는 정보를 포함하는 장치.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020107009496A 2007-10-31 2008-10-23 계층적 다중-계층 데이터 패키지의 디코딩 KR101190977B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/930,462 2007-10-31
US11/930,462 US8219551B2 (en) 2007-10-31 2007-10-31 Decoding a hierarchical multi-layer data package
PCT/US2008/080967 WO2009058660A1 (en) 2007-10-31 2008-10-23 Decoding a hierarchical multi-layer data package

Publications (2)

Publication Number Publication Date
KR20100061574A KR20100061574A (ko) 2010-06-07
KR101190977B1 true KR101190977B1 (ko) 2012-10-15

Family

ID=40584230

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107009496A KR101190977B1 (ko) 2007-10-31 2008-10-23 계층적 다중-계층 데이터 패키지의 디코딩

Country Status (5)

Country Link
US (2) US8219551B2 (ko)
EP (1) EP2217997B1 (ko)
KR (1) KR101190977B1 (ko)
CA (1) CA2703582C (ko)
WO (1) WO2009058660A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560946B2 (en) * 2006-03-22 2013-10-15 Vistracks, Inc. Timeline visualizations linked with other visualizations of data in a thin client
US8694466B2 (en) 2008-10-07 2014-04-08 Dell Products L.P. Object deduplication and application aware snapshots
US9959299B2 (en) 2014-12-02 2018-05-01 International Business Machines Corporation Compression-aware partial sort of streaming columnar data
US10909078B2 (en) * 2015-02-25 2021-02-02 International Business Machines Corporation Query predicate evaluation and computation for hierarchically compressed data
CN112100170B (zh) * 2020-08-05 2021-09-14 中科驭数(北京)科技有限公司 数据库交互数据解码方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060155957A1 (en) 2004-12-29 2006-07-13 Industrial Technology Research Institute Encoding method for very long instruction word (VLIW) DSP processor and decoding method thereof

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68927331T2 (de) 1988-04-29 1997-03-20 Xerox Corp Suchbaumdatenstrukturkodierung für Kettensubstitutionsdatenverdichtungssysteme
US6873738B2 (en) * 1995-10-02 2005-03-29 Sony Corporation Hierarchical image processor for encoding or decoding, and memory on the same chip
US6215910B1 (en) 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
US5956026A (en) * 1997-12-19 1999-09-21 Sharp Laboratories Of America, Inc. Method for hierarchical summarization and browsing of digital video
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
EP1024443A3 (en) * 1999-01-29 2002-01-09 Canon Kabushiki Kaisha Utilising electronically accessible resources
US6539391B1 (en) * 1999-08-13 2003-03-25 At&T Corp. Method and system for squashing a large data set
AU7182701A (en) * 2000-07-06 2002-01-21 David Paul Felsher Information record infrastructure, system and method
US6799184B2 (en) * 2001-06-21 2004-09-28 Sybase, Inc. Relational database system providing XML query support
US7188085B2 (en) * 2001-07-20 2007-03-06 International Business Machines Corporation Method and system for delivering encrypted content with associated geographical-based advertisements
US6736374B2 (en) * 2001-11-02 2004-05-18 Marley Cooling Technologies, Inc. Cooling tower top method and apparatus
US7127436B2 (en) 2002-03-18 2006-10-24 Motorola, Inc. Gene expression programming algorithm
JP4002150B2 (ja) * 2002-07-30 2007-10-31 ソニー株式会社 情報通信装置及び情報通信方法、情報交流・人間関係形成支援システム及び情報交流・人間関係形成支援方法、並びにコンピュータ・プログラム
US20040153569A1 (en) 2003-02-03 2004-08-05 Khamla Savathphoune Samaritan circuit for transferring data through peer-to-peer networks
GB2399722A (en) * 2003-03-21 2004-09-22 Sony Uk Ltd Data communication synchronisation
US7512180B2 (en) * 2003-06-25 2009-03-31 Microsoft Corporation Hierarchical data compression system and method for coding video data
US7321886B2 (en) * 2003-07-29 2008-01-22 Accenture Global Services Gmbh Rapid knowledge transfer among workers
US20060053169A1 (en) * 2004-09-09 2006-03-09 Straub Roland U System and method for management of data repositories
US8332738B2 (en) * 2005-08-31 2012-12-11 Sap Ag Method for enforcing group oriented workflow requirements for multi-layered documents
WO2008007006A2 (fr) * 2006-07-10 2008-01-17 France Telecom Dispositif et procede de codage et de decodage echelonnables de flux de donnees d'images, signal et programme d'ordinateur correspondants

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060155957A1 (en) 2004-12-29 2006-07-13 Industrial Technology Research Institute Encoding method for very long instruction word (VLIW) DSP processor and decoding method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
정보과학회논문지(A) 제23권 제4호, 1996.4, 최선완 외 2인 공저,병렬 프로토콜 구현을 위한 부분 ASN.1/BER 디코딩 기법, 페이지: 329-442

Also Published As

Publication number Publication date
WO2009058660A1 (en) 2009-05-07
CA2703582C (en) 2015-12-08
CA2703582A1 (en) 2009-05-07
EP2217997A4 (en) 2011-01-26
US20090112898A1 (en) 2009-04-30
KR20100061574A (ko) 2010-06-07
EP2217997A1 (en) 2010-08-18
EP2217997B1 (en) 2018-12-05
US8788491B2 (en) 2014-07-22
US20120257622A1 (en) 2012-10-11
US8219551B2 (en) 2012-07-10

Similar Documents

Publication Publication Date Title
US10901950B2 (en) Efficient data compression and analysis as a service
US9607303B2 (en) Messaging model and architecture
US11356539B2 (en) Dynamic utilization of condensing metadata
US8001277B2 (en) Determining, transmitting, and receiving performance information with respect to an operation performed locally and at remote nodes
US20090210436A1 (en) Encoding a hierarchical multi-layer data package
US20080024350A1 (en) Lossless comparative compression and transmission method and system
US8788491B2 (en) Decoding a hierarchical multi-layer data package
US7339501B2 (en) Method and apparatus for recognition and tagging of multiple layered entropy coding system
US7647350B2 (en) Database access server with compression translator
CN104572964A (zh) 一种压缩文件的解压方法和装置
US8769236B2 (en) Remote differential compression applied to storage
Kattan et al. Evolution of human-competitive lossless compression algorithms with GP-zip2
Khursheed et al. Efficient data reduction techniques for remote applications of a wireless visual sensor network
Barman et al. Distributed compression and decompression for big image data: JPEG and CCITT Group-3
US8219753B2 (en) Resource management cache to manage renditions

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150924

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160926

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190926

Year of fee payment: 8