KR20100017851A - 페더레이션된 리포지토리들을 사용한 파일 저장 스케일의 증가 - Google Patents

페더레이션된 리포지토리들을 사용한 파일 저장 스케일의 증가 Download PDF

Info

Publication number
KR20100017851A
KR20100017851A KR1020097026350A KR20097026350A KR20100017851A KR 20100017851 A KR20100017851 A KR 20100017851A KR 1020097026350 A KR1020097026350 A KR 1020097026350A KR 20097026350 A KR20097026350 A KR 20097026350A KR 20100017851 A KR20100017851 A KR 20100017851A
Authority
KR
South Korea
Prior art keywords
content
child
repositories
repository
new
Prior art date
Application number
KR1020097026350A
Other languages
English (en)
Inventor
스터링 제이. 크로켓
존 디. 팬
더스틴 지. 프리젠한
아담 디. 하메츠
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20100017851A publication Critical patent/KR20100017851A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers

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)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

페더레이션된 리포지토리들을 사용하는 저장 관리 시스템은 콘텐츠를 계층 구조의 자식 리포지토리들로 지향시킨다. 저장을 관리하기 위한 서비스는 활성화된 리포지토리들 및 이력 리포지토리들의 리스트를 유지하고, 저장을 위한 콘텐츠의 라우팅을 자식 리포지토리들의 구조, 저장을 위한 정책 등을 포함하는 파일 플랜에 기초하여 수행한다. 그 용량에 도달하는 리포지토리들은 검색을 위해서는 이용가능하지만 더 이상 저장을 위해서는 이용될 수 없는 이력 상태로 리타이어된다. 파일 플랜은 새로운 리포지토리들이 추가되거나 기존의 리포지토리들이 리타이어됨에 따라 업데이트된다. 서비스에 쿼리하면, 자식 리포지토리들이 파일 플랜 변화들, 및 콘텐츠 유형들, 검색 용어들, 워크플로우 등과 같은 기타 정보를 이용할 수 있게 된다.
Figure P1020097026350
파일 플랜, 자식 리포지토리, 페더레이션된 리포지토리, 보존 정책, 콘텐츠 라우팅

Description

페더레이션된 리포지토리들을 사용한 파일 저장 스케일의 증가{INCREASING FILE STORAGE SCALE USING FEDERATED REPOSITORIES}
여러 회사들 및 조직들은 규정된 기간 동안 저장되고 유지되어야 할 요구 조건들을 갖는 대량의 전자 콘텐츠 세트들을 갖는다. 시간이 경과함에 따라, 이들 콘텐츠 세트들은 증가되는 경향이 있어, 결국에는 단일의 리포지토리(repository)에서는 종종 너무 버겁게 되는 크기에 도달하게 되기도 한다. 그렇지만, 콘텐츠 자체가 다수의 물리적 저장소(store)들에 걸쳐 파티션화되더라도, 조직은 이 콘텐츠를 균일한 방식으로 관리할 필요가 있다.
이러한 전자 콘텐츠를 관리하는 것은, 콘텐츠와 연관된 정책들이 시간에 따라 수정될 필요도 있을 수 있기 때문에 추가적인 문제점들을 나타낼 수 있다. 예를 들어, 사업의 초회년도에, 회사는 각각이 10년 동안 유지되어야 하는 리서치 및 실험들(research and trials)을 상술하는 2,000만 개의 파일들을 가질 수 있고, 그 리포지토리는 총 2,000만 개의 파일들로 제한될 수 있다. 그 기존의 리포지토리의 물리적 크기를 확장할 수 없으면, 그들의 기록들이 여러 해 동안 유지되어야 하기 때문에, 회사는 결국 별도로 관리될 필요가 있는 다수의 분리된(disjointed) 리포지토리들을 가져야 할 수 있다. 이는, 특히 리포지토리들에 걸쳐 콘텐츠에 적용될 수 있는 정책들이 수정될 필요가 있는 경우에, 회사의 기록들을 관리하는 것에 대 한 문제점들을 증가시킨다.
<발명의 개요>
본 개요는 상세한 설명에서 이하 더욱 상술되는 개념들의 선택을 간략화된 형태로 도입하기 위하여 제공된다. 본 개요는 청구 대상의 핵심적인 특징들 또는 본질적인 특징들을 식별하기 위한 것이 아니며, 청구 대상의 범위를 정하는 데 도움을 주기 위한 것도 아니다.
실시예들은 페더레이션된 리포지토리들을 사용하는 콘텐츠 저장 관리에 관한 것이다. 저장 관리 서비스는 자식 리포지토리(child repository)들이 새로운 자식 리포지토리들을 추가하는 것 또는 그 용량에 도달하는 자식 리포지토리들을 리타이어(retire)시키는 것, 콘텐츠를 라우팅하기 위한 파일 플랜을 이용가능한 자식 리포지토리 정보 및 이력(historic) 자식 리포지토리 정보를 이용하여 최신 버전으로 유지하는 것을 관리할 수 있다.
이들 및 기타 특징들 및 이점들은 이하 상세한 설명을 읽고 연관된 도면들을 살펴보면 명백할 것이다. 상술한 개괄적인 설명 및 이하 상세한 설명은 모두 단지 설명을 위한 것이며, 청구되는 양태들을 제한하기 위한 것이 아님을 이해하도록 한다.
도 1은 복수의 자식 리포지토리를 조정하는(coordinating) 저장 관리 서비스에 의한 콘텐츠 저장의 관리를 도시하는 개념도.
도 2는 복수의 저장 리포지토리를 관리하는 예시적인 저장 관리 서비스의 상 세도.
도 3은 실시예들이 구현될 수 있는 예시적인 네트워크화된 환경을 도시하는 도면.
도 4는 실시예들이 구현될 수 있는 예시적인 컴퓨팅 운영 환경의 블록도.
도 5는 실시예들에 따른 예시적인 콘텐츠 저장 프로세스의 논리 흐름도.
위에서 간략하게 언급된 바와 같이, 파일 저장 스케일은 저장 관리 서비스에 의해 관리되는 페더레이션된(federated) 리포지토리들을 사용하여 증가되고 최적화될 수 있다. 이하의 상세한 설명에서, 상세한 설명의 일부를 형성하는 첨부 도면들을 참조하였고, 그 도면들은 특정 실시예들 또는 예들을 예로서 나타내었다. 이들 양태들은 조합될 수 있고, 다른 양태들이 사용될 수 있으며, 본 명세서의 사상 또는 범주를 벗어나지 않고 구조적인 변경들을 행할 수 있다. 따라서, 이하의 상세한 설명은 제한적인 의미로 취해지는 것이 아니며, 본 발명의 범주는 첨부되는 청구범위 및 그 등가물들에 의해 정의된다.
실시예들은 퍼스널 컴퓨터의 운영 체제 상에서 실행되는 애플리케이션 프로그램과 함께 실행되는 프로그램 모듈들의 일반적인 문맥에서 기술되지만, 당업자는 양태들이 다른 프로그램 모듈들과 조합되어 구현될 수도 있음을 인식할 것이다.
일반적으로, 프로그램 모듈들은 루틴들, 프로그램들, 컴포넌트들, 데이터 구조들, 및 특정 태스크들을 수행하거나 특정 추상 데이터 유형들을 구현하는 다른 유형들의 구조들을 포함한다. 또한, 당업자는 실시예들이 핸드헬드 장치들, 멀티 프로세서 시스템들, 마이크로프로세서 기반 또는 프로그램가능한 가전제품들, 미니컴퓨터들, 메인프레임 컴퓨터들 등을 포함한 다른 컴퓨터 시스템 구성들을 이용하여 실시될 수 있음을 이해할 것이다. 또한, 실시예들은 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크들이 수행되는 분산 컴퓨팅 환경들에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 장치들 모두에 배치될 수 있다.
실시예들은 컴퓨터 프로세스(방법), 컴퓨팅 시스템으로서, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체와 같은 제조물(article of manufacture)로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능하고, 컴퓨터 프로세스를 실행시키기 위한 명령어들의 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 또한, 컴퓨터 프로그램 제품은 컴퓨팅 시스템에 의해 판독가능하고, 컴퓨터 프로세스를 실행시키기 위한 명령어들의 컴퓨터 프로그램을 인코딩하는 캐리어(carrier) 상에서의 전파되는 신호일 수 있다.
도 1을 참조하면, 복수의 자식 리포지토리를 조정하는 저장 관리 서비스에 의한 콘텐츠 저장의 관리를 도시하는 개념도가 도시되어 있다. 실시예들에 따라 시스템에 저장될 수 있는 콘텐츠는 텍스트 데이터, 파일들, 비디오 스트림, 오디오 스트림, 이미지들 등과 같은 임의의 형태의 데이터를 포함할 수 있다. 또한, 콘텐츠는 다른 시스템에 저장된 데이터에 대한 포인터를 포함할 수 있다.
실시예들에 따른 시스템에서, 저장 관리 서비스(104)는 사용자들, 네트워크 노드들, 입력 장치들 등과 같은 다수의 소스로부터 콘텐츠(102)를 수신할 수 있다. 저장 관리 서비스(104)는 콘텐츠 유형들, 필드 유형들, 검색 용어들, 사용자 역할들 등과 같은 정보가 시스템에 광범위하게 알려지는 것을 보장하는 자식 리포지토리들(예를 들어, 자식 리포지토리 1, 2 등)의 계층 구조를 유지한다. 또한, 저장 관리 서비스(104)는 활성화된(콘텐츠를 저장하는 데에 현재 이용가능한) 자식 리포지토리들과 리타이어된(retired)(더 이상 저장을 위해서는 콘텐츠를 수용하지는 않지만, 검색들 등의 다른 동작들을 위해서는 이용가능한) 자식 리포지토리들의 리스트, 및 수신된 콘텐츠를 저장을 위해 적용가능한 자식 리포지토리로 라우팅시키는 데에 사용되는 파일 플랜(file plan)을 유지한다. 따라서, 저장 관리 서비스(104)는 저장된 콘텐츠뿐만 아니라 저장 리포지토리들의 속성(property)들도 관리한다.
보존 정책(retention policy) 등의 정책들은 파일 플랜과 결합하여 자식 리포지토리들에서의 콘텐츠의 저장을 관리하는 데에 사용될 수 있으며, 이 경우, 영향을 받는 자식 리포지토리들은 그 안에 저장된 콘텐츠에 적용가능한 정책을 알게 될 수 있다.
자식 리포지토리들은 저장 관리 서비스(104)를 실행하는 서버에 의해, 또는 로컬 서버들에 의해 각각 혹은 그룹들로 관리될 수 있는 하나 이상의 가상 또는 물리적인 데이터 저장소를 포함할 수 있다. 예를 들어, 자식 리포지토리 1(106)은 또한 저장 관리 서비스(104)를 실행시키는 허브 서버에 의해 관리되는 단일의 데이터 저장소일 수 있다. 다른 한편으로는, 자식 리포지토리 2(108)는 별개의 데이터베이스 서버에 의해 관리되는 데이터 저장소들의 그룹을 포함할 수 있다. 자식 리포지토리 2의 저장소들에 대해 의도되는 임의의 통신은 그들의 데이터베이스 서버 로 지향될 수 있다.
일 실시예에 따르면, 예시적인 시나리오는, 회사가 5개의 활성 프로젝트들을 갖고, 5개의 "페더레이션된" 리포지토리들(각각은 2,000만 개의 기록들을 홀드(hold)할 수 있음)을 갖는 분산된 기업체 리포지토리를 생성함으로써 시작하는 것이다. 각각의 프로젝트는 별개의 리포지토리에 할당될 수 있다. 6번째 프로젝트가 시작되면, 6번째 리포지토리가 중앙 관리 툴을 통해 파일 플랜에 추가될 수 있고, 그 프로젝트에 대한 파일들이 새로운 리포지토리에 저장될 수 있다. 예기치못하게, 새로운 프로젝트가 예상한 것보다 10배나 많은 콘텐츠를 필요로 할 수 있고, 아주 짧은 기간 후에, 그 할당된 리포지토리가 거의 꽉 찰 수 있다. 이 경우, 새로운 리포지토리가 시스템에 추가될 수 있고, 새로운 프로젝트에 관하여 새로이 들어오는 콘텐츠는 새로운 리포지토리로 라우팅될 수 있다. 새로운 프로젝트에 대한 원래의 리포지토리는 "리타이어"될 수 있다(즉, 새로운 콘텐츠가 더 이상 그곳에는 배치되지 않음). 콘텐츠는 장애없이 계속해서 조직 전반에 걸쳐 저장될 수 있다.
실시예들에 따른 콘텐츠 저장 시스템들의 수정은 콘텐츠 크기에 기초한 저장 니즈에 한정되지 않는다. 시스템에 새로운 파티션(들)을 추가하기 위한 다른 이유들로는 조직 및 관리 기반의 파티셔닝의 니즈가 있을 수 있다. 예를 들어, 프로젝트는 상이한(적절한 특성(attribute)들을 갖는) 리포지토리에 저장될 수 있는 매우 민감한 콘텐츠(highly sensitive content)와 연관될 수 있다.
페더레이션된 리포지토리들을 사용하는 저장 관리 시스템의 컴포넌트들은 분 산 네트워크를 통해 개개의 서버들, 클라이언트 장치 등에서 실행될 수 있다. 또한, 여기에 개시된 컴포넌트들은 오직 예시를 위한 것이며, 실시예들에 대한 제한을 구성하지 않는다. 페더레이션된 리포지토리들을 사용하는 저장 관리 시스템은 더 적거나 더 추가된 컴포넌트들을 다양한 순서들로 이용하여 구현될 수 있다. 개개의 컴포넌트들은 별개의 애플리케이션들이거나, 단일의 애플리케이션의 일부일 수 있다. 또한, 시스템 또는 그 컴포넌트들은 웹 서비스, GUI(Graphical User Interface) 등과 같은 사용자 인터페이스를 개별적으로 또는 집단적으로(collectively) 포함할 수 있다.
도 2는 복수의 저장 리포지토리를 관리하는 예시적인 저장 관리 서비스의 상세를 도시한다. 자식 리포지토리들이 정확하게 구성되고, 저장 관리 서비스(204)의 허브에서 지정되는 콘텐츠 유형들, 필드 유형들, 검색 용어들, 사용자 역할들과 같은 정보, 정책들 및 계층들을 반영하게 하기 위하여, 통신 채널은 각각의 자식과 허브 사이에 구축될 수 있다. 통신 채널은 일부 실시예들에 따라 자동으로 구성될 수 있다.
저장 관리 서비스(204)는 하나 이상의 서버 상에서 실행되는 애플리케이션 또는 관리되는 서비스(managed service)일 수 있다. 일 실시예에 의하면, 저장 관리 서비스(204)는 활성화된 자식 리포지토리들 및 보관용(archive) 자식 리포지토리들의 열거 및 계층 정보를 포함하는 자식 리포지토리 리스트(232), 및 정책들, 계층 구조, 콘텐츠 유형(들), 관련 콘텐츠 등에 기초할 수 있는 파일 플랜에 따라, 수신된 콘텐츠를 적절한 자식 리포지토리들로 라우팅하기 위한 파일 플랜 모듈을 포함할 수 있다. 저장 관리 서비스(204)는 자식 리포지토리들에 저장된 콘텐츠에 대한 검색들 및 결과들을 조정하기 위한 검색 조정 모듈(236), 및 특정 콘텐츠에 대한 홀드 요청들(hold requests)을 영향을 받는 콘텐츠의 보존 정책(retention policy)을 변화시키는 자식 리포지토리들에 발행하기 위한 홀드 요청 모듈(238)을 더 포함할 수 있다.
저장 리포지토리들(220)은 데이터 저장 서버들에 의해 개별적으로 또는 그룹으로 관리되는 복수의 사이트 모음들(SCs: site collections)을 포함할 수 있다. SCs(222-X)는 콘텐츠를 저장하기 위한 하나 이상의 물리적 및/또는 가상 데이터 저장소를 포함할 수 있다. 허브로부터 그 자식들로 통신될 수 있는 아이템들의 예로는 이하와 같은 사항이 있긴 하지만, 이에 한정되지 않는다.
● 콘텐츠 유형들 - 새로운 유형의 콘텐츠가 전역적인 수준(global level)에서 생성되면, 허브의 모든 자식들이 그것을 인식하는 것이 바람직할 수 있다. 또한, 콘텐츠 유형은 메타데이터 스키마를 포함할 수 있다.
● 정책 - 조직은, 예를 들어, 미리 설정된 기간 후에, 특정 프로젝트에 관련된 모든 콘텐츠가 파괴될 것을 요구할 수 있다. 허브는 이 전역 정책에 관하여 영향을 받는 모든 자식들에게 명령할 수 있다.
● 파일 플랜 - 전반적인 파일 플랜의 계층 구조가 수정되면, 영향을 받는 자식들도 그들의 폴더 구조를 업데이트할 수 있다.
● 기타 - 일반적으로, 전역 수준에서 규정되고 콘텐츠가 저장되는 리포지토리들에 관련될 수 있는 임의의 아이템. 기타 아이템들의 예들로는 필드 유형들, 워크플로우, 사용자 역할들, 용어 세트들, 콘텐츠 재사용 템플릿들 등이 있다.
로컬 리포지토리 내의 위치들로 제한되는 대신에, 파일 플랜은 특정 콘텐츠가 저장되어야 하는 별개의 리포지토리 상의 위치를 특정할 수 있다. 콘텐츠가 기록 센터에 제출되면, 이는 국부적으로(locally) 또는 별개의 리포지토리로 라우팅될 수 있다. 파일 플랜에 대한 전반적인 계층 구조는 허브에서 특정될 수 있다. 자식 리포지토리 내에 존재할 필요가 있는 폴더 구조가 파일 플랜에서 특정되면, 이 구조는 자식 리포지토리에서 자동으로 생성될 수 있다. 주어진 시간에 보다 많은 용량을 전체 기록 센터에 추가하기 위해, 새로운 리포지토리가 생성되고, 기록 센터에 페더레이션될 수 있다. 그리고, 파일 플랜이 수정되어, 콘텐츠를 새로운 리포지토리로 라우팅할 수 있다. 페더레이션된 리포지토리가 그 용량에 도달하면, 새로운 리포지토리가 추가되고, 파일 플랜의 일부의 라우팅이 언급된 바와 같이 새로운 리포지토리로 포인팅되도록 변경될 수 있다. 파일 플랜이 전에 포인팅했던 리포지토리는 피어 콘텐츠(peer content)의 이력용(historical) 또는 보관용 저장(archive storage)으로서 관리될 수 있다.
"홀드(hold)"는 (예를 들어, 합법적 목적들을 위하여) 불확실한(indeterminate) 양의 시간동안 기록들의 세트가 유지되어야 하는 경우이다. 특정 주제 또는 엔티티에 관련된 모든 문서들을 홀드할 필요가 생기면, 적절한 콘텐츠를 홀드하기 위하여 모든 페더레이션된 리포지토리들에 공통의 명령이 발행될 수 있다.
예시적인 동작에서, 복수의 리포지토리들("Children")은 계층 구조로 생성된 다. 이러한 리포지토리는 사이트 객체일 수 있다. 기록 센터는 모든 콘텐츠의 관리를 위하여 생성된다. 기록 센터는 저장 관리 서비스("Service")와 연관된 "허브(Hub)"를 포함하지만, 자식들(Children)을 포함하기도 한다. 허브에 변화들(예를 들어, 정책, 폴더 계층 구조, 콘텐츠 유형들, 워크플로우 또는 필드 유형들)이 생기면, 이는 Service에게 보고된다.
쿼리(query)되면, 서비스는 주어진 시간 이래로 허브에 어떤 변화들이 발생되었는지를 보고하고, 임의의 요구된 업데이트된 객체들을 제공할 수 있다. 각각의 자식은 구체적으로 그 자신에 관련된 업데이트들을 수신하기 위하여 주기적으로(periodic basis) Service에 쿼리하도록 구성될 수 있다. 단, 특정한 변화는 주어진 자식에 관련되기는 하지만 자식들의 전체 그룹에도 관련될 수 있다는 점에 유의하자. 다른 실시예에서, Service는 쿼리되지 않고도 영향을 받은 자식들에게 변화들을 제공할 수 있다.
기록 센터에 제출된 파일들을 라우팅하기 위한 계층 구조를 갖는 파일 플랜이 허브에서 생성될 수 있다. 파일 플랜의 어떤 노드들은 자식들의 루트 노드들로서 지정(designated)될 수 있다. 노드의 메타데이터는 그 연관된 자식의 아이덴티티를 나타낼 수 있다. 각각의 루트 노드에 대응하는 자식의 아이덴티티 및/또는 URL(Uniform Resource Locator)은 모든 현재 또는 이력 자식들의 비감소 리스트(non-decreasing list)에 기록될 수 있다.
파일 플랜이 루트 노드 아래에 있는 폴더 계층 구조를 포함하도록 업데이트되면, 이 계층 구조 및 그 연관된 루트 노드는 Service에 보고될 수 있다. Service에 쿼리할 때, 자식이 그 루트 노드 아래의 폴더 계층 구조가 변했음을 알게 되면, 새로운 계층 구조가 생성되거나 기존의 계층 구조가 자식 그 자체의 루트 노드 아래에서 수정될 수 있다. 문서가 기록 센터에 제출되고, 파일 플랜이 그 문서를 루트 노드로 라우팅하면, 문서는 연관된 자식의 루트 노드에 저장될 수 있다. 문서가 기록 센터에 제출되고, 파일 플랜이 그 문서를 루트 노드 아래에 있는 폴더로 라우팅하면, 문서는 파일 플랜의 지정된 폴더에 대응하는 연관된 자식의 폴더에 저장될 수 있다.
일단 허브가 구축되었으면, 자식이 생성되고, 업데이트들을 위해 Service에 쿼리하도록 구성될 수 있다. 또한, 파일 플랜에서 루트 노드가 앞서 저장을 위해 사용되지 않았던 자식으로 포인팅하도록 구성될 수 있다. 자식이 그 저장 용량에 근접하거나 도달하면, 새로운 자식이 생성되고, 새로운 콘텐츠를 이전 자식(old Child)으로 지향시킨 루트 노드가 이제는 이들을 새로운 자식으로 지향시키도록 파일 플랜이 재구성될 수 있다. 다른 실시예에 의하면, 이전 자식으로의 이력 포인터(historical pointer)가 참조를 위하여(그러나, 새로운 콘텐츠를 라우팅시키기 위한 것은 아님) 루트 노드에서 유지될 수 있다.
이전 자식은 어떠한 추가적인 콘텐츠도 그에 저장되지 않도록 이력용인지 또는 보관용인지 마크될 수 있고, 계속하여 주기적으로 Service에 쿼리할 수 있다. 또한, 파일 플랜은 콘텐츠가 라우팅되는 방식, 콘텐츠가 루트 노드들로 라우팅되는지 아니면 루트 노드들 아래의 폴더들로 라우팅되는지를 변화시키기 위하여 임의의 시점에 업데이트될 수 있다.
또 다른 실시예에 의하면, 보관된(archived) 콘텐츠가 삭제되고, 이전 자식이 다시 저장에 이용가능하게 되면, 그 이전 자식이 다시 활성화될 수 있다. 그 경우, 파일 플랜은 이전 자식의 재활성화를 반영하기 위하여 업데이트될 수 있다.
"홀드"는, 사용자가 특정 주제 또는 사용자에 관한 모든 콘텐츠가 불확실한 양의 시간 동안 유지될 것을 나타내는 경우에 발생한다. 이 동작이 허브에서 취해지면, 허브는 자식 리스트 (또는 자식들의 하위 그룹) 내의 각각의 자식에 대해 홀드 요청을 발행할 수 있다. 각각의 자식은 그 로컬 폴더 계층 구조를 통해 검색을 행할 수 있고, 그들이 홀드와 연관되어 있음을 나타내는 태그를 이용하여 검색과 매칭되는 콘텐츠를 마크할 수 있다. 그 후, 각각의 자식은 홀드와 연관된 모든 콘텐츠의 리스트를 생성하고, 이 리스트를 다시 허브에 보고할 수 있다. 허브는 각각의 자식으로부터 홀드 보고서들을 수집(collect)하고, 발행된 홀드 요청에 대한 단일의 보고서로 이들을 결합시킬 수 있다.
또 다른 실시예에 의하면, 콘텐츠 유형이 허브에서 수정되거나 파일 플랜의 노드에 추가되면, 허브는 파일 플랜의 어느 루트 노드들이 변화에 의해 영향을 받는지를 판정할 수 있다. Service에 대한 그 주기적인 쿼리들의 일부로서, 각각의 자식은 허브에 대한 변화들이 발생되었는지를 결국 물을 수 있다. 콘텐츠 유형에 대한 변화가 자식에게 영향을 미치면, 이는 새롭거나 업데이트된 콘텐츠 유형을 다운로드하고, 이를 그 로컬 폴더 계층 구조 내의 적절한 수준들에서 적용할 수 있다. 앞서 열거된 통신된 아이템들(communicated items)의 임의의 변화에 대하여 동일한 프로세스가 구현될 수 있다.
도 3은 실시예들이 구현될 수 있는 예시적인 네트워크 환경이다. 페더레이션된 리포지토리들을 이용한 저장 관리는 단일의 컴퓨팅 장치에서 국부적으로, 또는 다수의 물리적 및 가상 클라이언트들 및 서버들을 통해 분산되는 방식으로 구성되는 하나 이상의 컴퓨팅 장치에서 구현될 수 있다. 또한, 클러스터화되지 않은 시스템들(un-clustered systems), 또는 하나 이상의 네트워크(예를 들어, 네트워크(들)(350))를 통해 통신하는 다수의 노드들을 사용하는 클러스터화된 시스템들에서 구현될 수 있다.
이러한 시스템은 서버들, 클라이언트들, 인터넷 서비스 제공자들 및 통신 매체의 임의의 토폴로지를 포함할 수 있다. 또한, 시스템은 시스템의 계층 구조 내의 서버들 및 클라이언트들의 역할들 및 그 상호관계들이 장치들의 이용가능성, 로드 밸런싱 등에 기초하여 관리자에 의해 정적으로 또는 동적으로 규정될 수 있는 정적 또는 동적 토폴로지를 가질 수 있다. "클라이언트"라는 용어는 클라이언트 애플리케이션 또는 클라이언트 장치를 지칭할 수 있다. 페더레이션된 리포지토리들을 이용하여 저장 관리를 구현하는 네트워크화된 시스템이 다수의 좀더 많은 컴포넌트들을 포함할 수 있지만, 본 도면과 관련된 적절한 것들에 대해 논의하도록 한다.
실시예들에 따른 콘텐츠 저장 관리 시스템은 클라이언트 장치들(341-343)과 같은 다수의 소스들로부터 콘텐츠를 수신할 수 있다. 저장 관리 시스템의 일부 또는 전부는 서버(452)에서 구현되고, 클라이언트 장치들(또는 애플리케이션들) 중 어느 것으로부터 액세스될 수 있다. 시스템과 연관된 데이터 저장소들(페더레이션 된 리포지토리들)은 개개의 데이터 저장소들(예를 들어, 참조 번호 356, 358) 또는 데이터베이스 서버(354)에 의해 관리되는 데이터 저장소들의 클러스터(355)를 포함할 수 있다.
네트워크(들)(350)는 기업체 네트워크와 같은 보안 네트워크, 무선 개방형 네트워크 또는 인터넷과 같은 비보안(unsecure) 네트워크를 포함할 수 있다. 네트워크(들)(350)는 여기서 설명되는 노드들 사이의 통신을 제공한다. 예로서, 네트워크(들)(350)는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 및 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함할 수 있지만, 이에 제한되지 않는다.
페더레이션된 리포지토리들을 사용하는 콘텐츠 저장 관리를 구현하기 위하여 컴퓨팅 장치들, 애플리케이션들, 데이터 소스들, 데이터 분산 시스템들의 여러 다른 구성들이 사용될 수 있다. 또한, 도 3에서 논의된 네트워크화된 환경들은 단지 예시를 위한 것이다. 실시예들은 예시적인 애플리케이션들, 모듈들 또는 프로세스들에 제한되지 않는다.
도 4 및 그와 연관된 논의는 실시예들이 구현될 수 있는 적절한 컴퓨팅 환경의 간략하고 개괄적인 설명을 제공하기 위한 것이다. 도 4를 참조하면, 컴퓨팅 장치(400)와 같은 예시적인 컴퓨팅 운영 환경의 블록도가 도시되어 있다. 기본적인 구성에서, 컴퓨팅 장치(400)는 서버 또는 클라이언트 머신(client machine)일 수 있다. 컴퓨팅 장치(400)는 통상적으로 적어도 하나의 처리 장치(402) 및 시스템 메모리(404)를 포함할 수 있다. 또한, 컴퓨팅 장치(400)는 협력하여 프로그램들을 실행하는 복수의 처리 장치를 포함할 수 있다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라, 시스템 메모리(404)는 휘발성(RAM 등), 비휘발성(ROM, 플래시 메모리 등) 또는 그 둘의 임의의 조합일 수 있다. 시스템 메모리(404)는 통상적으로 워싱턴주 레드몬드에 위치한 MICROSOFT CORPORATION사의 WINDOWS® 운영 체체들과 같이, 네트워크화된 퍼스널 컴퓨터의 동작을 제어하는 데에 적절한 운영 체제(405)를 포함한다. 시스템 메모리(404)는 또한 프로그램 모듈들(406), 저장 관리 서비스(422), 리포지토리 리스트(423), 파일 플랜 모듈(424), 검색 조정 모듈(425) 및 홀드 요청 모듈(426)과 같은 하나 이상의 소프트웨어 애플리케이션을 포함할 수 있다.
저장 관리 서비스(422)는 사용자들에게 콘텐츠 저장 및 검색 서비스들을 제공하는 애플리케이션 또는 관리되는 서비스일 수 있다. 저장 관리 서비스(422)는 페더레이션된 리포지토리 시스템에 콘텐츠를 저장하는 것과 연관된 추가적인 기능을 위하여 도시된 것들 이상의 추가적인 모듈들과 연관될 수 있다. 리포지토리 리스트(423), 파일 플랜 모듈(424), 검색 조정 모듈(425) 및 홀드 요청 모듈(426)의 기능 및 동작들은 앞서 설명되었다. 이 기본 구성은 도 4에서 점선(408) 내의 컴포넌트들에 의해 도시되었다.
컴퓨팅 장치(400)는 추가적인 특징들 또는 기능을 가질 수 있다. 또한, 예를 들어, 컴퓨팅 장치(400)는 예를 들어, 자기 디스크들, 광 디스크들 또는 테이프와 같은 추가적인 데이터 저장 장치들(이동식 및/또는 비이동식)을 포함할 수 있다. 이러한 추가적인 저장 장치는 도 4에 이동식 저장 장치(409) 및 비이동식 저 장 장치(410)에 의해 도시되어 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함할 수 있다. 시스템 메모리(404), 이동식 저장 장치(409) 및 비이동식 저장 장치(410)는 모두 컴퓨터 저장 매체의 예들이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 기타 광 저장 장치, 자기 카세트들, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치들, 또는 원하는 정보를 저장하는 데에 사용되고 컴퓨팅 장치(400)에 의해 액세스될 수 있는 임의의 기타 매체를 포함하지만, 이에 제한되지 않는다. 임의의 이러한 컴퓨터 저장 매체는 장치(400)의 일부일 수 있다. 또한, 컴퓨팅 장치(400)는 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등과 같은 입력 장치(들)(412)를 포함할 수 있다. 또한, 디스플레이, 스피커들, 프린터 등과 같은 출력 장치(들)(414)도 포함될 수 있다. 이들 장치들은 당해 기술분야에서 잘 알려져 있어서, 여기서는 길게 논의하지 않도록 한다.
또한, 컴퓨팅 장치(400)는 이를 테면 분산 컴퓨팅 환경의 무선 네트워크, 예를 들면 인트라넷 또는 인터넷을 통해 장치가 기타 컴퓨팅 장치들(418)과 통신할 수 있게 하는 통신 접속들(416)을 포함할 수 있다. 다른 컴퓨팅 장치들(418)은 서버(들)를 포함할 수 있다. 통신 접속(416)은 통신 매체의 일례이다. 통신 매체는 통상적으로 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들 또는 기타 데이터에 의해 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)로 구현될 수 있고, 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는 신호 내에 정보를 인코딩하는 것과 같은 방식으로 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함한다. 여기서 사용되는 컴퓨터 판독가능 매체란 용어는 저장 매체 및 통신 매체 모두를 포함한다.
또한, 청구 대상은 동작의 메소드(method)들을 포함한다. 이 메소드들은 본 문서에서 기술되는 구조들을 포함하여 다수의 방식들로 구현될 수 있다. 한 가지 이러한 방식은 본 문서에서 기술되는 유형의 장치들의 머신 동작들에 의하는 것이다.
다른 선택적인 방식은 메소드들의 개개의 동작들 중 하나 이상이 1 이상의 인간 오퍼레이터들이 일부를 수행하는 것과 함께 수행되게 하는 것이다. 이들 인간 오퍼레이터들은 서로 연결될(collocated) 필요 없이, 인간 오퍼레이터 각각이 단지 프로그램의 일부를 수행하는 머신만을 가질 수 있다.
도 5는 실시예들에 따른 예시적인 콘텐츠 저장 프로세스의 논리 흐름도를 도시한다. 프로세스(500)는 저장 관리 시스템의 일부로서 구현될 수 있다.
프로세스(500)는 새로운 콘텐츠가 서비스에 의한 저장을 위해 수신되는 동작(502)에서 시작된다. 동작(502)으로부터 동작(504)으로 처리가 진행된다. 동 작(504)에서, 타겟 자식 리포지토리는 앞서 논의된 바와 같이 파일 플랜에 기초하여 판정된다. 처리는 계속해서 동작(504)으로부터 판정 동작(506)으로 이어진다.
판정 동작(506)에서는, 타겟 자식 리포지토리가 그 저장 용량(또는 미리 정의된 한도)에 도달하였는지에 관한 판정이 행해진다. 자식 리포지토리가 그 용량에 도달하지 않았으면, 후속적인 동작(508)에서 새로운 콘텐츠가 자식 리포지토리에 저장된다. 자식 리포지토리가 그 용량에 도달하였으면, 처리는 계속해서 동작(510)으로 이어진다.
동작(510)에서, 페더레이션된 리포지토리들의 계층 시스템에 새로운 자식 리포지토리가 추가된다. 새로운 자식 리포지토리의 폴더 구조가 파일 플랜에 의해 규정된 것과 매칭되도록 생성되거나 수정되고, 콘텐츠 유형 등과 같은 정보가 자식 리포지토리에 제공될 수 있다. 처리는 계속해서 동작(510)으로부터 동작(512)으로 이어진다.
동작(512)에서, 새로운 콘텐츠는 새로이 추가된 자식 리포지토리에 저장된다. 처리는 계속해서 동작(512)으로부터, 용량이 꽉찬 자식 리포지토리가 리타이어되는(즉, 보관용 또는 이력용으로서 지정되고, 더 이상 추가적인 콘텐츠를 저장하는 데에 적합하지 않게 되는) 동작(514)으로 이어진다. 처리는 계속해서 동작(514)으로부터 동작(516)으로 이어진다.
동작(516)에서, 파일 플랜은 서비스에 의해 유지되는 자식 리포지토리 리스트와 함께 새로운 자식 리포지토리 구조에 의해 업데이트된다. 이어서, 다른 자식 리포지토리들도 자식 리포지토리들 전반에 걸친 네비게이션(navigation)을 통해 새 로운 정보로 업데이트될 수 있다. 동작(516) 후에, 처리는 추가적인 동작들을 위해 호출 프로세스로 이동한다.
프로세스(500)에 포함된 동작들은 예시를 위한 것이다. 페더레이션된 리포지토리들을 사용하는 콘텐츠 저장 관리를 제공하는 것은 더 적거나 더 추가된 단계들을 갖는 유사한 프로세스들뿐만 아니라 여기서 설명되는 원리들을 사용하는 상이한 순서의 동작들에 의해서도 구현될 수 있다. 구체적으로, 도 3과 관련하여 기술된 다수의 선택적인 동작들은 위의 프로세스에 열거되지 않았다. 또한, 이들 및 기타 동작들은 임의의 순서로 프로세스(500)에 추가될 수 있다.
상술한 설명, 예시들 및 데이터는 본 제조물(manufacture)의 완전한 설명을제공하고, 본 실시예들의 구성을 사용한다. 비록 청구 대상은 구조적인 특징들 및/또는 방법론적 동작들에 특정된 언어로 기술되었지만, 첨부되는 청구범위에서 규정되는 청구 대상이 반드시 상술된 구체적인 특징들 또는 동작들에 한정될 필요가 없음을 이해할 수 있을 것이다. 오히려, 상술된 특정 특징들 및 동작들은 청구범위 및 실시예들을 구현하는 예시적인 형태들로서 개시되어 있다.

Claims (20)

  1. 페더레이션된(federated) 리포지토리(repository)들을 사용하여 콘텐츠(102)의 저장을 관리하기 위한 방법으로서,
    콘텐츠(102) 및 계층 구조 정보가 파일 플랜(file plan)에 따라 저장 시스템의 부모(parent) 리포지토리의 중앙 허브 노드로부터 종속(subservient) 노드들(220)로 배포되는(disseminate) 계층 구조 저장 시스템을 생성하는 단계;
    콘텐츠 제출(502), 파일 플랜에 대한 수정, 정책 정의 변경 및 새로운 종속 노드의 추가의 세트로부터의 적어도 하나를 포함하는 변화가 상기 중앙 허브 노드(204)에서 수행되면, 상기 변화와 연관되는 정보를 자식(child) 리포지토리로 통신하는 단계; 및
    통신된 상기 정보 중 일부가 전역적인 효과(global effect)를 가지면, 상기 정보 중 일부를 모든 종속 노드들로 통신하는 단계 - 상기 저장 시스템 내의 자식 리포지토리 각각은 적어도 하나의 종속 노드를 포함함 -
    를 포함하는 콘텐츠 저장 관리 방법.
  2. 제1항에 있어서,
    새로운 콘텐츠 제출이 저장을 위해 수신되면(502), 콘텐츠 유형, 보존 정책(retention policy), 특성(attribute), 워크플로우(workflow), 사용자 정보, 콘텐츠 기원 정보(content origin information), 및 새로운 콘텐츠와 연관된 복수의 쿼리 용어의 세트로부터의 적어도 하나와 연관되는 정보를 타겟 종속 노드로 통신하는 단계를 더 포함하는 콘텐츠 저장 관리 방법.
  3. 제2항에 있어서,
    상기 자식 리포지토리들(106, 108) 중 적어도 일부는 자식 리포지토리(106, 108) 각각의 종속 노드("루트 노드")로 보고하는 폴더 구조를 포함하고,
    상기 폴더 구조는 상기 파일 플랜의 수정에 응답하여 업데이트되는 콘텐츠 저장 관리 방법.
  4. 제2항에 있어서,
    상기 파일 플랜에 따라 단일의 자식 리포지토리 및 복수의 자식 리포지토리(106, 108) 중 하나에 상기 새로운 콘텐츠의 관련된 부분들을 저장하는 단계(508)를 더 포함하고,
    상기 새로운 콘텐츠는 활성화된 콘텐츠, 보관될(to be archived) 콘텐츠, 및 활성화된 콘텐츠와 보관될 콘텐츠의 조합 중 하나를 포함하는 콘텐츠 저장 관리 방법.
  5. 제2항에 있어서,
    상기 저장 시스템에 새로운 자식 리포지토리를 추가하는 것(510)에 응답하여, 파일 플랜에 따라 상기 새로운 자식 리포지토리에 폴더 구조를 생성하고, 새로 운 콘텐츠와 연관된 정보를 상기 새로운 자식 리포지토리로 통신하는 단계를 더 포함하는 콘텐츠 저장 관리 방법.
  6. 제5항에 있어서,
    상기 새로운 자식 리포지토리에 적용가능한 새로운 콘텐츠를 라우팅하기 위하여 상기 파일 플랜을 수정하는 단계(516)를 더 포함하는 콘텐츠 저장 관리 방법.
  7. 제2항에 있어서,
    자식 리포지토리가 그 용량에 도달하는 것에 응답하여, 상기 파일 플랜 내에서 상기 콘텐츠를 라우팅시키는 것을 수정함으로써 상기 자식 리포지토리를 리타이어(retire)시키고(514), 리타이어된 상기 자식 리포지토리를 보관용(archive)으로서 지정하는 단계를 더 포함하는 콘텐츠 저장 관리 방법.
  8. 제1항에 있어서,
    관리자 입력, 미리 정해진 기간의 만료 및 계층 구조의 변화 중 하나에 응답하여, 적어도 하나의 자식 리포지토리에 저장된 콘텐츠에 대한 보존 정책을 수정하는 단계를 더 포함하는 콘텐츠 저장 관리 방법.
  9. 제8항에 있어서,
    상기 수정은 제거될 콘텐츠를 지정하는 것, 다른 장소(location)로 이동될 콘텐츠를 지정하는 것, 및 무기한으로(indefinitely) 보관될 콘텐츠를 지정하는 것 중 하나인 콘텐츠 저장 관리 방법.
  10. 페더레이션된 리포지토리들을 사용하여 콘텐츠의 저장을 관리하기 위한 시스템으로서,
    기록 센터(records center)와 연관된 적어도 하나의 서버에서 실행되는 콘텐츠 관리 서비스(204)를 포함하고,
    상기 콘텐츠 관리 서비스는,
    상기 기록 센터와 연관된 자식 리포지토리들의 계층적으로 구조화된 리스트(232); 및
    파일 플랜 모듈(234)
    을 포함하고,
    상기 파일 플랜 모듈은,
    콘텐츠 유형들, 보존 정책들, 특성들, 워크플로우, 사용자 정보 및 상기 자식 리포지토리들에 저장된 콘텐츠와 연관된 복수의 쿼리 용어 중 적어도 하나와 연관되는 콘텐츠 정보를 유지하고,
    미리 정해진 파일 플랜에 따라 새로운 콘텐츠를 적용가능한 자식 리포지토리들(222-X)로 라우팅하고,
    새로운 자식 리포지토리가 추가되는 것 및 그 용량에 도달한 자식 리포지토리가 리타이어되는 것 중 하나에 응답하여, 상기 파일 플랜을 업데이트하고(516),
    수정에 응답하여, 폴더 구조 및 콘텐츠 정보를 상기 자식 리포지토리들(222-X)로 배포시키도록 구성되는 콘텐츠 저장 관리 시스템.
  11. 제10항에 있어서,
    상기 콘텐츠 관리 서비스(204)는 자식 리포지토리들(222-X)들로 하여금 상기 콘텐츠 관리 서비스(204)에 쿼리하고, 업데이트된 폴더 구조 및 콘텐츠 정보를 수신할 수 있게 하기 위한 쿼리 조정기 모듈(query coordinator module)을 더 포함하는 콘텐츠 저장 관리 시스템.
  12. 제10항에 있어서,
    상기 콘텐츠 관리 서비스(204)는 상기 파일 플랜의 보존 정책을 수정함으로써, 적어도 하나의 자식 리포지토리에서 선택된 콘텐츠를 홀드(hold) 상태로 두기 위한 홀드 요청자 모듈(hold requestor module)(238)을 더 포함하는 콘텐츠 저장 관리 시스템.
  13. 제10항에 있어서,
    자식 리포지토리 각각은 물리적 데이터 저장소 및 가상 데이터 저장소의 세트로부터 적어도 하나의 저장소를 포함하고,
    상기 자식 리포지토리 각각은 콘텐츠 관리 서비스 서버 및 로컬 데이터베이스 서버 중 하나의 서버에 의해 관리되는 콘텐츠 저장 관리 시스템.
  14. 제10항에 있어서,
    상기 자식 리포지토리 각각의 폴더 구조는 상기 자식 리포지토리와 연관된 루트 노드를 포함하고,
    상기 자식 리포지토리와 연관된 식별자는 상기 루트 노드의 메타데이터로서 유지되는 콘텐츠 저장 관리 시스템.
  15. 제14항에 있어서,
    상기 콘텐츠 관리 서비스는 상기 메타데이터를 사용하여 상기 자식 리포지토리들의 계층적으로 구조화된 리스트(232)의 자식 리포지토리 각각에 대하여 상기 식별자 및 URL(uniform resource locator) 중 적어도 하나를 유지하도록 구성되는 콘텐츠 저장 관리 시스템.
  16. 제15항에 있어서,
    상기 자식 리포지토리들의 계층적으로 구조화된 리스트(232)는 자식 리포지토리 각각에 대하여 상기 자식 리포지토리가 현재의 것인지 보관용인지를 나타내는 지정을 포함하고, 보관용으로 지정을 하는 것은 어떠한 새로운 콘텐츠도 보관용으로 지정된 자식 리포지토리로 라우팅되지 않게 하는 것을 파일 플랜 모듈에 나타내는 것인 콘텐츠 저장 관리 시스템.
  17. 페더레이션된 리포지토리들을 사용하여 콘텐츠의 저장을 관리하기 위한 명령어들이 인코딩되어 있는 컴퓨터 판독가능 저장 매체로서,
    상기 명령어들은,
    콘텐츠 유형들, 보존 정책들, 특성들, 워크플로우, 사용자 정보, 콘텐츠 기원 정보 및 자식 리포지토리들에 저장된 콘텐츠와 연관된 복수의 쿼리 용어의 세트로부터의 적어도 하나와 연관되는 콘텐츠 정보를 중앙 콘텐츠 관리 허브(204)에서 유지하고,
    새로운 콘텐츠가 저장을 위하여 수신되면, 미리 정해진 파일 플랜에 따라 상기 자식 리포지토리들(222-X)의 적용가능한 종속 노드들로 상기 새로운 콘텐츠를 라우팅하고 - 상기 새로운 콘텐츠의 관련된 부분들은 상기 파일 플랜에 따라 단일의 자식 리포지토리 및 복수의 자식 리포지토리 중 하나에 저장됨 -,
    새로운 자식 리포지토리가 추가되는 것(510) 및 그 용량에 도달한 자식 리포지토리가 리타이어되는 것(514) 중 하나에 응답하여, 상기 파일 플랜을 업데이트하고,
    수정에 응답하여, 업데이트된 폴더 구조 및 콘텐츠 정보를 상기 자식 리포지토리들로 배포하는(516)
    것을 포함하는 컴퓨터 판독가능 저장 매체.
  18. 제17항에 있어서,
    상기 업데이트된 폴더 구조 및 콘텐츠 정보를 상기 자식 리포지토리들로 배 포하는 것은,
    어떤 종속 노드들이 상기 업데이트에 의해 영향받는지를 결정하고,
    상기 중앙 콘텐츠 관리 허브(204)에 쿼리하면, 자식 리포지토리들(222-X)이 상기 업데이트된 폴더 구조 및 콘텐츠 정보를 이용할 수 있게 하는
    것을 포함하는 컴퓨터 판독가능 저장 매체.
  19. 제17항에 있어서,
    상기 명령어들은,
    사용자로부터의 홀드 명령에 응답하여, 선택된 콘텐츠에 대한 홀드 요청을 자식 리포지토리 각각에 대하여 발행하고,
    영향을 받은 콘텐츠를 갖는 자식 리포지토리들로부터 홀드 보고서(hold report)들을 수신하고 - 상기 홀드 보고서들은 무기한 보관을 위해 지정되었던 자식 리포지토리 각각에 저장된 콘텐츠의 리스트를 포함함 -
    상기 홀드 보고서들을 단일 시스템의 범위에 걸친 홀드 보고서(wide hold report)로 결합하는
    것을 더 포함하는 컴퓨터 판독가능 저장 매체.
  20. 제17항에 있어서,
    상기 명령어들은,
    검색이 상기 중앙 콘텐츠 관리 허브(204)와 연관된 모든 자식 리포지토리들 에 저장된 콘텐츠에 대해 수행되게 할 수 있고,
    상기 자식 리포지토리들 중 하나의 자식 리포지토리가 상기 중앙 콘텐츠 관리 허브(204)로서 지정되게 할 수 있는
    것을 더 포함하는 컴퓨터 판독가능 저장 매체.
KR1020097026350A 2007-06-20 2008-05-31 페더레이션된 리포지토리들을 사용한 파일 저장 스케일의 증가 KR20100017851A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/765,747 US20080320011A1 (en) 2007-06-20 2007-06-20 Increasing file storage scale using federated repositories
US11/765,747 2007-06-20

Publications (1)

Publication Number Publication Date
KR20100017851A true KR20100017851A (ko) 2010-02-16

Family

ID=40137586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097026350A KR20100017851A (ko) 2007-06-20 2008-05-31 페더레이션된 리포지토리들을 사용한 파일 저장 스케일의 증가

Country Status (6)

Country Link
US (1) US20080320011A1 (ko)
EP (1) EP2181392A4 (ko)
JP (1) JP2010530588A (ko)
KR (1) KR20100017851A (ko)
CN (1) CN101689135A (ko)
WO (1) WO2008157006A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009134772A2 (en) * 2008-04-29 2009-11-05 Maxiscale, Inc Peer-to-peer redundant file server system and methods
CN103370711A (zh) * 2011-03-03 2013-10-23 惠普发展公司,有限责任合伙企业 记录管理系统
US9047294B2 (en) 2012-06-11 2015-06-02 Oracle International Corporation Model for generating custom file plans towards management of content as records
US9386353B2 (en) * 2013-01-25 2016-07-05 Huawei Technologies Co., Ltd. Child node, parent node, and caching method and system for multi-layer video network
US20160048529A1 (en) * 2014-08-13 2016-02-18 Netapp Inc. Coalescing storage operations
US10530725B2 (en) * 2015-03-09 2020-01-07 Microsoft Technology Licensing, Llc Architecture for large data management in communication applications through multiple mailboxes
US10530724B2 (en) 2015-03-09 2020-01-07 Microsoft Technology Licensing, Llc Large data management in communication applications through multiple mailboxes
US10521397B2 (en) * 2016-12-28 2019-12-31 Hyland Switzerland Sarl System and methods of proactively searching and continuously monitoring content from a plurality of data sources

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043472B2 (en) * 2000-06-05 2006-05-09 International Business Machines Corporation File system with access and retrieval of XML documents
EP1197876A3 (en) * 2000-10-13 2003-04-16 Miosoft Corporation Persistent data storage techniques
US7454446B2 (en) * 2001-08-31 2008-11-18 Rocket Software, Inc. Techniques for storing data based upon storage policies
US7559059B2 (en) * 2001-09-21 2009-07-07 Bea Systems, Inc. Method and apparatus for smart directories for application deployment
US20030069946A1 (en) * 2001-10-05 2003-04-10 Adc Telecommunications, Inc. Central directory server
US20030158865A1 (en) * 2001-12-28 2003-08-21 Frank Renkes Managing multiple data stores
US7096328B2 (en) * 2002-01-25 2006-08-22 University Of Southern California Pseudorandom data storage
SE524679C2 (sv) * 2002-02-15 2004-09-14 Ericsson Telefon Ab L M System för broadcast/multicast-utsändning av datainformation emot en lokal del av ett trådlöst nät
US20040030731A1 (en) * 2002-04-03 2004-02-12 Liviu Iftode System and method for accessing files in a network
US20060089954A1 (en) * 2002-05-13 2006-04-27 Anschutz Thomas A Scalable common access back-up architecture
US20040205581A1 (en) * 2002-07-15 2004-10-14 Gava Fabio M. Hierarchical storage
US7349921B2 (en) * 2002-09-27 2008-03-25 Walgreen Co. Information distribution system
US7293286B2 (en) * 2003-02-20 2007-11-06 Bea Systems, Inc. Federated management of content repositories
DE602004023496D1 (de) * 2003-04-25 2009-11-19 Apple Inc Ein gesichertes netzwerkbasiertes inhaltverteilungsverfahren und -system
US7203711B2 (en) * 2003-05-22 2007-04-10 Einstein's Elephant, Inc. Systems and methods for distributed content storage and management
US7860255B2 (en) * 2003-12-17 2010-12-28 Panasonic Corporation Content distribution server, key assignment method, content output apparatus, and key issuing center
US7162504B2 (en) * 2004-04-13 2007-01-09 Bea Systems, Inc. System and method for providing content services to a repository
US8108430B2 (en) * 2004-04-30 2012-01-31 Microsoft Corporation Carousel control for metadata navigation and assignment
US20060230044A1 (en) * 2005-04-06 2006-10-12 Tom Utiger Records management federation
KR100722148B1 (ko) * 2005-06-15 2007-05-28 주식회사 안철수연구소 네트워크 상에서 파일 분배 방법 및 그 시스템
US7752205B2 (en) * 2005-09-26 2010-07-06 Bea Systems, Inc. Method and system for interacting with a virtual content repository
US7720813B2 (en) * 2005-10-21 2010-05-18 International Business Machines Corporation Apparatus, system, and method for the autonomic virtualization of a data storage server
US7831793B2 (en) * 2006-03-01 2010-11-09 Quantum Corporation Data storage system including unique block pool manager and applications in tiered storage

Also Published As

Publication number Publication date
EP2181392A4 (en) 2011-07-13
JP2010530588A (ja) 2010-09-09
EP2181392A1 (en) 2010-05-05
WO2008157006A1 (en) 2008-12-24
CN101689135A (zh) 2010-03-31
US20080320011A1 (en) 2008-12-25

Similar Documents

Publication Publication Date Title
KR101475964B1 (ko) 공유되는 커스터마이즈가능한 멀티-테넌트 데이터의 메모리내 캐싱
US7599934B2 (en) Server side filtering and sorting with field level security
KR20200093556A (ko) 클라이언트 동기화 서비스에 대한 로컬 트리의 업데이트
KR20100017851A (ko) 페더레이션된 리포지토리들을 사용한 파일 저장 스케일의 증가
US20100262624A1 (en) Discovery of inaccessible computer resources
US10860604B1 (en) Scalable tracking for database udpates according to a secondary index
US11789976B2 (en) Data model and data service for content management system
US20200184097A1 (en) Data security in a peer-to-peer network
US11811839B2 (en) Managed distribution of data stream contents
US8650216B2 (en) Distributed storage for collaboration servers
US11711375B2 (en) Team member transfer tool
US11768883B2 (en) System and method for in-place record content management
JP7374232B2 (ja) コンテキスト付きのコンテンツ・アイテム共有
US20210303597A1 (en) Increased data availability during replication
US20230274027A1 (en) System and method for external users in groups of a multitenant system
US20190165993A1 (en) Collaborative triggers in distributed and dynamic computing systems
CN107408239B (zh) 通过多个邮箱在通信应用中进行海量数据管理的架构
US20120310982A1 (en) Scalable, distributed containerization across homogenous and heterogeneous data stores
US10210228B2 (en) Federated management of a plurality of metadata storage mechanisms
CA3170205A1 (en) Multi-value primary keys for plurality of unique identifiers of entities
US20220284002A1 (en) Data model and data service for content management system
US11803652B2 (en) Determining access changes
US11537670B2 (en) System and method for event driven generation of content
Wu et al. Data management services and transfer scheme in ChinaGrid

Legal Events

Date Code Title Description
SUBM Surrender of laid-open application requested