KR100985443B1 - 시퀀스 관리 장치, 데이터 백업 방법, 데이터 백업 클라이언트, 데이터 백업 시스템, 프로그램가능 하드웨어 장치 및 데이터 백업 장치 - Google Patents

시퀀스 관리 장치, 데이터 백업 방법, 데이터 백업 클라이언트, 데이터 백업 시스템, 프로그램가능 하드웨어 장치 및 데이터 백업 장치 Download PDF

Info

Publication number
KR100985443B1
KR100985443B1 KR1020067011574A KR20067011574A KR100985443B1 KR 100985443 B1 KR100985443 B1 KR 100985443B1 KR 1020067011574 A KR1020067011574 A KR 1020067011574A KR 20067011574 A KR20067011574 A KR 20067011574A KR 100985443 B1 KR100985443 B1 KR 100985443B1
Authority
KR
South Korea
Prior art keywords
client
data
backup
packet
sequence
Prior art date
Application number
KR1020067011574A
Other languages
English (en)
Other versions
KR20060123310A (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 KR20060123310A publication Critical patent/KR20060123310A/ko
Application granted granted Critical
Publication of KR100985443B1 publication Critical patent/KR100985443B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Abstract

그리드 컴퓨팅 시스템(grid computing system) 상에서 복수의 클라이언트에 걸쳐 데이터를 백업하는 장치, 시스템 및 방법에 관해 개시되어 있다. 시퀀스 관리 장치는 클라이언트 요청 모듈, 시퀀스 모듈 및 패킷 저장 모듈을 포함한다. 시퀀스 모듈은 소스 클라이언트로부터 백업될 데이터를 수신하도록 구성된다. 시퀀스 모듈은 그리드 컴퓨팅 시스템 상의 하나 이상의 타겟 클라이언트를 식별하는 불투명 시퀀스 키(non-transparent sequence)를 생성하도록 구성된다. 패킷 저장 모듈은 소스 클라이언트로부터의 데이터 백업 사본을 불투명 시퀀스 키에 따라서 복수의 타겟 클라이언트에 저장하도록 구성된다. 불투명 시퀀스 키는 복수의 타겟 클라이언트에 백업된 데이터에 대한 최소 보안 레벨을 유지하기 위해서 시퀀스 관리 장치에 의해 생성되고 오로지 시퀀스 관리 장치만이 인식할 수 있다.

Description

시퀀스 관리 장치, 데이터 백업 방법, 데이터 백업 클라이언트, 데이터 백업 시스템, 프로그램가능 하드웨어 장치 및 데이터 백업 장치{APPARATUS, SYSTEM, AND METHOD FOR GRID BASED DATA STORAGE}
본 발명은 그리드 컴퓨팅(grid computing)에 관한 것이고, 보다 구체적으로는 그리드 컴퓨팅 시스템 상의 다수의 클라이언트에 걸쳐 데이터를 백업하는 것에 관한 것이다.
그리드 컴퓨팅은 컴퓨터 산업에서 비교적 새로운 기술이다. 여러 현재의 그리드 컴퓨팅 시스템은 다수의 상호 접속 컴퓨터들이, 단일 머신으로는 불가능했던 계산적 문제 등을 대형 그리드 애플리케이션 상에서 함께 작업할 수 있도록 설계되었다. 계산적 처리의 이러한 엄청난 용량을 적절히 관리하기 위해서, 계산적 문제를 여러 개의 더 작은, 보다 관리 가능한 작업들로 분할할 수 있다. 이러한 타입의 그리드 애플리케이션(들)의 공유형 처리는 부분적으로 여러 퍼스널 및 사업용 컴퓨터의 필수적 또는 부수적 대기(idle) 프로세서 시간에 기인하여 가능해진다.
충분히 구현되지 않은 그리드 컴퓨팅의 일측면은 데이터 백업 애플리케이션의 분야에서 존재한다. 통상적인 데이터 백업 기능은 대형의 독립형 데이터 백업 장치를 이용하여 구현된다. 사실상, 전체 산업계는 정보를 저장하고, 정보를 백업하고, 해당 정보가 이용 가능하게 하는 용도의 데이터 센터를 생성하는 것에 집중하였다. 이러한 저장된 정보의 이용도를 증가시키기 위해서, 데이터 센터는 때때로 여분(redundancy) 및 에러 검출 및 보정 코드 또는 피처(features)를 이용한다. 이러한 데이터 센터는 통상적으로 오로지 데이터의 저장을 위한 데이터 저장 장치의 대형 뱅크를 이용하여 설계되고 작동된다. 불행하게도, 상기 기법 및 장치와 그 외의 통상적 데이터 저장 기법 및 장치는 전형적으로 매우 비싸고 구매 불가능할 정도의 비용이며, 이것에 의해서 이 기법의 광범위한 사용이 제한된다.
그리드 컴퓨팅과 관련된 다른 문제는 개별 컴퓨터 및 네트워크형 컴퓨터 상에서 대용량 저장 장치의 보급성이다. 적어도 미국 내에서 여러 비즈니스 및 가정에서는 현재 하루 동안 지속적이지는 않더라도 종종 인터넷에 접속될 수 있는 하나 이상의 컴퓨터를 구비하고 있다. 이러한 퍼스널 및 비즈니스 컴퓨터의 대부분은 그 저장 용량을 과소 사용하는데, 그 전체 용량의 2% 내지 20%를 이용할 것이다. 이러한 컴퓨터 상에서 이용 가능한 저장 장치의 크기, 이것은 예를 들면 40 내지 100기가바이트의 저장 장치 상에서 32 내지 98기가바이트의 저장 공간이 사용되지 않거나 과소 사용된다는 것을 의미한다. 더 작은 용량의 장치에서도, 수 기가바이트의 저장 공간이 미사용될 수 있다. 전체적으로, 매일 백만(가능하게는 억) 달러 가치의 저장 용량이 미사용되고 있을 수 있다.
본 발명의 배경과 관련된 다른 문제는 데이터 백업 연산을 위한 상당한 저장 용량이 필요하다는 것이다. 컴팩트 디스크 및 플로피 디스크 등과 같은 저가의 착 탈 가능 매체를 위한 저장 용량은 시간이 지남에 따라 상당히 증가하였으나, 전체 또는 부분 백업을 위해 필요한 저장 공간은 단일 착탈 가능 매체 장치에서 이용 가능한 공간보다 몇 배를 초과한다. 마찬가지로, 여러 착탈 가능 매체 장치에 백업 데이터를 저장하는 데 포함되는 시간, 노력 및 재정적 비용은 전형적으로 막대한 양이다. 이것은 그리드 컴퓨팅의 기능 및 기존의 미사용 및 과소 활용된 저장 공간의 실질적인 양과 결합된 데이터의 백업을 위한 고용량의 저장 장치를 필요로 하고, 그리드 기반의 데이터 백업의 구현에 대한 필요성이 존재한다는 것을 제시한다.
결과적으로, 그리드 컴퓨팅 시스템 상에서 바람직한 백업 및 복원 기능을 용이하게 하는 장치, 시스템 및 방법에 대한 필요성이 존재한다. 바람직하게는, 이러한 장치, 시스템, 및 방법은 전용 데이터 센터에 대한 현재의 의존성을 극복할 뿐 아니라, 이용 가능하고 미사용된 저장 용량 및 그리드 컴퓨팅 기법의 이용을 가능하게 한다.
본 발명은 현재의 기술 수준에 응답하여 개발된 것이고, 특히 현재 이용 가능한 그리드 컴퓨팅 시스템에 의해 충분히 해결되지 않은 현 기술의 문제 및 요구 사항에 응답하여 개발된 것이다. 따라서, 본 발명은 그리드 컴퓨팅 시스템 상에서 복수의 클라이언트에 걸쳐 데이터를 백업하는 장치, 시스템 및 방법을 제공하도록 개발되었고, 이것은 상술된 현 기술의 단점의 대부분 또는 전부를 극복한다.
본 발명의 바람직한 실시예에서, 그리드 컴퓨팅 시스템 상의 복수의 클라이언트에 걸쳐 데이터를 백업하는 장치는 그리드 컴퓨팅 시스템 상의 복수의 클라이언트에 걸쳐 데이터를 백업하는 필수 단계를 기능적으로 실행하도록 구성된 복수의 모듈을 포함하는 로직 유닛을 구비한다. 개시된 실시예에서 이러한 모듈은 클라이언트 요청 모듈, 시퀀스 모듈, 글로벌 프로파일 관리 모듈, 패킷 저장 모듈, 패킷 검색 모듈, 데이터 조합 모듈, 압축 모듈, 암호화 모듈, 및 여분 모듈을 포함한다.
본 발명에 따르면, 복수의 클라이언트에 걸쳐 데이터를 백업하는 시퀀스 관리 장치가 제공되는데, 이 장치는, 소스 클라이언트로부터 백업될 데이터를 수신하도록 구성된 클라이언트 요청 모듈과, 복수의 타겟 클라이언트의 불투명 시퀀스(non-transparent sequence)를 생성하도록 구성된 시퀀스 모듈과, 상기 불투명 시퀀스에 따라서 상기 복수의 타겟 클라이언트에 상기 데이터를 저장하도록 구성된 패킷 저장 모듈을 포함한다.
본 발명의 다른 측면을 고려하면, 복수의 클라이언트에 걸쳐 데이터를 백업하는 방법이 제공되는데, 이 방법은 소스 클라이언트로부터 백업될 데이터를 수신하는 단계와, 복수의 타겟 클라이언트의 불투명 시퀀스를 생성하는 단계와, 상기 불투명 시퀀스에 따라서 상기 복수의 타겟 클라이언트에 상기 데이터를 저장하는 단계를 포함한다.
본 발명을 다른 측면에서 고려하면, 복수의 클라이언트에 걸쳐 데이터를 백업하는 방법을 실행하도록 구성된 컴퓨터 판독 가능 코드를 포함하는 컴퓨터 판독 가능 기록 매체가 제공되는데, 상기 방법은, 소스 클라이언트로부터 백업될 데이터를 수신하는 단계와, 복수의 타겟 클라이언트의 불투명 시퀀스를 생성하는 단계와, 상기 불투명 시퀀스에 따라서 상기 복수의 타겟 클라이언트에 상기 데이터를 저장하는 단계를 포함한다.
본 발명의 시스템은 또한 그리드 컴퓨팅 시스템 상의 복수의 클라이언트에 걸쳐 데이터를 백업하도록 제공된다. 이 시스템은 근거리 네트워크, 광역 네트워크, 근거리 및 광역 네트워크의 조합, 하나 이상의 무선 네트워크, 인터넷 기반의 그리드 컴퓨팅 네트워크, 또는 임의의 다른 개수의 그리드 컴퓨팅 환경에 포함될 수 있다. 일실시예에서, 특히 이러한 시스템은 글로벌 시퀀스 관리자, 소스 클라이언트, 하나 이상의 타겟 클라이언트 및 이러한 구성 요소들 간의 통신을 허용하는 통신 인프라구조를 포함한다.
이러한 시스템은 본 명세서에 설명된 그리드 시스템의 백업 및 복원 기능을 이용하여 그리드 컴퓨팅 시스템에 접속된 각각의 클라이언트의 요금제 가입을 관리하도록 구성된 가입 관리자를 더 포함할 수 있다.
클라이언트는 또한 그리드 컴퓨팅 시스템 상에서 복수의 클라이언트에 걸쳐 데이터를 백업하도록 제공될 수 있다. 일실시예에서, 클라이언트는 그리드 컴퓨팅 시스템 상의 복수의 클라이언트네 걸쳐 데이터를 백업하는 필수 단계를 기능적으로 실행하도록 구성된 복수의 모듈을 포함하는 로직 유닛을 구비한다. 개시된 실시예 내의 이러한 모듈은 데이터 백업 모듈, 데이터 복원 모듈, 로컬 프로파일 관리 모듈, 및 고유 데이터 식별자 생성 모듈을 포함한다.
본 발명의 프로세스는 또한 그리드 컴퓨팅 시스템 상에서 복수의 클라이언트에 걸쳐 데이터를 백업하도록 제공된다. 개시된 실시예 내의 이러한 프로세스는 개시된 장치 및 시스템의 작동과 관련하여 앞서 제시된 기능을 실행하는 데 필요한 단계를 실질적으로 포함한다. 일실시예에서, 이러한 프로세스는 소스 클라이언트로부터 백업될 데이터를 수신하는 단계, 복수의 타겟 클라이언트의 불투명 시퀀스를 생성하는 단계, 불투명 시퀀스에 따라 복수의 타겟 클라이언트에 데이터를 저장하는 단계를 포함한다.
이러한 프로세스는 또한 백업 데이터를 기술하는 메타데이터 정보를 관리하는 단계와, 데이터를 백업 데이터 패킷으로 세부 분할하는 단계와, 고유 데이터 식별자(UDI:unique data identifier)를 이용하여 백업 데이터를 생성 및 식별하는 단계와, 그리드 컴퓨팅 백업 시스템에 대한 클라이언트 가입을 관리하는 단계와, 클라이언트 성능 리소스의 할당을 추적하는 단계 및 상술된 것 외의 필수적, 부차적 및 바람직한 단계를 포함할 수 있다.
본 발명의 일실시예는 많은 양의 백업 데이터가 그리드 컴퓨팅 시스템 내의 여러 타겟 클라이언트 사이에서 분포 및 저장될 수 있게 한다. 본 발명의 다른 실시예는 또한 대형 데이터 센터를 필요로 하지 않으면서 데이터가 백업될 수 있게 하여 유리하다. 본 발명의 다른 실시예는 데이터를 패킷으로 세부 분할하고, 백업 데이터 패킷을 불투명 시퀀스 키에 따라 타겟 클라이언트에 저장하는 것에 의해 백업 데이터에 대한 추가적인 보안을 제공하여 유리하다.
본 명세서에 걸쳐서, 피쳐, 이점 또는 유사한 용어에 대한 참조는 본 발명으로 구현될 수 있는 모든 피쳐 및 이점이 본 발명의 임의의 하나의 실시예에만 속한다고 의미하지는 않는다. 오히려, 피쳐 및 이점을 지칭하는 용어는 실시예와 관련하여 설명된 특정 피쳐, 이점 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것으로 이해된다. 따라서, 본 명세서에 걸친 피쳐, 이점 및 동일 용어에 대한 설명은 동일한 실시예를 참조할 수 있으나 반드시 그러한 것은 아니다.
본 발명을 다른 측면에서 고려하면, 시퀀스 관리 장치와 함께 복수의 클라이언트에 걸쳐 데이터를 백업하는 클라이언트가 제공되는데, 이러한 클라이언트는 시퀀스 관리 장치와 통신하도록 구성된 네트워크 인터페이스와, 할당된 저장 공간을 정의하도록 구성된 저장 장치와, 고유 데이터 식별자 및 불투명 시퀀스를 이용하여 백업 동작을 관리하도록 구성된 클라이언트 백업 관리자 장치를 포함한다.
클라이언트는 데이터에 대한 백업 동작을 개시하고, 고유 데이터 식별자를 생성하도록 구성된 소스 클라이언트일 수 있다. 마찬가지로, 클라이언트는 시퀀스 관리 장치로부터의 데이터 저장 요청에 응답하여 할당된 저장 장치 내에 데이터의 적어도 일부분을 저장하도록 구성된 타겟 클라이언트일 수 있다.
또 다른 측면에서 본 발명을 고려하면, 복수의 클라이언트에 걸쳐 데이터를 백업하는 시스템이 제공되는데, 이 시스템은 네트워크 통신 채널과, 네트워크 통신 채널에 접속되고, 데이터 백업 동작을 개시하도록 구성된 소스 클라이언트와, 네트워크 통신 채널에 접속되고, 데이터의 적어도 일부분을 저장하도록 구성된 복수의 타겟 클라이언트와, 네트워크 통신 채널에 접속되고, 불투명 시퀀스에 따라서 복수의 타겟 클라이언트에 데이터를 저장하도록 구성된 글로벌 시퀀스 관리자를 포함한다.
글로벌 시퀀스 관리자는 고유 데이터 식별자에 대응하는 데이터의 단일 복사본을 저장하고, 이러한 데이터의 단일 복사본을 데이터가 저장된 소스 클라이언트 및 데이터의 동일 복사본이 저장된 제 2 소스 클라이언트에 대해 매핑하도록 또한 구성될 수 있다. 시스템은 각각의 소스 클라이언트와 복수의 타겟 클라이언트의 계약상의 가입을 관리하도록 구성된 가입 관리자를 더 포함할 수 있다. 글로벌 시퀀스 관리자 및 가입 관리자는 소스 클라이언트의 소스 저장 할당 파라미터를 추적하도록 또한 구성될 수 있다. 마찬가지로, 글로벌 시퀀스 관리자 및 가입 관리자는 각각의 복수의 타겟 클라이언트의 타겟 저장 할당 파라미터를 추적하도록 또한 구성될 수 있다. 또한, 글로벌 시퀀스 관리자 및 가입 관리자는 리소스 할당 파라미터를 추적하도록 구성될 수 있다.
리소스 할당 파라미터는 네트워크 할당 파라미터, 클라이언트 프로세서 파라미터, 및 클라이언트 대역폭 파라미터로 이루어진 그룹에서 선택될 수 있다.
다른 측면에서 본 발명을 고려하면, 그리드 컴퓨팅 시스템 내에서 가입된 클라이언트의 계약상의 가입을 관리하는 가입 관리자가 제공되는데, 이러한 가입 관리자는 가입된 클라이언트와 통신하도록 구성된 네트워크 인터페이스와, 가입된 클라이언트로부터의 그리드 애플리케이션 개시 요청을 수신하고, 가입된 클라이언트가 그리드 컴퓨팅 시스템 상에서 그리드 애플리케이션을 개시할 수 있도록 구성된 가입 모듈과, 계약상의 가입에 따라서 클라이언트 가입 요금을 계산하고, 클라이언트 가입 요금의 지불을 요청하도록 구성된 요금 모듈을 포함한다.
그리드 애플리케이션은 그리드 백업 애플리케이션일 수 있다. 요금 모듈은 지정된 시간 주기 동안 적어도 부분적으로 클라이언트 사용 히스토리에 기초하여 클라이언트 가입 요금을 계산하도록 또한 구성된다. 마찬가지로, 요금 모듈은 그리드 컴퓨팅 시스템에 할당된 클라이언트 리소스를 정의하는 클라이언트 리소스 할당 파라미터에 대해 적어도 부분적으로 기반하여 클라이언트 가입 요금을 계산하도록 또한 구성될 수 있다.
또 다른 측면에서 본 발명을 고려하면, 복수의 클라이언트에 걸쳐 데이터를 백업하는 방법이 제공되는데, 이 방법은 소스 클라이언트로부터 백업될 데이터를 요청하는 단계와, 소스 클라이언트로부터 백업될 데이터를 수신하는 단계와, 데이터를 복수의 데이터 패킷으로 분할하는 단계와, 복수의 타겟 클라이언트의 불투명 시퀀스를 생성하는 단계와, 불투명 시퀀스에 따라서 복수의 타겟 클라이언트에 데이터 패킷을 저장하는 단계와, 데이터에 대응하는 고유 데이터 식별자를 이용하여 데이터를 소스 클라이언트에 대해 매핑하는 단계와, 복수의 타겟 클라이언트 상에 백업된 데이터를 기술하는 메타데이터 파일을 관리하는 단계와, 소스 저장 할당 파라미터, 타겟 저장 할당 파라미터, 네트워크 할당 파라미터, 클라이언트 프로세서 파라미터, 및 클라이언트 대역폭 파라미터 중 하나인 리소스 할당 파라미터를 추적하는 단계와, 소스 클라이언트와 복수의 타겟 클라이언트의 계약상의 가입을 관리하는 단계를 포함한다.
다른 측면에서 본 발명을 고려하면, 복수의 클라이언트에 걸쳐 데이터를 백업하는 장치가 제공되는데, 이 장치는 소스 클라이언트로부터 백업될 데이터를 수신하는 수단과, 복수의 타겟 클라이언트의 불투명 시퀀스를 생성하는 수단과, 불투명 시퀀스에 따라서 복수의 타겟 클라이언트에 데이터를 저장하는 수단을 포함한다.
또한, 본 발명의 개시된 피쳐, 이점 및 특성은 하나 이상의 실시예 내에서 임의의 적절한 방식으로 조합될 수 있다. 당업자라면 본 발명이 특정 실시예의 특정 피쳐 또는 이점 중 하나 이상을 포함하지 않고도 실행될 수 있다는 것을 인식할 것이다. 다른 예로서, 소정의 실시예에서는 본 발명의 전체 실시예에 존재하지 않았던 추가적인 피쳐 및 이점이 인식될 수도 있다.
본 발명의 이러한 피쳐 및 이점은 이하의 설명 및 첨부된 청구항으로부터 보다 명확해지거나, 이하에서 제시되는 본 발명의 실행에 의해 획득될 수 있을 것이다.
본 발명의 이점을 용이하게 이해하기 위해서, 앞서 간략히 설명된 본 발명의 보다 상세한 설명은 첨부된 도면에 도시되는 특정 실시예를 참조하여 제공될 수 있을 것이다. 이러한 도면은 본 발명의 전형적인 실시예만을 나타내는 것이고, 그에 따라 그 범주를 한정하도록 간주되지 않으며, 본 발명은 첨부된 도면을 이용하여 추가적인 구체성 및 세부 사항으로 도시 및 설명될 수 있다는 것을 이해해야 한다.
도 1은 본 발명에 따른 그리드 시스템의 일실시예를 도시하는 개략적인 블록도.
도 2는 본 발명에 따른 클라이언트 저장 장치의 일실시예를 도시하는 개략적 인 블록도.
도 3은 본 발명에 따른 그리드 시스템의 다른 실시예를 도시하는 개략적인 블록도.
도 4는 본 발명에 따른 글로벌 시퀀스 관리자의 일실시예를 도시하는 개략적인 블록도.
도 5는 본 발명에 따른 클라이언트의 일실시예를 도시하는 개략적인 블록도.
도 6은 본 발명에 따른 글로벌 클라이언트 프로파일의 일실시예를 도시하는 개략적인 블록도.
도 7은 본 발명에 따른 소스 클라이언트 프로파일의 일실시예를 도시하는 개략적인 블록도.
도 8은 본 발명에 따른 소스 데이터 레코드의 일실시예를 도시하는 개략적인 블록도.
도 9는 본 발명에 따른 타겟 데이터 레코드의 일실시예를 도시하는 개략적인 블록도.
도 10은 본 발명에 따른 데이터 조합 레코드의 일실시예를 도시하는 개략적인 블록도.
도 11 및 도 12는 본 발명에 따른 백업 방법에 대한 일실시예를 도시하는 개략적인 흐름도.
도 13 내지 도 16은 본 발명에 따른 복원 방법의 일실시예를 도시하는 개략적인 흐름도.
본 명세서에 개시된 대부분의 기능 유닛은 그 구현 독립성을 보다 더 강조하기 위해서 모듈로서 라벨링되어 있다. 예를 들면, 모듈은 커스텀 VLSI 회로 또는 게이트 어레이(gate arrays), 로직 칩, 트랜지스터 등과 같은 출하중인(off-the-shelf) 반도체 또는 다른 이산 부품을 포함하는 하드웨어 회로로서 구현될 수 있다. 모듈은 또한 필드 프로그래밍 가능 게이트 어레이, 프로그래밍 가능 어레이 로직, 프로그래밍 가능 로직 장치 등과 같은 프로그래밍 가능 하드웨어 장치로 구현될 수 있다.
모듈은 다양한 타입의 프로세서에 의해 실행되는 소프트웨어로 구현될 수 있다. 실행 가능 코드의 식별된 모듈은 예를 들면, 객체(object), 절차 또는 기능으로서 조직될 수 있는 하나 이상의 컴퓨터 인스트럭션의 물리적 또는 로직 블록을 포함할 수 있다. 그럼에도 불구하고, 식별된 모듈의 실행 가능부는 물리적으로 함께 배치될 필요는 없지만, 서로 다른 위치에 저장되어 함께 논리적으로 결합될 때 모듈을 포함하고 모듈의 언급된 목적을 달성하는 이종의 인스트럭션을 포함할 수 있다.
또한, 실행 가능 코드의 모듈은 단일 인스트럭션이거나 다수의 인스트럭션일 수 있고, 여러 서로 다른 코드 세그먼트에 걸쳐, 서로 다른 프로그램 사이에서, 또한 여러 메모리 장치에 걸쳐 분산될 수 있다. 마찬가지로, 모듈 내에서 운영 데이터가 식별 및 설명될 수 있고, 임의의 적합한 형태로 구현되고 임의의 적합한 타입의 데이터 구조로 조직될 수 있다. 운영 데이터는 단일 데이터 세트로 집합되거 나, 서로 다른 저장 장치에 걸쳐, 이종의 메모리 장치에 걸친 서로 다른 위치에 걸쳐 분포될 수 있고, 적어도 부분적으로는 단지 시스템 또는 네트워크 상의 전자 신호로 존재할 수 있다.
또한, 모듈은 소프트웨어 및 하나 이상의 하드웨어 장치의 조합으로 구현될 수 있다. 예컨대, 모듈은 메모리 장치 상에 저장된 소프트웨어 실행가능 코드의 조합에 포함될 수 있다. 다른 예에서, 모듈은 운영 데이터의 세트에 대해 작동하는 프로세서의 조합일 수 있다. 또한, 모듈은 전송 회로를 통해 통신되는 전자 신호의 조합으로 구현될 수 있다.
본 명세서에 걸쳐 "일실시예" "실시예" 또는 유사 용어에 대한 참조는 실시예와 관련하여 설명된 특정한 피쳐, 구조물 또는 특성이 본 발명에 대한 적어도 하나의 실시예에 포함된다는 것을 의미한다. 본 명세서에 걸쳐 "일실시예" "실시예" 또는 유사 용어가 나타난다는 것은 모두 같은 실시예를 나타내고 있지만, 반드시 그런 것은 아니다.
또한, 본 발명의 개시된 피쳐, 구조 또는 특성은 하나 이상의 실시예에서 임의의 적절한 방식으로 조합될 수 있다. 이하의 설명에서 프로그래밍, 소프트웨어 모듈, 사용자 선택, 네트워크 트랜잭션, 데이터베이스 퀴리, 데이터베이스 구조, 데이터베이스, 하드웨어 모듈, 하드웨어 회로, 하드웨어 칩 등의 다수의 특정 세부 사항이 본 발명의 실시예의 이해를 위해 제공될 것이다. 그러나 당업자는 본 발명이 하나 이상의 특정 세부 사항 없이, 혹은 다른 방법, 구성 요소 또는 다른 물질을 사용해서 실시될 수 있다는 것을 이해할 것이다. 다른 예에서, 잘 알려진 구조 물 재료 또는 작동은 본 발명의 특징을 모호하게 하지 않게 하기 위해서 그 세부적인 설명을 도시하거나 나타내지 않았다.
도 1은 통신 채널(112)을 통해 다수의 클라이언트(104-110), 또는 노드에 접속된 그리드 서버(102)를 포함하는 그리드 시스템(100)을 도시한다. 도시된 그리드 시스템(100)은 근거리 네트워크(LAN)와 유사하고, 통신 채널(112)은 일실시예에서 이더넷(Ethernet) 통신 채널, 무선 통신 채널, 또는 다른 대등한 통신 채널일 수 있다. 마찬가지로, 통신 채널(112)은 여러 타입의 통신 채널의 조합을 포함할 수 있다. 도시된 그리드 시스템(100)은 1개의 그리드 서버(102) 및 4개의 클라이언트(104-110)를 포함하였으나, 그리드 시스템(100)은 더 적거나 많은 클라이언트(104-110), 1개 이상의 서버(102), 또는 다른 서버 구성을 갖는 여러 네트워크 구성의 조합을 포함할 수 있다. 다른 실시예에서, 그리드 시스템(100)은 또한 도 3을 참조하여 도시된 가입 관리자(도시하지 않음)를 포함할 수 있다. 일실시예에서, 그리드 서버(102)는 그리드 시스템(100)의 가입 관리자로서 동시에 동작할 수 있다.
일실시예에서 그리드 시스템(100)은 그리드 애플리케이션을 실행하도록 구성된다. 그리드 애플리케이션은 특정한 목적을 함께 달성하는 작업 항목의 집합이다. 예를 들면, 그리드 애플리케이션은 날씨 예측, 주식 시장 전개 등을 포함하는 매우 복잡한 수학적 계산을 판정할 수 있다. 그리드 애플리케이션은 또한 대형 멀티미디어 동작을 처리할 수 있다. 다른 실시예에서, 그리드 애플리케이션은 대형이고 다양한 양의 데이터에 대한 데이터 백업 동작을 실행할 수 있다. 본 발명이 무수한 다른 그리드 애플리케이션 및 기능에 적용될 수 있지만, 이하의 설명은 그리드 컴퓨팅 환경 내의 데이터 백업 동작에 집중할 것이다.
그리드 애플리케이션은 작업들 또는 단일 단위의 작업으로 분리될 수 있다. 그리드 애플리케이션의 여러 작업은 하나 이상의 여러 노드(104-110) 상에서 동시에, 순차적으로 또는 상호 의존적으로 실행될 수 잇다. 각각의 노드(104-110)는 그리드 애플리케이션의 실행을 위해 그리드 시스템(100)에 소정의 성능 리소스를 할당할 수 있다. 클라이언트(104-110)에 의해 이용 가능해지는 이러한 성능 리소스는 프로세서 성능, 프로세서 용량, 저장 용량, 메모리 용량, 및 다른 유사 리소스를 포함할 수 있다. 일실시예에서, 클라이언트(104-110)는 전체 프로세서 성능, 저장 용량 또는 메모리 용량의 특정 량을 그리드 애플리케이션의 실행을 위해 그리드 시스템(100)에 제공할 수 있다.
각각의 클라이언트(104-110)는 특정 그리드 애플리케이션 내에서 클라이언트(104-110)의 역할에 따라서 소스 클라이언트 또는 타겟 클라이언트로서 작용할 수 있다. 예를 들면, 클라이언트(104-110)가 그리드 애플리케이션을 개시하는 경우에, 클라이언트(104-110)는 소스 클라이언트로서 기능한다. 이와 다르게, 클라이언트(104-110)가 원격 개시형 그리드 애플리케이션의 실행에 이용 가능한 로컬 성능 리소스를 형성하면, 클라이언트(104-110)는 타겟 클라이언트로서 기능한다. 예를 들면, 그리드 백업 동작의 경우에, 소스 클라이언트는 하나 이상의 타겟 클라이언트 상에 백업 데이터 파일을 구비할 수 있고, 여기에서 타겟 클라이언트는 이러한 백업 그리드 애플리케이션을 위해 그리드 시스템(100)에 소정의 이용 가능 저 장 공간을 할당한다.
도 2는 도 1의 그리드 시스템(100) 내의 클라이언트 저장 공간(200)에 대한 일실시예를 도시한다. 도시된 실시예에서, 특정한 클라이언트(104-110) 상의 저장 공간(200)은 사용된 저장 공간(202) 및 자유 저장 공간(204)을 포함할 수 있다. 사용된 저장 공간(202)은 운영 체제 파일(206), 응용 프로그램 파일(208), 데이터 파일(210) 등을 포함하는 데이터를 저장하는 전자 저장 공간이다. 자유 저장 공간(204)은 클라이언트(104-110)의 연산 또는 저장을 위해 특정하게 이용되지 않은 전자 저장 공간이다.
일실시예에서, 자유 저장 공간(204)은 오버플로우(overflow) 저장 공간(212), 이용 가능 저장 공간(214) 및 할당된 저장 공간(216)을 포함할 수 있다. 오버플로우 저장 공간(212)은 윈도우즈TM 운영 체제 내의 페이지 파일과 유사한 응용 프로그램의 실행을 위해 마련된 저장 공간이다. 할당된 저장 공간(216)은 그리드 애플리케이션의 실행 및 그리드 데이터의 저장을 위해 그리드 시스템(100)에 제공될 수 있는 저장 공간이다. 할당된 저장 공간(216)은 이하의 설명을 통해 보다 상세하게 논의될 것이다. 이용 가능 저장 공간(214)은 오버플로우 저장 공간(212) 또는 할당된 저장 공간(216)에 의해 현재 이용되지 않고, 클라이언트(104-110)에 의한 나중의 사용을 위해 마련된 저장 공간일 수 있다.
도 2는 특정 타입의 이용된 저장 공간(202) 및 자유 저장 공간(204)을 도시하지만, 그리드 시스템(100) 상의 특정 클라이언트(104-110)의 저장 공간(200)은 그 크기, 용량 및 이용 가능성이 상이할 수 있고, 특히 그리드 시스템(100)에 제공된 할당된 저장 공간(216)의 양에서 상이할 수 있다. 특정 클라이언트(104-110)의 저장 공간(200)은 또한 이용된 저장 공간(202) 및 자유 저장 공간(204)과 그 세부 분할의 양 및 할당과 관련하여 시간에 걸쳐 변동될 수 있다. 일실시예에서, 할당된 저장 공간은 클라이언트(104-110) 상의 전체 저장 공간(200)에 비해서 최소가 될 수 있다. 이와 다르게, 할당된 저장 공간(216)은 오버플로우 저장 공간(212)을 제외한 전체 자유 저장 공간(204)을 포함할 수 있고, 이러한 경우에 클라이언트(104-110)는 상술된 바와 같은 이용 가능 저장 공간(214)을 구비하지 않을 것이다.
도 3은 도 1의 그리드 시스템(100)과 몇몇 측면에서 유사한 그리드 시스템(300)의 다른 실시예를 도시한다. 도시된 그리드 시스템(300)은 인터넷(302) 상에서 작동하고, 이 인터넷(302)은 그리드 시스템(300)의 여러 다른 구성 요소 사이에 통신 채널을 제공한다. 도시된 그리드 시스템(300)은 또한 도 1에 도시된 그리드 시스템(100)과 유사한 네트워크 시스템(304, 306)을 포함하고, 이들은 도 3의 그리드 시스템(300) 내의 서브-시스템을 형성한다. 추가하여, 그리드 시스템(300)은 인터넷에 직접 접속되어 로컬 네트워크의 일부분을 형성하지 않는 다른 클라이언트(308, 310)를 포함할 수 있다.
그리드 시스템(300)은 또한 본 명세서에서 이하에 보다 상세하게 설명될 가입 관리자(312)를 포함할 수 있다. 가입 관리자(312)는 이와 다르게 그리드 시스템(300) 내의 다른 네트워크 시스템(304, 306)에 접속될 수 있다. 다른 실시예에 서, 그리드 시스템(300)은 독립적으로 정의된 가입 그룹을 각각 관리하는 다수의 가입 관리자(312)를 구비할 수 있다.
상술된 바와 같이, 다른 유사한 그리드 시스템 구성은 도 1 및 도 3에 도시된 그리드 시스템(100, 300)을 대체하거나 그에 추가하여 이용될 수 있다. 이하의 설명에서, 그리드 시스템(100, 300) 중 하나에 대한 참조는 그리드 시스템(100, 300) 중 하나의 제외가 명확히 언급되지 않은 한, 그리드 시스템(100, 300) 중 어느 하나 또는 전부를 상호 교환 가능하게 지칭한다는 것을 의미한다.
도 4는 글로벌 시퀀스 관리자(400)의 일실시예를 도시한다. 일실시예에서, 도시된 글로벌 시퀀스 관리자(400)는 그리드 시스템(100) 상의 데이터 백업 동작을 관리하도록 구성된다. 일실시예에서, 글로벌 시퀀스 관리자(400)는 CPU(central processing unit)(402), 로컬 저장 공간(404), 사용자 인터페이스(406), 네트워크 인터페이스(408), 메모리(410), 및 글로벌 시퀀스 관리 장치(412)를 포함한다. CPU(402)는 일반적으로 글로벌 시퀀스 관리자(400) 내의 연산을 실행하도록 구성된다. 일실시예에서 사용자 인터페이스(406)는 사용자로부터 데이터 및 커맨드의 입력 및 사용자에 대한 출력 데이터의 통신을 가능하게 하는 것을 포함하여 사용자가 글로벌 시퀀스 관리자(400)와의 상호 작용을 허용하도록 구성된다. 일실시예에서 네트워크 인터페이스(408)는 그리드 네트워크(100)의 통신 채널(112)을 거쳐 글로벌 시퀀스 관리자(400)의 네트워크 통신을 용이하게 하도록 구성된다.
일실시예에서 로컬 메모리(410)는 그리드 백업 동작과 관련하여 이용될 수 있는 여러 데이터 및 메타데이터 파일을 저장하도록 구성된다. 다른 실시예에서, 이러한 데이터 및 메타데이터 파일의 일부 또는 전부는 로컬 저장 공간(404) 내에 복제될 수 있다. 다른 실시예에서, 하나 또는 전체의 이들 데이터 및 메타데이터 파일은 메모리(410) 내부가 아니라 오로지 로컬 저장 공간(404)에만 저장될 수 있다. 다른 실시예에서, 하나 또는 전체의 이들 데이터 및 메타데이터 파일은 그리드 시스템(100) 상의 분산형 저장 장치 내에 저장될 수 있다. 본 명세서에서는 "파일"을 참조하였으나, 본 발명은 다른 전자 메모리 및 저장 구조물을 이용하여 실제적으로 동일한 방식으로 작동할 수 있다는 것을 이해할 것이다. 본 명세서에서 데이터 파일 또는 메타데이터 파일에 대한 참조는 이러한 전자 메모리 및 저장 구조물 이외의 것을 동등하게 지칭할 수 있다는 것을 이해할 것이다.
특히, 메모리(410)는 글로벌 클라이언트 프로파일(414), 소스 클라이언트 프로파일(416), 소스 데이터 레코드(418), 타겟 데이터 레코드(420), 데이터 조합 레코드(422) 및 글로벌 백업 로그(424)를 저장할 수 있다. 일실시예에서 글로벌 클라이언트 프로파일(414)은 네트워크 프로파일을 저장하도록 구성되고, 또한 디폴트 클라이언트 프로파일을 저장할 수 있다. 글로벌 클라이언트 프로파일(414)은 도 6을 참조하여 보다 상세하게 설명될 것이다. 일실시예에서, 소스 클라이언트 프로파일(416)은 고유 클라이언트 프로파일을 저장하도록 구성되고, 다른 실시예에서는 데이터 유닛 프로파일을 저장할 수 있다. 소스 클라이언트 프로파일(216)은 도 7을 참조하여 보다 상세하게 설명될 것이다.
일실시예에서 소스 데이터 레코드(418)는 하나 이상의 타겟 클라이언트에 저장된 백업 데이터 파일 또는 그 일부분과 관련된 메타데이터를 저장하도록 구성된 다. 마찬가지로, 일실시예에서 타겟 데이터 레코드(420)는 하나 이상의 타겟 클라이언트에 저장된 백업 데이터 파일 또는 그 일부분과 관련된 메타데이터를 저장하도록 구성된다. 단일 파일 또는 그 일부분에 대한 소스 데이터 레코드(418) 및 타겟 데이터 레코드(420)는 백업 파일에 관한 동일 또는 부분 복제된 메타데이터를 포함할 수 있다. 소스 데이터 레코드(418) 및 타겟 데이터 레코드(420)는 각각 도 8 및 도 9를 참조하여 이하에 보다 상세하게 설명될 것이다.
일실시예에서 데이터 조합 레코드(422)는 복원된 백업 파일이 원래 백업된 파일 내에 저장된 정보를 정확하게 반영하도록 단일 백업 파일에 속하는 정보의 여러 패킷이 조합되어야 하는 순서에 관한 정보를 저장하도록 구성된다. 데이터 조합 레코드(422)는 도 10을 참조하여 보다 상세하게 설명될 것이다. 일실시예에서 글로벌 백업 로그(424)는 소정 시간 주기에 걸쳐 하나 이상의 글로벌 백업 그리드 애플리케이션 동작을 로깅(logs)하는 백업 히스토리를 저장하도록 구성될 수 있다. 이러한 방식으로, 글로벌 백업 로그(424)는 주어진 백업 그리드 애플리케이션의 실행 이전에 존재하는 그리드 또는 클라이언트 상태를 복원할 수 있을 뿐만 아니라 백업 히스토리의 검토를 용이하게 할 것이다.
일실시예에서, 글로벌 시퀀스 관리 장치(412)는 그리드 시스템(100)에 걸친 데이터 백업 동작을 용이하게 하도록 구성된다. 글로벌 시퀀스 관리 장치(412)는 특정 소스 클라이언트에 의해 개시되는 백업 및 복원 동작의 실행을 관리할 수 있다. 도시된 글로벌 시퀀스 관리 장치(412)는 클라이언트 요청 모듈(426), 시퀀스 모듈(428), 글로벌 프로파일 관리 모듈(430), 패킷 저장 모듈(432), 패킷 검색 모 듈(434), 데이터 조합 모듈(436), 압축 모듈(438), 암호화 모듈(440) 및 여분 모듈(442)을 포함한다.
일실시예에서, 클라이언트 요청 모듈(426)은 하나 이상의 파일을 백업하는 소스 클라이언트로부터의 요청을 처리하도록 구성된다. 클라이언트 요청 모듈(426)은 소스 클라이언트로부터 백업될 데이터를 수신하도록 또한 구성될 수 있다. 일실시예에서, 시퀀스 모듈(428)은 백업 데이터가 저장될 수 있는 하나 이상의 타겟 클라이언트를 식별하는 불투명 시퀀스 키를 생성하도록 구성될 수 있다. 불투명 시퀀스 키는 백업 데이터에 대한 소정 보안 레벨을 제공하도록 글로벌 시퀀스 관리자에만 저장되고, 글로벌 시퀀스 관리자에 의해서만 액세스될 수 있다. 시퀀스 키의 불투명 특성은 그의 고유성 및 그 생성, 액세스 가능성 및 복제에 대한 배타성을 지칭한다.
예를 들면, 글로벌 시퀀스 관리자는 각각의 복수의 타겟 클라이언트에 데이터의 패킷 또는 일부분을 저장하는 것에 의해 복수의 타겟 클라이언트에 소스 클라이언트로부터의 데이터를 백업할 수 있다. 소스 클라이언트로부터의 데이터의 일부분은 원격 타겟 클라이언트의 로컬 저장 장치 상에 저장될 수 있으므로, 오로지 글로벌 시퀀스 관리자(400)만 인식하는 순서로 여러 서로 다른 타겟 클라이언트에 백업 데이터를 저장하는 것에 의해 1레벨의 데이터 보안이 제공될 수 있다. 이러한 방식으로, 데이터의 일부분이 특정 타겟 클라이언트 상에서 액세스 가능하다고 해도(백업 데이터가 또한 암호화되어 2레벨의 보안을 추가할지라도), 요청하는 소스 클라이언트에 원래 저장된 데이터를 상당히 또는 완전히 재조합하는 것은 극도 로 어렵거나 불가능할 것이다. 따라서 서로 다른 타겟 클라이언트에 저장되는 데이터의 부분의 크기가 작아짐에 따라, 데이터 보안의 레벨은 증가할 것이다.
일실시예에서, 글로벌 프로파일 관리 모듈(430)은 그리드 시스템(100) 내에 접속된 개별 네트워크에 대한 프로파일을 포함하는 디폴트 및 고유 클라이언트 프로파일의 관리를 용이하게 할 수 있다. 일실시예에서, 글로벌 프로파일 관리 모듈(430)은 상술되고, 각각 도 6 및 도 7을 참조하여 보다 상세히 설명되는 글로벌 클라이언트 프로파일(414) 및 소스 클라이언트 프로파일(416)을 사용자가 정의할 수 있게 한다.
일실시예에서, 패킷 저장 모듈(432)은 소스 클라이언트로부터의 백업 데이터를 그리드 시스템(100) 내의 하나 이상의 타겟 클라이언트에 저장하도록 구성된다. 일실시예에서, 패킷 저장 모듈(432)은 타겟 클라이언트에 백업 데이터를 저장하기 전에 백업 데이터를 균등 또는 불균등 크기의 패킷으로 세부 분할할 수 있다. 다른 실시예에서, 패킷 저장 모듈(432)은 시퀀스 모듈(428)에 의해 생성된 불투명 시퀀스 키에 따라서 하나 이상의 타겟 클라이언트에 백업 데이터 패킷을 저장할 수 있다. 다른 실시예에서, 패킷 저장 모듈(432)은 백업 데이터가 압축 모듈(438)에 의해 압축되거나, 암호화 모듈(440)에 의해 암호화되거나, 여분 모듈(442)에 의해 복제될 수 있게 한 다음에 타겟 클라이언트에 백업 데이터를 저장할 수 있다. 복제된 데이터의 경우에, 패킷 저장 모듈(432)은 또한 불투명 시퀀스 키에 따라서 복제된 백업 데이터를 저장할 수 있다. 일실시예에서, 패킷 저장 모듈(432)은 또한 소스 데이터 레코드(418), 타겟 데이터 레코드(420), 및 데이터 조합 레코드(422) 중 하나 이상을 생성 또는 저장하도록 구성될 수 있다.
일실시예에서, 패킷 검색 모듈(434)은 패킷이 저장될 수 있는 타겟 클라이언트로부터 백업 데이터 패킷 또는 그 복사본을 검색하도록 구성될 수 있다. 일실시예에서, 패킷 검색 모듈(434)은 패킷 저장 모듈(432)에 의해 이용되어 타겟 클라이언트에 백업 데이터 패킷을 이전에 저장한 것과 동일하거나 유사한 불투명 시퀀스 키를 이용할 수 있다.
일실시예에서, 데이터 조합 모듈(436)은 세부 분할 이전에 오리지널 데이터 파일의 포맷과 유사한(동일하지 않은 경우) 인식 가능 포맷(comprehensible format)으로 다수의 백업 데이터 패킷을 조합하도록 구성될 수 있다. 일실시예에서, 데이터 조합 모듈(436)은 오리지널 데이터가 패킷으로 세부 분할되고, 타겟 클라이언트에 저장된 대략적인 그 시간에 생성된 데이터 조합 레코드(422)에 따라서 복원된 데이터를 조합할 수 있다.
상술된 바와 같이, 압축 모듈(438), 암호화 모듈(440), 및 여분 모듈(442)은 각각 데이터가 하나 이상의 타겟 클라이언트에 저장되기 전에 백업 데이터를 수정할 수 있다. 마찬가지로, 압축 모듈(438), 암호화 모듈(440), 및 여분 모듈(442)은 독립적이거나 함께 이용되어 압축 해제, 해독화 등을 통해 오리지널 포맷으로 데이터를 복원하는 데 이용될 수 있다.
도 5는 그리드 시스템(100) 내에서 소스 클라이언트 또는 타겟 클라이언트 중 어느 하나로서 작동 가능한 클라이언트(500)의 일실시예를 도시한다. 도 4의 글로벌 시퀀스 관리자(400)와 마찬가지로, 클라이언트(500)는 CPU(502), 로컬 저장 공간(504), 사용자 인터페이스(506), 네트워크 인터페이스(508), 및 메모리(510)를 포함한다. 도시된 클라이언트(500)는 또한 로컬 시퀀스 관리 장치(512)를 포함한다. 클라이언트(500)의 CPU(502), 사용자 인터페이스(506), 및 네트워크 인터페이스(508)는 글로벌 시퀀스 관리자(400)의 CPU(402), 사용자 인터페이스(406), 및 네트워크 인터페이스(508)와 실질적으로 유사하다. 로컬 저장 공간(504)은 도 2의 저장 공간(200)과 유사하고, 일실시예에서는 도 2를 참조하여 도시된 것과 같이 분할될 수 있다. 예를 들면, 일실시예에서, 저장 공간(504)은 이용된 저장 공간(202)(운영 체제 파일(206), 응용 프로그램 파일(208) 및 데이터 파일(210)을 포함함) 및 자유 저장 공간(204)(오버플로우 저장 공간(212), 이용 가능 저장 공간(214) 및 할당된 저장 공간(216)을 포함함)을 포함할 수 있다.
일실시예에서, 메모리(510)는 그리드 백업 동작과 관련하여 이용될 수 있는 여러 데이터 및 메타데이터 파일을 저장하도록 구성된다. 다른 실시예에서, 이들 데이터 및 메타데이터 파일의 일부 또는 전부는 로컬 저장 공간(504) 내에 복제될 수 있다. 다른 실시예에서, 하나 또는 전체의 이들 데이터 및 메타데이터 파일은 메모리(510)가 아닌 로컬 저장 공간(504)에만 저장될 수 있다. 다른 실시예에서, 하나 또는 전체의 이들 데이터 및 메타데이터 파일은 그리드 시스템(100) 상의 분산형 저장 장치 내에 저장될 수 있다.
일실시예에서, 메모리(510)는 글로벌 클라이언트 프로파일(514), 소스 클라이언트 프로파일(516), 타겟 데이터 레코드(518), 로컬 소스 로그(520), 및 로컬 타겟 로그(522)를 저장할 수 있다. 글로벌 클라이언트 프로파일(514)은 글로벌 시 퀀스 관리자(400)의 글로벌 클라이언트 프로파일(414)과 실질적으로 유사하고, 일실시예에서, 그 하나는 다른 하나의 복사본일 수 있다. 마찬가지로, 소스 클라이언트 프로파일(516)은 글로벌 시퀀스 관리자(400)의 소스 클라이언트 프로파일(416)과 실질적으로 유사하고, 일실시예에서, 그 하나는 다른 하나의 복사본일 수 있다. 마찬가지로, 타겟 데이터 레코드(518)는 글로벌 시퀀스 관리자(400)의 타겟 데이터 레코드(420)와 실질적으로 유사하고, 일실시예에서, 그 하나는 다른 하나의 복사본일 수 있다. 로컬 소스 로그(520) 및 로컬 타겟 로그(522)는 각각 글로벌 백업 로그(424)와 유사하지만, 그 용량에 있어서는 소스 클라이언트 또는 타겟 클라이언트 중 어느 하나와도 구별되도록 클라이언트(500)에 대해 고유한 값을 갖는다. 일실시예에서, 클라이언트(500) 및 글로벌 시퀀스 관리자(400)는 예컨대 단일 클라이언트(104-110) 내에 포함될 수 있다.
일실시예에서, 로컬 시퀀스 관리 장치(512)는 그리드 시스템(100) 상에서 데이터 백업 및 복원 동작을 개시 및 촉진하도록 구성된다. 특정한 일실시예에서, 클라이언트(500)는 소스 클라이언트로서 기능하고, 백업 그리드 애플리케이션을 개시하여 클라이언트(500)의 로컬 저장 공간(504)에 원래 저장된 데이터 파일을 백업한다. 글로벌 시퀀스 관리자(400)의 관리 하에서, 로컬 시퀀스 관리 장치(512)는 그리드 시스템(100) 내의 하나 이상의 원격 타겟 클라이언트(104-110)에 대해 로컬 파일을 백업할 수 있다. 마찬가지로, 클라이언트(500)는 소스 클라이언트로서 기능하고, 복원 그리드 애플리케이션을 개시하여 적절한 타겟 클라이언트(104-110)로부터 백업 데이터 패킷을 복원한다. 다른 실시예에서, 클라이언트(500)는 타겟 클 라이언트로서 기능하고, 원격 소스 클라이언트(104-110)에 원래 저장된 파일 또는 그 일부분의 백업 복사본을 저장한다. 이러한 경우에, 클라이언트(500)는 로컬 저장 공간(504) 내의 할당된 저장 공간(216)을 이용하여 백업 데이터를 저장할 수 있다.
도시된 로컬 시퀀스 관리 장치(512)는 데이터 백업 모듈(524), 데이터 복원 모듈(526), 로컬 프로파일 관리 모듈(528), 및 고유 데이터 식별자 생성 모듈(530)을 포함한다. 일실시예에서, 데이터 백업 모듈(524)은 데이터 백업 요청을 글로벌 시퀀스 관리자(400)에 전송하도록 구성된다. 일실시예에서, 데이터 백업 모듈(524)은 증가형 백업, 차동 백업 등을 포함하는 전체 또는 부분 백업 등과 같은 여러 타입의 백업을 요청할 수 있다. 백업 요청은 클라이언트(500)를 통한 사용자 요청 또는 로컬 네트워크 또는 그리드 시스템(100)을 통한 관리자 요청에 응답하여 개시될 수 있다. 이와 다르게, 백업 요청은 예를 들면, 주간 증가형 백업 절차 등의 예정된 이벤트에 응답하거나 저장 이용 공간 설정 포인트 등과 같은 비동기적 이벤트에 응답하여 개시될 수 있다. 이와 다르게, 백업 요청은 클라이언트(500) 또는 그리드 시스템(100)에서 발생하는 특정 사건 또는 이벤트 등과 같이 유발된 이벤트에 응답하여 개시될 수 있다.
일실시예에서, 데이터 복원 모듈(526)은 데이터 복원 요청을 글로벌 시퀀스 관리자(400)에게 전송하도록 구성된다. 데이터 백업 요청과 마찬가지로, 데이터 복원 요청은 사용자 요청, 저장-실패 또는 로컬 애플리케이션 프로그램으로부터의 요청을 포함하는 하나 이상의 수동 또는 자동 입력에 응답하여 개시될 수 있다. 로컬 프로파일 관리 모듈(528)은 글로벌 시퀀스 관리 장치(412)의 글로벌 프로파일 관리 모듈(430)과 유사하다. 일실시예에서, 로컬 프로파일 관리 모듈(528)은 로컬 프로파일 관리 모듈(528)이 상주하는 클라이언트(500)에 특정된 고유 소스 클라이언트 프로파일(516)을 생성 또는 저장한다. 다른 실시예에서, 로컬 프로파일 관리 모듈(523)은 특정 데이터 유닛에 대해 특정되는 고유 소스 클라이언트 프로파일(516)을 생성 또는 저장할 수 있다.
일실시예에서, 고유 데이터 식별자 생성 모듈(530)은 클라이언트(500)에 상주할 수 있는 각각의 오리지널(백업된 것이 아닌), 고유 데이터 유닛에 대한 고유 데이터 식별자(UDI)를 생성하도록 구성된다. 예를 들면, UDI 생성 모듈(530)은 각각의 데이터 파일 또는 그 일부분에 대한 고유 데이터 식별자(UDI)를 클라이언트(500) 상에 생성 및 할당할 수 있다. 다른 실시예에서, UDI 생성 모듈(530)은 글로벌 시퀀스 관리 장치(412) 상에 상주하고, 데이터 파일의 일부분일 수 있는 각각의 데이터 패킷에 대한 고유 데이터 식별자(UDI)를 할당한다. 고유 데이터 식별자(UDI)는 특정한 데이터 유닛, 파일, 패킷, 또는 그 일부분의 백업 복사본이 특정 타겟 클라이언트 또는 타겟 클라이언트의 세트에 이미 백업되었는지 여부를 판정하는 데 이용될 수 있다. 그 결과가 "예"라면, 글로벌 시퀀스 관리 장치(412)는 다른 성질의 소스 클라이언트로부터 발생된 데이터 유닛의 오리지널 복사본인 경우에도 동일 데이터 유닛의 2배의 백업 복사본을 생성하는 것보다는 기존의 백업 복사본을 참조함으로써 그리드 시스템(100)에 이용 가능한 저장 공간을 보존할 수 있다.
일실시예에서, 로컬 시퀀스 관리 장치(512) 및 글로벌 시퀀스 관리 장치(412)는 단일 장치 상에 상주할 수 있다. 예를 들면, 더 큰 로컬 네트워크의 일부분이 아닌 직접 접속(direct-connect) 클라이언트(308, 310)는 필요에 따라 모두 클라이언트(500) 및 글로벌 시퀀스 관리자(400)로서 동작할 수 있다. 다른 실시예에서, 클라이언트(500)는 글로벌 저장 관리자(400)에 전달하기 전에 데이터 패킷에 패킷화, 압축, 암호화, 복제 등을 실행하는데 필요한 모듈을 구비하도록 구성될 수 있다. 다른 실시예에서, 클라이언트(500) 또는 글로벌 저장 관리자(400) 내의 모듈은 그리드 시스템(100) 내의 여러 장치 사이에 분포될 수 있다.
도 6은 도 4 및 도 5의 글로벌 클라이언트 프로파일(414, 514)과 실질적으로 유사한 글로벌 클라이언트 프로파일(600)의 일실시예를 도시한다. 일실시예에서, 글로벌 클라이언트 프로파일(600)은 글로벌 시퀀스 관리자(400) 및 클라이언트(500) 중 하나 또는 모두에 저장될 수 있다. 도시된 글로벌 클라이언트 프로파일(600)은 네트워크 식별자 필드(602), 네트워크 할당 필드(604), 클라이언트 식별자 필드(606), 클라이언트 패킷 압축 필드(608), 클라이언트 패킷 여분 필드(610), 클라이언트 패킷 암호화 필드(612), 클라이언트 백업 근접도 필드(614), 클라이언트 패킷 근접도 필드(616), 클라이언트 저장 필드(618), 클라이언트 프로세서 필드(620), 클라이언트 대역폭 필드(622), 클라이언트 동기화 필드(624) 및 클라이언트 자동 아카이브(auto archive) 필드(626)를 포함한다.
일실시예에서, 네트워크 식별자 필드(602)는 특정한 네트워크 시스템, 예를 들면, 도 3의 네트워크 시스템(304)에 대한 네트워크 식별자를 그리드 시스템(300) 내에 저장하도록 구성될 수 있다. 일실시예에서, 네트워크 할당 필드(604)는 그리드 시스템(300)에 전용으로 제공된 네트워크 성능 리소스를 나타내는 네트워크 할당 파라미터를 저장할 수 있다. 예를 들면, 네트워크 할당 필드(604)는 그리드 시스템(300)에 전용으로 제공되고 백업 그리드 애플리케이션에 이용 가능한 네트워크 대역폭의 퍼센트를 나타내는 네트워크 대역폭 할당 파라미터를 저장할 수 있다.
일실시예에서, 클라이언트 식별자 필드(606)는 클라이언트 네임 또는 번호 등과 같은 클라이언트 식별 파라미터를 저장하도록 구성될 수 있다. 일실시예에서, 그리드 시스템(100)에 접속된 각각의 클라이언트(500)는 고유 클라이언트 네임에 의해 식별될 수 있다. 다른 실시예에서, 클라이언트 식별자 필드(606) 내에 저장된 클라이언트 식별 파라미터는 네트워크 식별자 필드(602) 내에 저장된 네트워크 식별 파라미터를 포함할 수 있다.
일실시예에서, 클라이언트 백업 근접도 파라미터는 백업 데이터가 저장된 소스 클라이언트 및 타겟 클라이언트 사이의 최소 또는 최대 거리 등과 같은 지리학적 한계를 나타낼 수 있다. 다른 실시예에서, 클라이언트 패킷 근접도 파라미터는 백업 데이터가 저장된 여러 타겟 클라이언트 사이의 최소 또는 최대 거리를 나타낼 수 있다. 이러한 방식으로, 클라이언트 백업 및 패킷 근접도 파라미터는 하나의 패킷에 대한 액세스 가능성은 다른 데이터 패킷의 액세스 가능성에 대해 실질적으로 무관하다는 것이 보장된다. 예를 들면, 소스 클라이언트는 클라이언트 백업 근접도 파라미터를 적절히 조정하는 것에 의해서 소스 클라이언트와는 상이한 도시, 상이한 주 또는 상이한 국가에 존재하는 타겟 클라이언트 내에 백업 데이터가 저장 되도록 요청할 수 있다.
일실시예에서, 클라이언트 백업 및 패킷 근접도 파라미터는 마일 또는 킬로미터 등과 같은 물리적 거리를 나타낼 수 있다. 노드(104-110) 사이의 거리는 예컨대 글로벌 포지셔닝 시스템(global positioning system : GPS) 좌표를 이용하여 계산 또는 측정될 수 있다. 다른 실시예에서, 클라이언트 백업 및 패킷 근접도 파라미터는 로직 거리를 나타낼 수 있다. 예를 들면, 클라이언트 백업 및 패킷 근접도 파라미터는 소스 클라이언트의 인터넷 프로토콜(IP) 어드레스를 참조하고, 서로 다른 네트워크 또는 서브넷(subnet) 내의 타겟 클라이언트에 저장된 백업 패킷을 지정할 수 있다. 다른 실시예에서, 클라이언트 백업 및 패킷 근접도 파라미터는 백업 데이터 패킷이 저장되거나 저장되지 않은 소정의 노드(104-110)를 포괄적 또는 배타적으로 지정할 수 있다.
클라이언트 패킷 압축 필드(608), 클라이언트 패킷 여분 필드(610), 및 클라이언트 패킷 암호화 필드(612)는 각각 디폴트 압축, 여분, 및 암호화 파라미터를 저장하도록 구성될 수 있다. 이러한 파라미터는 예를 들면, 디폴트 파라미터로서 이용될 수 있는 압축의 타입, 암호화 레벨 또는 여분 레벨을 나타낼 수 있다. 마찬가지로, 클라이언트 백업 근접도 필드(614) 및 클라이언트 패킷 근접도 필드(616)는 디폴트 근접도 파라미터를 저장하도록 구성될 수 있다.
일실시예에서, 클라이언트 저장 필드(618)는 그리드 시스템(100)에 제공된 클라이언트 저장 장치의 디폴트 량을 정의하는 디폴트 클라이언트 저장 할당 파라미터를 저장하도록 구성될 수 있다. 마찬가지로, 일실시예에서, 클라이언트 프로 세서 필드(620) 및 클라이언트 대역폭 필드(622)는 그리드 시스템(100)에 제공된 프로세서 기능 및 대역폭의 양을 각각 나타낼 수 있다. 일실시예에서, 각각의 이들 파라미터는 양적인 숫자로 표시될 수 있다. 다른 실시예에서, 이들 파라미터는 각각 이용 가능한 전체 용량에 대한 퍼센트로서 표현될 수 있다.
일실시예에서, 클라이언트 동기화 필드(624)는 글로벌 시퀀스 관리자(400) 상의 글로벌 클라이언트 프로파일(600)이 얼마나 자주 클라이언트(500) 상의 글로벌 클라이언트 프로파일(514) 또는 소스 클라이언트 프로파일(516)과 동기화되어야 하는지를 나타내는 클라이언트 동기화 파라미터를 저장하도록 구성될 수 있다. 일실시예에서, 이러한 동기화는 한 단계의 프로세스이거나, 그와 다르게 클라이언트(500) 상의 글로벌 클라이언트 프로파일(514)과 글로벌 시퀀스 관리자(400) 상의 소스 클라이언트 프로파일(416)을 동기화하는 추가 단계를 포함할 수도 있다. 바람직하게는, 글로벌 클라이언트 프로파일(600)의 다수의 복사본이 클라이언트(500) 및 글로벌 시퀀스 관리자(400) 모두에 존재한다면, 클라이언트(500) 및 글로벌 시퀀스 관리자(400) 모두에 대한 정확한 정보를 제공하는 데 필요하기 때문에 이러한 복사본은 가능한 한 자주 동기화될 것이다.
일실시예에서, 클라이언트 자동 아카이브 필드(626)는 클라이언트 데이터 파일이 얼마나 자주 백업되어야 하는지를 나타내는 클라이언트 자동 아카이브 파라미터를 저장하도록 구성된다. 다른 실시예에서, 클라이언트 자동 아카이브 파라미터는 주어진 자극에 응답하여 (전체 또는 증가형 또는 다른 타입의 백업) 실행되어야 하는 백업의 타입을 나타낼 수 있다.
도 7은 도 4 및 도 5의 소스 클라이언트 프로파일(416, 516)과 실질적으로 동일한 소스 클라이언트 프로파일(700)의 일실시예를 도시한다. 일실시예에서, 소스 클라이언트 프로파일(700)은 글로벌 시퀀스 관리자(400) 및 클라이언트(500) 중 하나 또는 모두에 저장될 수 있다. 도시된 소스 클라이언트 프로파일(700)은 소스 클라이언트 식별자 필드(702), 고유 데이터 식별자(UDI) 필드(704), 데이터 소스 위치 필드(706), 데이터 패킷 압축 필드(708), 데이터 패킷 여분 필드(710), 데이터 패킷 암호화 필드(712), 데이터 백업 근접도 필드(714), 데이터 패킷 근접도 필드(716), 데이터 동기화 필드(718), 및 데이터 시퀀스 키 필드(720)를 포함한다.
일실시예에서, 소스 클라이언트 식별자 필드(702)는 글로벌 클라이언트 프로파일(600)의 클라이언트 식별자 필드(606)와 실질적으로 동일하다. 일실시예에서, 고유 데이터 식별자(UDI) 필드(704)는 특정 데이터 유닛에 대응하는 고유 데이터 식별자(UDI)를 저장하도록 구성될 수 있다. 일실시예에서, 데이터 소스 위치 필드(706)는 소스 클라이언트 상에서 UDI 필드(704) 내에 저장된 고유 데이터 식별자(UDI)에 의해 식별된 오리지널 데이터 유닛의 파일 위치를 식별하도록 구성될 수 있다.
데이터 패킷 압축 필드(708), 데이터 패킷 여분 필드(710), 및 데이터 패킷 암호화 필드(712)는 글로벌 클라이언트 프로파일(600)의 클라이언트 패킷 압축 필드(608), 클라이언트 패킷 여분 필드(610), 및 클라이언트 패킷 암호화 필드(612)와 동일하다. 그러나, 일실시예에서, 소스 클라이언트 프로파일(700) 내의 이러한 필드(708, 710, 712)는 특정 소스 클라이언트 상의 모든 데이터 유닛에 대한 디폴 트 파라미터가 아닌 고유 데이터 식별자(UDI)에 의해 식별된 각각의 데이터 유닛에 대한 실제 파라미터를 저장할 수 있다. 이와 다르게 이들 필드(708, 710, 712)는 모든 데이터 유닛에 대한 동일한 파라미터를 저장하고, 글로벌 클라이언트 프로파일(600) 내에 각 필드(608, 610, 612)로서 동일 파라미터를 저장할 수 있다. 마찬가지로, 데이터 백업 근접도 필드(714) 및 데이터 패킷 근접도 필드(716)는 글로벌 클라이언트 프로파일(600)의 근접도 필드(614, 616)와 동일하다. 그러나, 소스 클라이언트 프로파일(700) 내의 이들 필드(714, 716)는 상술된 필드(708, 710, 712)와 유사하게 각각의 데이터 유닛에 대해 특정한 사용자 정의형 파라미터를 저장할 수 있다.
바람직하게는, 클라이언트(500) 및 글로벌 시퀀스 관리자(400) 모두에 대해 소스 클라이언트 프로파일(700)의 다수의 복사본이 존재하는 경우에, 이러한 복사본은 클라이언트(500) 및 글로벌 시퀀스 관리자(400) 모두에 대한 정확한 정보를 제공하기에 필요한만큼 자주 동기화될 것이다. 일실시예에서, 데이터 동기화 필드(718)는 글로벌 시퀀스 관리자(400) 상의 소스 클라이언트 프로파일(416)이 클라이언트(500) 상의 소스 클라이언트 프로파일(516)과 얼마나 자주 동기화되어야 하는지를 나타내는 클라이언트 동기화 파라미터를 저장하도록 구성될 수 있다. 데이터 동기화 필드(718) 및 파라미터는 글로벌 클라이언트 프로파일(600)의 클라이언트 동기화 필드(624) 및 파라미터와 동일할 수 있다. 적용 가능한 경우에, 소스 클라이언트 프로파일(700)은 또한 글로벌 클라이언트 프로파일(600)의 적어도 일부분과 동기화될 수 있다.
일실시예에서, 데이터 시퀀스 키 필드(720)는 특정 데이터 유닛에 대한 불투명 시퀀스 키를 저장하도록 구성된다. 상술된 바와 같이, 시퀀스 키는 글로벌 시퀀스 관리 장치(412)의 시퀀스 모듈(428)에 의해 생성될 수 있다. 다른 실시예에서, 데이터 시퀀스 키 필드(720)는 실제 시퀀스 키가 아닌 생성 촉진 키(generation stimulus key)를 저장할 수 있다. 이러한 방식으로, 실제 시퀀스 키는 글로벌 시퀀스 관리자(400)에만 저장되고 클라이언트(500)에는 저장되지 않을 수 있다. 다른 실시예에서, 불투명 시퀀스 키는 그리드 시스템(100) 내의 어떤 위치에도 저장되지 않지만, 적어도 생성 촉진 키를 이용하도록 요구되는 때마다 생성 촉진 키를 이용하여 시퀀스 모듈(428)에 의해 생성될 수 있다. 시퀀스 모듈(428)은 또한 필요한 시퀀스 키를 생성하기 위해서 생성 촉진 키와 함께 고유 데이터 식별자(UDI), 데이터 소스 위치 파라미터, 소스 클라이언트 식별자 파라미터 또는 하나 이상의 다른 파라미터를 이용할 수 있다.
도 8은 도 4의 소스 데이터 레코드(418)와 실질적으로 동일한 소스 데이터 레코드(800)에 대한 일실시예를 도시한다. 일실시예에서, 소스 데이터 레코드(800)는 오로지 글로벌 시퀀스 관리자(400)에만 저장된다. 도시된 소스 데이터 레코드(800)는 고유 데이터 식별자(UDI) 필드(802), 패킷 식별자 필드(804) 및 하나 이상의 타겟 식별자 필드(806-810)를 포함한다. 일실시예에서, 소스 데이터 레코드(800)는 각각의 백업 데이터 패킷이 저장된 여러 타겟 클라이언트를 식별한다.
일실시예에서, UDI 필드(802)는 백업 데이터 파일의 고유 데이터 식별자(UDI)를 저장하도록 구성된다. 일실시예에서, 패킷 식별자 필드(804)는 백업 데 이터 파일에 속하는 특정 데이터 패킷에 대한 패킷 식별자를 저장하도록 구성된다. 일실시예에서, 타겟 식별자 필드(806-810)는 백업 데이터 패킷의 복사본이 저장된 타겟 클라이언트에 대응하는 타겟 식별자를 각각 저장하도록 구성된다. 다수의 타겟 식별자(806-810)는 얼마나 많은 타겟 클라이언트가 동일한 데이터 패킷의 복사본을 저장할 수 있는지에 따라서 소스 데이터 레코드(800)에 첨부될 수 있다. 다른 실시예에서, 고유 데이터 식별자(UDI)는 전체 백업 데이터 파일이 아닌 특정 데이터 패킷을 식별할 수 있다. 이러한 경우에, 소스 데이터 레코드(800)는 동등한 수단을 이용하여 오리지널 파일, 데이터 패킷 및 데이터 패킷의 각각의 백업 복사본의 위치를 나타낼 수 있다.
도 9는 도 4 및 도 5의 타겟 데이터 레코드(420, 518)와 실질적으로 동일한 타겟 데이터 레코드(900)에 대한 일실시예를 도시한다. 일실시예에서, 타겟 데이터 레코드(900)는 글로벌 시퀀스 관리자(400) 및 클라이언트(500) 중 하나 또는 모두에 저장될 수 있다. 도시된 타겟 데이터 레코드(900)는 고유 데이터 식별자(UDI) 필드(902), 패킷 식별자 필드(904), 패킷 크기 필드(906), 및 타겟 위치 필드(908)를 포함한다.
일실시예에서, UDI 필드(902)는 백업 데이터 파일의 고유 데이터 식별자(UDI)를 저장하도록 구성된다. 일실시예에서, 패킷 식별자 필드(904)는 백업 데이터 파일에 속하는 특정 데이터 패킷에 대한 패킷 식별자를 저장하도록 구성된다. 일실시예에서, 패킷 크기 필드(906)는 패킷의 크기를 나타내기 위해 패킷 크기 파라미터를 저장하도록 구성된다. 일실시예에서, 타겟 위치 필드(908)는 백업 데이 터 패킷이 저장된 타겟 클라이언트 상의 저장 위치를 나타내도록 구성된다. 이러한 방식으로, 타겟 데이터 레코드(900)는 복원 동작 동안에 소스 클라이언트에 대한 요청된 백업 데이터 패킷의 복원을 촉진할 수 있다. 다른 실시예에서, 고유 데이터 식별자(UDI)는 전체 백업 데이터 파일이 아닌 특정 데이터 패킷을 식별할 수 있다. 이러한 경우에, 타겟 데이터 레코드(900)는 오리지널 파일, 데이터 패킷, 패킷의 크기 및 타겟 클라이언트의 백업 복사본의 위치를 나타내기 위해 동등한 수단을 이용할 수 있다.
도 10은 도 4의 데이터 조합 레코드(422)와 실질적으로 동일한 데이터 조합 레코드(1000)에 대한 일실시예를 도시한다. 일실시예에서, 데이터 조합 레코드(1000)는 오로지 글로벌 시퀀스 관리자(400)에만 저장된다. 데이터 조합 레코드(1000)는 고유 데이터 식별자(UDI) 필드(1002) 및 하나 이상의 패킷 필드(1004a-1004m 내지 1010a-1010m)의 테이블을 포함한다.
일실시예에서, UDI 필드(1002)는 백업 데이터 파일의 고유 데이터 식별자(UDI)를 저장하도록 구성된다. 일실시예에서, 패킷 식별자 필드(1004a-1004m)는 백업 데이터 파일에 속하는 제 1 데이터 패킷의 2중 복사본에 대한 패킷 식별자를 저장하도록 구성된다. 마찬가지로, 일실시예에서, 패킷 식별자 필드(1006a-1006m)는 백업 데이터 파일에 속하는 제 2 데이터 패킷의 패킷 식별자를 저장하도록 구성된다. 마찬가지로, 일실시예에서, 패킷 식별자 필드(1008a-1008m)는 백업 데이터 파일에 속하는 제 3 데이터 패킷의 복사본에 대한 패킷 식별자를 저장하도록 구성된다. 이러한 패턴은 백업 데이터 파일에 속하는 최종 데이터 패킷의 복사본에 대 한 패킷 식별자가 저장된 패킷 식별자 필드(1010a-1010m)에 걸쳐 계속된다. 다른 실시예에서, 고유 데이터 식별자(UDI)는 전체 백업 데이터 파일이 아닌 특정 데이터 패킷을 식별할 수 있다. 이러한 경우에, 데이터 조합 레코드(1000)는 오리지널 파일 및 데이터 패킷의 조합 순서를 나타내기 위해 동등한 수단을 이용할 것이다.
이하의 개략적인 흐름도는 일반적으로 로직 흐름도로서 제시되었다. 이와 같이, 도시된 순서 및 라벨링된 단계는 제시된 프로세스의 일실시예를 나타내는 것이다. 다른 단계 및 프로세스는 기능, 로직 또는 효과에 있어서 대등하다고 간주될 수 있다. 또한, 사용된 포맷 및 기호는 프로세서의 로직 단계를 설명하기 위해 제공되고, 프로세스의 범주를 한정하지 않는 것으로 이해된다. 마찬가지로, 흐름도 내에서 여러 화살표 타입 및 선 타입이 이용될 수 있지만, 이들은 대응하는 프로세스의 범주를 한정하지 않는 것으로 이해된다. 또한, 몇몇 화살표 또는 다른 접속부는 프로세스의 로직 흐름을 나타내기 위해 이용될 수 있다. 예를 들면, 화살표는 도시된 프로세스의 열거된 단계들 간의 열거되지 않은 기간의 대기 또는 모니터링 주기를 나타낼 수 있다.
도 11 및 도 12는 그리드 시스템(100) 상에 데이터를 백업하는 데 이용될 수 있는 백업 방법(1100)에 대한 일실시예를 도시한다. 도시된 백업 방법(1100)은 3개만큼의 구역으로 분할된다. 각각의 구역은 그리드 시스템(100)의 특정 구성 요소에서 발생할 수 있는 하부 프로세스를 나타낸다. 그러나, 백업 프로세스(1100)가 3개의 하부 프로세스로 분할되고, 특정 구성 요소에서 발생하는 것으로 라벨링되어 있다고 해도, 이러한 도시는 하부 프로세스를 특정 구성 요소에 대해 한정하 는 것을 의미하지는 않는다. 사실상, 백업 프로세스(1100) 내의 도시된 단계의 대부분은 그리드 시스템(100) 내의 여러 구성 요소에서 발생되거나 그 구성 요소에 의해 실행될 수 있다. 또한, 단일 하부 프로세스의 모든 단계가 단일 구성 요소에 의해 실행되어야만 하는 것도 아니다. 마찬가지로, 단일 구성 요소는 서로 다른 하부 프로세스로부터의 여러 단계를 실행할 수 있다.
도시된 백업 방법(1100)은 백업될 데이터 유닛에 대한 고유 데이터 식별자(UDI)를 생성(단계(1104))하는 것에 의해 단계(1102)에서 시작된다. 다음에 소스 클라이언트는 글로벌 시퀀스 관리자에 백업 요청을 전달한다(단계(1106)). 다음에 글로벌 시퀀스 관리자(400)는 소스 클라이언트로부터 백업 요청을 수신한다(단계(1110)). 일실시예에서, 백업 요청은 백업될 데이터 유닛의 고유 데이터 식별자(UDI)를 포함한다. 이와 다르게, 고유 데이터 식별자(UDI)는 별도로 송신될 수 있다.
고유 데이터 식별자(UDI)를 이용하여 글로벌 시퀀스 관리자(400)는 그리드 시스템(100) 내에 데이터 유닛의 백업 복사본이 이미 존재하는지 여부에 대해 판정한다(단계(1112)). 고유 데이터 식별자(UDI)에 대응하는 데이터의 백업 복사본이 이미 존재하지 않으면, 글로벌 시퀀스 관리자(400)는 백업될 데이터 유닛의 복사본을 요청하는 소스 클라이언트에 대해 데이터 요청을 전달한다(단계(1202)). 소스 클라이언트는 데이터 요청을 수신한(단계(1204)) 다음, 글로벌 시퀀스 관리자(400)에 데이터 유닛의 복사본을 전달한다(단계(1206)). 도시된 실시예에서, 글로벌 시퀀스 관리자(400)는 소스 클라이언트로부터 데이터 유닛을 수신하고(단계(1208)), 데이터 유닛을 필요한 개수의 데이터 패킷으로 세부 분할하고(단계(1210)), 데이터 유닛에 대한 고유한 불투명 시퀀스 키를 생성한다(단계(1210)).
다음에 글로벌 시퀀스 관리자(400)는 불투명 시퀀스 키에 따라서 타겟 클라이언트에 백업 데이터 패킷을 저장한다(단계(1212)). 각각의 데이터 유닛 또는 그 일부분에 있어서, 글로벌 시퀀스 관리자(400)는 클라이언트(500) 및 데이터 유닛과 연관된 적절한 프로파일(600, 700) 및 레코드(800, 900, 1000)를 생성 또는 수정한다(단계(1214)). 다음에 글로벌 시퀀스 관리자(400)는 백업 동작이 성공적으로 완료되었다는 것을 나타내는 데이터 백업 확인을 소스 클라이언트에 전달한다(단계(1216)). 소스 클라이언트는 글로벌 시퀀스 관리자(400)로부터 데이터 백업 확인을 수신하면(단계(1220)), 더 많은 데이터 유닛이 백업될 필요가 있는지 여부를 판정한다(단계(1222)). "예"라면, 도시된 백업 방법(1100)은 다음 데이터 유닛에 대한 새로운 고유 데이터 식별자(UDI)를 생성하는 단계(단계(1104))로 되돌아간다. "아니오"라면, 도시된 백업 방법(1100)은 종료된다.
이와 다르게, 글로벌 시퀀스 관리자(400)가 그리드 시스템(100) 상에 이미 데이터 유닛의 백업 복사본이 존재한다고 판정하면(단계(1112)), 글로벌 시퀀스 관리자(400)는 기존의 백업의 소스 클라이언트에게 통지한다(단계(1114)). 다음에 도시된 백업 방법(1100)은 상술된 것과 같이 계속 진행된다. 다른 실시예에서, 글로벌 시퀀스 관리자(400)는 기존의 백업의 소스 클라이언트에게 통지(단계(1114))하기 전에 적절한 프로파일(600, 700) 또는 레코드(800, 900, 1000)를 생성 또는 수정한다(단계(1214)).
도 13 내지 도 16은 그리드 시스템(100) 상의 복원 데이터를 이용할 수 있는 복원 방법(1300)에 대한 일실시예를 도시한다. 도시된 복원 방법(1300)은 3개의 구역으로 분할된다. 각각의 구역은 그리드 시스템(100)의 특정 구성 요소 상에서 발생할 수 있는 하부 프로세스를 나타낸다. 그러나, 복원 프로세스(1300)가 3개의 하부 프로세스로 분할되고, 특정 구성 요소 상에서 발생하는 것으로 라벨링되어 있다고 해도, 이러한 도시는 하부 프로세스를 특정 구성 요소에 대해 한정하는 것을 의미하지는 않는다. 사실상, 복원 프로세스(1300) 내의 도시된 단계의 대부분은 그리드 시스템(100) 내의 여러 구성 요소에서 발생되거나 그 구성 요소에 의해 실행될 수 있다. 또한, 단일 하부 프로세스의 모든 단계가 단일 구성 요소에 의해 실행되어야만 하는 것도 아니다. 마찬가지로, 단일 구성 요소는 서로 다른 하부 프로세스로부터의 여러 단계를 실행할 수 있다.
도시된 복원 방법(1300)은 데이터 복원 요청을 글로벌 시퀀스 관리자(400)에 전달(단계(1304))할 때 개시된다(단계(1302)). 일실시예에서, 복원 요청은 복원될 백업 데이터 유닛의 고유 데이터 식별자(UDI)를 포함한다. 이와 다르게, 고유 데이터 식별자(UDI)는 별도로 송신될 수 있다. 글로벌 시퀀스 관리자(400)는, 데이터 복원 요청을 수신하면(단계(1308)), 대응하는 소스 데이터 레코드(800)를 액세스(단계(1310))하여 어떤 타겟 클라이언트가 요청된 데이터 유닛의 백업 데이터 패킷을 저장하는지 판정할 수 있다. 다른 실시예에서, 글로벌 시퀀스 관리자(400)는 대응하는 소스 클라이언트 프로파일(700)을 액세스하고(단계(1310)), 시퀀스 키를 재생산하여 어떤 타겟 클라이언트가 요청된 데이터 유닛의 백업 데이터 패킷을 저 장하는지 판정한다.
다음에 글로벌 시퀀스 관리자(400)는 적절한 타겟 클라이언트에 대해 패킷 요청을 전달한다(단계(1312)). 상술된 바와 같이, 각각의 데이터 패킷의 이중 복사본은 하나 이상의 타겟 클라이언트에 저장될 수 있다. 도시된 실시예에서, 각각의 타겟 클라이언트는 글로벌 시퀀스 관리자(400)로부터 패킷 요청을 수신한다(단계(1318)). 그리드 시스템(100)이 여러 독립적으로 관리되는 네트워크 및 클라이언트를 포함한다면, 타겟 클라이언트 중 일부는 오프라인(offline)이거나, 요청되는 시기에 이용 불가능할 것이다. 타겟 클라이언트가 요청되는 시기에 이용 가능하다면, 타겟 클라이언트는 요청된 패킷이 이용 가능한지 여부를 판정한다(단계(1402)). 이용 가능한 타겟 클라이언트의 일부는 이전에 그리드 리소스로서 이용된 회수(reclaimed)된 저장 공간을 이용하여, 백업 데이터 패킷의 복사본을 파괴하거나 백업 데이터 패킷의 복사본을 형성하는데, 그 이외의 경우에는 그리드 시스템(100)에게 이용 불가능하다.
이용 가능 타겟 클라이언트가 요청된 패킷이 이용 불가능하다고 판정하면(단계(1402)), 타겟 클라이언트는 글로벌 시퀀스 관리자(400)에게 손실된 패킷에 대해 통지한다(단계(1404)). 손실된 패킷에 응답하여, 글로벌 시퀀스 관리자(400)는 요청된 데이터 패킷의 복사본을 갖는 다른 타겟 클라이언트가 이용 가능한지 여부에 대해 판정할 수 있다(단계(1408)). 다른 타겟 클라이언트가 이용 가능하다면, 글로벌 시퀀스 관리자(400)는 이용 가능한 타겟 클라이언트에 대해 패킷 요청을 전달하고(단계(1312)), 도시된 복원 방법(1300)은 상술된 바와 같이 진행된다. 이용 가능 타겟 클라이언트가 요청된 패킷이 이용 가능하다고 판정하면(단계(1402)), 타겟 클라이언트는 요청된 패킷을 글로벌 시퀀스 관리자(400)에게 전달한다(단계(1410)). 다음에 글로벌 시퀀스 관리자(400)는 이용 가능 타겟 클라이언트로부터 요청된 패킷을 수신한다(단계(1414)).
특정 데이터 패킷이 이용 가능한지 여부에 무관하게, 글로벌 시퀀스 관리자(400)는 요청된 데이터 유닛에 대해 추가 데이터 패킷이 필요하고 이용 가능한지에 대해 판정한다(단계(1502)). 더 많은 패킷이 필요하다면, 글로벌 시퀀스 관리자(400)는 대응하는 타겟 클라이언트에게 필요한 패킷 요청을 전달한다(단계(1312)). 다음에 도시된 복원 방법(1300)은 상술된 바와 같이 진행된다.
가능한 경우에 모든 데이터 패킷이 타겟 클라이언트로부터 요청되고 수신되면, 글로벌 시퀀스 관리자는 요청된 데이터 패킷 중 어느 것이 분실, 손실, 손상 또는 이용 불가능한지 여부를 판정할 수 있다(단계(1504)). 일실시예에서, 글로벌 시퀀스 관리자(400)는 손실된 패킷의 여분의 복사본을 액세스하기 위해서 프로파일(600, 700) 내에 저장된 클라이언트 패킷 여분 및 데이터 패킷 여분 파라미터를 참조할 수 있다.
다음에 글로벌 시퀀스 관리자(400)는 오리지널 데이터의 전체 또는 부분을 조립하기에 충분한 개수의 패킷이 검색되었는지 여부를 판정한다(단계(1506)). 충분한 패킷이 이용 가능하면, 글로벌 시퀀스 관리자(400)는 일실시예에서는 데이터 조합 레코드(1000)를 이용하여 데이터를 조합하고(단계(1508)), 소스 클라이언트에 대해 데이터를 전달한다(단계(1510)). 다음에 소스 클라이언트는 글로벌 시퀀스 관리자(400)로부터 부분적 또는 전체적 조합된 데이터를 수신한다(단계(1514)).
백업 및 복원 동작 동안에 몇몇 데이터가 손실되거나 이용 불가능하면, 소스 클라이언트는 데이터가 완전히 또는 충분히 재구성되었는지 여부를 판정한다(단계(1602)). 데이터가 충분히 재구성되었다면, 소스 클라이언트는 추가 데이터 유닛이 복원될 필요가 있는지 여부를 판정하고(단계(1612)), "예"라면, 후속 데이터 복원 요청을 글로벌 시퀀스 관리자(400)에게 전달하는 단계(단계(1304))로 되돌아간다. 다음에 도시된 복원 방법(1300)은 상술된 바와 같이 진행된다.
소스 클라이언트가 요청된 데이터가 충분히 재구성되지 않았다고 판정하면(단계(1602)), 소스 클라이언트는 글로벌 시퀀스 관리자(400)로부터의 나머지 데이터 패킷을 반복적으로 요청한다(단계(1604)). 글로벌 시퀀스 관리자(400)는 모든 복원 시도가 소모되었는지 여부를 판정하고(단계(1608)), "아니오"라면, 후속 패킷 요청을 타겟 클라이언트에 전달(단계(1312))하기 전에 사전 결정된 지연 주기만큼 대기할 수 있다(단계(1610)). 이와 다르게, 글로벌 시퀀스 관리자는 사전 결정된 지연 주기보다는 임의의 지연 주기동안 대기할 수 있다(단계(1610)). 예를 들면, 일실시예에서, 글로벌 시퀀스 관리자(400)는 24시간 동안 대기할 수 있다. 다른 실시예에서, 글로벌 시퀀스 관리자(400)는 후속 패킷 요청을 전달(단계(1312))하기 전에 다른 업무일의 개시 때까지 대기할 수 있다. 이전에 이용 불가능했던 타겟 클라이언트는 이러한 지연 시간 내에서 그리드 시스템(100)에게 이용 가능하게 될 수 있다.
다음에 도시된 복원 방법(1300)은 요청된 데이터 유닛이 완료될 때까지 또는 모든 복원 시도가 소모될 때까지 상기와 같이 계속 진행된다. 모든 데이터 복원 시도가 소모되고, 데이터가 완성되지 않았다면, 글로벌 시퀀스 관리자(400)는 손실된 데이터 및 소모된 시도의 소스 클라이언트에게 통지할 수 있다(단계(1614)). 소스 클라이언트가 글로벌 시퀀스 관리자(400)로부터 손실된 데이터의 통지를 수신(단계(1618))한 다음, 도시된 복원 방법(1300)은 단계(1620)에서 종료한다.
상술된 백업 방법(1100) 및 복원 방법(1300)과 관련하여, 그리드 시스템(100)은 클라이언트(104-110)가 그리드 시스템(100)의 백업 및 복원 기능에 대한 액세스에 지불할 수 있게 하는 클라이언트 가입 프로그램을 운영하는 데 필요한 구성 요소를 필요로 할 것이다. 일실시예에서, 도 3의 가입 관리자(312)는 이러한 타입의 클라이언트 가입 시스템을 관리하도록 구성될 수 있다. 클라이언트 가입 시스템은 여러 소스 및 타겟 클라이언트를 허용할 것이다. 각각의 클라이언트에 대한 가입 요금은 저장될 데이터의 양, 소스 클라이언트에 의해 요구되는 백업의 신뢰성 및 액세스 가능성, 그리드 시스템에 제공된 로컬 클라이언트 성능 리소스의 양 및 시간에 걸친 할당된 리소스의 일관성에 의존할 수 있다. 그리드 시스템(100)의 성능에 영향을 주는 다른 인자는 또한 특정 클라이언트(104-110)의 요금을 결정하는 데 이용될 수 있다.
가입 관리자(312)에 대해 고려하면, 일실시예에서, 가입 관리자(312)는 가입자, 사업자 등으로부터, 또는 가입자, 사업자 등에 대한 그리드 애플리케이션을 위해서 사용자 요금을 결정하는 프로세스에서 수집, 사용 또는 생성된 정보를 관리하고, 서비스의 레벨을 제어하고, 서비스의 사용을 제어하고, 성능 리소스의 기여도 를 제어하는 등의 장치이다.
일실시예에서, 가입 관리자(312)는 적어도 2개의 용도를 제공할 수 있다. 첫 번째로, 사용자에 의한 그리드 리소스의 사용 및/또는 그리드에 대한 사용자의 성능 리소스에 대한 기여도에 기초하여 사용자에게 부과될 사용자 요금을 결정할 수 있다. 두 번째로, 가입 관리자(312)는 그리드 시스템(100) 및 그리드 리소스에 대한 액세스, 사용, 사용 레벨 등을 제어할 수 있다. 가입 관리자(312)는 또한 본 명세서에 설명된 자율 정책(autonomic policies)에 기초하여 그리드 시스템(100)에 클라이언트 성능 리소스의 할당, 기여 레벨 등을 제어할 수 있다.
그리드 시스템(100)에 대한 여러 클라이언트(400)의 가입을 관리하기 위해서, 가입 관리자(312)는 클라이언트 프로파일, 글로벌 프로파일, 및 가입자 프로파일을 생성 및 저장할 수 있다. 일실시예에서, 가입 관리자(312)의 글로벌 프로파일은 특정 가입자에 대한 사용자 요금을 결정하기 위해서 성능 리소스 할당 및 사용에 관한 정보를 포함할 수 있다. 일실시예에서, 가입 관리자(312)의 글로벌 프로파일은 그리드 시스템(100)을 이용하여 모든 성능 리소스 및 클라이언트(400)에 대해 공통적일 수 있다.
일실시예에서, 가입자 프로파일은 특정 가입자에 대한 글로벌 프로파일에 관한 정보를 포함한다. 가입자 프로파일은 클라이언트 성능 리소스 할당 및 국부적으로 발생된 그리드 애플리케이션에 관한 정보를 포함하여 특정 가입자에 관한 정보를 집합할 수 있다. 가입자 프로파일은 가입자에게 부과될 전체 요금을 결정하는 데 이용될 수 있다. 마찬가지로, 일실시예에서, 가입 관리자(312) 내의 클라이 언트 프로파일은 특정 클라이언트(400)에 대응하는 동일 정보를 포함할 수 있다.
일실시예에서, 가입 관리자(312)는 그리드 애플리케이션에 대해 클라이언트(400)에 의한 그리드 시스템(100)의 사용에 있어서 순간 값, 평균 값, 최대 값, 최소 값, 계획 값, 예상 값, 피크 값 등 중에서 하나 이상에 기초하여 사용자 요금을 결정한다. 다른 실시예에서, 가입 관리자(312)는 클라이언트(400)에 의해 그리드 시스템(100)에 대한 클라이언트 성능 리소스의 할당을 추적할 수 있다. 가입 관리자(312)는 기여 레벨에 있어서 순간 값, 평균 값, 최대 값, 최소 값, 계획 값, 예상 값, 피크 값 등 중에서 하나 이상을 추적할 수 있다. 다른 실시예에서, 가입 관리자(312)는 상술된 인자 중 하나 이상의 조합을 추적할 수 있다.
다른 실시예에서, 가입 관리자(312)는 글로벌 자율 관리자(300) 또는 클라이언트(400)에 의한 자율 정책의 실행을 모니터링 및 제어할 수 있다. 예를 들면, 사업자는 백업 검색 그리드 애플리케이션을 위해 그리드 시스템(100)에 가입할 수 있다. 가격을 절감하기 위해서, 사업자는 각각의 접속된 클라이언트(400)로부터 그리드 시스템(100)에 대한 성능 리소스에 기여하도록 결정할 수 있다. 사용자가 특정 클라이언트의 할당된 성능 리소스를 회수하고, 그 기여도를 제로(zero)로 감소시키도록 결정하였다면, 가입 관리자(312)는 클라이언트 프로파일 및 가입자 프로파일을 변경하여 적절한 요금을 결정한다. 가입 관리자(312)의 글로벌 프로파일에 따르면, 그리드 시스템(100)의 글로벌 자율 관리자(300)는 성능 리소스 할당에 대한 상위 및 하위 임계치를 유지함으로써 모든 할당된 리소스의 회수(reclamation)를 방지할 수 있다.
다른 실시예에서, 가입 관리자(312)는 클라이언트(400) 또는 글로벌 자율 관리자(300)에 의해 요청된 정책 변경을 제어할 수 있다. 가입 관리자(312)의 가입자 프로파일은 클라이언트(400)의 리소스 할당 또는 리소스 애플리케이션 사용에 대한 소정의 변경을 방지할 수 있다. 예를 들면, 클라이언트 프로파일은 사전 결정된 지불 주기에서 가입자가 발생시킬 수 있는 전체 비용에 대한 한도를 갖고 있다. 가입 관리자(312)는 이 한도가 초과되었다면 클라이언트(400)에 의한 특정한 사용을 차단할 수 있다.
본 발명은 그 정신 또는 기본적 특성으로부터 벗어나지 않으면서 다른 특정한 형태로 구현될 수 있다. 개시된 실시예는 오로지 예시적인 것으로만 고려되고 한정적인 것으로는 고려되지 않는다. 그러므로, 본 발명의 범주는 상술된 설명이 아니라 이하의 청구항에 의해 나타난다. 청구항의 균등의 의미와 범위에 속하는 모든 변경은 본 발명의 범주에 속하는 것으로 포함된다.

Claims (30)

  1. 복수의 클라이언트에 걸쳐 데이터를 백업(backing up)하는 시퀀스 관리 장치로서,
    실행가능 코드를 저장하는 저장 장치와,
    상기 실행가능 코드를 실행하는 프로세서를 포함하되,
    상기 실행가능 코드는,
    소스 클라이언트로부터 백업될 데이터를 수신하는 클라이언트 요청 모듈 -상기 데이터는 복수의 백업 데이터 패킷을 포함함- 과,
    상기 복수의 백업 데이터 패킷이 상기 소스 클라이언트에서 복수의 타겟 클라이언트로 저장되는 순으로 배열된 상기 복수의 백업 데이터 패킷의 각각에 대한 패킷 식별자를 포함하는 불투명 시퀀스(non-transparent sequence)를 생성하는 시퀀스 모듈 -상기 불투명 시퀀스는 고유하며 상기 시퀀스 관리 장치에 배타적으로 액세스 가능함- 과,
    상기 불투명 시퀀스에 따라서 상기 복수의 타겟 클라이언트에 상기 데이터를 저장하는 패킷 저장 모듈 -상기 소스 클라이언트 및 상기 복수의 타겟 클라이언트는 그리드 컴퓨팅 시스템에서 구성되고, 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 패킷 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 패킷 근접도 최대 거리 파라미터보다 크지 않으며, 상기 소스 클라이언트와 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 백업 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 백업 근접도 최대 거리 파라미터보다 크지 않으며, 상기 지정된 클라이언트 패킷 근접도 최소 거리 파라미터, 상기 지정된 클라이언트 패킷 근접도 최대 거리 파라미터, 상기 지정된 클라이언트 백업 근접도 최소 거리 파라미터 및 상기 지정된 클라이언트 백업 근접도 최대 거리 파라미터는 각각 마일 및 킬로미터로부터 선택된 단위로 측정된 거리 값을 지정함- 과,
    상기 복수의 타겟 클라이언트 상에 백업된 상기 복수의 백업 데이터 패킷을 검색하는 패킷 검색 모듈과,
    상기 패킷 식별자의 상기 불투명 시퀀스로 상기 검색된 복수의 백업 데이터 패킷을 조합하는 데이터 조합 모듈을 포함하는
    시퀀스 관리 장치.
  2. 제 1 항에 있어서,
    상기 실행가능 코드는 메타데이터 파일(metadata file)을 관리하는 글로벌 프로파일 관리 모듈(global profile management module)을 더 포함하되,
    상기 메타데이터 파일은 상기 복수의 타겟 클라이언트 상에 백업된 상기 데이터를 기술하는
    시퀀스 관리 장치.
  3. 청구항 3은(는) 설정등록료 납부시 포기되었습니다.
    제 2 항에 있어서,
    상기 메타데이터 파일은 글로벌 클라이언트 프로파일, 소스 클라이언트 프로파일, 소스 데이터 레코드, 타겟 데이터 레코드, 데이터 조합 레코드 및 글로벌 백업 로그(global backup log)로 이루어진 그룹으로부터 선택되는
    시퀀스 관리 장치.
  4. 청구항 4은(는) 설정등록료 납부시 포기되었습니다.
    제 2 항에 있어서,
    상기 글로벌 프로파일 관리 모듈은 또한 상기 데이터에 대응하는 고유 데이터 식별자를 이용하여 상기 데이터를 상기 소스 클라이언트로 매핑하되,
    상기 고유 데이터 식별자는 원래의 백업되지 않은 데이터를 식별하고 다른 데이터와 비교해서 상기 데이터의 고유성을 나타내는
    시퀀스 관리 장치.
  5. 청구항 5은(는) 설정등록료 납부시 포기되었습니다.
    제 3 항에 있어서,
    상기 글로벌 프로파일 관리 모듈은 또한 고유 데이터 식별자를 상기 데이터의 동일 복사본이 저장된 제 2 소스 클라이언트로 매핑하는
    시퀀스 관리 장치.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 패킷 검색 모듈은 또한 상기 시퀀스 모듈에 의해 생성된 상기 불투명 시퀀스에 따라서 상기 복수의 타겟 클라이언트 중 하나 상에 백업된 상기 데이터의 적어도 일부분을 검색하는
    시퀀스 관리 장치.
  8. 삭제
  9. 제 1 항에 있어서,
    상기 패킷 저장 모듈은 또한 상기 데이터를 상기 복수의 백업 데이터 패킷으로 분리하는
    시퀀스 관리 장치.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 복수의 타겟 클라이언트에 걸쳐 데이터를 백업하는 방법으로서,
    프로세서를 사용하여, 소스 클라이언트로부터 백업될 데이터를 수신하는 단계 -상기 데이터는 복수의 백업 데이터 패킷을 포함함- 와,
    상기 복수의 백업 데이터 패킷이 상기 소스 클라이언트에서 상기 복수의 타겟 클라이언트로 저장되는 순으로 배열된 상기 복수의 백업 데이터 패킷의 각각에 대한 패킷 식별자를 포함하는 불투명 시퀀스를 생성하는 단계 -상기 불투명 시퀀스는 고유하며 글로벌 시퀀스 관리자에 배타적으로 액세스 가능함- 와,
    상기 불투명 시퀀스에 따라서 상기 복수의 타겟 클라이언트에 상기 데이터를 저장하는 단계 -상기 소스 클라이언트 및 상기 복수의 타겟 클라이언트는 그리드 컴퓨팅 시스템에서 구성되고, 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 패킷 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 패킷 근접도 최대 거리 파라미터보다 크지 않으며, 상기 소스 클라이언트와 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 백업 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 백업 근접도 최대 거리 파라미터보다 크지 않으며, 상기 지정된 클라이언트 패킷 근접도 최소 거리 파라미터, 상기 지정된 클라이언트 패킷 근접도 최대 거리 파라미터, 상기 지정된 클라이언트 백업 근접도 최소 거리 파라미터 및 상기 지정된 클라이언트 백업 근접도 최대 거리 파라미터는 각각 마일 및 킬로미터로부터 선택된 단위로 측정된 거리 값을 지정함- 와,
    상기 복수의 타겟 클라이언트 상에 백업된 상기 복수의 백업 데이터 패킷을 검색하는 단계와,
    상기 패킷 식별자의 상기 불투명 시퀀스로 상기 검색된 복수의 백업 데이터 패킷을 조합하는 단계를 포함하는
    데이터 백업 방법.
  17. 시퀀스 관리 장치와 함께 복수의 타겟 클라이언트에 걸쳐 데이터를 백업하는 클라이언트로서,
    상기 시퀀스 관리 장치와 통신하는 네트워크 인터페이스와,
    할당된 저장부를 정의하는 저장부와,
    실행가능 코드를 저장하는 저장 장치와,
    상기 실행가능 코드를 실행하는 프로세서를 포함하되,
    상기 실행가능 코드는,
    고유 데이터 식별자 및 불투명 시퀀스를 사용하여 그리드 컴퓨팅 시스템을 통해 소스 클라이언트로부터 상기 복수의 타겟 클라이언트로 복수의 백업 데이터 패킷을 포함하는 데이터를 백업하는 백업 동작을 관리하는 클라이언트 백업 관리자 장치를 포함하되,
    상기 불투명 시퀀스는 상기 복수의 백업 데이터 패킷이 상기 복수의 타겟 클라이언트 상에 저장되는 순으로 배열된 상기 복수의 백업 데이터 패킷의 각각에 대한 패킷 식별자를 포함하고, 상기 불투명 시퀀스는 고유하고 상기 시퀀스 관리 장치에 배타적으로 액세스 가능하며, 상기 고유 데이터 식별자는 원래의 백업되지 않은 데이터를 식별하고,
    상기 복수의 타겟 클라이언트는 상기 그리드 컴퓨팅 시스템에서 구성되며,
    백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 패킷 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 패킷 근접도 최대 거리 파라미터보다 크지 않으며, 상기 소스 클라이언트와 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 백업 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 백업 근접도 최대 거리 파라미터보다 크지 않으며, 상기 지정된 클라이언트 패킷 근접도 최소 거리 파라미터, 상기 지정된 클라이언트 패킷 근접도 최대 거리 파라미터, 상기 지정된 클라이언트 백업 근접도 최소 거리 파라미터 및 상기 지정된 클라이언트 백업 근접도 최대 거리 파라미터는 각각 마일 및 킬로미터로부터 선택된 단위로 측정된 거리 값을 지정하고, 상기 클라이언트 백업 관리자 장치는 또한 상기 복수의 클라이언트 상에 백업된 상기 복수의 백업 데이터 패킷을 검색하고, 상기 패킷 식별자의 상기 불투명 시퀀스로 상기 검색된 복수의 백업 데이터 패킷을 조합하는
    데이터 백업 클라이언트.
  18. 복수의 클라이언트에 걸쳐 데이터를 백업하는 시스템으로서,
    네트워크 통신 채널과,
    상기 네트워크 통신 채널에 접속되고, 복수의 백업 데이터 패킷을 포함하는 데이터에 대한 데이터 백업 동작을 개시하는 소스 클라이언트와,
    상기 네트워크 통신 채널에 접속된 복수의 타겟 클라이언트와,
    실행가능 코드를 저장하는 저장 장치와,
    상기 실행가능 코드를 실행하는 프로세서를 포함하되,
    상기 실행가능 코드는,
    상기 네트워크 통신 채널에 접속되고, 상기 복수의 백업 데이터 패킷이 상기 복수의 타겟 클라이언트 상에 저장되는 순으로 배열된 상기 복수의 백업 데이터 패킷의 각각에 대한 패킷 식별자를 포함하는 불투명 시퀀스에 따라 상기 데이터를 상기 소스 클라이언트에서 상기 복수의 타겟 클라이언트로 저장하는 글로벌 시퀀스 관리자를 포함하되,
    상기 불투명 시퀀스는 고유하고 상기 글로벌 시퀀스 관리자에 배타적으로 액세스 가능하며, 상기 소스 클라이언트 및 상기 복수의 타겟 클라이언트는 그리드 컴퓨팅 시스템에서 구성되고,
    백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 패킷 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 패킷 근접도 최대 거리 파라미터보다 크지 않으며, 상기 소스 클라이언트와 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 백업 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 백업 근접도 최대 거리 파라미터보다 크지 않으며, 상기 지정된 클라이언트 패킷 근접도 최소 거리 파라미터, 상기 지정된 클라이언트 패킷 근접도 최대 거리 파라미터, 상기 지정된 클라이언트 백업 근접도 최소 거리 파라미터 및 상기 지정된 클라이언트 백업 근접도 최대 거리 파라미터는 각각 마일 및 킬로미터로부터 선택된 단위로 측정된 거리 값을 지정하고, 상기 글로벌 시퀀스 관리자는 또한 상기 복수의 타겟 클라이언트 상에 백업된 상기 복수의 백업 데이터 패킷을 검색하고 상기 패킷 식별자의 상기 불투명 시퀀스로 상기 검색된 복수의 백업 데이터 패킷을 조합하는
    데이터 백업 시스템.
  19. 복수의 클라이언트에 걸쳐 데이터를 백업하는 방법으로서,
    프로세서를 사용하여, 소스 클라이언트로부터 백업될 데이터를 요청하는 단계와,
    소스 클라이언트로부터 백업될 데이터를 수신하는 단계와,
    상기 데이터를 복수의 백업 데이터 패킷으로 분리하는 단계와,
    상기 복수의 백업 데이터 패킷이 상기 소스 클라이언트에서 복수의 타겟 클라이언트로 저장되는 순으로 배열된 상기 복수의 백업 데이터 패킷의 각각에 대한 패킷 식별자를 포함하는 불투명 시퀀스를 생성하는 단계 -상기 불투명 시퀀스는 고유하며 글로벌 시퀀스 관리자에 배타적으로 액세스 가능함- 와,
    상기 불투명 시퀀스에 따라서 상기 복수의 타겟 클라이언트에 상기 백업 데이터 패킷을 저장하는 단계 -상기 소스 클라이언트 및 상기 복수의 타겟 클라이언트는 그리드 컴퓨팅 시스템에서 구성되고, 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 패킷 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 패킷 근접도 최대 거리 파라미터보다 크지 않으며, 상기 소스 클라이언트와 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 백업 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 백업 근접도 최대 거리 파라미터보다 크지 않으며, 상기 지정된 클라이언트 패킷 근접도 최소 거리 파라미터, 상기 지정된 클라이언트 패킷 근접도 최대 거리 파라미터, 상기 지정된 클라이언트 백업 근접도 최소 거리 파라미터 및 상기 지정된 클라이언트 백업 근접도 최대 거리 파라미터는 각각 마일 및 킬로미터로부터 선택된 단위로 측정된 거리 값을 지정함- 와,
    상기 데이터에 대응하는 고유 데이터 식별자를 사용하여 상기 데이터를 상기 소스 클라이언트로 매핑하는 단계와,
    상기 복수의 타겟 클라이언트 상에 백업된 상기 데이터를 기술하는 메타데이터 파일을 관리하는 단계와,
    리소스 할당 파라미터를 추적하는 단계 -상기 리소스 할당 파라미터는 소스 저장부 할당 파라미터, 타겟 저장부 할당 파라미터, 네트워크 할당 파라미터, 클라이언트 프로세서 파라미터 및 클라이언트 대역폭 파라미터 중 하나임- 와,
    상기 소스 클라이언트 및 상기 복수의 타겟 클라이언트의 계약상의 가입을 관리하는 단계와,
    상기 복수의 타겟 클라이언트 상에 백업된 상기 복수의 백업 데이터 패킷을 검색하는 단계와,
    상기 패킷 식별자의 상기 불투명 시퀀스로 상기 검색된 복수의 백업 데이터 패킷을 조합하는 단계를 포함하는
    데이터 백업 방법.
  20. 복수의 클라이언트에 걸쳐 데이터를 백업하는 방법을 수행하도록 프로세서에서 실행되는 실행가능 코드를 저장하는 프로그램가능 하드웨어 장치로서,
    상기 데이터 백업 방법은,
    소스 클라이언트로부터 백업될 데이터를 수신하는 단계 -상기 데이터는 복수의 백업 데이터 패킷을 포함함- 와,
    상기 복수의 백업 데이터 패킷이 상기 소스 클라이언트에서 복수의 타겟 클라이언트로 저장되는 순으로 배열된 상기 복수의 백업 데이터 패킷의 각각에 대한 패킷 식별자를 포함하는 불투명 시퀀스를 생성하는 단계 -상기 불투명 시퀀스는 고유하며 글로벌 시퀀스 관리자에 배타적으로 액세스 가능함- 와,
    상기 불투명 시퀀스에 따라서 상기 복수의 타겟 클라이언트에 상기 데이터를 저장하는 단계 -상기 소스 클라이언트 및 상기 복수의 타겟 클라이언트는 그리드 컴퓨팅 시스템에서 구성되고, 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 패킷 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 패킷 근접도 최대 거리 파라미터보다 크지 않으며, 상기 소스 클라이언트와 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 백업 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 백업 근접도 최대 거리 파라미터보다 크지 않으며, 상기 지정된 클라이언트 패킷 근접도 최소 거리 파라미터, 상기 지정된 클라이언트 패킷 근접도 최대 거리 파라미터, 상기 지정된 클라이언트 백업 근접도 최소 거리 파라미터 및 상기 지정된 클라이언트 백업 근접도 최대 거리 파라미터는 각각 마일 및 킬로미터로부터 선택된 단위로 측정된 거리 값을 지정함- 와,
    상기 복수의 타겟 클라이언트 상에 백업된 상기 복수의 백업 데이터 패킷을 검색하는 단계와,
    상기 패킷 식별자의 상기 불투명 시퀀스로 상기 검색된 복수의 백업 데이터 패킷을 조합하는 단계를 포함하는
    프로그램가능 하드웨어 장치.
  21. 복수의 클라이언트에 걸쳐 데이터를 백업하는 장치로서,
    실행가능 코드를 저장하는 저장 장치와,
    상기 실행가능 코드를 실행하는 프로세서를 포함하되,
    상기 실행가능 코드는,
    소스 클라이언트로부터 백업될 데이터를 수신하는 수단 -상기 데이터는 고유 데이터 식별자를 사용하여 상기 소스 클라이언트로 매핑되는 복수의 백업 데이터 패킷을 포함함- 과,
    상기 복수의 백업 데이터 패킷이 상기 소스 클라이언트에서 복수의 타겟 클라이언트로 저장되는 순으로 배열된 상기 복수의 백업 데이터 패킷의 각각에 대한 패킷 식별자를 포함하는 불투명 시퀀스를 생성하는 수단 -상기 불투명 시퀀스는 고유하며 상기 장치에 배타적으로 액세스 가능함- 과,
    상기 불투명 시퀀스에 따라서 상기 복수의 타겟 클라이언트에 상기 데이터를 저장하는 수단 -상기 소스 클라이언트 및 상기 복수의 타겟 클라이언트는 그리드 컴퓨팅 시스템에서 구성되고, 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 패킷 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 패킷 근접도 최대 거리 파라미터보다 크지 않으며, 상기 소스 클라이언트와 백업 데이터 패킷을 저장하는 각각의 타겟 클라이언트 사이의 각각의 물리적 거리는 지정된 클라이언트 백업 근접도 최소 거리 파라미터보다 작지 않고 지정된 클라이언트 백업 근접도 최대 거리 파라미터보다 크지 않으며, 상기 지정된 클라이언트 패킷 근접도 최소 거리 파라미터, 상기 지정된 클라이언트 패킷 근접도 최대 거리 파라미터, 상기 지정된 클라이언트 백업 근접도 최소 거리 파라미터 및 상기 지정된 클라이언트 백업 근접도 최대 거리 파라미터는 각각 마일 및 킬로미터로부터 선택된 단위로 측정된 거리 값을 지정함- 과,
    상기 복수의 타겟 클라이언트 상에 백업된 상기 복수의 백업 데이터 패킷을 검색하는 수단과,
    상기 패킷 식별자의 상기 불투명 시퀀스로 상기 검색된 복수의 백업 데이터 패킷을 조합하는 수단을 포함하는
    데이터 백업 장치.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020067011574A 2003-12-15 2004-11-08 시퀀스 관리 장치, 데이터 백업 방법, 데이터 백업 클라이언트, 데이터 백업 시스템, 프로그램가능 하드웨어 장치 및 데이터 백업 장치 KR100985443B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/736,413 2003-12-15
US10/736,413 US7698428B2 (en) 2003-12-15 2003-12-15 Apparatus, system, and method for grid based data storage

Publications (2)

Publication Number Publication Date
KR20060123310A KR20060123310A (ko) 2006-12-01
KR100985443B1 true KR100985443B1 (ko) 2010-10-06

Family

ID=34700448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067011574A KR100985443B1 (ko) 2003-12-15 2004-11-08 시퀀스 관리 장치, 데이터 백업 방법, 데이터 백업 클라이언트, 데이터 백업 시스템, 프로그램가능 하드웨어 장치 및 데이터 백업 장치

Country Status (8)

Country Link
US (1) US7698428B2 (ko)
EP (1) EP1698143B1 (ko)
KR (1) KR100985443B1 (ko)
CN (1) CN1894930B (ko)
AT (1) ATE539534T1 (ko)
CA (1) CA2546182C (ko)
TW (1) TWI304536B (ko)
WO (1) WO2005060201A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7681104B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
US8103632B2 (en) * 2005-04-22 2012-01-24 Microsoft Corporation Self-contained partial database backups
TW200638190A (en) * 2005-04-28 2006-11-01 Farstone Tech Inc Backup/recovery system and the method thereof
US8086707B2 (en) * 2005-06-30 2011-12-27 Intel Corporation Systems and methods for grid agent management
US20070130236A1 (en) * 2005-12-05 2007-06-07 International Buisiness Machines Corporation Method, apparatus and program storage device for providing real-time file system charge-back accounting per management object during a report cycle
US7716180B2 (en) 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
JP5068071B2 (ja) * 2006-12-27 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ上のデータを、クライアントのキャッシュを利用してバックアップする装置および方法。
DE102007041092A1 (de) * 2007-08-30 2009-03-05 Vodafone Holding Gmbh Elektronisches Endgerät, externes Speichersystem und Verfahren zum Betrieb eines externen Speichersystems
US7835286B2 (en) * 2008-01-11 2010-11-16 Alcatel Lucent Dynamic multi-objective grid resources access
US8352540B2 (en) * 2008-03-06 2013-01-08 International Business Machines Corporation Distinguishing data streams to enhance data storage efficiency
US20100088268A1 (en) * 2008-10-02 2010-04-08 International Business Machines Corporation Encryption of data fragments in a peer-to-peer data backup and archival network
CN101729255B (zh) * 2008-10-16 2012-11-28 ***股份有限公司 用于多应用环境的参与方自治管理的管理权分配方法
US8307087B1 (en) * 2009-02-11 2012-11-06 Hydrabyte, Inc. Method and system for sharing data storage over a computer network
US8238244B2 (en) 2009-08-10 2012-08-07 Micron Technology, Inc. Packet deconstruction/reconstruction and link-control
CN102037772B (zh) * 2009-12-07 2015-06-03 高通股份有限公司 在td-scdma上行链路同步中提高同步移位命令传输效率的方法和装置
US11301592B2 (en) * 2010-01-28 2022-04-12 Pure Storage, Inc. Distributed storage with data obfuscation and method for use therewith
US9417969B2 (en) 2010-05-13 2016-08-16 Sony Corporation Distributed network backup of multimedia files
CN102480504B (zh) * 2010-11-30 2015-06-10 金蝶软件(中国)有限公司 一种枚举数据的访问方法及***
US9703610B2 (en) * 2011-05-16 2017-07-11 Oracle International Corporation Extensible centralized dynamic resource distribution in a clustered data grid
US8676227B2 (en) * 2011-05-23 2014-03-18 Transcend Information, Inc. Method of performing a data transaction between a portable storage device and an electronic device
DE102013220425A1 (de) * 2013-10-10 2015-04-16 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines integrierten Steuerbausteinszur Berechnung von datenbasierten Funktionsmodellen
JP6227378B2 (ja) 2013-11-08 2017-11-08 株式会社日立製作所 バックアップ管理システムおよびバックアップ管理方法
CN103841177A (zh) * 2013-11-08 2014-06-04 汉柏科技有限公司 一种云计算基于网格化的数据存储***和方法
US10169164B1 (en) * 2013-12-27 2019-01-01 EMC IP Holding Company LLC Backups using application maps
US9442803B2 (en) 2014-06-24 2016-09-13 International Business Machines Corporation Method and system of distributed backup for computer devices in a network
KR102454916B1 (ko) * 2016-01-11 2022-10-14 한화테크윈 주식회사 설정 백업 장치 및 방법
CN107220142B (zh) * 2016-03-22 2020-10-09 阿里巴巴集团控股有限公司 执行数据恢复操作的方法及装置
CN106095618A (zh) * 2016-06-06 2016-11-09 北京中油瑞飞信息技术有限责任公司 数据操作的方法和***
CN106131147A (zh) * 2016-06-29 2016-11-16 宁波市由乐讯通讯科技有限公司 一种移动端和服务器端消息进行同步的方法及***
CN106131148A (zh) * 2016-06-29 2016-11-16 宁波市由乐讯通讯科技有限公司 一种智能移动端和服务器端消息进行同步的方法及***
CN108475254A (zh) * 2016-12-16 2018-08-31 华为技术有限公司 对象复制方法、装置及对象存储设备
US11199994B1 (en) * 2018-11-14 2021-12-14 Amazon Technologies, Inc. Decoupling data request rate from hardware medium for archival data storage devices
CN110175179B (zh) * 2019-04-15 2021-09-10 浙江大华技术股份有限公司 数据传输方法及***、服务节点、存储装置
US11416159B2 (en) * 2019-04-29 2022-08-16 EMC IP Holding Company LLC Method and system for prioritizing critical data object storage during backup operations
CN112131041A (zh) * 2019-06-24 2020-12-25 伊姆西Ip控股有限责任公司 用于管理数据放置的方法、设备和计算机程序产品
KR102072700B1 (ko) * 2019-07-31 2020-02-03 (주)소울시스템즈 전수 패킷 처리 기반의 실시간 애플리케이션 성능 모니터링 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505216B1 (en) * 1999-10-01 2003-01-07 Emc Corporation Methods and apparatus for backing-up and restoring files using multiple trails
US20040083245A1 (en) 1995-10-16 2004-04-29 Network Specialists, Inc. Real time backup system
US6883110B1 (en) * 2001-06-18 2005-04-19 Gateway, Inc. System and method for providing a data backup of a server on client systems in a network

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2591774B1 (fr) * 1985-11-06 1996-07-12 Canon Kk Systeme de fichier
US5771354A (en) * 1993-11-04 1998-06-23 Crawford; Christopher M. Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
GB9604987D0 (en) * 1996-03-08 1996-05-08 Ibm Data management system and method for replicated data
US5956733A (en) * 1996-10-01 1999-09-21 Fujitsu Limited Network archiver system and storage medium storing program to construct network archiver system
US6173376B1 (en) * 1996-10-03 2001-01-09 International Business Machines Corp. Data backup and restore method and system in a multisystem environment
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6189079B1 (en) * 1998-05-22 2001-02-13 International Business Machines Corporation Data copy between peer-to-peer controllers
US6526418B1 (en) * 1999-12-16 2003-02-25 Livevault Corporation Systems and methods for backing up data files
US20010039497A1 (en) * 2000-03-30 2001-11-08 Hubbard Edward A. System and method for monitizing network connected user bases utilizing distributed processing systems
US6571257B1 (en) * 2000-06-07 2003-05-27 Hewlett-Packard Development Company, L.P. Efficient, real-time management of storage resources
US7296088B1 (en) * 2000-11-17 2007-11-13 Microsoft Corporation System and method for determining the geographic location of internet hosts
US20020138320A1 (en) * 2000-12-26 2002-09-26 Appareon System, method and article of manufacture for global, device-independent deployment of a supply chain management system
US20020124137A1 (en) * 2001-01-29 2002-09-05 Ulrich Thomas R. Enhancing disk array performance via variable parity based load balancing
US7085835B2 (en) * 2001-05-09 2006-08-01 International Business Machines Corporation Apparatus, system and method for subscription computing using spare resources of subscriber computing platforms
JP4320977B2 (ja) * 2001-06-05 2009-08-26 コニカミノルタビジネステクノロジーズ株式会社 画像読取装置、画像送信方法、画像送信プログラム、画像送信プログラムを記録したコンピュータ読取可能な記録媒体、画像管理装置、画像管理方法、画像管理プログラムおよび画像管理プログラムを記録したコンピュータ読取可能な記録媒体
US20020194340A1 (en) * 2001-06-16 2002-12-19 Ebstyne Bryan D. Enterprise storage resource management system
US7213158B2 (en) * 2002-06-28 2007-05-01 Lenovo (Singapore) Pte. Ltd. Distributed autonomic backup
US6928476B2 (en) * 2002-08-23 2005-08-09 Mirra, Inc. Peer to peer remote data storage and collaboration
US7089383B2 (en) * 2003-06-06 2006-08-08 Hewlett-Packard Development Company, L.P. State machine and system for data redundancy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083245A1 (en) 1995-10-16 2004-04-29 Network Specialists, Inc. Real time backup system
US6505216B1 (en) * 1999-10-01 2003-01-07 Emc Corporation Methods and apparatus for backing-up and restoring files using multiple trails
US6883110B1 (en) * 2001-06-18 2005-04-19 Gateway, Inc. System and method for providing a data backup of a server on client systems in a network

Also Published As

Publication number Publication date
WO2005060201A1 (en) 2005-06-30
KR20060123310A (ko) 2006-12-01
US20050144283A1 (en) 2005-06-30
CA2546182C (en) 2011-10-11
US7698428B2 (en) 2010-04-13
ATE539534T1 (de) 2012-01-15
CN1894930A (zh) 2007-01-10
CA2546182A1 (en) 2005-06-30
EP1698143B1 (en) 2011-12-28
EP1698143A1 (en) 2006-09-06
TWI304536B (en) 2008-12-21
TW200523753A (en) 2005-07-16
CN1894930B (zh) 2010-10-13

Similar Documents

Publication Publication Date Title
KR100985443B1 (ko) 시퀀스 관리 장치, 데이터 백업 방법, 데이터 백업 클라이언트, 데이터 백업 시스템, 프로그램가능 하드웨어 장치 및 데이터 백업 장치
JP7374100B2 (ja) リソース予約方法、リソース予約装置、リソース予約デバイス、及びリソース予約システム
US7685459B1 (en) Parallel backup
US7689764B1 (en) Network routing of data based on content thereof
JP4446738B2 (ja) コンピュータファイルを効率的にバックアップするシステムと方法
US9846540B1 (en) Data durability using un-encoded copies and encoded combinations
EP3223165B1 (en) File processing method, system and server-clustered system for cloud storage
KR101925696B1 (ko) 대규모 데이터 스트림들의 획득, 저장, 및 소비를 위한 관리 서비스
US8972366B2 (en) Cloud-based directory system based on hashed values of parent and child storage locations
US10558565B2 (en) Garbage collection implementing erasure coding
CN111651305B (zh) 一种虚拟机备份方法、组件及云计算***
US20040153481A1 (en) Method and system for effective utilization of data storage capacity
JP2004252663A (ja) ストレージ装置、分担範囲決定方法及びプログラム
US10191958B1 (en) Storage provisioning in a data storage environment
US20240248810A1 (en) Systems and methods for cross-regional back up of distributed databases on a cloud service
CN103067525A (zh) 一种基于特征码的云存储数据备份方法
US20210240575A1 (en) Dynamic backup management
Selvi et al. OPTIMIZING THE STORAGE SPACE AND COST WITH RELIABILITY ASSURANCE BY REPLICA REDUCTION ON CLOUD STORAGE SYSTEM.
US11288132B1 (en) Distributing multiple phases of deduplication processing amongst a set of nodes within a clustered storage environment
US11520744B1 (en) Utilizing data source identifiers to obtain deduplication efficiency within a clustered storage environment
JP4677412B2 (ja) 複数のクライアントにまたがってデータをバックアップするための方法
EP2751714A1 (en) A method for handling requests in a storage system and a storage node for a storage system
De Camargo et al. Design and implementation of a middleware for data storage in opportunistic grids
KR100362532B1 (ko) 인터넷 피씨방 환경에서의 분산 메모리 직/병렬 처리컴퓨터 구조를 활용한 데이터 프로세스 처리 시스템
US20240256575A1 (en) Access authorization for report data in a multi-tenancy data management system

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: 20130827

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee