KR100855139B1 - 컴퓨터 시스템에서 다른 저장 위치로의 객체의 부분 이송 방법과 그를 위한 데이터 구조 및 컴퓨터 판독 가능 매체 - Google Patents

컴퓨터 시스템에서 다른 저장 위치로의 객체의 부분 이송 방법과 그를 위한 데이터 구조 및 컴퓨터 판독 가능 매체 Download PDF

Info

Publication number
KR100855139B1
KR100855139B1 KR1020010050933A KR20010050933A KR100855139B1 KR 100855139 B1 KR100855139 B1 KR 100855139B1 KR 1020010050933 A KR1020010050933 A KR 1020010050933A KR 20010050933 A KR20010050933 A KR 20010050933A KR 100855139 B1 KR100855139 B1 KR 100855139B1
Authority
KR
South Korea
Prior art keywords
storage
storage location
file
data
data stream
Prior art date
Application number
KR1020010050933A
Other languages
English (en)
Other versions
KR20020016551A (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 KR20020016551A publication Critical patent/KR20020016551A/ko
Application granted granted Critical
Publication of KR100855139B1 publication Critical patent/KR100855139B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

제1 저장 위치에 배치된 데이터 스트림은 이송 관리를 위해 등록되고, 미리 설정된 기준에 따라, 다른 저장 위치(storage location)에 적합한 데이터 스트림의 일부분(들)이 이송되어 시스템 스토리지의 효율성을 최대로 하는 기술이 제공된다. 파일 시스템은 이송 관리를 위해 등록된 파일/스트림을 감시(monitor)할 수 있게 해 주는 기능을 이용할 수 있으며, 또는 파일/스트림은 미리 설정된 기준에 따라 폴링될(polled) 수도 있다. 데이터 스트림이 다른 저장 위치로 이송되는 부분들을 가지면, 계층적 스토리지 관리(HSM) 시스템은 장기 스토리지(long-term storage) 또는 오프라인 스토리지와 같은 다른 저장 위치에 데이터를 이송하고, 메타데이터(metadata)를 통해 스트림의 데이터 관계를 보존한다. 상기 기술은 다수의 볼륨이 이송 타깃 위치에 의해 펼쳐질(spanned) 수 있게 해주고, 다수의 파일 시스템은 소스와 타겟으로 서비스할 수 있다.
이송, 계층적 스토리지 관리, 원격 컴퓨터, 통신망, 메타데이터, 저장 위치

Description

컴퓨터 시스템에서 다른 저장 위치로의 객체의 부분 이송 방법과 그를 위한 데이터 구조 및 컴퓨터 판독 가능 매체{PARTIAL MIGRATION OF AN OBJECT TO ANOTHER STORAGE LOCATION IN A COMPUTER SYSTEM}
도 1은 본 발명의 양상들이 구현될 수 있는 범용 컴퓨터를 도시한 블록도.
도 2는 본 발명의 방법 및 장치가 구현될 수 있는 일례의 네트워크 환경을 도시한 블록도.
도 3a 내지 도 3d는 본 발명에 따라 스트림의 갱신 영역(들)을 근거로 일례의 아카이브 단위의 이송을 도시한 도면.
도 4는 본 발명에 따라 제2 저장 위치로 데이터 스트림의 일부분(들)을 이송하기 위한 흐름도.
도 5는 본 발명에 따라 메타데이터를 통해 계층적 스토리지 관리(HSM) 시스템이 이송된 데이터를 재호출(recall)하는 일례의 과정을 도시한 블록도.
도 6은 본 발명에 따라 메타데이터를 통해 이송된 데이터를 재호출하는 일례의 과정을 도시한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
20 : 개인용 컴퓨터
21 : 처리 장치
22 : 시스템 메모리
23 : 시스템 버스
40 : 키보드
47 : 모니터
49 : 원격 컴퓨터
51 : LAN
52 : WAN
62 : 저장 장치
본 발명은 컴퓨터 시스템의 스토리지(storage) 운영 및 관리에 관한 것이다. 특히, 본 발명은 객체의 데이터 관계를 유지하면서 객체의 일부분들을 베이스 또는 루트 위치로부터 원격 위치로 이송하기 위한 방법 및 시스템에 관한 것이다.
분리형 저장 매체(removable storage media)를 갖는 독립형 개인용 컴퓨터(standalone personal computer) 모델은 등장한 이래로 컴퓨터 분야에 상당한 영향을 끼쳤으며, 컴퓨터 시스템 구조 및 기본 시스템 설계에도 영향을 끼쳐왔다. 최초의 독립형 컴퓨터 이래 스토리지 솔루션 및 복합 컴퓨터 시스템은 급속도로 발전되어 왔다. 네트워크 컴퓨터 환경이 발전하면서 가능하게 된 증가된 기능들의 예는 다음과 같다. 크기는 더욱 더 작아지면서 점점 더 많은 양의 데이터를 저장할 수 있는 집적 회로 및 반도체 칩의 계속적인 발견, 현재의 컴퓨터 네트워크 에 의해 가능해진 증가된 대역폭 및 데이터 전송 속도, 그리고 다른 컴퓨터, 데이터베이스, 애플리케이션 및 모든 유형의 스토리지 구성 요소와 연결된 네트워크상의 서버 컴퓨터에 대한 증가된 이용 등이 그것이다.
그 결과로서, 전통적인 컴퓨팅과 스토리지 기술 및 모델들은 도전을 받게 되었다. 예를 들어 원격으로 파일을 효율적이고 저비용으로 저장할 수 있게 됨으로써 분리형 저장 매체의 광범위한 사용은 도전을 받게 되었다. 또한, 컴퓨터 시스템들이 발전됨에 따라, 자기 디스크 또는 광 디스크와 같은 데이터 저장 장치들의 유용성 및 구성도 발전되어 왔다. 예를 들어, 이러한 저장 장치들은 버스를 통해 컴퓨터 시스템에 접속될 수도 있고, 또는 유무선 네트워크를 통해 컴퓨터 시스템에 접속될 수도 있다. 또한, 저장 장치들은 따로 있을 수도 있고, 하나의 캐비넷 내에 함께 위치할 수도 있다.
배경으로, 저장 볼륨(storage volume)은 기본 저장 장치들(underlying storage devices)의 소프트웨어적인 추상 개념(software abstraction)으로, 운영 체제에 의해 마운트(mount)되고 파일 시스템에 의해 관리되는 스토리지의 가장 작은 완비된 단위(smallest self-contained unit of storage)이다. 저장 볼륨은 관련 저장 장치들의 물리적인 토폴로지를 추상화하며, 디스크의 일부분이나 전체 디스크, 또는 가상적으로 연속적인 논리 블록들의 영역으로 바인딩될 수 있는 다수의 디스크들일 수도 있다. 이러한 바인딩(binding)은 기본 장치들의 고장 허용(fault tolerance), 성능, 또는 용량 특성들을 증가시킬 수 있다. 현재의 복합 컴퓨터 시스템 환경에서 저장 볼륨은 효율적이고 효과적인 관리가 요구되는 다 양한 요소들의 집합일 수 있다. 다양한 스토리지 운영이 가능한 컴퓨터 시스템을 위한 파일 서버는 저장된 객체들의 위치 및 데이터 관계를 계속 유지하여, 데이터 저장 및 전송에 대한 일반적인 기술들이 이용될 수도 있다.
볼륨들은 기본 저장 장치들에 의해 제공되는 인접하는 저장 주소 공간들(storage address spaces)인 하나 이상의 범위들(extents)로 구성된다. 범위는 전형적으로 주소 공간의 크기 및 매체의 베이스로부터의 주소 공간에 대한 시작 오프셋에 의해 특징지어진다. 볼륨 매핑(volume mapping)은 볼륨에 의해 제공되는 인접하는 주소 공간을 기본 범위의 인접하지 않는(non-contiguous) 저장 주소 공간들로 매핑하는 과정이다. 볼륨 매핑은 하드웨어 볼륨 제공자(hardware volume provider)라고 하는 특별한 하드웨어 컨트롤러에 의해 구현되거나, 소프트웨어 볼륨 제공자에 의한 소프트웨어로 구현된다. 볼륨 제공자의 일반적인 관리 기술은 "RAID 스토리지 볼륨 관리(Administration of RAID Storage Volumes)"라는 명칭의, 양도된 계류중인 출원 제09/449,577호에 제공되어 있다.
스토리지 기술의 진보로 데이터가 저장되거나 전송될 수 있는 방법들이 변경되어서, 볼륨들 내 또한 볼륨들 간의 전통적인 파일 관리에 부담을 주게 되었다. 예를 들어, 임의 성장 기준(arbitrary growth criteria)을 갖는 파일들, 메모리 할당 한계를 갖는 볼륨들, 분산 스토리지 및 데이터 전송 등은 독립형 컴퓨터의 고정 온-디스크 메모리 할당 및 관리(fixed on-disk memory allocations and management)라는 개념에 도전을 준다. 고속의 휘발성 메모리에서 원격의 견고한 스토리지로 데이터를 이동하는 것은 어떤 객체들에게는 매우 유익하다. 따라서, 네트워크 및 컴퓨터 시스템 모델들의 발전은 사용되는 스토리지 구성 요소의 유형 및 스토리지 구성 요소들 간에 사용되는 접속을 단순히 변경하는 것보다 더 큰 결과를 야기한다.
이전에 구현된 고정되거나 유연성이 없는 볼륨에 대한 메모리 할당은, 네트워크 컴퓨터 환경에서 다수의 볼륨 간에 데이터를 전송하고 저장하기 위한 견고한 메카니즘으로부터 얻어질 수 있는 효율성을 가져오지는 않는다. 파일 전송을 관리하기 위해 전통적으로 사용되는 기술들은 본래 현재의 복합 네트워크 환경의 증가된 기능들 모두를 지원하기 위해 설계된 것은 아니다. 다수의 컴퓨터가 운영하는 운영 시스템, 기본 시스템 및 코어 파일 관리 기능들이 이렇게 영향을 받았다. 따라서, 현재의 파일 시스템들은 그와 관련된 오래된 비효율성을 가지고 있으며, 최대의 효율성으로 모든 상이한 유형의 스토리지 및 데이터 전송을 처리하도록 장치되어 있지도 않다.
객체 또는 파일의 일부분(들)을 그 객체의 루트 위치로부터 멀리 떨어져서, 예를 들어 원격 스토리지에 저장시키는 것과 관련된 비효율성이 존재한다. 상술된 바와 같은 다양한 저장 요소 및 기술의 확산으로, 때때로 로컬 스토리지에 파일의 일부분(들)을 보유하면서 동시에 원격 스토리지에 일부분(들)을 저장시키는 것이 바람직하게 되었다. 예를 들어 파일의 일부분들이 정적인 것으로 알려져 있을 때 더 유용한 로컬 스토리지를 해제(free up)하거나, 또는 빈번하게 사용되지 않는 데이터를 치우는(stow away) 것이 바람직할 수도 있다. 다른 예를 들면, 첨부 전용 파일(append-only file)은 파일의 종단부에서만 데이터 기록이 발생하는 특징을 갖는다. 따라서, 새로운 기록이 추가되는 파일의 불변 부분들을 원격 스토리지로 이송하면 로컬 스토리지를 효율적으로 사용할 수 있다. 또 다른 예를 들면, 원격 스토리지로의 데이터의 이송은 미리 설정된 온라인 디스크/메모리 할당 한계를 보존하는데 효과적일 수 있다. 이와 같이 파일이 원격 스토리지로 이송되어야 할 데이터를 가질 수 있는 여러가지 이유들이 있다. 그러나 현재의 파일 서빙 기술들은 파일의 데이터 관계를 유지하면서 파일의 일부분(들)을 이송해야 하는 때를 규정하거나 또는 원격 위치들로의 데이터의 후속하는 이송을 규정하는 것에 대해 적절하게 대처하지 못한다.
이와같이 지금까지 부분 이송 기술은 일반적으로 사용되지 않았다. 그렇지만, 부분 재호출(partial recall)과 같은 제한된 부분 파일 동작들을 수행하는 몇몇 계층적 스토리지 관리(HSM; Hierarchical Storage Management) 시스템들은 현재 존재한다. 전통적인 계측정 스토리지 관리(HSM) 시스템에서는, 예를 들어, 부분 재호출 동작을 사용해서 원격 스토리지로부터 임의의 데이터를 재호출할 필요 없이 전체 온디스크 볼륨이 갱신될 수도 있다. 다른 종래의 기술들은 파일의 처음 몇 킬로바이트, 예를 들어, 4 Kb가 온라인 상태로 남겨지거나 '이송되지 않은(unmigrated)' 상태로 남겨지는 경우, 및 파일의 최종 몇 킬로바이트가 온-라인 상태로 남겨지거나 '이송되지 않은' 상태로 남겨지는 제한적인 경우를 다루어 왔다.
그러나, 파일들에 대한 계층적 스토리지 관리의 현재 기술은 대부분의 상황에서 파일들의 부분 이송을 포함하지 않고 있으며, 또한 파일들의 다른 부분(들)을 보유하면서 동시에 파일들의 소정의 부분(들)을 한 위치에서 다른 위치로 이송하는 것을 요구하는 것에 대해 다루지도 않고 있다. 또한 기록 및 갱신에 적합한 데이터 스트림의 영역 및 오프-라인 또는 원격 스토리지에 적합한 데이터 스트림의 영역을 규정하는 메카니즘에 대한 필요성도 종래 기술에서는 다루어지지 않았다. 간단히 말해서, 파일의 소정의 부분(들)을 원격 스토리지로 이송하고 다른 부분(들)을 로컬 스토리지에 보유하는 것이 바람직할 경우가 있는데, 현재의 파일 서버들은 어떤 데이터를 유지하고 어떤 데이터를 다른 장소로 보낼 것인지를 규정하지 않는다.
또한, 파일 관리에 있어서 현재의 기술은, 예를 들어 첨부 전용 데이터 구조와 같이, 전체 스트림은 임의로 성장할 수 있으면서 동시에 특정 데이터 스트림을 위한 온라인 디스크/메모리 할당에 제한을 가할 필요가 있는 특정한 경우에 대해 다루지 않는다. 총 스트림이 1 메가바이트 이상의 크기를 가질 수 있게 하면서 온라인 볼륨에 있어서 1 메가바이트 이하의 스트림을 유지할 필요가 있을 수 있다. 이러한 경우는 현재의 계층적 스토리지 관리 시스템들에 의해 다뤄지지 않는다.
현재의 파일 서버 또는 계층적 스토리지 관리(HSM) 시스템과 관련된 상술된 결점을 고려해 볼 때, 파일 또는 객체의 일부분(들)을 다른 메모리 위치로 부분적으로 이송시키면서 동시에 파일의 다른 일부분(들)을 보유하기 위한 유연한 구조의 컴퓨터 시스템을 제공할 필요가 있다. 소정의 기준에 따라 객체의 어떤 일부분(들)이 이송에 적합하고 어떤 일부분(들)이 현 저장 위치(storage location)에 적합한지를 규정할 수 있는 것이 유익하다. 제1 저장 위치에서 제2 저장 위치로, 예를 들면, 온라인 스토리지에서 원격 스토리지로 파일 또는 객체의 부분 이송을 가능하게 하는 것도 유익하다. 또한 구조 및 특성이, 예를 들어 첨부 전용 유형 파일들로, 알려져 있거나 지정된 파일을 위하여 효율적으로 부분 이송을 달성하는 것도 유익하다. 이와 같이, 파일 또는 객체의 다양한 데이터 관계를 유지하면서 파일 또는 객체의 일부분(들)을 루트 볼륨으로부터 다른 볼륨 또는 원격 볼륨으로 이동시키는 일반적인 방법은 존재하지 않는다. 본 발명은 종래 기술의 이러한 필요성들을 고려하여 개발되었다.
본 발명은 컴퓨터 시스템들과 연관되어 사용되는 계층적 스토리지 관리(HSM) 시스템에 관한 것이다. 제1 저장 위치에 배치된 데이터 스트림은 이송 관리를 위해 등록되고, 미리 설정된 기준에 따라, 다른 저장 위치에 적합한 데이터 스트림의 일부분(들)이 이송되어 시스템 스토리지의 효율성을 최대로 하는 기술이 제공된다. 파일 시스템은 이송 관리를 위해 등록된 파일/스트림을 감시(monitor)할 수 있게 해 주는 기능을 이용할 수 있으며, 또는 파일/스트림은 미리 설정된 기준에 따라 폴링될(polled) 수도 있다. 데이터 스트림이 다른 저장 위치로 이송될 부분들을 가지면, 계층적 스토리지 관리(HSM) 시스템은 장기 스토리지(long-term storage) 또는 오프라인 스토리지와 같은 다른 저장 위치에 데이터를 이송하고, 메타데이터(metadata)를 통해 스트림의 데이터 관계를 보존한다. 상기 기술은 다수의 볼륨이 이송 타깃 위치에 의해 펼쳐질(spanned) 수 있게 해주고, 계층적 스토리지 관리 시스템과 메타데이타를 통해 이송된 파일/스트림의 소스 및 타겟 부분을 접근할 수 있도록 한다. 일례의 실시예에서 데이터는 순차적 접근 매체(sequential access media)로 이송된다.
본 발명의 다른 장점들은 이하에 기술된다. 객체의 일부분(들)을 원격 스토리지로 부분 이송하기 위한 시스템 및 방법은 첨부된 도면을 참조해서 기술된다.
본 발명은 일반적으로 한 위치에서 다른 위치로 파일들의 부분 이송이 요구되는 시스템들에 관한 것이다. 본 발명은 시스템의 기존 파일 서버와 함께 사용될 수도 있다. 유익하게, 본 발명은 파일의 일부분(들)을 이송하는데 사용하기 위한 온-디스크 할당 한계를 제공하거나 지정하기 위해 이용될 수 있다. 따라서 본 발명은 순차적 접근 매체(SAM; sequential access media)와 같이 온-디스크 한계를 초과하는 파일의 일부분(들)을 오프-디스크 스토리지로 이송하는데 사용될 수도 있다. 특히, 본 발명은 데이터 스트림이 할당된 디스크 할당량(allocation quota)이나 제한을 뛰어 넘어 성장할 때, 데이터 스트림을 원격 스토리지로 부분 이송할 수 있게 한다. 본 발명은 파일과 관련된 다양한 데이터 스트림의 전문적인 계층적 스토리지 관리를 제공하며, 이때 데이터 스트림은 이송 관리를 위해 등록될 수도 있다. 이송된 데이터 스트림의 부분은, 전통적인 계층적 스토리지 관리(HSM) 시스템의 부분 재호출 동작과 유사하게, 재호출되거나 판독될 수 있다. 일례의 실시예에서, 본 발명은 타깃 위치를 위해 순차적 접근 매체(SAM) 사용을 포함한다.
일부분(들)을 다른 저장 위치로 이송할 필요가 있는 일례의 데이터 스트림, 객체 또는 파일은, 최종 스토리지 블록에만 기록이 실행되는 파일과 같은 첨부 전용 파일, 제1 스토리지 블록 또는 다른 식별 가능한 스토리지 블록에만 기록이 발생하는 파일과 같이 한정된 "갱신 영역"을 갖는 파일, 일부분(들)이 빈번하지 않게 접근되거나 판독되는 파일, 불변하는 일부분(들)을 견고한 및/또는 원격 스토리지에 저장할 필요가 있는 데이터 스트림, 온-디스크 메모리 할당 한계를 강제하는 것과 같이 파일의 성장에 제약을 가하는 저장 위치에 배치된 파일, 성장이 임의적이고 예측 불가능한 데이터 스트림 등을 포함한다.
이송 소스 위치 및 이송 타깃 위치 쌍의 일례는, 온-라인 스토리지로부터 오프-라인 스토리지로, 로컬 스토리지로부터 원격 스토리지로, 휘발성 스토리지로부터 비휘발성 스토리지로, 안전하지 않은 메모리로부터 안전한 메모리로, 등등의 데이터 스트림, 객체 또는 파일의 일부분(들)의 이송을 포함한다.
본 발명은 컴퓨터 시스템들과 관련되어 사용되는 계층적 스토리지 관리(HSM) 시스템에 관한 것이다. 시스템 스토리지의 효율성을 최대화하기 위해, 데이터 스트림이 다른 저장 위치에 적합한 일부분(들)을 가지는지 결정하기 위한 미리 설정된 기준에 따라, 제1 저장 위치에 배치된 데이터 스트림을 분석할 수도 있다. 이송 아카이브 단위 크기(archive unit size) 및 갱신 영역 위치와 같은 미리 설정된 기준은 시스템 특성에 따라 미리 지정될 수도 있고, 사용자에 의해 입력될 수도 있다. 파일 시스템은 이송 관리를 위해 등록된 파일들의 감시를 가능하게 하는 기능을 이용할 수도 있다. 파일 시스템이 스트림/파일을 감시하기 위한 방법을 제공하지 않으면, 다른 이송 필요성들에 대한 정보를 획득하기 위해 이송을 위해 등록된 스트림/파일을 소정의 간격마다 폴링하는 방법이 구현될 수 있는데, 상기 간격은 시스템의 이송 특성에 적합하도록 동적으로 변경될 수 있다. 데이터 스트림이 다른 저장 위치로 이송될 일부분들을 포함하고 있으면, 파일 서버 계층적 스토리지 관리(HSM) 시스템은 데이터를 다른 저장 위치로 이송하고, 이송된 데이터와 제1 저장 위치의 데이터 스트림과의 관계를 보존한다. 이러한 관계는 일부분들의 이송과 관련되어 생성된 메타데이터를 통해 보존될 수도 있다. 상기 메타데이터는, 계층적 스토리지 관리(HSM) 시스템이 이송된 데이터를 후에 접근하는 것과 관련하여 이후에 사용될 수도 있다. 다수의 볼륨은 이송된 데이터 타깃 위치에 의해 펼쳐질(spanned) 수도 있고, 다수의 파일 시스템들이 이와 같은 작업을 하는데 포함될 수도 있다.
상술한 바와 같이, 본 발명은 소정의 기준에 따라 다른 저장 위치에 적합한 데이터 스트림 또는 객체의 일부분(들)을 이송하는 방법을 제공한다. 소정의 기준은 다양한 방법으로 설정될 수 있다. 일례의 구현에서, 본 발명은 온-디스크 할당 제한(on-disk allocation limit)을 제공하는 방법을 포함한다. 예를 들어, 할당 제한은 스트림 단위 또는 파일 단위로 규정되어서, 데이터 스트림에 대한 제한이 강화될 수도 있다. 예를 들어, 아카이브 단위의 크기가 규정될 수도 있고, 사용자 계정 할당량(user account quota)이 파일의 갱신 영역 크기 관점에서 지정될 수도 있다. 이송 관리를 위한 다른 파일들은 첨부 전용 모드로 접근되는 파일이거나 다른 식별 가능 "갱신 영역"을 갖는 파일일 수도 있다.
따라서, 본 발명은 식별 가능한 갱신 영역을 갖는 파일들의 부분들을 원격 스토리지로 이송하기 위한 방법을 제공한다. 본 발명은 온-디스크 제한을 초과하는 파일의 일부분(들)을 순차적 접근 매체(SAM)로 부분 이송함으로써 온-디스크 할당 제한을 제공하는데 유익하게 이용될 수도 있다. 특히, 본 발명은 데이터 스트림이 할당된 디스크 할당량 또는 제한를 넘어서 성장할 때, 제1 저장 위치로부터 제2 저장 위치로, 원격 스토리지에 데이터 스트림의 부분 이송을 가능하게 한다. 일례의 실시예에서, 본 발명은 온-라인 스토리지 제한을 초과하는 데이터를 원격 스토리지로 이송함으로써 이러한 할당 제한을 처리하는데, 이는 그 데이터를 순차적 접근 매체(SAM)로 이송함으로써 달성된다.
본 발명은 부분 이송 기능과 현재의 계층적 스토리지 관리(HSM) 시스템의 효율적인 통합을 고려하여 개발되었다. 특히, 본 발명은 제1 저장 위치로부터 다른 저장 위치(들)로의 파일 이송 동작들을 효율적으로 실행하도록 개발되었다.
도 1 및 이하의 설명은 본 발명이 구현될 수도 있는 적합한 컴퓨팅 환경의 간단하고 일반적인 기술을 제공하도록 의도된 것이다. 요구되지 않더라도, 본 발명은 클라이언트 워크스테이션 또는 서버와 같이 컴퓨터에 의해 실행되는 프로그램 모듈들과 같은 컴퓨터-실행 가능 명령들의 일반적인 문맥으로 기술될 것이다. 일반적으로, 프로그램 모듈들은 특정 태스크를 실행하거나 특정한 추상적 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 또한, 본 기술 분야에 숙련된 자들은 핸드-헬드 장치, 멀티-프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능한 소비자 전자 제품, 네트워크 피시(PC), 미니컴퓨터, 메인프레임 컴퓨터 등을 포함한 다른 컴퓨터 시스템 구성으로도 본 발명 이 실현될 수 있음을 알 것이다. 본 발명은 또한 통신망을 통해 링크된 원격 처리 장치에 의해 태스크가 실행되는 분산 컴퓨팅 환경에서도 실현될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치들 모두에 위치할 수도 있다.
도 1에 도시된 바와 같이, 일례의 범용 컴퓨팅 시스템은 처리 장치(processing unit)(21), 시스템 메모리(22), 및 시스템 메모리를 포함하는 다양한 시스템 구성 요소를 처리 장치(21)와 결합시키는 시스템 버스(23)를 포함하는 종래의 개인용 컴퓨터(20) 등을 포함한다. 시스템 버스(23)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 다양한 버스 구조들 중 임의의 구조를 사용하는 로컬 버스를 포함하는 몇몇 유형의 버스 구조 중 임의의 유형일 수 있다. 시스템 메모리는 ROM(24) 및 RAM(25)을 포함한다. 예를 들어 개시 중에 개인용 컴퓨터(20) 내의 소자들 간의 정보 전송을 돕는 기본 루틴들을 포함하는 기본 입출력 시스템(26)(BIOS)은 ROM(24)에 저장된다. 개인용 컴퓨터(20)는 하드 디스크(도시되지 않음)의 판독 및 기록을 위한 하드 디스크 드라이브(27), 분리형(removable) 자기 디스크(29)의 판독 또는 기록을 위한 자기 디스크 드라이브(28), 및 CD-ROM 또는 다른 광 매체와 같은 분리형 광 디스크(31)의 판독 또는 기록을 위한 광 디스크 드라이브(30)를 더 포함할 수도 있다. 하드 디스크 드라이브(27), 자기 디스크 드라이브(28) 및 광 디스크 드라이브(30)는 각각 하드 디스크 드라이브 인터페이스(32), 자기 디스크 드라이브 인터페이스(33), 및 광 드라이브 인터페이스(34)에 의해 시스템 버스(23)에 접속된다. 드라이브 및 관련 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 명령, 데이터 구조, 프로그램 모듈 및 다른 데이터의 비휘발성 스토리지를 개인용 컴퓨터(20)에게 제공한다. 본 명세서에 기술된 일례의 환경이 하드 디스크, 분리형 자기 디스크(29), 및 분리형 광 디스크(31)를 이용하더라도, 본 기술 분야에서 숙련된 사람은 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, 베르눌리 카트리지(Bernoulli cartridge), RAM, ROM 등과 같이 컴퓨터에 의해 접근될 수 있는 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독 가능 매체가 일례의 운영 환경에서 사용될 수도 있음을 주지해야 한다.
운영 체제(35), 하나 이상의 응용 프로그램(36), 다른 프로그램 모듈(37) 및 프로그램 데이터(38)를 포함하는 다수의 프로그램 모듈은 하드 디스크, 자기 디스크(29), 광 디스크(31), ROM(24) 또는 RAM(25)에 저장될 수도 있다. 사용자는 키보드(40) 및 포인팅 장치(42)와 같은 입력 장치를 통해 개인용 컴퓨터(20)에 명령 및 정보를 입력할 수도 있다. 다른 입력 장치들(도시되지 않음)은 마이크로폰, 죠이스틱, 게임 패드, 위성 디스크, 스캐너 등을 포함할 수도 있다. 여타 입력 장치들은 종종 시스템 버스에 결합된 직렬 포트 인터페이스(46)를 통해 처리 장치(21)에 접속되지만, 병렬 포트, 게임 포트, 또는 유니버셜 시리얼 버스(USB; universal serial bus)와 같은 다른 인터페이스들에 의해서도 접속될 수 있다. 모니터(47) 또는 다른 유형의 표시 장치(display device)는 비디오 어댑터(48)와 같은 인터페이스를 통해 시스템 버스(23)에 접속된다. 모니터(47) 외에, 개인용 컴퓨터들은 전형적으로 스피커 및 프린터와 같은 다른 주변 출력 장치들(도시되지 않음)을 포함한다.
개인용 컴퓨터(20)는 원격 컴퓨터(49)와 같은 하나 이상의 원격 컴퓨터들과의 논리 접속을 사용해서 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(49)는 다른 개인용 컴퓨터, 서버, 라우터, 네트워크 피시(network PC), 피어 디바이스(peer device) 또는 다른 일반적인 네트워크 노드일 수도 있고, 메모리 저장 장치(50)만이 도 1에 도시되어 있지만, 전형적으로 개인용 컴퓨터(20)와 관련된 상술된 다수의 구성 요소들 또는 모든 구성 요소들을 포함한다. 도 1에 도시된 논리 접속은 LAN(51) 및 WAN(52)을 포함한다. 이러한 네트워크 환경은 사무실에서 흔히 사용되는 것으로, 엔터프라이즈-와이드 컴퓨터 네트워크, 인트라넷 및 인터넷이다.
LAN 네트워크 환경에서 사용될 때, 개인용 컴퓨터(20)는 네트워크 인터페이스 또는 어댑터(53)를 통해 LAN(51)에 접속된다. WAN 네트워크 환경에서 사용될 때, 개인용 컴퓨터(20)는 전형적으로 인터넷과 같은 광역 통신망(52)을 통한 통신을 설정하기 위해 모뎀(54) 또는 다른 수단을 포함한다. 내부 또는 외부 모뎀(54)은 직렬 포트 인터페이스(46)를 통해 시스템 버스(23)에 접속된다. 네트워크 환경에서, 개인용 컴퓨터(20)와 관련되어 기술된 프로그램 모듈 및 그 일부는 원격 메모리 저장 장치에 저장될 수도 있다. 도시된 네트워크 접속들은 예시적인 것으로 컴퓨터들 간의 접속 링크를 설정하는 다른 수단이 사용될 수도 있음을 알 것이다.
상술된 컴퓨터가 컴퓨터 네트워크의 부분으로서 개발될 수 있고, 본 발명이 임의의 수의 메모리 또는 저장 장치, 및 임의의 수의 볼륨에 걸쳐 발생하는 임의의 수의 응용 프로그램 및 프로세스를 갖는 임의의 컴퓨터 시스템과 관련된 것임을 주지해야만 한다. 따라서, 본 발명은 원격 또는 로컬 스토리지를 갖는 네트워크 환경에서 개발된 서버 컴퓨터 및 클라이언트 컴퓨터 모두에 적용될 수 있다. 도 2는 본 발명이 이용될 수도 있으며 네트워크를 통해 클라이언트 컴퓨터들과 통신하는 서버를 갖는 일례의 네트워크 환경을 도시한 것이다. 도시된 바와 같이, 다수의 서버(10a, 10b, 등)가 통신망(14)(LAN, WAN, 인트라넷 또는 인터넷일 수 있음)을 통해 다수의 클라이언트 컴퓨터(20a, 20b, 20c 등)와 상호 접속된다. 예를 들어 통신망(14)이 인터넷인 네트워크 환경에서, 서버들(10)은 하이퍼텍스트 전송 프로토콜(HTTP)과 같은 다수의 공지된 프로토콜들 중 임의의 프로토콜을 통해 클라이언트들(20)이 통신하는 웹 서버들일 수 있다.
각각의 클라이언트 컴퓨터(20) 및 서버 컴퓨터(10)는 다양한 응용 프로그램 모듈(36), 다른 프로그램 모듈(37) 및 프로그램 데이터(38)를 갖도록 장치될 수도 있고, 다양한 유형의 저장 소자들 또는 객체들에 접속하거나 접근하도록 장치되어, 그러한 접속이나 접근을 통해 파일들이 저장되거나 파일들의 일부분(들)이 이송되게 할 수도 있다.
따라서, 본 발명은 네트워크에 접근하고 네트워크와 상호 작용하기 위한 클라이언트 컴퓨터 및 클라이언트 컴퓨터와 상호 작용하기 위한 서버 컴퓨터를 갖는 컴퓨터 네트워크 환경에서 사용될 수 있다. 본 발명에 따라, 향상된 계층적 스토리지 관리(HSM) 시스템 기술들이 데이터 스트림들의 일부분(들)을 이송하고 이송에 대한 기술(description)을 위한 메타데이터를 생성하는데 사용된다. 본 기술 및 부수적인 통신은 다양한 네트워크 또는 시스템 구조들을 통해 구현될 수 있기에, 임의의 특정 형식으로 제한되지 않는다.
따라서, 본 발명은 데이터 스트림, 파일 또는 객체의 일부분(들)을 부분 이송하고, 파일의 다른 일부분(들)을 보유하기 위한 유연한 구조의 컴퓨터 시스템을 효율적으로 구현한다. 소정의 기준에 따라 객체의 어떤 일부분(들)이 이송에 적합하고 어떤 일부분(들)이 로컬, 베이스 또는 루트 스토리지에 적합한지를 규정하기 위한 방법이 제공된다. 제1 저장 위치로부터 제2 저장 위치로, 예를 들면, 온-라인 스토리지로부터 원격 스토리지로 파일 또는 객체를 부분 이송하기 위한 방법이 제공된다. 부분 이송을 위한 일례의 기준은 예를 들면, 첨부 전용 유형의 파일, 식별 가능한 갱신 영역을 갖는 파일, 메모리 할당 한계를 갖는 파일 등으로 구조 및 특성이 알려진 파일들을 포함한다. 파일 또는 객체의 다양한 데이터 관계를 유지하면서 계층적 스토리지 관리(HSM) 시스템을 통해 루트 볼륨으로부터 원격 볼륨 또는 다른 볼륨으로 파일 또는 객체의 일부분(들)을 이동시키는 일반적인 방법이 제공된다. 본 발명은 온-디스크 할당량 제공, 및 파일을 부분 이송함으로써 얻을 수 있는 효율성을 적절하게 다루지 못한 종래 기술의 파일 시스템을 개선한 것이다.
본 발명의 방법들은 예를 들면 본 발명의 부분 이송 기술 중 임의의 기술일 수 있는 시스템의 파일 서버와 관련되어 구현될 수 있다. 스토리지 할당량 메카니즘(storage quota mechanism)을 이용함으로써, 계층적 스토리지 관리(HSM) 시스템은 데이터를 원격 스토리지로 이송하는 것이 바람직한 때를 결정할 수 있다. 소정의 기준은 데이터 접근 이래의 시간, 소스 파일 및/또는 타깃 파일 데이터 구조들에 대한 선인식(pre-knowledge), 시스템 상태 등과 같이 소정의 다른 규칙들을 근거로 할 수 있다. 어떤 데이터가 이송될 것인지를 선택하는 것은 계층적 스토리지 관리(HSM) 시스템의 몫이고, 사용자가 아카이브 단위 크기 또는 온-디스크 할당량을 포함해서 상기 선택에 대한 기준을 지정할 수도 있다. 스트림 크기의 한계는 이와 같이 지정될 수도 있고, 또는 저장 위치 자체의 특징에 의해 이미 제약이 부과되었을 수도 있다. 본 발명은 할당 단위 크기를 더 제한할 수 있다. 이러한 점에 있어서, 본 발명에 따라 지정된 온-디스크 할당 제한 보다 적은(최대 크기 할당 단위 보다 적은) 파일 시스템 할당량이 저장 위치에 부과되면, 본 발명은 이러한 제약을 지킬 것이다. 파일 시스템의 할당량이 본 발명에 따라 지정된 온-디스크 할당량보다 크면, 본 발명의 할당량은 파일 시스템의 할당량을 선취한다(preempts). 이송 관리를 위한 파일을 규정하는 다른 방법은 파일이 첨부 전용 모드로 접근되는지의 여부 또는 언제 파일이 다른 식별 가능한 "갱신 영역"을 가지는지를 결정하는 것이다. 파일의 부분 이송을 위해 유지되는 정책은 파일 사용 히스토리 및 다른 동적 시스템 특성을 근거로 재평가될 수도 있다. 예를 들어, 여러 이유들 중 임의의 한 이유에 의해, 특정한 온-디스크 메모리 할당 제한이 너무 심하다는 것이 발견되면, 상기 제한은 느슨해지고(relaxed), 그 대신 보다 효율적인 양의 데이터가 이송되도록 한다.
따라서, 본 발명의 부분 이송 기술은 특정한 유형의 파일을 고려한다. 이러한 유형의 파일의 일례로는 식별 가능한 갱신 영역을 갖는 데이터 스트림이 있다. 도 3a는 식별 가능한 갱신 영역(들)을 갖는 일례의 파일을 도시한 것이다. 파일 스트림 1은 다양한 스토리지 블록들 또는 온-디스크 할당 단위들 M1, M2, ..., M6의 측면 연결(side to side junction)로 도시되어 있지만, 스토리지 블록들은 임의의 위치에 배치될 수도 있고, 임의의 수 및 유형의 저장 소자들 및 데이터 스트림이 본 발명에 따라 이송되는 일부분(들)을 가질 수도 있음을 알 것이다. 데이터 스트림 1의 경우, 파일 사용 기록(history)의 분석 및/또는 파일에 대해 알려진 특성에 의하여, 2개의 영역이 갱신 또는 기록이 발생하는 곳으로 식별되는데, ROU1 및 ROU2의 점선으로 도시된 갱신 영역이 그것이다. 빈번하지 않게 갱신 또는 기록되거나 또는 전혀 갱신되지 않는 제3 불변 영역 Imm1이 또한 식별된다. 아카이브 단위들의 크기, 갱신 영역의 크기 및 위치는 미리 설정되거나 입력된 기준에 따라 지정될 수도 있다.
불변 데이터 Imm1은 이송될 수 있고, 따라서 원격 스토리지 또는 순차적 접근 매체(SAM)와 같은 제2 저장 위치로의 이송에 대한 타겟이 된다. 본 양호한 실시예에 따라, 스트림 1이 성장하면서 ROU1을 넘어선 데이터는, ROU2의 시작부가 될 때까지, 장기 스토리지로 이송된다. ROU2는 스트림 1의 종단부에 연속적으로 놓여 있고, 스트림 1이 성장하면 ROU2는 순방향으로 이동해서, ROU2를 넘어선 데이터는 이송되지 않게 된다. 메타데이터는 또한 파일의 비이송(unmigrated) 부분들과 관련해서 원격 스토리지로 이송된 파일의 일부분(들)을 기술하기 위해 생성된다. 메타데이터는 스토리지 관계들을 기술하는데 적합하고 및/또는 다양한 월드 와이드 웹 컴포넌트에 포함시키기 적합한 임의의 포맷으로 구현될 수도 있다. 일례의 실 시예에서, 메타데이터는 분산 컴포넌트 객체 모델(DCOM: distributed component object model) 기술에 따른 형식을 가지지만, 자바, 확장형 마크업 언어(XML: extensible markup language) 및 적합한 임의의 다른 형식이 사용될 수도 있다.
도 3b 및 도 3c는 식별 가능한 갱신 영역을 갖는, 예를 들어 파일의 초반부 또는 종단부에서 데이터가 파일에 추가되는, 데이터 스트림의 보다 구체적이고 일반적인 일례들을 도시한 것이다. 도 3b는 파일 스트림 2의 초반부에서 데이터가 갱신되는 경우를 도시한 것이다. T1에서 T2로, T2에서 T3으로 시간이 흐름에 따라 파일이 길어진다. 그러나 파일이 성장함에 따라 데이터 및 스토리지 블록은 갱신 영역을 벗어나기 때문에, 순차적 접근 매체(SAM)와 같은 다른 스토리지로 이송될 수도 있다. 시간 T1일 때, 스토리지 블록 또는 일부분 M3와 M4는 원격 스토리지로 이송될 수 있고, T2일 때, M5는 원격 스토리지로 이송될 수도 있고, T3일 때, M6가 원격 스토리지로 이송될 수도 있는 등, 이와 같이 계속된다. 도 3c는 갱신 영역이 파일 종단부의 일부분인 첨부 전용 경우를 도시한 것이다. 도 3b와 유사하게, 갱신 영역 ROU의 범위 내에 있지 않은 데이터 스트림 3의 일부분들은 원격 스토리지로 이송될 수도 있다. T1에서 T2로, T2에서 T3으로 시간이 진행되면서 파일이 성장함에 따라, 새로운 스토리지 블록들이 순차적 접근 매체(SAM)와 같은 원격 스토리지로 이송될 수도 있다. 이송 관리를 위한 등록 후에, T1일 때, M1 및 M2가 이송될 수 있고, T2일 때, M3가 이송될 수 있고, T3일 때, M4가 이송될 수 있다.
이송된 데이터에 접근하기 위해, 사용된 원격 스토리지 서비스를 기술하고, 이송된 스토리지 블록들의 범위들을 기술하고, 최종 이송 날짜 시간과 같은 다른 정보를 기술하는 메타데이터가 생성된다(이하의 일례를 참조). 도 3b의 이송 블록들의 오프셋 사상들을 기술하는 메타데이터가 '거꾸로(backwards)' 생성되어, 스트림 2의 종단부가 메타데이터에서 오프셋 제로로 표기되어서, 다른 블록들이 제로 오프셋, 아카이브 단위 크기 및 파일 크기와 관련되어 기술될 수도 있음을 주지해야만 한다.
따라서, 파일이 첨부 전용 모드로 접근될 때 또는 관련 파일 또는 시스템 특성들을 근거로 식별될 수 있는 "갱신 영역"이 존재할 때, 시스템은 갱신되지 않는 파일 영역, 즉, 불변하거나 빈번하지 않게 접근되는 일부분들인 파일 영역들을 효율적으로 이송한다. 그러한 파일의 일례는 각각의 새로운 추가 레코드를 파일의 종단부에 추가하는 레코드 유지 파일(record keeping file)이다. 따라서, 일단 레코드가 입력되고 나면, 빈번하게 접근되지 않거나 갱신되지 않는 파일 영역으로 고려될 수도 있고, 따라서, 로컬 메모리 한계들을 보존하기 위해 또는 다른 효율성 이유들로 인해 원격 스토리지로 이송된다. 따라서, 특정한 계층적 스토리지 관리 기술들이 이용됨으로써, 원격 스토리지에 저장된 데이터 스트림(들)의 일부분들은 파일 서버의 사용자에게 끊어짐없이(seamlessly) 재호출, 복사 및/또는 판독될 수 있다. 양호한 실시예에서 이송된 데이터는 순차적 접근 매체(SAM)에 기록되고, 순차적 접근 매체(SAM)에 일단 기록되면 데이터는 유익하게 불변하고 안전하다.
또한, 본 발명은 잘 정의된 갱신 영역을 갖는 파일의 데이터 스트림에도 적용될 수 있다. 예를 들어, 스트림에 바이트들을 첨부함으로써만 갱신이 발생할 수도 있다(첨부 전용 경우). 제2의 경우는 스트림의 바이트들의 최종 블록에 기록되는 경우이다(최종 블록 경우). 첨부 전용 경우에서, 첨부되고 있는 바이트들을 제외한 스트림의 모든 바이트들은 불변한다고 간주되고, 따라서, 어떤 바이트들이 부분 이송될 수 있을지가 간단히 식별된다. 즉, 이미 기록된 바이트들은 부분 이송될 수 있는 것이다. 최종 블록인 경우에, 예를 들어, 바이트들의 최종 블록을 제외한 모든 바이트들은 불변한다고 간주되고 따라서 이송될 수 있다.
첨부 전용 경우 및 최종 블록 경우 모두에서, 계층적 스토리지 관리 시스템은 스트림의 불변 영역을 원격 스토리지로 이송할 수도 있다. 유익하게, 파일 서버 경우와 상이하게 불변 부분들을 처리함으로써, 스트림 자체가 갱신되는 때에도 불변 서브-스트림의 부분 이송이 발생할 수 있다. 부분 이송을 위한 이러한 전문화된 기술은 현재 종래의 HSM 시스템에서는 사용되지 않고 있다.
본 발명은 또한 파일/스트림의 크기를 제한하기 위해 온-디스크 파일 메모리의 할당 제한을 제공할 수 있는 능력을 포함한다. 본 발명은 이러한 제약을 위한 이송을 지원한다. 또한, 아카이브 단위의 크기 및 갱신 영역(들)의 크기(들)이 지정될 수도 있기 때문에, 파일의 크기가 스토리지 할당 제한으로 인해 제한될 때, 본 발명은 스토리지 할당 제한을 강화하기 위한 메카니즘이다. 도 3d는 점선으로 도시된 스토리지 할당 제한(storage allocation limit)에 의해 파일 성장이 제한되는 일례의 상황을 도시한 것이다. 아카이브 단위들의 크기가 지정되었고 갱신 영역의 크기도 지정되었다. T1일 때, 파일은 제한 내에서 허용된다. T2일 때, 파일은 제한에 의해 허용되는 최대 크기에 도달했다. T3일 때, 성장은 제한을 초과했지만, 파일의 일부분(들)이 본 발명에 따라 순차적 접근 매체(SAM)과 같은 원격 스 토리지로 이송될 수도 있기 때문에, 할당량 위반(breach)을 방지할 수 있다.
도 4는 본 발명에 따른 부분 이송 방법의 일례의 흐름도를 도시한 것이다. 단계(400)에서, 파일은 본 발명에 따라 이송 관리를 위해 등록될 수 있다. 예를 들어, 갱신 영역의 크기, 아카이브 단위의 크기(이송될 일부분의 크기) 및 이송 데이터의 이송 목적지가 지정될 수 있고, 온-디스크 메모리 할당 제한이 지정될 수 있다. 단계(410)에서, 계층적 스토리지 관리(HSM) 시스템은 파일의 사용 특성 및/또는 파일 특성에 따른 부분 이송의 필요성을 감시하는 기능을 이용할 수도 있다. 단계(420)에서, 이송을 위해 태그가 붙여진(tagged) 일부분(들)은 제1 위치(secondary location)로 이송된다. 단계(430)에서, 파일 이송을 기술하는 메타데이터가 생성되고, 상기 메타데이터는 데이터베이스, 양호하게 제트 데이터베이스(jet database)와 같은 스토리지에 저장된다. 상기 메타데이터는 후에 원격 스토리지에 저장된 데이터에 접근하는데 사용될 수도 있다. 단계(440)에서, 파일 서버는 이송된 데이터가 이전에 저장되었던 스토리지 블록들 또는 위치들을 비운다. 단계(450)에서, 부분 이송 동작들에 의해 서비스되는 파일에 적합하면, 갱신 영역은 시프트된다.
다른 장점으로서, 본 발명에 따르면 원격 스토리지로 이송된 스트림의 모든 부분들이 불변이기 때문에, 제공된 데이터가 여전히 유효한지 아닌지의 여부를 검증할 필요 없이, 아무때나 원격 스토리지에 있는 스트림의 모든 부분들을 재조합(re-assembly)할 수 있다. 또한, 스트림의 한 영역이 삭제되면, 계층적 스토리지 관리(HSM) 시스템은 자신의 내부 시스템 데이터 내에서 삭제된 영역에 대응하는 바이트들의 갭을 나타낼 수 있다. 그 결과, 계층적 스토리지 관리(HSM) 시스템은 편리할 때 나머지 범위의 바이트들을 재조합하여, 삭제된 영역에 의해 전에 사용되었던 스토리지를 효율적으로 재사용할 수 있다.
또한, 계층적 스토리지 관리(HSM) 시스템은 이송을 위해 임의의 적합한 저장 장치 및 전송 매체를 선택할 수도 있다. 통상 원격 스토리지로의 전송 동작의 순간적(instantaneous) 및/또는 높은 총체적(high aggregate) 데이터 전송 속도를 최적화하도록 선택한다.
상술된 바와 같이, 파일이 원격 스토리지로의 부분 이송의 타겟이 될 때, 각각의 데이터 스트림에 있어서 임의의 소정의 시간에, 소정의 규칙들에 따라 관찰되는 스토리지 할당량이 존재할 수도 있다. 따라서, 본 발명의 기술은 이송을 통해 디스크 할당 제한들을 보존하기 위해 사용될 때, 유익하게, 스트림의 크기가 임의로 증가될 수 있게 하면서 스트림의 볼륨 온-디스크 할당은 제한된(bounded) 상태로 남겨진다. 파일 시스템의 호출자가 현재 파일의 종단점(end point)을 넘어서 데이터를 기록함에 따라, 그에 대응해서 스트림의 크기가 성장하고, 스트림 데이터를 저장하는데 필요한 디스크 할당 수도 증가한다. 로컬 할당량이 초과되면, 본 발명의 계층적 스토리지 관리(HSM) 시스템은 필요한 온-디스크 메모리 할당량을 감소시키기 위해 파일 데이터의 일부를 원격 스토리지로 이송할 수 있다. 계층적 스토리지 관리(HSM) 시스템이 파일로부터 이송할 바이트들의 범위를 선택할 수도 있고, 선택은 소정의 규칙들의 집합에 따라 이루어질 수 있다.
따라서, 이송할 바이트들의 그룹(들)을 선택할 때, 광범위한 기준이 사용될 수도 있다. 예를 들어, 기본 데이터 스트림이 순차적 접근을 위해 오픈되었다면, 이송을 시작할 논리 영역은 현재의 온-디스크 할당에 의해 반영된 가장 작은 오프셋을 갖는 바이트들을 포함하는 영역이다. 다른 예를 들면, 파일이 랜덤 접근을 위해 오픈되었으면, 임의의 범위의 바이트들이 이송을 위해 동등하게 선택될 수도 있다. 파일의 통계 분석은 또한 이송에 적합한 일부분들을 나타낼 수도 있다. 다른 대안으로, 본 발명에 따른 계층적 스토리지 관리(HSM) 시스템은 파일의 어떤 영역들이 곧 접근될 가능성이 가장 적은지를 결정하기 위해 추가의 실행시간(run-time) 정보를 추적할 수도 있다. 이렇게 식별된 영역이 그 후 이송을 위해 지정될 수도 있다.
양호하게, 이송의 최소 단위는 로컬 파일 시스템의 스토리지 할당 최소 단위와 동일하다. 그보다 적은 크기의 이송은 로컬 스토리지에 대한 할당 해제(de-allocating)의 효과를 최소화하기 때문이다. 본 발명은 양호하게 희소 파일들(sparse files)을 지원하는 파일 시스템에 사용되는데, 여기서 데이터 스트림 내의 제로 범위들(zero ranges)은 할당 해제된다. 본 양호한 구현에서, 이송의 최소 단위는 64K이다. 또한, 이송 목적을 위한 최소 단위는 파일 시스템과 관련된 최소 할당 단위에 의해 제한될 필요가 없다. 최소 단위 크기는 몇개의 할당 단위들, 예를 들면 16개 단위에 따라 계산될 수 있어, 상기 메모리 할당을 추적하는데 필요한 시스템 데이터의 양을 최소화하고, 파일 시스템에 의해 이용되는 기본 압축 단위의 일치와 같이 추가적인 최적화를 가능하게 한다. 시스템 파라미터에 적합한 크기가 선택되면, 계층적 스토리지 관리(HSM) 시스템은 특정 종류의 주소 번역 동작들을 최적화하거나 능률적으로 할 수도 있다. 예를 들어, 2의 거듭제곱들(powers)이 전송 단위의 크기로서 사용된다고 가정하면, 접근 동작과 관련된 바이트의 오프셋이 주어지는 경우, 계층적 스토리지 관리(HSM) 시스템은 단위 크기의 밑을 2로 하는 로그값과 동일한 비트 수만큼 오른쪽으로 소정의 오프셋을 비트-시프팅하는 것을 근거로 내부 주소를 신속하게 결정할 수 있다. 다른 최적화가 다른 유형의 시스템 파라미터들과 관련해서 사용될 수도 있다.
또한, 본 발명은 파일 서버의 사용자에게 투명(transparent)하다. 파일이 부분 이송되었든지 아니든 간에, 계층적 스토리지 관리(HSM) 구조는 상기 기술들의 기능을 통합하기 때문에, 접근은 끊어짐이 없다(seamless). 데이터를 순차적 접근 매체(SAM)에 보관(archive)하는 방법은, 스트림의 이송된 일부분들 및 온-디스크 할당으로 저장된 데이터를 포함한 모든 스트림 데이터에 접근할 수 있게 해준다. 본 발명의 현 양호한 구현에서, 기본 파일 시스템은 희소 파일(sparse files)을 지원한다. 이송되는 모든 범위의 바이트들 또는 다수의 영역들은 로컬 파일에서 바이트들의 "희소 홀(sparse hole)"로서 나타날 수도 있다. 기본 파일들 및 파일 시스템은 데이터 암호화 및 암호 해제 뿐만 아니라 데이터 압축 및 압축 해제를 지원할 수도 있다.
파일이 부분 이송 기술에 의해 원격으로 부분적으로 저장되면, 클라이언트는 현재의 볼륨 내에서 또는 하나의 볼륨으로부터 다른 볼륨으로 파일을 이동시키도록 선택할 수도 있다. 이동 동작(move operation)은 일반적으로 파일의 명칭을 변경시키는 동작에 관한 것으로, 그 결과, 파일은 상이한 디렉토리 및/또는 상이한 볼륨의 구성원(member)이 되거나 그와 관련될 수 있다. 또한, 볼륨 간 이동 동작들은 개별적인 서버 또는 기계에 배치될 수 있는 개별적인 파일 관리자들에 의해 관리될 수도 있는 소스 및 타깃 볼륨들을 포함한다. 이동 동작은 또한 2개의 개별적인 프로세스들, 즉 목적지 볼륨으로의 데이터의 복사 및 소스 볼륨으로부터의 데이터의 삭제를 포함할 수도 있다. 따라서, 파일의 일부분(들)이 본 발명에 따라 이송되었으면, 파일 시스템은 전형적인 이송 파일 재배치(re-location), 이동, 복사, 재명명(rename) 및 다른 전형적인 파일 동작들을 처리하도록 개발될 수도 있다. 이는 예를 들어 파일의 이송 정보를 규정하는 이송 파일 동작들과 관련되어 사용되는 파일 이송 정보 또는 메타데이터를 제공함으로써 달성될 수 있다.
본 발명이 부분 이송 파일을 위한 메타데이터를 정의하기 위한 메카니즘을 제공함으로써, 메타데이터는 부분 이송 파일에 대한 스토리지 관계들을 규정한다. 메타데이터는 부분 이송 파일의 존재 및 속성을 인식하고, 부분 이송 파일과 관련된 동작들을 효율적으로 실행시키기 위해 계층적 스토리지 관리(HSM) 시스템에 의해 사용될 수도 있다. 메타데이터는 예를 들면 분산 컴포넌트 객체 모델(DCOM), 자바, 확장가능 헤더, 확장형 마크업 언어(XML) 형식 등으로 부호화될 수도 있다. 현재의 계층적 스토리지 관리(HSM) 시스템이 부분 이송 기술을 적합하게 수용하고 있지 않기 때문에, 본 발명은 파일의 부분 이송을 고려해서 개발되었다.
제한을 의도하는 것은 아니지만, 일례의 메타데이터 기술은 이송된 데이터와 관련되어 사용되는 원격 스토리지 서비스의 식별(ID), 이송되는 스토리지 블록들의 범위들의 기술(description of the ranges), 및 최종 이송 시간과 같이 관련될 수도 있는 임의의 다른 정보를 포함할 수도 있다. 예를 들어, 도 3c의 시간 T3일 때의 스트림 3의 메타데이터는 데이터의 이송과 관련되어 사용되는 원격 스토리지 서비스의 ID를 포함할 수도 있다. 시간 T3일 때의 스트림 3의 메타데이터는 또한 이송되는 스토리지 블록들의 범위들의 기술(description)을 포함할 수도 있다. 범위 기술(description)을 위해 사용되는 단위는 할당 단위일 수 있다. 도 3c의 일례에서, 범위 목록은 다음과 같을 수도 있다:
M1: <0, m1>
M2: <m1 + 1, m2>
M3: <m2 + 1, m3>
M4: <m3 + 1, m4>
또한, 메타데이터는 예를 들어 최종 이송이 발생했을 때 또는 현재 이송이 진행중일 때를 기술하는 시간 정보(temporal information)를 포함할 수도 있다.
도 5 및 도 6과 시간 T3일 때의 스트림 3의 상기 메타데이터 기술(description)을 참조해서, 이송 스토리지(530)의 n 바이트에서부터 m 바이트까지의 범위에 대한 호출자(540)에 응답하여, 계층적 스토리지 관리(HSM)(500)가 메타데이터(520)를 통해 검색하는 과정을 설명한다. 메타데이터(520)는, 예를 들어 제트 데이터베이스와 같은, 임의의 유형의 저장 소자에 저장될 수도 있다. 호출자(540)는 응용 프로그램, 서비스 등과 같이, 데이터를 위해 계층적 스토리지 관리(HSM)(500)를 호출하는 임의의 유형의 객체일 수도 있다. 이송 스토리지(530)는 데이터가 이송되어 있는 임의의 종류의 다수의 저장 유닛들을 나타낼 수도 있다. 단계(600)에서, 계층적 스토리지 관리(HSM)(500)는 모든 호출된 바이트들(n 내지 m)이 복귀될 수도 있는 버퍼(510)의 획득을 보장한다. 단계(610)에서, 계층적 스토리지 관리(HSM)(500)는 상기 범위 목록의 판독에 의해 어떤 블록 Mi(Mi는 일반적으로 M1, M2, M3 등과 같은 임의의 스토리지 블록을 나타냄)가 범위 n 내지 m의 데이터를 포함하고 있는지 결정한다. 단계(620)에서, 메타데이터 기술(description)을 통하여 n 내지 n1은 M2에 속하고 (n1 + 1) 내지 m은 M3에 속한다는 결정이 내려지면, 이송 스토리지(530)로부터 M2에 있는 데이터가 검색된다. 단계(630)에서, n 내지 n1은 M2로부터 판독되고 복귀 버퍼(return buffer)(510)에 배치된다. 단계(640)에서, 이송 스토리지(530)로부터 M3의 데이터가 검색된다. 단계(650)에서, (n1 + 1) 내지 m은 M3로부터 판독되고 복귀 버퍼(510)에 배치된다. 단계(660)에서, 버퍼(510)는 요구된 범위의 바이트들(n 내지 m)로 채워졌고, 계층적 스토리지 관리(HSM)(500)는 요구된 범위의 바이트들을 버퍼(510)로부터 호출자(540)에게로 보낸다.
부분 이송 파일들에 대한 이송 정보를 유지하는 방법은 파일 시스템 메타데이터(파일의 속성 및 볼륨 내의 위치를 기술하는데 사용됨)와 파일의 원격 데이터 범위(extents) 위치 사이의 관계를 정의하는 단계를 포함할 수도 있다. 예를 들어, 백 엔드 원격 스토리지(back-end remote storage)에 대한 인터페이스가 분산 컴포넌트 객체 모델(DCOM)이 가능한 인터페이스 응용 프로그래밍 인터페이스(API)로 구현되면, 파일 디스크의 할당에 대한 정보를 유지하는 NT 파일 서버 파트는 순차적 접근 매체(SAM) 하드웨어를 관리하는 NT 파일 서버 파트로부터 원격으로 위치할 수도 있다.
따라서 본 발명은 한 저장 위치로부터 다른 저장 위치로의 파일의 일부분(들)의 이송과 관련되어 사용될 수 있는 방법 및 기술을 설명하고, 상기 방법 및 기술을 효율적이고 유연한 계층적 스토리지 관리(HSM) 시스템으로 통합한다.
본 명세서에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어로 또는 적합한 경우 하드웨어와 소프트웨어의 결합으로 구현될 수도 있다. 따라서, 본 발명의 방법 및 장치, 또는 특정 양상 또는 그 일부분은 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 임의의 다른 기계-판독 가능 저장 매체와 같은 유형의 매체에 내장된 프로그램 코드(즉, 명령들) 형태를 취할 수도 있는데, 프로그램 코드가 컴퓨터와 같은 기계에 의해 로드되고 실행될 때, 그 기계가 본 발명을 실행하기 위한 장치이다. 프로그램 가능한 컴퓨터에서 프로그램 코드가 실행되는 경우에, 컴퓨터는 일반적으로 프로세서, 프로세서에 의해 판독 가능한 저장 매체(휘발성 및 비휘발성 메모리 및/또는 저장 소자들을 포함), 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치를 포함한다. 하나 이상의 프로그램은 양호하게 컴퓨터 시스템과의 통신을 위해 고수준 프로시져 또는 객체 지향 프로그래밍 언어로 구현된다. 그러나, 프로그램(들)은 필요한 경우 어셈블리어 또는 기계어로 구현될 수 있다. 임의의 경우에, 언어는 컴파일어 또는 번역어일 수도 있고, 하드웨어 구현과 결합될 수도 있다.
본 발명의 방법 및 장치는 광 섬유를 통해, 전기 배선 또는 케이블과 같은 몇몇 전송 매체를 통해, 또는 임의의 다른 전송 형태를 통해 전송되는 프로그램 코드 형태로 구현될 수도 있는데, 프로그램 코드가 EEPROM, 게이트 어레이, 프로그래머블 로직 디바이스(PLD), 클라이언트 컴퓨터, 비디오 레코더 등과 같은 기계에 의해 로드 및 실행될 때, 그 기계가 본 발명을 실행하기 위한 장치이다. 범용 프로세서로 구현될 때, 프로그램 코드는 본 발명의 인덱싱 기능을 실행하기 위해 동작하는 유일한 장치를 제공하기 위해 프로세서와 결합한다. 예를 들어, 본 발명과 관련되어 사용되는 스토리지 기술들은 변함 없이 하드웨어 및 소프트웨어의 결합일 수도 있다.
본 발명이 다양한 도면들의 양호한 실시예들과 관련되어 기술되었지만, 본 발명의 범위 내에서 다른 유사한 실시예들이 사용될 수도 있고 본 발명의 동일한 기능을 실행하기 위해 기술된 실시예에 변형 및 추가가 이루어질 수도 있음을 알 것이다. 예를 들어, 희소 파일들이 본 발명에 따라 이송 파일들과 관련되어 사용될 수도 있지만, 성장 또는 갱신할 수도 있는 임의의 파일 또는 임의의 유형의 데이터 스트림이 부분 이송 기술에 적합할 수도 있다. 또한, 다수의 상이한 통신들 및 네트워크 프로토콜들이 본 발명에 따라 파일 이송 정보(메타데이터)의 생성 및 저장에 적합할 수도 있음을 주지해야만 한다. 또한, 핸드헬드 디바이스 운영 체제 및 다른 응용에 특정한 운영 체제를 포함한 다양한 컴퓨터 플랫폼들이 예상됨을 주지해야 한다. 따라서, 본 발명은 임의의 단일 실시예로만 제한되지 않고, 첨부된 청구항에 따른 원리 및 범위 내에서 구성될 수 있다.
현재의 파일 서버 또는 계층적 스토리지 관리(HSM) 시스템과 관련된 상술된 결점을 해결하고자, 본 발명은 파일의 다른 일부분(들)을 보유하면서 동시에 파일 또는 객체의 일부분(들)을 다른 메모리 위치로 부분적으로 이송시키기 위한 유연한 구조의 컴퓨터 시스템을 제공한다. 본 발명에 따르면, 소정의 기준에 따라 객체의 어떤 일부분(들)이 이송에 적합하고 어떤 일부분(들)이 현 저장 위치에 적합한지를 지정할 수 있다. 또한, 제1 저장 위치에서 제2 저장 위치로, 예를 들면, 온라인 스토리지에서 원격 스토리지로 파일 또는 객체의 부분 이송을 가능하게 한다. 또한 구조 및 특성이, 예를 들어 첨부 전용 유형 파일들로, 알려져 있거나 지정된 파일을 위하여 효율적으로 부분 이송을 달성할 수 있다. 이와 같이, 본 발명에 따르면, 파일 또는 객체의 다양한 데이터 관계를 유지하면서 파일 또는 객체의 일부분(들)을 루트 볼륨으로부터 다른 볼륨 또는 원격 볼륨으로 이동시키는 일반적인 방법이 제공된다.

Claims (45)

  1. 컴퓨터 시스템에서 제1 저장 위치로부터 제2 저장 위치로 데이터 스트림의 일부분을 이송(migrating)하기 위한 방법에 있어서,
    상기 제2 저장 위치로의 이송을 위해 데이터 스트림의 적어도 하나의 일부분을 식별하는 단계;
    상기 적어도 하나의 일부분을 상기 제2 저장 위치로 이동(moving)시키는 단계; 및
    상기 스트림의 데이터 관계를 보존하는 단계
    를 포함하는 이송 방법.
  2. 제1항에 있어서,
    상기 제1 저장 위치 및 상기 제2 저장 위치는 상이한 볼륨상에 배치되는 이송 방법.
  3. 제1항에 있어서,
    상기 이송을 위해 상기 적어도 하나의 일부분을 식별하는 단계는 미리 설정된 기준에 따라 상기 적어도 하나의 일부분을 식별하는 단계를 포함하는 이송 방법.
  4. 제3항에 있어서,
    상기 이송을 위해 상기 적어도 하나의 일부분을 식별하는 단계는 아카이브 단위(archive unit)의 크기를 지정하는 단계를 포함하는 이송 방법.
  5. 제3항에 있어서,
    상기 이송을 위해 상기 적어도 하나의 일부분을 식별하는 단계는 갱신 영역의 크기를 지정하는 단계를 포함하는 이송 방법.
  6. 제3항에 있어서,
    상기 이송을 위해 상기 적어도 하나의 일부분을 식별하는 단계는 상기 제1 저장 위치에 적용될 수 있는 데이터 스트림을 위한 메모리 할당 제한(memory allocation limit)을 지정하는 단계를 포함하는 이송 방법.
  7. 제6항에 있어서,
    상기 적어도 하나의 일부분을 이동시키는 단계는 상기 메모리 할당 제한을 초과하지 않고 실행되는 이송 방법.
  8. 제1항에 있어서,
    데이터 스트림은 적어도 하나의 식별 가능한 갱신 영역을 갖는 이송 방법.
  9. 제1항에 있어서,
    상기 이송을 위해 상기 적어도 하나의 일부분을 식별하는 단계는 데이터 스트림의 유형을 식별하는 단계를 포함하는 이송 방법.
  10. 제9항에 있어서,
    상기 데이터 스트림의 유형은 첨부 전용 파일(append-only file)인 이송 방법.
  11. 제9항에 있어서,
    상기 데이터 스트림의 유형은 제1 저장 블록 기록 전용 파일(first storage block write only file)인 이송 방법.
  12. 제1항에 있어서,
    상기 제2 저장 위치는 순차적 접근 매체(SAM; sequential access medium)인 이송 방법.
  13. 제1항에 있어서,
    상기 제1 저장 위치는 로컬 위치이고 상기 제2 저장 위치는 원격 위치인 이송 방법.
  14. 제1항에 있어서,
    상기 제1 저장 위치는 안전하지 않은(non-secure) 저장 위치이고 상기 제2 저장 위치는 안전한 저장 위치인 이송 방법.
  15. 제1항에 있어서,
    상기 제1 저장 위치는 온-라인 위치이고 상기 제2 저장 위치는 오프-라인 위치인 이송 방법.
  16. 제1항에 있어서,
    상기 스트림의 데이터 관계를 보존하는 단계는 상기 관계의 기술(description)을 위한 메타데이터를 생성하는 단계를 포함하는 이송 방법.
  17. 제16항에 있어서,
    상기 관계의 기술을 위한 상기 메타데이터는 월드 와이드 웹(World Wide Web) 컴포넌트에 포함될 수 있는 스크립트 가능한 인터페이스(scriptable interface)에 따른 형식을 갖는 이송 방법.
  18. 제16항에 있어서,
    상기 관계의 기술을 위한 상기 메타데이터는 확장형 마크업 언어(XML: extensible markup language), 분산 컴포넌트 객체 모델(DCOM: distributed component object model) 및 자바(Java) 중 적어도 하나에 따른 형식을 갖는 이송 방법.
  19. 제1항에 있어서,
    상기 제1 저장 위치의 상기 적어도 하나의 일부분을 위한 스토리지는, 상기 적어도 하나의 일부분이 상기 제2 저장 위치로 이동된 후에 시스템에 의해 사용되도록 비워지는(freed) 이송 방법.
  20. 제1항에 있어서,
    상기 데이터 스트림이 희소 파일(sparse file)인 이송 방법.
  21. 컴퓨터 판독 가능 매체에 있어서,
    제1항에 기재된 방법을 실행하도록 컴퓨터에게 명령하기 위한 컴퓨터 실행 가능 명령을 포함하는 컴퓨터 판독 가능 매체.
  22. 적어도 하나의 일부분이 제1 저장 위치로부터 제2 저장 위치로 이송되는 데이터 스트림의 이송 특성(migration characteristics)과 관련된 메타데이터를 저장하고 데이터 구조를 저장하기 위한 컴퓨터 판독 가능 매체에 있어서,
    상기 데이터 구조는,
    적어도 하나의 일부분이 이송되는 데이터 스트림을 식별하는 식별자;
    상기 적어도 하나의 일부분의 이송과 관련되어 사용되는 스토리지 서비스를 나타내는 데이터; 및
    상기 적어도 하나의 이송되는 일부분의 메모리 매핑(memory mapping)을 나타내는 데이터
    를 포함하는 컴퓨터 판독 가능 매체.
  23. 제22항에 있어서,
    상기 데이터 구조는,
    상기 데이터 스트림의 상기 적어도 하나의 일부분의 이송 시간과 관련된 시간 데이터를 더 포함하는 컴퓨터 판독 가능 매체.
  24. 제22항에 있어서,
    상기 데이터 구조가 월드 와이드 웹 컴포넌트에 포함될 수 있는 스크립트 가능한 인터페이스의 형식에 따라 저장되는 컴퓨터 판독 가능 매체.
  25. 제22항에 있어서,
    상기 데이터 구조가 확장형 마크업 언어(XML), 분산 컴포넌트 객체 모델(DCOM) 및 자바 형식 중 적어도 하나로 저장되는 컴퓨터 판독 가능 매체.
  26. 제22항에 있어서,
    상기 데이터 구조가 제트 데이터베이스(jet database)에 저장되는 컴퓨터 판독 가능 매체.
  27. 컴퓨터 판독 가능 매체로서,
    제22항에 기재된 데이터 구조를 부호화하는 정보를 전달하기 위한 변조 데이터 신호(modulated data signal)를 저장하는 컴퓨터 판독 가능 매체.
  28. 응용 프로그래밍 인터페이스(API)를 사용하는 컴퓨터 시스템에 있어서,
    상기 인터페이스는 데이터 스트림이 제1항의 방법에 따른 부분 이송 기술을 위한 관리를 위해 등록될 수 있게 하는 컴퓨터 시스템.
  29. 제28항에 있어서,
    상기 인터페이스는 제2 스토리지(secondary storage)로의 데이터 스트림의 부분 이송과 관련하여 메타데이터를 생성 및 저장시키는 일반적인 방법을 제공하는 응용 프로그래밍 인터페이스(API)인 컴퓨터 시스템.
  30. 컴퓨터 시스템에 있어서,
    부분 이송을 위해 데이터 스트림을 관리하기 위한 계층적 스토리지 관리(HSM: hierarchical storage management) 시스템; 및
    상기 계층적 스토리지 관리(HSM) 시스템에 의해 서비스되는 데이터 스트림을 저장하고 있는 소스 저장 위치를 포함하고;
    상기 계층적 스토리지 관리(HSM) 시스템은, 미리 설정된 기준에 따라 상기 데이터 스트림의 적어도 하나의 일부분을 식별해서 타깃 저장 위치로 이송하고, 상기 적어도 하나의 이송된 일부분의 데이터 관계 기술(description)을 위한 메타데이터를 생성하는 컴퓨터 시스템.
  31. 제30항에 있어서,
    상기 계층적 스토리지 관리(HSM) 시스템은 아카이브 단위 크기를 지정하는 컴퓨터 시스템.
  32. 제30항에 있어서,
    상기 계층적 스토리지 관리(HSM) 시스템은 갱신 영역의 크기를 지정하는 컴퓨터 시스템.
  33. 제30항에 있어서,
    상기 계층적 스토리지 관리(HSM) 시스템은 상기 소스 저장 위치에 적용될 수 있는 데이터 스트림을 위한 메모리 할당 제한을 지정하는 컴퓨터 시스템.
  34. 제33항에 있어서,
    상기 계층적 스토리지 관리(HSM) 시스템은 상기 메모리 할당 제한이 초과되지 않도록 데이터 스트림의 적어도 하나의 일부분을 이동시키는 컴퓨터 시스템.
  35. 제30항에 있어서,
    상기 계층적 스토리지 관리(HSM) 시스템은 적어도 하나의 식별가능한 갱신 영역을 갖는 데이터 스트림을 식별하는 컴퓨터 시스템.
  36. 제30항에 있어서,
    상기 계층적 스토리지 관리(HSM) 시스템에 의해 상기 적어도 하나의 일부분을 식별하는 것은 데이터 스트림의 유형을 식별하는 것을 포함하는 컴퓨터 시스템.
  37. 제36항에 있어서,
    상기 데이터 스트림의 유형은 첨부 전용 파일인 컴퓨터 시스템.
  38. 제36항에 있어서,
    상기 데이터 스트림의 유형은 제1 저장 블록 기록 전용 파일인 컴퓨터 시스템.
  39. 제30항에 있어서,
    상기 타깃 저장 위치는 순차적 접근 매체(SAM: sequential access media)인 컴퓨터 시스템.
  40. 제30항에 있어서,
    상기 소스 저장 위치는 온 라인 위치이고 상기 타깃 저장 위치는 오프 라인 위치인 컴퓨터 시스템.
  41. 제30항에 있어서,
    상기 소스 저장 위치가 안전하지 않은 저장 위치이고 상기 타깃 저장 위치가 안전한 저장 위치인 컴퓨터 시스템.
  42. 제30항에 있어서,
    상기 메타데이터는 월드 와이드 웹 컴포넌트에 포함될 수 있는 스크립트 가능한 인터페이스에 따른 형식을 갖는 컴퓨터 시스템.
  43. 제30항에 있어서,
    상기 관계 기술(description)을 위한 상기 메타데이터가 확장형 마크업 언어(XML), 분산 컴포넌트 객체 모델(DCOM) 및 자바 중 적어도 하나에 따른 형식을 갖는 컴퓨터 시스템.
  44. 제30항에 있어서,
    상기 계층적 스토리지 관리(HSM) 시스템은, 상기 적어도 하나의 일부분이 상기 타겟 저장 위치로 이동된 후에 상기 소스 저장 위치의 상기 적어도 하나의 일부분을 위한 스토리지를 사용하도록 비우는 컴퓨터 시스템.
  45. 제30항에 있어서,
    상기 데이터 스트림이 희소 파일인 컴퓨터 시스템.
KR1020010050933A 2000-08-24 2001-08-23 컴퓨터 시스템에서 다른 저장 위치로의 객체의 부분 이송 방법과 그를 위한 데이터 구조 및 컴퓨터 판독 가능 매체 KR100855139B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/644,667 2000-08-24
US09/644,667 US6981005B1 (en) 2000-08-24 2000-08-24 Partial migration of an object to another storage location in a computer system

Publications (2)

Publication Number Publication Date
KR20020016551A KR20020016551A (ko) 2002-03-04
KR100855139B1 true KR100855139B1 (ko) 2008-08-28

Family

ID=24585875

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010050933A KR100855139B1 (ko) 2000-08-24 2001-08-23 컴퓨터 시스템에서 다른 저장 위치로의 객체의 부분 이송 방법과 그를 위한 데이터 구조 및 컴퓨터 판독 가능 매체

Country Status (5)

Country Link
US (2) US6981005B1 (ko)
EP (1) EP1182554B1 (ko)
JP (2) JP2002099450A (ko)
KR (1) KR100855139B1 (ko)
TW (1) TWI232396B (ko)

Families Citing this family (153)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617292B2 (en) 2001-06-05 2009-11-10 Silicon Graphics International Multi-class heterogeneous clients in a clustered filesystem
US8010558B2 (en) 2001-06-05 2011-08-30 Silicon Graphics International Relocation of metadata server with outstanding DMAPI requests
US7640582B2 (en) 2003-04-16 2009-12-29 Silicon Graphics International Clustered filesystem for mix of trusted and untrusted nodes
US20040139125A1 (en) 2001-06-05 2004-07-15 Roger Strassburg Snapshot copy of data volume during data access
US7136883B2 (en) * 2001-09-08 2006-11-14 Siemens Medial Solutions Health Services Corporation System for managing object storage and retrieval in partitioned storage media
US8442957B2 (en) * 2001-09-26 2013-05-14 Emc Corporation Efficient management of large files
JP3966459B2 (ja) 2002-05-23 2007-08-29 株式会社日立製作所 ストレージ機器管理方法、システム、およびプログラム
WO2004051481A1 (en) * 2002-12-02 2004-06-17 Arkivio Inc. Data recovery techniques in storage systems
US8015266B1 (en) * 2003-02-07 2011-09-06 Netapp, Inc. System and method for providing persistent node names
US7765551B2 (en) * 2003-02-10 2010-07-27 Novell, Inc. System for dynamically loading application resources from the first server to the second server based on the modified application resources from the first server
JP4322031B2 (ja) 2003-03-27 2009-08-26 株式会社日立製作所 記憶装置
CA2523283A1 (en) * 2003-04-24 2004-11-11 Secureinfo Corporation Automated electronic software distribution and management method and system
JP4349871B2 (ja) * 2003-09-09 2009-10-21 株式会社日立製作所 ファイル共有装置及びファイル共有装置間のデータ移行方法
US7165059B1 (en) * 2003-12-23 2007-01-16 Veritas Operating Corporation Partial file migration mechanism
US8825591B1 (en) * 2003-12-31 2014-09-02 Symantec Operating Corporation Dynamic storage mechanism
US20050192975A1 (en) * 2004-02-12 2005-09-01 Interdigital Technology Corporation Resource management system for electronic devices
US7428557B2 (en) * 2004-03-22 2008-09-23 Microsoft Corporation Efficient data transfer to/from storage medium of computing device
US20050216532A1 (en) * 2004-03-24 2005-09-29 Lallier John C System and method for file migration
JP2005321913A (ja) * 2004-05-07 2005-11-17 Hitachi Ltd ファイル共有装置を有する計算機システム、および、ファイル共有装置の移行方法
US7441096B2 (en) 2004-07-07 2008-10-21 Hitachi, Ltd. Hierarchical storage management system
KR100678893B1 (ko) 2004-09-16 2007-02-07 삼성전자주식회사 객체 식별자를 이용하여 이동형 저장 장치에서 권리객체를 검색하는 방법 및 장치
US8055622B1 (en) * 2004-11-30 2011-11-08 Symantec Operating Corporation Immutable data containers in tiered storage hierarchies
US7831639B1 (en) * 2004-12-22 2010-11-09 Symantec Operating Corporation System and method for providing data protection by using sparse files to represent images of data stored in block devices
US8108579B2 (en) * 2005-03-31 2012-01-31 Qualcomm Incorporated Mechanism and method for managing data storage
US7711916B2 (en) * 2005-05-11 2010-05-04 Oracle International Corporation Storing information on storage devices having different performance capabilities with a storage system
WO2006137057A2 (en) * 2005-06-21 2006-12-28 Onigma Ltd. A method and a system for providing comprehensive protection against leakage of sensitive information assets using host based agents, content- meta-data and rules-based policies
US7506003B2 (en) * 2005-07-14 2009-03-17 Microsoft Corporation Moving data from file on storage volume to alternate location to free space
US7506005B2 (en) * 2005-07-14 2009-03-17 Microsoft Corporation Moving data from file on storage volume to alternate location to free space
US7707178B2 (en) * 2005-11-28 2010-04-27 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
JP2007148982A (ja) * 2005-11-30 2007-06-14 Hitachi Ltd ストレージシステム及びその管理方法
EP1798934A1 (en) * 2005-12-13 2007-06-20 Deutsche Thomson-Brandt Gmbh Method and apparatus for organizing nodes in a network
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
JP4890048B2 (ja) * 2006-02-24 2012-03-07 株式会社日立製作所 記憶制御装置及び記憶制御装置を用いたデータマイグレーション方法
US7831793B2 (en) * 2006-03-01 2010-11-09 Quantum Corporation Data storage system including unique block pool manager and applications in tiered storage
US8171251B2 (en) * 2006-03-16 2012-05-01 Sandisk Il Ltd. Data storage management method and device
EP2009917B1 (en) * 2006-04-24 2016-09-28 Panasonic Intellectual Property Management Co., Ltd. Data processing device, data processing method, data processing program, recording medium containing the data processing program, and integrated circuit
WO2007133791A2 (en) * 2006-05-15 2007-11-22 Richard Kane Data partitioning and distributing system
KR100834574B1 (ko) * 2006-09-29 2008-06-02 한국전자통신연구원 파일 저장 시스템 및 그 시스템에서의 파일 저장 및 검색방법
US8806480B2 (en) * 2007-06-29 2014-08-12 Microsoft Corporation Virtual machine smart migration
US9298417B1 (en) * 2007-07-25 2016-03-29 Emc Corporation Systems and methods for facilitating management of data
US20090157756A1 (en) * 2007-12-15 2009-06-18 Hitachi Global Storage Technologies Netherlands, B.V. File System For Storing Files In Multiple Different Data Storage Media
US8301726B2 (en) * 2007-12-21 2012-10-30 International Business Machines Corporation Method and system for bit streaming for data centric applications
JP2009260541A (ja) * 2008-04-15 2009-11-05 Sony Corp 送信装置および方法、受信装置および方法、プログラム、並びに、送受信システムおよび方法
JP5248912B2 (ja) * 2008-05-12 2013-07-31 株式会社日立製作所 サーバ計算機、計算機システムおよびファイル管理方法
AU2010202034B1 (en) * 2010-04-07 2010-12-23 Limelight Networks, Inc. Partial object distribution in content delivery network
US8255373B2 (en) * 2008-10-24 2012-08-28 Microsoft Corporation Atomic multiple modification of data in a distributed storage system
CN101739308B (zh) * 2008-11-06 2011-11-09 英业达股份有限公司 映像文件的生成方法及其存放系统
US8209307B2 (en) 2009-03-31 2012-06-26 Commvault Systems, Inc. Systems and methods for data migration in a clustered file system
US8452932B2 (en) * 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups
US8285762B2 (en) * 2010-05-11 2012-10-09 International Business Machines Corporation Migration of metadata and storage management of data in a first storage environment to a second storage environment
US9165015B2 (en) * 2010-07-29 2015-10-20 International Business Machines Corporation Scalable and user friendly file virtualization for hierarchical storage
US8612395B2 (en) * 2010-09-14 2013-12-17 Hitachi, Ltd. Server apparatus and control method of the same
US20120278553A1 (en) * 2011-04-28 2012-11-01 Mudhiganti Devender R System and method for migration of data clones
US8938517B2 (en) * 2011-05-06 2015-01-20 SpotStorage, Inc. System, method and computer program product for managing a remote storage
US8667220B2 (en) * 2011-05-30 2014-03-04 Hitachi, Ltd. Computer system management apparatus and management method
US8515904B1 (en) * 2012-03-29 2013-08-20 Emc Corporation Providing file sytem quota support for a file system having separated data and metadata
US8639665B2 (en) 2012-04-04 2014-01-28 International Business Machines Corporation Hybrid backup and restore of very large file system using metadata image backup and traditional backup
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US8914334B2 (en) 2012-09-12 2014-12-16 International Business Machines Corporation Using a metadata image of a file system and archive instance to restore data objects in the file system
US8805789B2 (en) 2012-09-12 2014-08-12 International Business Machines Corporation Using a metadata image of a file system and archive instance to backup data objects in the file system
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US10057726B2 (en) 2012-10-02 2018-08-21 Razer (Asia-Pacific) Pte. Ltd. Managing user data on an electronic device
US10545628B2 (en) 2013-01-31 2020-01-28 Samsung Electronics Co., Ltd. Method of and device for managing applications
WO2014119867A1 (en) * 2013-01-31 2014-08-07 Samsung Electronics Co., Ltd. Method of and device for managing applications
US11016637B2 (en) 2013-01-31 2021-05-25 Samsung Electronics Co., Ltd. Method of and device for managing applications
KR102101876B1 (ko) * 2013-01-31 2020-04-21 삼성전자주식회사 애플리케이션들을 관리하는 방법 및 애플리케이션들의 관리를 수행하는 디바이스
US20140310493A1 (en) * 2013-04-11 2014-10-16 International Business Machines Corporation Migrating data across storages with dissimilar allocation sizes
US11023151B2 (en) * 2013-04-18 2021-06-01 Ruslan SHIGABUTDINOV Systems and methods for file management by mobile computing devices
US9354979B2 (en) 2014-02-07 2016-05-31 International Business Machines Corporation Server based disaster recovery by making use of dual write responses
US10105593B2 (en) 2014-04-08 2018-10-23 Razer (Asia-Pacific) Pte. Ltd. File prefetching for gaming applications accessed by electronic devices
US9087012B1 (en) 2014-06-04 2015-07-21 Pure Storage, Inc. Disaster recovery at high reliability in a storage cluster
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
CN105446653B (zh) * 2014-08-27 2018-12-14 阿里巴巴集团控股有限公司 一种数据合并方法和设备
JP6037469B2 (ja) 2014-11-19 2016-12-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報管理システム、情報管理方法およびプログラム
US9881038B2 (en) * 2015-04-20 2018-01-30 International Business Machines Corporation Archive migration system
CN106227795A (zh) * 2016-07-20 2016-12-14 曙光信息产业(北京)有限公司 分级存储的检测方法和系统
CN107665224B (zh) * 2016-07-29 2021-04-30 北京京东尚科信息技术有限公司 扫描hdfs冷数据的方法、系统和装置
US10248352B2 (en) * 2016-09-15 2019-04-02 International Business Machines Corporation Management of object location in hierarchical storage
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10949398B2 (en) 2017-03-29 2021-03-16 Commvault Systems, Inc. Synchronization operations for network-accessible folders
US10359954B2 (en) 2017-05-31 2019-07-23 Alibaba Group Holding Limited Method and system for implementing byte-alterable write cache
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10303241B2 (en) 2017-06-19 2019-05-28 Alibaba Group Holding Limited System and method for fine-grained power control management in a high capacity computer cluster
US11294853B1 (en) * 2017-06-22 2022-04-05 Amazon Technologies, Inc. Archiver for data stream service
US10678443B2 (en) 2017-07-06 2020-06-09 Alibaba Group Holding Limited Method and system for high-density converged storage via memory bus
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
US10303601B2 (en) 2017-08-11 2019-05-28 Alibaba Group Holding Limited Method and system for rearranging a write operation in a shingled magnetic recording device
US10496829B2 (en) 2017-09-15 2019-12-03 Alibaba Group Holding Limited Method and system for data destruction in a phase change memory-based storage device
US10642522B2 (en) 2017-09-15 2020-05-05 Alibaba Group Holding Limited Method and system for in-line deduplication in a storage drive based on a non-collision hash
US10789011B2 (en) 2017-09-27 2020-09-29 Alibaba Group Holding Limited Performance enhancement of a storage device using an integrated controller-buffer
US10503409B2 (en) 2017-09-27 2019-12-10 Alibaba Group Holding Limited Low-latency lightweight distributed storage system
US10860334B2 (en) 2017-10-25 2020-12-08 Alibaba Group Holding Limited System and method for centralized boot storage in an access switch shared by multiple servers
US10445190B2 (en) 2017-11-08 2019-10-15 Alibaba Group Holding Limited Method and system for enhancing backup efficiency by bypassing encoding and decoding
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US10402112B1 (en) 2018-02-14 2019-09-03 Alibaba Group Holding Limited Method and system for chunk-wide data organization and placement with real-time calculation
US20190251204A1 (en) 2018-02-14 2019-08-15 Commvault Systems, Inc. Targeted search of backup data using calendar event data
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10747673B2 (en) 2018-08-02 2020-08-18 Alibaba Group Holding Limited System and method for facilitating cluster-level cache and memory space
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US11182090B2 (en) * 2018-11-19 2021-11-23 Micron Technology, Inc. Systems, devices, and methods for data migration
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US10884654B2 (en) 2018-12-31 2021-01-05 Alibaba Group Holding Limited System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US11392541B2 (en) 2019-03-22 2022-07-19 Hewlett Packard Enterprise Development Lp Data transfer using snapshot differencing from edge system to core system
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11042307B1 (en) 2020-01-13 2021-06-22 Alibaba Group Holding Limited System and method for facilitating improved utilization of NAND flash based on page-wise operation
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US11150986B2 (en) 2020-02-26 2021-10-19 Alibaba Group Holding Limited Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
CN111475467A (zh) * 2020-03-27 2020-07-31 平安科技(深圳)有限公司 一种文件管理方法、云端文件管理系统及终端
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
CN112214458B (zh) * 2020-10-19 2023-08-11 珠海金山数字网络科技有限公司 数据转存储方法及装置
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11366642B1 (en) 2021-02-25 2022-06-21 Bank Of America Corporation Change migration: processes for ensuring successful deployment of design changes
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
CN114327283B (zh) * 2021-12-30 2024-03-12 西北工业大学 分布式存储系统内的数据迁移方法及分布式存储系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940000971A (ko) * 1992-06-05 1994-01-10 이문기 계층적 페이지 분할 구조의 가상 메모리를 지원하는 폴리어소시에이티브 테이블 룩 어사이드 버퍼
US5630092A (en) * 1994-10-20 1997-05-13 International Business Machines System and method for transferring compressed and uncompressed data between storage systems
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US6044374A (en) * 1997-11-14 2000-03-28 Informatica Corporation Method and apparatus for sharing metadata between multiple data marts through object references
JP2000224257A (ja) * 1999-01-29 2000-08-11 Jisedai Joho Hoso System Kenkyusho:Kk 送信装置および受信装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4638424A (en) * 1984-01-12 1987-01-20 International Business Machines Corporation Managing data storage devices connected to a digital computer
JPH07114444A (ja) * 1993-10-19 1995-05-02 Hitachi Ltd ファイル移動制御方式
US5617566A (en) * 1993-12-10 1997-04-01 Cheyenne Advanced Technology Ltd. File portion logging and arching by means of an auxilary database
JP3238558B2 (ja) * 1993-12-13 2001-12-17 株式会社東芝 ファイル再配置装置およびファイル再配置方法
US5802599A (en) * 1994-02-08 1998-09-01 International Business Machines Corporation System and method for allocating storage in a fragmented storage space
US5537585A (en) * 1994-02-25 1996-07-16 Avail Systems Corporation Data storage management for network interconnected processors
JP2682811B2 (ja) * 1994-03-22 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション データ記憶管理システム及び方法
CN1093289C (zh) * 1994-04-25 2002-10-23 索尼公司 数据存储器处理装置
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
US5564037A (en) * 1995-03-29 1996-10-08 Cheyenne Software International Sales Corp. Real time data migration system and method employing sparse files
JPH0944381A (ja) * 1995-07-31 1997-02-14 Toshiba Corp データ格納方法およびデータ格納装置
JPH09282202A (ja) * 1996-04-09 1997-10-31 Fuji Xerox Co Ltd データ移動管理システム
US5881311A (en) * 1996-06-05 1999-03-09 Fastor Technologies, Inc. Data storage subsystem with block based data management
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6434553B1 (en) * 1996-12-13 2002-08-13 Hitachi, Ltd. File prefetch control method for computer system
US5897661A (en) * 1997-02-25 1999-04-27 International Business Machines Corporation Logical volume manager and method having enhanced update capability with dynamic allocation of storage and minimal storage of metadata information
US6311252B1 (en) * 1997-06-30 2001-10-30 Emc Corporation Method and apparatus for moving data between storage levels of a hierarchically arranged data storage system
US6233600B1 (en) * 1997-07-15 2001-05-15 Eroom Technology, Inc. Method and system for providing a networked collaborative work environment
US5953729A (en) * 1997-12-23 1999-09-14 Microsoft Corporation Using sparse file technology to stage data that will then be stored in remote storage
JPH11306190A (ja) * 1998-04-21 1999-11-05 Mitsubishi Electric Corp ビデオサーバシステム
US6343265B1 (en) * 1998-07-28 2002-01-29 International Business Machines Corporation System and method for mapping a design model to a common repository with context preservation
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
US6385706B1 (en) * 1998-12-31 2002-05-07 Emx Corporation Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
US6377996B1 (en) * 1999-02-18 2002-04-23 International Business Machines Corporation System for seamless streaming of data stored on a network of distributed primary and target servers using segmentation information exchanged among all servers during streaming
US6499039B1 (en) * 1999-09-23 2002-12-24 Emc Corporation Reorganization of striped data during file system expansion in a data storage system
US6804719B1 (en) * 2000-08-24 2004-10-12 Microsoft Corporation Method and system for relocating files that are partially stored in remote storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940000971A (ko) * 1992-06-05 1994-01-10 이문기 계층적 페이지 분할 구조의 가상 메모리를 지원하는 폴리어소시에이티브 테이블 룩 어사이드 버퍼
US5630092A (en) * 1994-10-20 1997-05-13 International Business Machines System and method for transferring compressed and uncompressed data between storage systems
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US6044374A (en) * 1997-11-14 2000-03-28 Informatica Corporation Method and apparatus for sharing metadata between multiple data marts through object references
JP2000224257A (ja) * 1999-01-29 2000-08-11 Jisedai Joho Hoso System Kenkyusho:Kk 送信装置および受信装置

Also Published As

Publication number Publication date
JP4975882B2 (ja) 2012-07-11
EP1182554A3 (en) 2009-10-14
US20050097126A1 (en) 2005-05-05
US7072914B2 (en) 2006-07-04
EP1182554A2 (en) 2002-02-27
JP2012069161A (ja) 2012-04-05
US6981005B1 (en) 2005-12-27
JP2002099450A (ja) 2002-04-05
TWI232396B (en) 2005-05-11
KR20020016551A (ko) 2002-03-04
EP1182554B1 (en) 2017-08-23

Similar Documents

Publication Publication Date Title
KR100855139B1 (ko) 컴퓨터 시스템에서 다른 저장 위치로의 객체의 부분 이송 방법과 그를 위한 데이터 구조 및 컴퓨터 판독 가능 매체
US8086634B2 (en) Method and apparatus for improving file access performance of distributed storage system
US7340492B2 (en) Method and system for relocating files that are partially stored in remote storage
US7979403B2 (en) Method and system for compression of files for storage and operation on compressed files
US7496586B1 (en) Method and apparatus for compressing data in a file system
US8285898B2 (en) Method and system for compression of files for storage and operation on compressed files
EP0818006B1 (en) Data migration system and method employing sparse files
US7424482B2 (en) Method and system for compression of data for block mode access storage
US8533295B2 (en) Shared file system
US7716445B2 (en) Method and system for storing a sparse file using fill counts
JP4249267B2 (ja) ファイル・システムにおけるディスク・スペースの解放
US10210167B1 (en) Multi-level page caching for distributed object store
US9449007B1 (en) Controlling access to XAM metadata
US7415653B1 (en) Method and apparatus for vectored block-level checksum for file system data integrity
US20060190643A1 (en) Method and system for compression of data for block mode access storage
US7225314B1 (en) Automatic conversion of all-zero data storage blocks into file holes
US7962532B1 (en) Management of directory quotas for file systems
KR100785774B1 (ko) 객체 기반 파일 입출력 시스템 및 방법
US7533225B1 (en) Method and apparatus for enabling adaptive endianness
US7603568B1 (en) Method and apparatus for self-validating checksums in a file system
Stuart Θfs: An Experimental Generalized Storage Server
JP2001056775A (ja) 計算機システム及びプログラム記録媒体
Lømo File System supporting Arbitrarily sized Allocations

Legal Events

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

Payment date: 20110719

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20120725

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee