KR101291912B1 - 선택적 데이터 전달 저장 방법 - Google Patents

선택적 데이터 전달 저장 방법 Download PDF

Info

Publication number
KR101291912B1
KR101291912B1 KR1020117009321A KR20117009321A KR101291912B1 KR 101291912 B1 KR101291912 B1 KR 101291912B1 KR 1020117009321 A KR1020117009321 A KR 1020117009321A KR 20117009321 A KR20117009321 A KR 20117009321A KR 101291912 B1 KR101291912 B1 KR 101291912B1
Authority
KR
South Korea
Prior art keywords
computer system
data item
data
node
network
Prior art date
Application number
KR1020117009321A
Other languages
English (en)
Other versions
KR20110059660A (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 KR20110059660A publication Critical patent/KR20110059660A/ko
Application granted granted Critical
Publication of KR101291912B1 publication Critical patent/KR101291912B1/ko

Links

Images

Classifications

    • 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/167Interprocessor communication using a common memory, e.g. mailbox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

선택적 데이터 전달 저장을 위한 컴퓨터 프로그램 제품을 포함한 방법 및 장치가 개시되어 있다. 본 방법은, 상호 접속된 컴퓨터 시스템 노드들의 네트워크에서 데이터를 저장하라는 소스 시스템으로부터의 요청을 수신하고 - 소유권 및 데이터 유형이 스토어 내의 대응하는 엔트리와 매칭하면 요청이 소유권 및 데이터 유형을 포함함 - , 컴퓨터 메모리에 데이터를 보내고 - 상호 접속된 컴퓨터 시스템 노드들의 네트워크에서, 네트워크 내의 어떠한 물리적 저장 디바이스에도 저장함이 없이 한 컴퓨터 메모리로부터 다른 컴퓨터 메모리로 데이터를 연속적으로 전달하는 것을 포함한다.

Description

선택적 데이터 전달 저장 방법{SELECTIVE DATA FORWARDING STORAGE}
본 명세서에 개시된 적어도 일부 실시예는 데이터 저장에 관한 것이고, 보다 자세하게는, 선택적 데이터 전달 저장에 관한 것이다.
개인, 조직, 기업 및 정부에 의해 저장되어야 하는 데이터량이 매년 증가하고 있다. 단순히 요구에 맞추는 것 뿐만 아니라, 조직은 다른 저장 문제에 직면하여 있다. 온라인에서 실시간으로 기업 및 정부로의 이동에서, 중요한 데이터는 소프트웨어 또는 하드웨어 고장으로 인한 손실 또는 접속곤란성(inaccessibility)으로부터 보호되어야 한다. 오늘날, 많은 저장 제품은 완벽한 고장 방지를 제공하지 못하고 사용자에게 데이터 손실 또는 접근곤란성의 위험에 노출시킨다. 예를 들어, 오늘날 시중의 많은 저장 솔루션들은 프로세서 고장과 같은 일부 고장 모드에 대비되는 방지책을 제공하지만, 디스크 드라이브 고장과 같은 다른 것들에 대한 방지책을 제공하지 못하고 있다. 많은 조직들은 자신들의 데이터 저장 시스템 내의 컴포넌트 고장으로 인해 데이터 손실 또는 데이터 접근 곤란성의 위험에 노출되고 있다.
데이터 저장 시장은 일반적으로 두개의 주요 세그먼트, 즉 DAS(Direct Attached Storage)와 네트워크 저장 장치로 나누어진다. DAS는 서버에 직접 연결된 디스크를 포함한다.
네트워크 저장 장치는 특정 서버 이외의 네트워크에 연결된 디스크를 포함하고 이후 네트워크 상의 애플리케이션 및 다른 디바이스에 의해 액세스되어 공유될 수 있다. 네트워크 저장 장치는 두개의 세그먼트, 즉, 저장 영역 네트워크(SAN; Storage Area Network) 및 네트워크가 연결된 저장 장치(NAS; Network Attached Storage)로 통상 나누어진다.
SAN은 더 큰 사용자 네트워크 대신에 연관된 데이터 서버와 서로 다른 유형의 데이터 저장 디바이스들을 상호연결시키는 고속의 특수목적 네트워크(또는 서브네트워크)이다. 통상적으로, SAN은 엔터프라이즈를 위한 전체 컴퓨팅 자원 네트워크의 일부이다. 저장 영역 네트워크는 일반적으로 다른 컴퓨팅 자원에 매우 근접하여 클러스터되지만, 또한 광역 통신 네트워크(WAN; wide area network) 반송파 기술을 이용하여 백업 및 아카이벌 저장 장치(backup and archival storage)를 위한 원격 로케이션으로 확장될 수 있다. NAS는 네트워크의 워크스테이션 사용자들에 대한 애플리케이션을 서빙하고 있는 로컬 컴퓨터에 연결되기 보다는 자신의 네트워크 어드레스로 설정된 하드 디스크 저장 장치이다. 로컬 서버로부터 저장 액세스 및 그 관리를 제거함으로써, 애플리케이션 프로그래밍 및 파일들 양쪽 모두는 동일한 프로세서 자원을 경합하지 않기 때문에 보다 고속으로 서브될 수 있다. NAS는 근거리 통신 네트워크(일반적으로, 이더넷 네트워크)에 연결되어 있고 IP 어드레스를 할당받는다. 파일 요청은 메인 서버에 의해 NAS 파일 서버에 매핑된다.
위의 모든 것은 하나 보다 많은 방식, 즉, 데이터를 디스크 드라이브, CD 드라이브 등 상에 저장하는 것의 방식에 있어서, 아킬레스 건일 수 있는 하나의 공통 특징을 공유한다.
본 발명은 선택적 데이터 전달 저장을 위한, 컴퓨터 프로그램 제품을 포함한 방법 및 장치를 제공한다.
일반적으로 일 양상에서 본 발명은 상호 접속된 컴퓨터 시스템 노드들의 네트워크를 특징으로 하며, 각각의 노드는 데이터 유형, 비교적 높은 레벨의 암호화 프로토콜, 다른 인자 또는 이들의 조합 중 하나에 기초하여 하나하나 차례로 데이터를 전달하고, 데이터를 저장하라는 요청을 소스 시스템으로부터 수신하도록 구성된다. 방법은 또한, 상호 접속된 컴퓨터 시스템 노드들의 네트워크에서, 네트워크 내의 어떠한 물리적 저장 디바이스에도 저장함이 없이 한 컴퓨터 메모리로부터 다른 컴퓨터 메모리로 데이터를 연속적으로 전달하는 것을 포함한다. 연속적으로 전달하는 것은 하나하나 차례로 전달되어진 데이터를 수신하기 위해 이용가능한 노드의 어드레스를 결정하고, 요청자에 대해 데이터를 전달하라는 메시지를 특정 노드의 어드레스와 함께 소스 시스템에 전송하는 것을 포함한다. 본 방법은, 특정 노드의 메모리 내의 데이터의 존재를 검출하고, 상호접속된 컴퓨터 시스템 노드들의 네트워크에서, 어떠한 물리적 저장 디바이스에도 저장함이 없이 노드의 다른 컴퓨터 메모리에 데이터를 전달하는 것을 더 포함한다.
하나 이상의 다음 실시예의 특징은 또한 다양한 실시예에 포함될 수 있다. 노드들은 오피스 생산성 맞춤형 파일 데이터 유형(office productivity suite file data type), 오디오 파일 데이터 유형, 비쥬얼 파일 데이터 유형, 비디오 파일 데이터 유형, 객체 지향 파일 데이터 유형 또는 데이터베이스 파일 데이터 유형을 포함한 특정한 데이터 유형을 처리하도록 설계될 수 있다. 인자들은 네트워크 트래픽 분석 및 이용가능한 메모리를 포함할 수 있다. 본 방법은 상호접속된 컴퓨터 시스템 노드들의 네트워크에서 연속하여 전달되는 데이터를 검색하라는 요청을 소스 시스템으로부터 수신하고, 데이터를 검색하라는 요청에 응답하여 노드 메모리로부터 데이터를 검색하는 것을 더 포함한다. 검색하는 것은, 노드 메모리에 입력된 데이터를 나타내는 해시 마스크를 이용하여 중앙 서버에서의 데이터 검색 요청을 매칭시키고, 메모리 내에 데이터를 갖고 있는 것으로 예상되는 노드에 메시지 - 상기 메시지는 메모리 내의 데이터를 요청자에게 전달하게끔 노드에 명령하는 것임 - 를 전송하고, 데이터가 요청자에게 전달되었다는 확인 메시지를 중앙 서버에 전송하는 것을 포함할 수 있다. 본 방법은 또한 파일 유형으로 노드 유형을 세그먼트하는 것과, 파일 크기로 노드 유형을 결정하는 것과, 파일 사용 빈도, 사용자 이력, 또는 이들의 조합 중 하나에 의해 노드 유형을 결정하는 것과, 사용자 선호도, 사용자에 의해 지불된 프리미엄(premium) 또는 이들의 조합 중 하나에 기초하여 노드 유형을 결정하는 것과, 사용자 선호도, 파일 사용량(file usage), 사용자에 의해 지불된 프리미엄 또는 이들의 조합 중 하나에 기초하여 파일을 더 느린 노드 상태 또는 더 빠른 노드 상태로 이동시키는 것을 포함한다.
다른 양상에서, 본 발명은 상호 접속된 컴퓨터 시스템 노드들의 네트워크의 컴퓨터 메모리에 데이터를 저장하고 검색하기 위하여 컴퓨터 판독가능 매체 상에서 실체적으로 구현될 수 있는 컴퓨터 프로그램 제품을 특징으로 한다. 컴퓨터 시스템 노드들은 하나하나 차례로 데이터를 전달하도록 구성될 수 있다. 캄퓨터 프로그램 제품은 데이터 처리 장치로 하여금, 상호 접속된 컴퓨터 시스템 노드들의 네트워크와 통신하는 소스 시스템으로부터 데이터를 저장하라는 요청을 수신하도록 허용할 수 있다. 데이터 처리 장치는, 데이터 유형, 비교적 높은 레벨의 암호화 프로토콜, 다른 인자 또는 이들의 조합 중 하나에 기초하여, 상호접속된 컴퓨터 시스템 노드들의 네트워크에서, 네트워크 내의 어떠한 물리적 저장 디바이스에도 저장함이 없이 한 컴퓨터 메모리로부터 다른 컴퓨터 메모리로 데이터를 연속적으로 전달할 수 있다. 데이터를 연속적으로 전달하는 것은 하나하나 차례로 전달되어지는 데이터를 수신하는데 이용가능한 노드의 어드레스를 결정하고, 요청자에 대해 데이터를 전달하라는 메시지를 특정 노드의 어드레스와 함께 소스 시스템에 전송하고, 특정 노드의 메모리 내의 데이터의 존재를 검출하고, 상호 접속된 컴퓨터 시스템 노드들의 네트워크에서, 어떠한 물리적 저장 디바이스에도 저장함이 없이 노드의 다른 컴퓨터 메모리에 데이터를 전달하는 것을 포함할 수 있다.
본 발명의 하나 이상의 구현예들의 상세 내용은 첨부한 도면 및 아래 설명에 기재된다. 본 발명의 추가의 특징, 양상 및 이점은 상세한 설명, 도면, 및 청구항으로부터 명백해 질것이다.
본 발명에 따르면, 선택적 데이터 전달 저장을 위한 효율적인 구성을 제공할 수 있다.
본 실시예들은 첨부된 도면의 내용으로 한정이 아닌 예로서 설명되며, 도면 내 동일한 도면 부호는 동일한 요소를 나타낸다.
도 1은 예시적인 네트워크의 블록도를 나타낸다.
도 2는 예시적인 사용자 시스템의 블록도를 나타낸다.
도 3은 예시적인 네트워크 시스템의 블록도를 나타낸다.
도 4는 프로세스의 흐름도를 나타낸다.
도 5는 프로세스의 흐름도를 나타낸다.
데이터가 디스크 드라이브와 같은 물리적 매체 상에 최종적으로 저장되도록 하는 비상주 방식(transient fashion)으로의 데이터 전달을 이용하는 피어 투 피어 네트워크(peer to peer network)와 달리, 본 발명은 연속적 데이터 전달 시스템인데, 즉, 한 노드 메모리에서 다른 노드 메모리로 데이터를 연속하여 전달함으로써 데이터를 저장한다.
도 1에 도시된 바와 같이, 예시적인 네트워크(10)는 사용자 시스템(12) 및 복수의 네트워크 시스템, 예를 들어, 시스템(14, 16, 18, 20, 22)을 포함한다. 일 실시예에서, 각각의 네트워크 시스템(14, 16, 18, 20, 22)은 네트워크(10) 내의 노드인 것으로 고려될 수 있다. 추가로, 네트워크 시스템(14)와 같은 네트워크 시스템은 중앙 서버로서 지정될 수 있고, 네트워크(10) 내에서 제어 포지션을 취할 수 있다. 각각의 노드(14, 16, 18, 20, 22)는 중앙 서버(14)의 직접적인 제어 하에서 피어들의 사설 제어형 네트워크로서 확립될 수 있다. 네트워크(10)는 또한 중앙 서버(14; 또는 서버들)가 피어 노드들 어느 것의 직접적인 물리적 제어도 또는 직접적인 소유권도 갖지 않는 경우에 완전 공개로 될 수 있다. 대안으로서, 노드들은 또한 사설 및 공개 노드(public node)의 혼합형일 수 있고, 따라서, 중앙 서버(14)의 직접적인 물리적 제어를 받지 않는다.
개인적으로 제어되는 네트워크에 대해, 사용자는 피어 노드에 대한 자유로운 액세스를 가질 수 있거나 또는 가입 서비스 또는 다른 장치를 통하여 액세스를 얻을 수 있다. 혼합형 환경에서, 즉, 네트워크가 사설 및 공개 노드의 조합을 갖는 환경에서는, 중앙 서버(14)는 데이터가 사설 네트워크로 전달될지 또는 공개 네트워크로 전달될지 여부를 나타낼 수 있다. 일 실시예에서, 중앙 서버(14)는 데이터의 유형을 식별하고, 식별된 유형에 따라 사설 네트워크 또는 공개 네트워크에 데이터를 전달한다. 예를 들어, 비디오 또는 오디오 파일을 나타내는 데이터는 공개 네트워크에 전송될 수 있는 한편, 문서(예를 들어, Microsoft
Figure 112012098291488-pct00006
워드 문서)를 나타내는 데이터는 사설 네트워크에 전송될 수 있다.
다른 예에서, 중앙 서버(14)는 사용자로 하여금 사용자가 소유한 데이터가 전달되는 곳, 즉, 사설 네트워크 또는 공개 네트워크를 선택하게 할 수 있다.
일례에서, 노드(14, 16, 18, 20 및 22)는 사설 네트워크인 것으로 고려될 수 있다. 사설 네트워크에서, 관리자는 노드를 제어하고, 어느 노드가 중앙 서버인지를 지정할 수 있다. 시스템(10)은 또한 관리자가 거의 제어를 하지 않거나 또는 전혀 제어하지 않는 하나 이상의 공개 네트워크의 부분인 것으로 고려될 수 있는 하나 이상의 추가적인 노드들을 포함할 수 있다. 이러한 일 실시예에서, 노드들이 사설 노드 및 공개 노드의 혼합일 수 있는 경우, 개인 노드 또는 노드 스테이트는 여전히 중앙 서버에 의해 제어될 수 있음을 이해해야 한다. 그러나, 이러한 중앙 서버는 차단된 시스템(cordoned off system)을 실행시킬 수 있는 개인 소유자의 제어 내에 있을 수 있다.
도 2에 도시된 바와 같이, 사용자 시스템(12)은 프로세서(30), 메모리(32) 및 입력/출력(I/O) 디바이스(34)를 포함할 수 있다. 메모리(32)는 일 실시예에서, 아래 자세히 설명될, Linux, Apple
Figure 112012098291488-pct00007
OS 또는 Windows
Figure 112012098291488-pct00008
와 같은 오퍼레이팅 시스템(OS; 36), 하나 이상의 애플리케이션 프로세스(38) 및 저장 프로세스(100)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 애플리케이션 프로세스(38)는 OpenOffice 또는 Microsoft
Figure 112012098291488-pct00009
Office와 같은 사용자 생산성 소프트웨어(user productivity software)를 포함할 수 있다. 반면, I/O 디바이스(34)는 사용자(42)에게 디스플레이를 위한 그래픽 사용자 인터페이스(GUI; graphical user interface)를 포함할 수 있다.
도 3에 도시된 바와 같이, 네트워크 시스템(14)와 같은 각각의 네트워크 시스템은 프로세서(50)와 메모리(52)를 포함할 수 있다. 일 실시예에서, 메모리(52)는 Linux, Apple
Figure 112012098291488-pct00010
OS 또는 Windows
Figure 112012098291488-pct00011
와 같은 OS(54)를 포함할 수 있다. 메모리(52)는아래 설명될 데이터 전달 프로세스(200)를 더 포함할 수 있다.
통상적인 시스템에서, 애플리케이션 프로세스(38)는 데이터를 저장하고 검색할 필요가 있다. 이들 통상적인 시스템에서는, 국부적 또는 원격 물리적 디바이스 상에 데이터를 저장한다. 일부 시스템에서, 이 데이터는 서로 다른 피스들 또는 패킷들로 분할되어 물리적 저장 매체 상에 국부적으로 또는 원격으로 저장될 수 있다. 그러나, 고정된 물리적 데이터 저장 디바이스의 이용은 사용자(42)의 요구가 있든 또는 없든 간에, 비용, 유지 보수, 관리를 추가시키고, 고정된 물리적 데이터 기록을 발생시킨다.
본 발명은 통상의 시스템과 달리, 데이터를 영구적으로(permanently) 저장하기 위한 고정된 물리적 데이터 저장 장치를 사용하지 않는다. 예를 들어, 데이터를 저장하라는 요청이 중앙 서버(14)에 의해 저장 프로세스(100)로부터 수신될 때, 네트워크(10) 내의 노드에 데이터가 보내질 수 있고, 이후 데이터는 디스크 드라이브와 같은 데이터의 영구적 저장을 위해 사용되는 어떠한 물리적 저장 매체 상에도 영구적으로(permanently) 저장됨 없이 각 네트워크 노드(14, 16, 18, 20, 22) 내의 데이터 전달 프로세스(200)에 의해 네트워크(10)에서, 전달될 데이터를 일시적으로 유지하도록 구성된 노드 메모리로부터 노드 메모리로 연속적으로 전달된다. 전달된 데이터는 네트워크(10) 내의 임의의 한 노드(14, 16, 18, 20, 22)의 메모리 내에 매우 짧은 기간 동안에만 머무른다. 전달되어진 데이터는 어떠한 네트워크 노드에서의 어떠한 물리적 저장 매체 상에도 영구적으로 저장되지 않음을 알아야 한다.
추가로, 데이터를 저장하라는 요청이 수신될 때, 데이터의 소유권 및/또는 데이터 유형이 중앙 서버(14)에 의해 유지되는 스토어 내의 엔트리에 대해 검사될 수 있다. 예를 들어, 지불된 가입자에 의해 소유된 데이터는 노드 메모리로부터 노드 메모리로 전달될 수 있고 및/또는 오피스 생산성 파일 데이터 유형, 오디오 데이터 파일 유형, 비쥬얼 데이터 파일 유형, 객체 지향 파일 유형 및/또는 데이터베이스 데이터 파일 유형과 같은 특정 유형의 데이터가 노드 메모리로부터 노드 메모리로 전달되어질 수 있다. 따라서, 데이터 전달은 소유권 및/또는 유형에 기초하여 선택적이다. 특정 사용자는 노드 메모리로부터 노드 메모로 전달되는 데이터를 가질 수 있고, 및/또는 특정 유형의 데이터가 노드 메모리로부터 노드 메모리로 전달되어질 수 있다. 스토어 내의 엔트리가 추가, 변경, 또는 삭제될 수 있고 이는 노드 메모리로부터 노드 메모리로 데이터를 선택적으로 전달할 때 훨씬 더 큰 유연성을 부여할 수 있다. 이러한 스토어는 중앙 서버(14)에 국부적으로 상주할 수 있거나 또는 디스크 드라이브와 같은 어떠한 물리적 저장 매체 상에 저장함이 없이 노드 메모리로부터 노드 메모리로 전달되어질 수 있다. 추가로, 소유권 및 파일 유형, 평가될 수 있는 다른 데이터 파라미터는 파일 크기, 파일 사용 빈도, 사용자 이력, 사용자 선호도, 및 사용자에 의해 지불된 프리미엄을 포함할 수 있다.
유사한 방식으로, 데이터를 검색하라는 요청이 중앙 서버(14)에 의해 저장 프로세스(100)로부터 수신될 때, 네트워크(10) 내의 노드 메모리로부터 노드 메모리로 전달되어지고 있는 요청 데이터가 검색된다.
이러한 방식으로 전달된 데이터는 위에서 설명된 바와 같이 분할될 수 있고 그 결과적인 데이터 세그먼트가 전달될 수 있다. 구체적으로, 분할된 데이터는 어떠한 네트워크 노드 내의 어떠한 물리적 저장 매체 상에도 저장되지 않고 단지 한 노드의 메모리로부터 다른 노드의 메모리로 전달되기만 한다.
이하, 도 4를 참조하여 보면, 일 실시예에서, 저장 프로세스(100)는 데이터를 저장 또는 검색하라는 요청을 네트워크 시스템(14)과 같은 중앙 서버(14)에 전송하는 것(102)을 포함한다. 요청이 데이터 검색 요청이라면, 저장 프로세스(100)는 네트워크 내의 노드 또는 중앙 서버(14)로부터 요청된 데이터를 수신한다.
중앙 서버(14)에 대한 요청이 데이터 저장 요청이라면, 저장 프로세스(100)는 중앙 서버(14)로부터 노드 어드레스를 수신하고(104), 데이터 소유권 및/또는 유형이 스토어 내의 대응하는 엔트리와 매칭하면, 수신된 어드레스에 의해 나타내어진 노드 메모리에 데이터를 전달한다(106).
도 5에 도시된 바와 같이, 데이터 전달 프로세스(200)는 데이터를 저장 또는 검색하라는 요청을 수신하는 것(202)을 포함한다. 수신된 요청이 데이터를 저장하라는 요청이라면, 데이터 전달 프로세스(200)는 데이터 소유권 및/또는 유형이 스토어 내의 엔트리와 매칭하는지 여부를 결정한다(203). 데이터 소유권 및/또는 유형이 스토어 내의 엔트리와 매칭하면, 데이터 전달 프로세스(200)는 메모리 내의 데이터를 수신하는데 이용가능한 노드의 어드레스를 결정한다(204). 결정(204)은 네트워크 내의 노드를 핑하고, 네트워크 내의 어느 노드가 이용가능한지를 결정하거나 또는 네트워크 내의 어느 노드가 최소의 트래픽을 갖는지를 결정하거나 또는 네트워크 내의 어느 노드가 최대 이용가능한 메모리를 갖는지를 결정하는 것, 또는 이들 또는 다른 인자들의 임의의 조합을 포함할 수 있다.
그 후, 프로세스(200)는 요청자에 대해 데이터를 전달하라는 메시지를 특정 노드의 어드레스와 함께 사용자 시스템에 전송할 수 있다(206).
그 후, 프로세스(200)는 노드 메모리 내의 데이터의 존재를 검출한다(208). 프로세스(200)는 메모리 내의 데이터를 노드들의 네트워크 내의 다른 노드에 전달하고(210) 노드 메모리로부터 노드 메모리로 데이터의 검출(208) 및 전달(210)을 반복하는 것을 계속한다. 데이터가 임의의 노드 메모리 내에 도달할 때, 프로세스(200)는 데이터에 타임스탬프를 첨부한다(212).
일 실시예에서, 전달(210)은 네트워크 내의 노드를 핑하여, 네트워크 내의 어느 노드가 이용가능한지를 결정하거나 또는 네트워크 내의 어느 노드가 최소의 트래픽을 갖는지를 결정하거나 또는 네트워크 내의 어느 노드가 최대 이용가능한 메모리를 갖는지를 결정하는 것, 또는 이들 또는 다른 인자들의 임의의 조합을 포함할 수 있다.
일 특정예에서, 노드로의 진입 시점에서, 데이터는 노드 또는 중앙 서버(14) 또는 사용자와의 암호화된 "핸드쉐이크(handshake)"를 처리받는다. 이는 공개-사설 키를 이용할 수 있는 캐시미어(Cashmere) 시스템과 같은 공개 또는 사설 암호화 시스템일 수 있다. 암호화 시스템은 암호화된 전달 경로와 메시지 페이로드를 연결해제하는데, 이는 소스가 수신지의 고유한 공개 키를 이용하는 각각의 메시지에 대한 단일의 공개 키 암호화를 수행할 필요가 있을 때에만 성능을 향상시킨다. 이는 대응하는 중계(relay) 그룹에서의 모든 노드인 것이 아닌, 진정한 수신지 노드만이 메시지 페이로드를 암호해제할 수 있는 이점을 갖는다. 암호화 시스템은 수신지가 소스의 아이덴티티를 알지 않고도 익명의 응답 메시지를 전송할 수 있는 능력을 제공한다. 이는 소스가 전달 경로와 유사한 방식으로 응답 경로를 생성하고 응답 경로를 암호화하는 경우에, 유사한 방식으로 행해진다.
다른 예에서는 다른 라우팅 방식들이 이용된다. 위에서 설명된 라우팅 방식의 임의의 조합도 또한 이용할 수 있다.
수신된 요청이 노드 메모리로부터 노드 메모리로 연속적으로 전달되고 있는 데이터를 검색하라는 요청이라면, 데이터 전달 프로세스(200)는 암호화 핸드쉐이크를 통하여 데이터가 노드에 진입시 노드에 의해 "검출(sniff)"될 수 있는 해시 마스크 또는 다른 고유한 코드를 이용하여 중앙 서버(14)에서 매칭시킨다(214). 이는 네트워크(10) 내의 노드들을 핑함으로써 발생할 수 있다. 프로세스(200)는 사용자에게 데이터를 직접 반환하라는 메시지를, 중앙 서버(14)가 데이터가 있을 것이라고 믿고 있는 노드 또는 노드 스테이트에 전송한다(216). 중앙 서버(14)가 핑할 수 있는 노드 스테이트를 더 한정할 수 있을수록 검색이 더 효과적으로 되고, 중앙 서버(14)와 데이터를 전달가능한 노드 사이의 트랜잭션에 필요하지 않은 노드에 대한 불필요한 메시징 트래픽에 의한 부담을 덜어준다.
올바른 노드가 노드 메모리 내의 데이터를 요청자에게 전달하라는 메시지를 수신하면, 프로세스(200)는 노드 메모리에서 요청자에게 데이터를 전달하고(218) 데이터가 사용자에게 전송되었다는 확인 메시지를 전달한다(220). 이 라우팅 메시지는 중앙 서버(14)에 직접 전송될 수 있거나 또는 네트워크(10) 내의 다른 노드(들) 또는 슈퍼노드(들)를 통하여 중앙 서버(14) 또는 서버들에 전달될 수 있다. 사용자가 요청된 데이터를 수신시, 사용자의 애플리케이션은 요청된 데이터가 수신되었음을 중앙 서버(14)에 자동으로 핑하도록 기능한다. 따라서, 네트워크(10)는 데이터를 어떠한 물리적 저장 매체 상에 캐시, 다운로드, 및/또는 저장하지 않고도 데이터 저장을 형성할 수 있다. 데이터 저장 및 관리는 노드 메모리로부터 노드 메모리로의 데이터의 지속적인 라우팅을 통하여 수행될 수 있으며, 사용자가 데이터를 요청하여 네트워크(10)로부터 사용자에게 데이터가 반환될 때에만 전달된 데이터가 다운로딩된다.
새로운 노드들 및 노드 스테이트는 성능에 기초하여 네트워크(10)로부터 추가 또는 삭제될 수 있다. 사용자는 모든 노드에 대해 액세스할 수 있거나 또는 중앙 서버(들)에 의해 또는 사설, 공개, 또는 사설-공개 네트워크의 특정 아키텍쳐를 통하여 특정 노드 또는 "노드 스테이트들"로 분할될 수 있다.
개개의 노드, 노드 스테이트, 및 슈퍼 노드는 또한 개인 또는 공개 네트워크에서, 엑스트라넷 피어들, 무선 네트워크 피어들, 위성 피어 노드, Wi-Fi 피어 노드, 광대역 네트워크 등일 수 있다. 피어 노드 또는 사용자는 무선 피어를 위한 무선 암호화 방식 등과 같은 특정 배치의 엄격성에 적합한 맞춤 솔루션 뿐만 아니라 동일한 보안 시스템이 채택된 임의의 유효한 피어 포인트로부터 네트워크(10) 내의 라우팅 참여자들로서 이용될 수 있다.
프로세스(200)에서는, 원격 서버, 하드 드라이브 또는 기타 고정된 저장 매체에 데이터를 캐시 또는 유지시키기 보다는, 노드 메모리에서 노드 메모리로 데이터를 통과, 라우팅, 전달할 수 있다. 인가된 사용자가 데이터를 요청하기 전까지는 전달된 데이터는 다운로드되지 않는다. 일 실시예에서, 시스템 상의 사용자는 하나 보다 많은 사용자가 데이터에 액세스하는 것을 인가할 수 있다.
프로세스(200)에서의 주요 목표는 데이터가 결코 물리적 저장 장치에 고정되지 않고 실제로 네트워크 내의 노드 메모리로부터 노드 메모리로 연속적으로 라우팅/전달되어지는 것인 데이터 저장 및 관리 시스템을 생성하는 것이다. 데이터가 전달되는 노드들의 경로를 중앙 서버(14)에 의해 또한 변경하여 시스템 능력을 조정하고, 이 특성없이 데이터 경로의 증가된 가능성으로 인해 네트워크의 보안성을 약화시킬 수 있는 데이터의 중복하는 경로들을 제거할 수 있다.
본 발명은 다음 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 네트워크는 캐시 또는 다운로드 없이 데이터 저장을 생성한다. 데이터 저장 및 관리는 데이터의 일정한 라우팅을 통하여 완성된다.
본 발명의 실시예들은 디지털 전자 회로에서 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어에서 또는 이들의 조합에서 구현될 수 있다. 본 발명의 실시예들은 컴퓨터 프로그램 제품으로서 즉, 정보 캐리어에서 예를 들어, 머신 판독가능 저장 디바이스에서 유형적으로 구현된 컴퓨터 프로그램으로서 구현될 수 있거나 또는 데이터 처리 장치, 예를 들어 프로그래밍가능 프로세서, 컴퓨터 또는 복수의 컴퓨터의 동작을 제어하기 위해 또는 동작에 의한 실행을 위하여 유형적으로 구현된 컴퓨터 프로그램으로서 구현될 수 있다. 컴퓨터 프로그램은 컴파일되거나 또는 해석(interprete)된 언어를 포함한 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 독립형 프로그램으로서 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서의 이용에 적합한 다른 유닛으로서를 포함한 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 한 사이트에서의 한 컴퓨터 상에서 또는 복수의 컴퓨터 상에서 실행되어지도록 배치될 수 있거나 또는 복수의 사이트들에 걸쳐 분포되어 통신 네트워크에 의해 상호접속될 수 있다.
본 실시예들의 방법 단계는 입력 데이터 상에 조작함으로써 또는 출력을 발생시킴으로써 본 발명의 기능들을 수행하도록 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍가능 프로세서에 의해 수행될 수 있다. 방법 단계들은 또한 특수 목적 논리 회로 예를 들어, 필드 프로그래밍가능 게이트 어레이(field programmable gate array; FPGA) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수 있고 그리고 본 발명의 장치는 특수 목적 논리 회로 예를 들어, FPGA 또는 ASIC으로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은 예로서, 범용 마이크로프로세서와 특수 목적 마이크로프로세서 양쪽 모두를, 그리고 임의의 유형의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리, 랜덤 액세스 메모리 또는 양쪽 모두로부터 데이터 및 명령을 수신할 것이다. 컴퓨터의 필수 엘리먼트는 데이터 및 명령을 저장하기 위한 하나 이상의 메모리 디바이스와 명령을 실행하기 위한 프로세서이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대량 저장 디바이스, 예를 들어, 자기 디스크, 광자기 디스크, 또는 광디스크로부터/로 데이터를 수신 또는 전송하거나 또는 전송 및 수신하도록 동작가능하게 결합하거나 또는 포함한다. 컴퓨터 프로그램 명령 및 데이터를 구현하는데 적합한 정보 캐리어는 예로서 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드디스크 또는 착탈가능 디스크); 광자기 디스크, 및 CD ROM 및 DVD-ROM 디스크를 포함한 모든 형태의 비휘발성 메모리를 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 추가되거나 또는 특수 목적 논리 회로 내에 통합될 수 있다.
상술한 기술 내용은 설명을 의도한 것이며 본 개시의 범위를 제한하려 의도한 것이 아니며 본 발명의 범위는 첨부된 청구범위의 범위에 의해 정의됨을 이해해야 한다. 다른 실시예들도 다음의 청구범위의 범위 내에 있다.
10: 네트워크
12: 사용자 시스템
14, 16, 18, 20, 22: 네트워크 시스템
30: 프로세서
32: 메모리
34: I/O 디바이스
42: 사용자
50: 프로세서
52: 메모리

Claims (20)

  1. 적어도 하나의 데이터 항목을 저장하라는 요청을 소스 시스템으로부터 수신하는 단계; 및
    상호 접속된 컴퓨터 시스템 노드들의 네트워크 내의 컴퓨터 시스템 노드들 간에 상기 적어도 하나의 데이터 항목을 전달하는 단계로서, 상기 전달되는 적어도 하나의 데이터 항목은 상기 네트워크 내에 데이터 항목을 영구적으로 저장하는데 사용되는 어떠한 고정된 저장 매체에도 저장되지 않고 상기 네트워크 내에서 컴퓨터 시스템 노드로부터 컴퓨터 시스템 노드로 지속적으로 라우팅되며, 상기 전달되는 적어도 하나의 데이터 항목은 상기 적어도 하나의 데이터 항목을 검색하라는 요청이 수신되면 검색에 이용가능한 것인, 상기 전달 단계
    를 포함하며, 상기 전달 단계는,
    상기 적어도 하나의 데이터 항목의 유형, 암호화 레벨, 네트워크 트래픽 분석, 또는 각각의 노드의 이용가능한 메모리 중 하나 이상에 기초하여 상기 적어도 하나의 데이터 항목을 수신하는데 이용가능한 컴퓨터 시스템 노드의 어드레스를 결정하는 단계;
    특정 컴퓨터 시스템 노드의 어드레스와 함께 소스 시스템에 메시지를 전송하는 단계;
    상기 특정 컴퓨터 시스템 노드에서 상기 적어도 하나의 데이터 항목의 존재를 검출하는 단계; 및
    상호 접속된 컴퓨터 시스템 노드들의 네트워크 내의 상기 결정된 컴퓨터 시스템 노드에 상기 적어도 하나의 데이터 항목을 전달하는 단계
    를 포함하고,
    상기 각각의 노드의 메모리는 상기 전달되는 적어도 하나의 데이터 항목을 일시적으로 유지(transiently retain)하도록 구성되는 것인,
    방법.
  2. 제1항에 있어서, 각각의 컴퓨터 시스템 노드들은 오피스 생산성 맞춤형 파일 데이터 유형(office productivity suite file data type), 오디오 파일 데이터 유형, 비쥬얼 파일 데이터 유형, 비디오 파일 데이터 유형, 객체 지향 파일 데이터 유형 또는 데이터베이스 파일 데이터 유형을 포함한 특정한 데이터 유형을 처리하도록 구성되는 것인 방법.
  3. 제1항에 있어서, 파일 크기, 파일 사용 빈도, 사용자 이력, 사용자 선호도, 또는 사용자에 의해 지불된 프리미엄(premium) 중 적어도 하나에 기초하여 상기 적어도 하나의 데이터 항목이 전달되어질 컴퓨터 시스템 노드들의 하나 이상의 유형을 결정하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서, 사용자 선호도, 파일 사용도, 또는 사용자에 의해 지불된 프리미엄 중 적어도 하나에 기초하여 저속 또는 고속 컴퓨터 시스템 노드에 데이터 항목을 이동시키는 단계를 더 포함하는 방법.
  5. 제1항에 있어서, 상호 접속된 컴퓨터 시스템 노드들의 네트워크는 하나 이상의 개인 컴퓨터 시스템 노드 또는 하나 이상의 공용 컴퓨터 시스템 노드를 포함하는 것인 방법.
  6. 제1항에 있어서, 데이터 항목의 유형 또는 사용자 선호도에 기초하여 개인 컴퓨터 시스템 노드들 또는 공용 컴퓨터 시스템 노드들 사이에서 상기 적어도 하나의 데이터 항목을 선택적으로 전달하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서,
    상기 적어도 하나의 데이터 항목의 유형을 결정하는 단계;
    상기 적어도 하나의 데이터 항목이 제1 유형이라고 결정하는 것에 응답하여, 개인 네트워크의 컴퓨터 시스템 노드들 사이에 상기 적어도 하나의 데이터 항목을 전달하는 단계; 및
    상기 적어도 하나의 데이터 항목이 제2 유형이라고 결정하는 것에 응답하여, 공용 네트워크의 컴퓨터 시스템 노드들 사이에 상기 적어도 하나의 데이터 항목을 전달하는 단계
    를 더 포함하는 방법.
  8. 제1항에 있어서,
    공용 네트워크 또는 개인 네트워크 내에서 상기 적어도 하나의 데이터 항목의 저장을 위하여 사용자 선호도를 결정하는 단계; 및
    결정된 사용자 선호도에 따라 공용 네트워크 또는 개인 네트워크의 컴퓨터 시스템 노드들 사이에 상기 적어도 하나의 데이터 항목을 전달하는 단계
    를 더 포함하는 방법.
  9. 명령을 구현하는 실체적인 컴퓨터 판독가능 기록 매체에 있어서,
    상기 명령은 데이터 처리 장치로 하여금,
    적어도 하나의 데이터 항목을 저장하라는 요청을 소스 시스템으로부터 수신하는 단계; 및
    상호 접속된 컴퓨터 시스템 노드들의 네트워크 내의 컴퓨터 시스템 노드들 간에 상기 적어도 하나의 데이터 항목을 전달하는 단계로서, 상기 전달되는 적어도 하나의 데이터 항목은 상기 네트워크 내에 데이터 항목을 영구적으로 저장하는데 사용되는 어떠한 고정된 저장 매체에도 저장되지 않고 상기 네트워크 내에서 컴퓨터 시스템 노드로부터 컴퓨터 시스템 노드로 지속적으로 라우팅되며, 상기 전달되는 적어도 하나의 데이터 항목은 상기 적어도 하나의 데이터 항목을 검색하라는 요청이 수신되면 검색에 이용가능한 것인, 상기 전달 단계
    를 포함하는 동작을 수행하게 하고, 상기 전달 단계는,
    상기 적어도 하나의 데이터 항목의 유형, 암호화 레벨, 네트워크 트래픽 분석, 또는 각각의 노드의 이용가능한 메모리 중 하나 이상에 기초하여 상기 적어도 하나의 데이터 항목을 수신하는데 이용가능한 컴퓨터 시스템 노드의 어드레스를 결정하는 단계;
    특정 컴퓨터 시스템 노드의 어드레스와 함께 소스 시스템에 메시지를 전송하는 단계;
    상기 특정 컴퓨터 시스템 노드에서 상기 적어도 하나의 데이터 항목의 존재를 검출하는 단계; 및
    상호 접속된 컴퓨터 시스템 노드들의 네트워크 내의 상기 결정된 컴퓨터 시스템 노드에 상기 적어도 하나의 데이터 항목을 전달하는 단계
    를 포함하고,
    상기 각각의 노드의 메모리는 상기 전달되는 적어도 하나의 데이터 항목을 일시적으로 유지(transiently retain)하도록 구성되는 것인,
    컴퓨터 판독가능 기록 매체.
  10. 제9항에 있어서, 각각의 컴퓨터 시스템 노드들은 오피스 생산성 맞춤형 파일 데이터 유형(office productivity suite file data type), 오디오 파일 데이터 유형, 비쥬얼 파일 데이터 유형, 비디오 파일 데이터 유형, 객체 지향 파일 데이터 유형 또는 데이터베이스 파일 데이터 유형을 포함한 특정한 데이터 유형을 처리하도록 구성되는 것인 컴퓨터 판독가능 기록 매체.
  11. 제9항에 있어서, 파일 크기, 파일 사용 빈도, 사용자 이력, 사용자 선호도, 또는 사용자에 의해 지불된 프리미엄(premium) 중 적어도 하나에 기초하여 상기 적어도 하나의 데이터 항목이 전달되어질 컴퓨터 시스템 노드들의 하나 이상의 유형을 결정하는 단계를 더 포함하는 컴퓨터 판독가능 기록 매체.
  12. 컴퓨팅 시스템에 있어서,
    적어도 하나의 데이터 항목을 저장하라는 요청을 소스 시스템으로부터 수신하는 수단; 및
    상호 접속된 컴퓨터 시스템 노드들의 네트워크 내의 컴퓨터 시스템 노드들 간에 상기 적어도 하나의 데이터 항목을 전달하는 수단으로서, 상기 전달되는 적어도 하나의 데이터 항목은 상기 네트워크 내에 데이터 항목을 영구적으로 저장하는데 사용되는 어떠한 고정된 저장 매체에도 저장되지 않고 상기 네트워크 내에서 컴퓨터 시스템 노드로부터 컴퓨터 시스템 노드로 지속적으로 라우팅되며, 상기 전달되는 적어도 하나의 데이터 항목은 상기 적어도 하나의 데이터 항목을 검색하라는 요청이 수신되면 검색에 이용가능한 것인, 상기 전달 수단
    을 포함하며, 상기 전달 수단은,
    상기 적어도 하나의 데이터 항목의 유형, 암호화 레벨, 네트워크 트래픽 분석, 또는 각각의 노드의 이용가능한 메모리 중 하나 이상에 기초하여 상기 적어도 하나의 데이터 항목을 수신하는데 이용가능한 컴퓨터 시스템 노드의 어드레스를 결정하는 수단;
    특정 컴퓨터 시스템 노드의 어드레스와 함께 소스 시스템에 메시지를 전송하는 수단;
    상기 특정 컴퓨터 시스템 노드에서 상기 적어도 하나의 데이터 항목의 존재를 검출하는 수단; 및
    상호 접속된 컴퓨터 시스템 노드들의 네트워크 내의 상기 결정된 컴퓨터 시스템 노드에 상기 적어도 하나의 데이터 항목을 전달하는 수단
    을 포함하고,
    상기 각각의 노드의 메모리는 상기 전달되는 적어도 하나의 데이터 항목을 일시적으로 유지(transiently retain)하도록 구성되는 것인,
    컴퓨팅 시스템.
  13. 제12항에 있어서, 각각의 컴퓨터 시스템 노드들은 오피스 생산성 맞춤형 파일 데이터 유형(office productivity suite file data type), 오디오 파일 데이터 유형, 비쥬얼 파일 데이터 유형, 비디오 파일 데이터 유형, 객체 지향 파일 데이터 유형 또는 데이터베이스 파일 데이터 유형을 포함한 특정한 데이터 유형을 처리하도록 구성되는 것인 컴퓨팅 시스템.
  14. 제12항에 있어서, 파일 크기, 파일 사용 빈도, 사용자 이력, 사용자 선호도, 또는 사용자에 의해 지불된 프리미엄(premium) 중 적어도 하나에 기초하여 상기 적어도 하나의 데이터 항목이 전달되어질 컴퓨터 시스템 노드들의 하나 이상의 유형을 결정하는 수단을 더 포함하는 컴퓨팅 시스템.
  15. 제12항에 있어서, 사용자 선호도, 파일 사용도, 또는 사용자에 의해 지불된 프리미엄 중 적어도 하나에 기초하여 저속 또는 고속 컴퓨터 시스템 노드에 데이터 항목을 이동시키는 수단을 더 포함하는 컴퓨팅 시스템.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020117009321A 2008-09-29 2009-09-23 선택적 데이터 전달 저장 방법 KR101291912B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/240,967 2008-09-29
US12/240,967 US7636760B1 (en) 2008-09-29 2008-09-29 Selective data forwarding storage
PCT/US2009/058052 WO2010036712A1 (en) 2008-09-29 2009-09-23 Selective data forwarding storage

Publications (2)

Publication Number Publication Date
KR20110059660A KR20110059660A (ko) 2011-06-02
KR101291912B1 true KR101291912B1 (ko) 2013-07-31

Family

ID=41427982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117009321A KR101291912B1 (ko) 2008-09-29 2009-09-23 선택적 데이터 전달 저장 방법

Country Status (8)

Country Link
US (1) US7636760B1 (ko)
EP (1) EP2332060B1 (ko)
JP (1) JP5526137B2 (ko)
KR (1) KR101291912B1 (ko)
CN (1) CN102203764B (ko)
AU (1) AU2009296744B2 (ko)
CA (1) CA2738634C (ko)
WO (1) WO2010036712A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100136472A (ko) * 2008-02-27 2010-12-28 톰슨 라이센싱 분산적 계층적 클러스터링된 피어-투-피어 라이브 스트리밍 시스템
US9203928B2 (en) 2008-03-20 2015-12-01 Callahan Cellular L.L.C. Data storage and retrieval
US7599997B1 (en) 2008-08-01 2009-10-06 Gene Fein Multi-homed data forwarding storage
US8458285B2 (en) 2008-03-20 2013-06-04 Post Dahl Co. Limited Liability Company Redundant data forwarding storage
US7636759B1 (en) 2008-09-29 2009-12-22 Gene Fein Rotating encryption in data forwarding storage
US7636761B1 (en) 2008-09-29 2009-12-22 Gene Fein Measurement in data forwarding storage
US8386585B2 (en) 2008-04-25 2013-02-26 Tajitshu Transfer Limited Liability Company Real-time communications over data forwarding framework
US8452844B2 (en) 2008-05-07 2013-05-28 Tajitshu Transfer Limited Liability Company Deletion in data file forwarding framework
US8370446B2 (en) 2008-07-10 2013-02-05 Tajitshu Transfer Limited Liability Company Advertisement forwarding storage and retrieval network
US8599678B2 (en) 2008-07-10 2013-12-03 Tajitshu Transfer Limited Liability Company Media delivery in data forwarding storage network
US8478823B2 (en) * 2008-09-29 2013-07-02 Tajitshu Transfer Limited Liability Company Selective data forwarding storage
US8352635B2 (en) 2008-09-29 2013-01-08 Tajitshu Transfer Limited Liability Company Geolocation assisted data forwarding storage
US9002970B2 (en) * 2012-07-12 2015-04-07 International Business Machines Corporation Remote direct memory access socket aggregation
WO2016155443A1 (zh) * 2015-04-03 2016-10-06 深圳市共创百业科技开发有限公司 用于评估攻击者方向的可穿戴设备
US11194477B2 (en) * 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194371A1 (en) * 2001-06-05 2002-12-19 Nec Corporation Loop network and method for operating the same
US20050201409A1 (en) * 2003-05-06 2005-09-15 Overture Networks, Inc. Apparatus and method for rapid detection of unidirectional breaks in a network ring
JP2005275937A (ja) * 2004-03-25 2005-10-06 Fujitsu Ltd P2pネットワークシステム
US20060031593A1 (en) * 2004-08-09 2006-02-09 Sinclair Alan W Ring bus structure and its use in flash memory systems

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56116145A (en) * 1980-02-15 1981-09-11 Nec Corp Memory system of loop transmission
JPS56116144A (en) * 1980-02-15 1981-09-11 Nec Corp Memory system of loop transmission
JPH0668047A (ja) * 1992-08-13 1994-03-11 Nippon Telegr & Teleph Corp <Ntt> 分散システムのネットワーク利用共有記憶方法
JPH0691550B2 (ja) * 1992-09-18 1994-11-14 株式会社日立製作所 情報処理システム
US5787258A (en) * 1996-05-10 1998-07-28 General Signal Corporation Life safety system having a panel network with message priority
US6151395A (en) * 1997-12-04 2000-11-21 Cisco Technology, Inc. System and method for regenerating secret keys in diffie-hellman communication sessions
GB2357658B (en) * 1999-12-23 2002-09-25 3Com Corp Stackable network unit including burst trasmission of packets
US7428540B1 (en) 2000-03-03 2008-09-23 Intel Corporation Network storage system
US7209973B2 (en) 2001-04-09 2007-04-24 Swsoft Holdings, Ltd. Distributed network data storage system and method
US7007142B2 (en) 2002-02-19 2006-02-28 Intel Corporation Network data storage-related operations
US7613796B2 (en) 2002-09-11 2009-11-03 Microsoft Corporation System and method for creating improved overlay network with an efficient distributed data structure
US7404002B1 (en) * 2003-03-06 2008-07-22 Nvidia Corporation Method and system for broadcasting live data over a network
US7143170B2 (en) * 2003-04-30 2006-11-28 Akamai Technologies, Inc. Automatic migration of data via a distributed computer network
CA2566005C (en) * 2003-05-06 2009-12-15 Overture Networks, Inc. Protected switching ring
US7339887B2 (en) * 2003-05-06 2008-03-04 Overture Networks, Inc. Multipoint protected switching ring
US7426637B2 (en) 2003-05-21 2008-09-16 Music Public Broadcasting, Inc. Method and system for controlled media sharing in a network
US20050010685A1 (en) 2003-07-11 2005-01-13 Agency For Science, Technology And Research Method and a system for enabling data to be stored in a computer network; a method and a system for storing data in a computer network
US7428219B2 (en) 2004-02-27 2008-09-23 Intel Corporation System and method to exchange information between a control element and forwarding elements in a network element architecture
WO2006001803A1 (en) * 2004-06-14 2006-01-05 Alloptic, Inc. Distributed igmp processing
US8266237B2 (en) * 2005-04-20 2012-09-11 Microsoft Corporation Systems and methods for providing distributed, decentralized data storage and retrieval
CN101001184A (zh) * 2006-01-09 2007-07-18 华为技术有限公司 一种接入分组数据网络的方法
US20070214105A1 (en) 2006-03-08 2007-09-13 Omneon Video Networks Network topology for a scalable data storage system
US9350639B2 (en) * 2007-09-06 2016-05-24 Cisco Technology, Inc. Forwarding data in a data communications network
US7430584B1 (en) * 2008-03-12 2008-09-30 Gene Fein Data forwarding storage
US7668926B2 (en) * 2008-04-25 2010-02-23 Gene Fein Real-time communications over data forwarding framework

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020194371A1 (en) * 2001-06-05 2002-12-19 Nec Corporation Loop network and method for operating the same
US20050201409A1 (en) * 2003-05-06 2005-09-15 Overture Networks, Inc. Apparatus and method for rapid detection of unidirectional breaks in a network ring
JP2005275937A (ja) * 2004-03-25 2005-10-06 Fujitsu Ltd P2pネットワークシステム
US20060031593A1 (en) * 2004-08-09 2006-02-09 Sinclair Alan W Ring bus structure and its use in flash memory systems

Also Published As

Publication number Publication date
EP2332060A1 (en) 2011-06-15
EP2332060A4 (en) 2016-09-21
US7636760B1 (en) 2009-12-22
AU2009296744B2 (en) 2012-10-18
AU2009296744A1 (en) 2010-04-01
JP5526137B2 (ja) 2014-06-18
CA2738634A1 (en) 2010-04-01
CA2738634C (en) 2015-10-20
EP2332060B1 (en) 2020-07-15
CN102203764A (zh) 2011-09-28
KR20110059660A (ko) 2011-06-02
JP2012504282A (ja) 2012-02-16
WO2010036712A1 (en) 2010-04-01
CN102203764B (zh) 2014-05-14

Similar Documents

Publication Publication Date Title
KR101291912B1 (ko) 선택적 데이터 전달 저장 방법
US7636763B1 (en) Mixed network architecture in data forwarding storage
US7430584B1 (en) Data forwarding storage
US8909738B2 (en) Redundant data forwarding storage
KR101252528B1 (ko) 데이터 전달 저장에서의 분해/재조립 방법
KR101194966B1 (ko) 데이터 파일 전달 프레임워크에서의 삭제
US7636761B1 (en) Measurement in data forwarding storage
US8452844B2 (en) Deletion in data file forwarding framework
US8478823B2 (en) Selective data forwarding storage

Legal Events

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

Payment date: 20160629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 7