KR20090038849A - 패킷 기반의 데이터 전송을 위한 규칙 기반 캐싱 - Google Patents

패킷 기반의 데이터 전송을 위한 규칙 기반 캐싱 Download PDF

Info

Publication number
KR20090038849A
KR20090038849A KR1020087030536A KR20087030536A KR20090038849A KR 20090038849 A KR20090038849 A KR 20090038849A KR 1020087030536 A KR1020087030536 A KR 1020087030536A KR 20087030536 A KR20087030536 A KR 20087030536A KR 20090038849 A KR20090038849 A KR 20090038849A
Authority
KR
South Korea
Prior art keywords
data
cache
network
registered user
user
Prior art date
Application number
KR1020087030536A
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 KR20090038849A publication Critical patent/KR20090038849A/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
    • 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
    • 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/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • 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/56Provisioning of proxy services
    • 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/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • 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/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

네트워크를 통한 원격 패킷 통신 장치로의 데이터 전송이 데이터를 선택적으로 저장하도록 네트워크 기반의 캐시를 사용해서 수행된다. 본 발명의 예시적 실시예에 따라서, 네트워크 기반의 서버(예를 들어, 110)는 네트워크 기반의 캐시(예를 들어, 140)의 등록된 사용자의 데이터의 선택적 규칙 기반의 저장을 용이하게 한다. 등록된 사용자의 데이터(예를 들어, 136)는 (인터넷에 연결된 사용자의 가정 또는 회사 컴퓨터를 통한) 패킷 기반의 네트워크(예를 들어, 105)에 연결된 사용자의 데이터 소스(예를 들어, 130)를 통해 이용가능하다. 서버는 등록된 사용자의 데이터 소스를 통해 액세스가능한 데이터뿐만 아니라 캐시에 저장된 데이터에 대한 원격 액세스를 제어한다. 예를 들어, 데이터 전송에 대한 요청이 원격 패킷 통신 장치(예를 들어, 120)로부터 수신되면, 네트워크 기반의 서버는 그 요청을 인증하고, 인증된 요청에 대해, 등록된 사용자의 데이터 소스 및 캐시 중 하나 또는 둘 다로부터의 요청된 데이터의 전송을 용이하게 한다.
패킷 기반 네트워크, 로컬 데이터, 원격 액세스, 캐싱 규칙, 원격 패킷 통신 장치

Description

패킷 기반의 데이터 전송을 위한 규칙 기반 캐싱{RULE-BASED CACHING FOR PACKET-BASED DATA TRANSFER}
본 발명은 일반적으로 통신에 관한 것으로, 보다 구체적으로, 로컬 데이터를 선택적으로 저장하기 위해 네트워크 기반의 캐시를 사용하는, 패킷 기반의 네트워크를 통한 로컬 데이터의 원격 액세스에 관한 것이다.
인터넷 프로토콜(IP) 네트워크, 이동 전화 네트워크 등과 같은 다양한 네트워크를 통한 데이터 통신은 최근 몇년동안 놀라운 속도로 증가해 왔다. 컴퓨터, 전화기, 무선 장치, 다른 네트워크 액세스 기기들의 입수가능성(affordability) 및 가용성(availability)으로 인해 이들 장치가 다양한 애플리케이션에서 널리 사용되게 되었다. 또한, 네트워크 액세스 장치에 대한 요구가 증가함에 따라, 상이한 프로토콜 및 성능 기반의 동작 특성들을 구현하는 상이한 장치들과 함께, 네트워크 액세스 기기 형태에 있어서의 다양성도 증가되었다.
인터넷 및 다른 통신 네트워크에 대한 액세스는 더 쉽고, 편리하며, 용이하게 이용가능해지고 있으며, 이러한 네트워크들은 영상, 오디오, 이메일, 비디오 및 텍스트와 같은 데이터를 전송하기 위해 점점 더 사용되고 있다. 다수의 애플리케이션에서, 이러한 데이터는 선택가능한 기반에서 사용자의 컴퓨터(또는 다른 네트 워크 액세스 기기)로부터 바람직하게 전송 또는 공유된다. 예를 들어, 컴퓨터 소프트웨어, 음악, 비디오, 뉴스 서비스, 게임 및 다른 애플리케이션을 위한 데이터는 종종, 인터넷을 통해 원격으로, 다수의 애플리케이션에 있어서는, 셀룰러 전화기에서 구현되는 것과 같은 무선 네트워크를 통해 바람직하게 공유 및/또는 액세스된다. 오늘날, 네트워크 가입자, 데이터 제공자, 및 데이터 전송, 스트리밍 데이터 및 다른 콘텐츠에 대한 이들 가입자들의 요구의 수가 기하급수적으로 증가하고 있다. 다수의 이러한 애플리케이션에서, 데이터를 보유하거나 신청하는 사용자에 의한 데이터 또는 다른 콘텐츠에 대한 액세스는 유연하고 이들 사용자에 의해 제어되는 것이 바람직하다. 그러나, 현재 시스템의 제한들은, 확실하고 안전하며 효율적이고 입수가능한 방식으로 데이터 또는 다른 콘텐츠에 대한 유연하고 제어가능한 액세스에 대한 요구를 충족하기 위한 능력을 한정한다.
콘텐츠(예를 들어, 오디오, 영상 또는 비디오)는 애플리케이션에서 변화되고 있으며, 용이하게 전자적으로 저장된다. 예를 들어, 기록가능 전자 매체에 음악을 저장하는 것은 음악 콜렉션을 보유 및 액세스하는 일반적인 방법이 되고 있다. 다른 예는 비디오 애플리케이션과 관련되며, 개인용 비디오 콜렉션 및 텔레비젼의 디지털 기록 및 저장이 오디오 및 비디오의 (인터넷을 통한) 스트리밍을 통해서 대중화되고 있다. 종래의 인쇄된 사진 및 물리적 사진 앨범에 의존하는 대신에, 사진은 종종 전자적으로 저장 및 액세스된다.
콘텐츠 및 다른 데이터의 전자 저장이 대중화되면서, 데이터를 저장하는 편리한 방식뿐만 아니라 데이터에 대한 액세스도 점점 더 중요해지고 있다. 예를 들 어, 다운로드가능한 오디오 포맷의 음악의 판매가 점점 더 대중화되고 있다. 자동차, 랩탑 컴퓨터, 개인용 청취 장치 등에서 사용될 수 있는 가정 또는 사무실 기반의 디지털 오디오 플레이어 또는 모바일 플레이어는 이 다운로드가능한 음악의 재생을 위해 사용된다. 음악을 재생하기 위해서, 오디오 데이터는 모바일 플레이어 또는 로컬 컴퓨터에 로딩되어 국부적으로 음악을 재생하기 위해 사용된다. 일반적으로, 대용량의 오디오 데이터를 저장하기 위해 요구되는 저장 공간의 양은 디지털 오디오 플레이어, 컴퓨터 또는 음악을 재생할 수 있는 다른 기기의 메모리 용량을 초과한다. 이에 대해서, 영상 데이터 및 비디오 데이터와 같은 다른 데이터뿐만 아니라 오디오의 관리 및 사용은, 이 데이터의 사용 및 요구의 측면에서 점점 더 부담이 되고 있다.
종래 문서들 및 다른 형태의 데이터(예를 들어, 텍스트 기반의 문서, 스프레드시트 또는 프리젠테이션)에 적용된 바와 같이, 이러한 데이터에 대한 유연하고 효율적인 액세스에 대한 요구도 증가하고 있다. 예를 들어, 다수의 작업장이 점점 더 이동되고 있고, 고용인은 종종 집 또는 여행중의 위치와 같은 원격 위치에서 작업한다. 원격 위치로부터의 데이터에 대한 액세스는, 정보에 대한 액세스의 바람직한 레벨을 유지하면서 이동성을 용이하게 하는데 특히 유용하다. 그러나, 이동성을 용이하게 하거나 또는 다른 식으로 유연한 데이터 액세스를 제공하기 위해 전송되어야 하는 데이터 파일의 사이즈의 증가는 통신 채널을 통한 이러한 데이터의 전달에 해결할 과제를 제시한다. 예를 들어, 이메일은 일반적으로 오디오, 비디오, 텍스트 및 프리젠테이션 파일과 같은 대량의 데이터 파일을 전송하기 위한 능 력에 있어서 제한을 갖는다.
다수의 통신 애플리케이션에서, 데이터 전송 접근법의 사용 증가 및 가용성의 부족은 통신 채널 및 데이터의 창의적 사용을 요구한다. 이러한 요건 및 다른 데이터 전송 요건을 만족하기 위해서, 네트워크는 대용량의 데이터를 처리하는 능력 및 고속으로 데이터를 처리하는 능력 둘 다에서 향상되어 왔다. 또한, 네트워크 액세스 기기는, 데이터가 처리 및 전송될 수 있는 속도를 증가시키기 위해 개선되어 왔다. 그러나, 고품질의 데이터 전송에 대한 요구가 증가함에 따라, 이러한 요건들은 더 충족하기 어려워지고 있다.
인터넷으로의 데이터 전송에 대한 일 과제는 데이터 전송 채널의 불가변성(inflexibility)으로부터 기인한다. 예를 들어, 데이터 공급자가 인터넷을 통해 말단 사용자에게 데이터를 판매하면, 말단 사용자는 통상적으로, 공급자의 제어로 동작하는 단지 소수의 다운로드 위치들 중 하나를 이용해서 데이터를 다운로드한다. 이러한 형태의 동작은, 데이터가 상당한 거리를 이동해야만 하고 이에 따라 통신 네트워크에서 더 많은 공간 및 시간을 소모하게 되기 때문에, 성가시고 비용이 많이 들 수 있다. 또한, 데이터의 전송은 다운로드 위치들의 위치에 의해 제한된다.
효과적인 전송 및 데이터 관리에 대한 다른 과제는 (예를 들어, 대역폭에 관련된 바와 같은) 수용가능한 전송 속도로 데이터를 공급하는 것에 관련된다. 소정의 네트워크 액세스 기기는, 그 내부 구성 또는 네트워크 액세스의 가용성 중 하나에 의해 상이한 속도로 오디오 데이터를 처리할 수 있는 그 능력에서 제한된다. 예를 들어, 이동(무선)형 네트워크 액세스 기기는 이동 네트워크에 대한 이용가능한 접속성에 의해 제한될 수 있다. 또한, 소정의 네트워크 기기는 유선 및 무선 통신에 대해 적응될 수 있으며, 이 기기들 각각의 데이터 액세스 능력은 무선 통신에 비해 유선 통신을 통한 것이 상대적으로 높고(예를 들어, 빠르고), 이들 기기가 무선 통신을 통해 동작하는 경우에는, 더 낮은 속도 또는 비트레이트(bitrate)로 데이터를 수신할 수 있다.
데이터 전송 및 관리에 대한 또 다른 과제는, 무수한 상이한 유형의 데이터 액세스 기기뿐만 아니라 무수한 상이한 유형의 데이터의 존재로부터 기인한다. 예를 들어, 다양한 상이한 데이터 유형들이 오디오 파일을 저장하기 위해 구현된다. 종종, 이들 데이터 유형은, 재생에 사용되는 디지털 오디오 장치의 특정 유형에 관련된다. 또한, 각 데이터 유형에 있어서, 일반적으로 상이한 레벨의 품질과 관련되는(예를 들어, 상이한 재생 비트레이트의), 데이터가 저장되는 상이한 방식들이 존재한다. 이에 있어서, 디지털 오디오 플레이어는 데이터에 액세스해야할 뿐만 아니라 특정 포맷으로 데이터에 액세스해야 한다.
네트워크 데이터 전송에 대한 또 다른 과제는 디지털 저작권 관리(DRM;digital rights management)와 연관된 매체 저작권의 관리와 관련된다. 상술한 바와 같이, 오디오 또는 비디오와 같은 디지털 매체는 전자적 전달을 통해서 구매될 수 있다. 데이터의 복사, 배포 또는 다른 비인가된 사용을 막거나 금지하기 위해서, 보안 대비책(security precaution)이 취해진다. 일부 애플리케이션에서, 이러한 보안 대비책은 재생을 가능하게 하기 위해 특정 접근법을 요구하고, 이 는 데이터 전송 및 후속 사용(예를 들어, 재생)과 관련된 어려움을 더 심하게 할 수 있다.
네트워크 기반의 데이터 전송을 사용하거나 사용할 수 있는 거래 채널 및 기술의 발전에 직면하여, 통신 네트워크를 통한 공유 데이터 전송을 효과적이고 효율적으로 관리해야 하는 과제를 갖는다.
본 발명은, 등록된 사용자의 데이터가 원격 장치에 액세스가능하게 하는 데이터 라우팅, 관리 및 관련 애플리케이션에 대한 접근법에 관련된다. 본 발명은 그 일부가 아래에서 요약되는 다수의 구현 및 애플리케이션으로 예시된다.
본 발명의 예시적 실시예에 따라서, 데이터 라우팅 및 공유에 대한 일 접근법은, 사용자 또는 네트워크 정의된 정책에 따라서 등록된 사용자의 데이터 소스를 통해 액세스되는 데이터를 선택적으로 저장하는 네트워크 기반의 캐시의 생성을 포함한다. 인증된 원격 사용자는 등록된 사용자의 데이터 소스 및 네트워크 기반의 캐시 중 하나 또는 둘 다에서 등록된 사용자 데이터를 액세스하고, 이 데이터의 액세스 및 전송은 등록된 사용자의 데이터 소스와 통신하는 네트워크 기반의 서버에 의해 제어되고 용이하게 된다.
본 발명의 다른 예시적 실시예에 따라서, 등록된 사용자 데이터에 대한 원격 사용자 액세스는, 데이터를 제공하는 등록된 사용자를 포함하는 환경에서의 서버 호스트 접근법을 이용해서 패킷 기반의 네트워크를 통해 용이하게 된다. 데이터는 등록된 사용자를 통해 지정된 캐싱 규칙에 따라서 등록된 사용자 데이터 소스로부터 네트워크 캐시로 송신된다. 등록된 사용자 데이터 소스에서, 데이터 소스와 서버 간의 통신 링크가 초기화된다. 원격 사용자로부터의 콘텐츠 요청에 응답해서, 상기 요청은, 등록된 사용자에 의해 제공되는 인증 정보 및 요청의 정보의 함수로서 서버에서 인증된다. 요청이 인증되면, 캐시에서의 요청된 데이터의 가용성이 캐싱 규칙에 따라 확인된다. 요청된 데이터가 캐시에서 이용가능하면, 캐싱 규칙에 따라서, 캐시로부터 원격 패킷 통신 장치의 원격 사용자로의 요청된 데이터의 전송이 지시된다. 캐시에서의 요청된 데이터의 가용성 및 캐싱 규칙에 응답해서, 패킷 통신 네트워크를 통해, 데이터 소스로부터 원격 패킷 통신 장치의 원격 사용자로의 요청된 데이터의 전송이 지시된다.
본 발명의 다른 예시적 실시예에 따라서, 데이터는 패킷 통신 네트워크에서의 전송을 위해 캐싱된다. 서버에서, 사용자는 등록된 사용자의 패킷 통신 네트워크로부터의 데이터 공유를 위해 등록된다. 패킷 통신 장치는 네트워크 기반의 캐시에서 공유된 데이터를 저장하기 위한 캐시 엔진 함수들로 프로그램된다. 캐싱 정책은 등록된 사용자로부터 수신되어, 네트워크 기반의 캐시에서 공유된 데이터를 저장하는 방식을 지시하는데 사용된다. 캐시 엔진은, 패킷 통신 네트워크를 통해, 사용자에 대해 네트워크 기반의 캐시에 저장된 공유된 데이터의 현재 상태 및 캐싱 정책의 함수로서 데이터를 네트워크 기반의 캐시에 송신한다. 서버는, 패킷 통신 네트워크를 통한 네트워크 기반의 캐시의 공유된 데이터의 전송을 지시함으로써 공유된 데이터에 대한 원격 요청에 응답한다.
본 발명의 다른 예시적 실시예에 따라서, 패킷 기반의 네트워크를 통한 원격 패킷 통신 장치로의 전송을 위해 데이터를 제공하는 등록된 사용자를 포함하는 환경에서, 서버 호스트 시스템은, 패킷 기반의 네트워크를 통해 등록된 사용자 데이터에 대해 원격 사용자가 액세스하는 것을 용이하게 한다. 이 시스템은, 네트워크 서버, 및 등록된 사용자 데이터 소스로부터의 캐싱을 위해 데이터를 수신 및 저장하도록 적응된 네트워크 캐시를 포함한다. 등록된 사용자 데이터 소스는 등록된 사용자를 통해 지정된 캐싱 규칙 데이터에 따라서 네트워크 캐시로 데이터를 송신하고, 데이터 소스와 네트워크 서버 간의 통신 링크를 초기화한다. 네트워크 서버는, 등록된 사용자에 의해 제공되는 인증 정보 및 요청의 정보의 함수로서 상기 요청을 인증함으로써 원격 사용자로부터의 콘텐츠 요청에 응답한다. 요청이 인증되면, 서버는 캐싱 규칙 데이터에 따라 캐시에서의 요청된 데이터의 가용성을 확인한다. 요청된 데이터가 캐시에서 이용가능하면, 캐싱 규칙에 따라서, 서버는 캐시로부터 원격 패킷 통신 장치의 원격 사용자로의 요청된 데이터의 전송을 선택적으로 지시한다. 캐시에서의 요청된 데이터의 가용성 및 캐싱 규칙에 응답해서, 서버는, 설정된 통신 링크를 통해, 데이터 소스로부터 원격 패킷 통신 장치의 원격 사용자로의 요청된 데이터의 전송을 선택적으로 지시한다.
본 발명의 다른 예시적 실시예에 따라서, 패킷 기반의 네트워크를 통한 데이터에 대한 원격 캐시 기반의 액세스가, 패킷 기반의 네트워크를 통한 인증된 원격 액세스를 위해 데이터를 제공하는 등록된 사용자를 포함하는 환경에서 용이하게 된다. 데이터는, 등록된 사용자 데이터 소스의 등록된 사용자에 의해 지정된 캐싱 규칙 데이터에 따라서 패킷 기반의 네트워크를 통해, 등록된 사용자 데이터 소스로부터 네트워크 캐시로 송신된다. 등록된 사용자 데이터 소스로부터 네트워크 캐시에서 수신된 데이터는 캐싱 규칙 데이터에 따라서 유지된다. 원격 사용자로부터의 콘텐츠 요청에 응답해서, 요청이 인증되고, 인증된 요청에 응답해서, 패킷 기반의 네트워크를 통해, 캐시로부터 원격 패킷 통신 장치의 원격 사용자로의 요청된 데이터의 전송이 지시된다.
본 발명의 상기 요약이 본 발명의 각 실시예 또는 모든 구현을 기술하는 것은 아니다. 후속하는 도면 및 상세한 설명이 이들 실시예를 보다 구체적으로 예시한다.
본 발명은, 첨부 도면과 관련하여 후속하는 본 발명의 다양한 실시예들의 상세한 설명을 고려해서 보다 완전하게 이해될 수 있을 것이다.
도 1은 본 발명의 예시적 실시예에 따라서, 선택적인 정책 기반의(policy-based) 데이터 캐싱의 서버 호스트(server-hosted) 데이터 액세스 접근법을 사용하는 패킷 기반의 네트워크를 통한 데이터 라우팅 시스템을 도시한다.
도 2는 본 발명의 다른 예시적 실시예에 따라서, 사용자 데이터에 원격 액세스를 제공하는 시스템(200)을 도시한다.
도 3은 본 발명의 다른 예시적 실시예에 따라서, 호스트된 콘텐츠 스토리지에 콘텐츠를 업로드하는 구성 및 접근법을 도시한다.
도 4는 본 발명의 다른 예시적 실시예에 따라서, 호스트된 콘텐츠 스토리지의 콘텐츠의 저장을 관리하는 구성 및 접근법을 도시한다.
도 5는 본 발명의 다른 예시적 실시예에 따라서, 호스트된 콘텐츠 스토리지로부터 원격 사용자에 콘텐츠를 제공하는 구성 및 접근법을 도시한다.
도 6은 본 발명의 다른 예시적 실시예에 따라서, 저장된 콘텐츠에 대한 액세스뿐만 아니라, 호스트된 콘텐츠 스토리지에서의 콘텐츠의 저장을 지시하는 구성 및 접근법을 도시한다.
본 발명에는 다양한 변형 및 대안적 형태들이 이루어질 수 있으며, 이들의 특정 상세는 도면에서 예시적으로 도시되고, 상세하게 기술될 것이다. 그러나, 본 발명이 기술된 특정 실시예들로 한정되는 것은 아니라는 것을 이해해야 한다. 오히려, 첨부된 청구항에 의해 정의된 바와 같은 본 발명의 사상 및 범위 내에 포함되는 모든 변형, 등가물, 및 대안들을 포괄하는 것으로 의도된다.
본 발명은 상이한 형태의 다양한 통신에 적용되는 것으로서, 본 발명은, 원격 액세스를 용이하게 하기 위한 사용자 특성에 따른 선택적인 정책 기반의 데이터 캐싱으로, 인터넷과 같은 패킷 기반의 네트워크를 통해 등록된 사용자 데이터에 원격 액세스를 제공하는 것에 특별히 적합한 것으로 밝혀졌다. 본 발명이 이러한 애플리케이션으로 반드시 제한되는 것은 아니지만, 본 발명의 다양한 양상들은 이러한 맥락을 이용한 다양한 예시들의 논의를 통해서 이해될 수 있을 것이다.
본 발명의 예시적 실시예에 따라서, 데이터 라우팅 시스템은, 등록된 사용자 데이터를 저장하기 위해 네트워크 기반의 캐시를 선택적으로 사용하여, 패킷 기반의 네트워크를 통해 원격 사용자에 등록된 사용자 데이터를 전달하도록 적응된다. 일부 애플리케이션에서, 사용자 등록은, 특정 캐시 사이즈 또는 다른 캐시 특성의 선택을 그 선택과 선택적으로 관련된 사용료(fee)와 연관시킨다. 에이전트(agent)(예를 들어, 소프트웨어)는 각각의 등록된 사용자의 데이터 소스에서 구현되고, 패킷 기반의 네트워크를 통해 그 데이터 소스로부터의 데이터의 전달을 제어하기 위한 서버에 응답해서 기능한다.
각각의 등록된 사용자는, 네트워크 기반의 캐시에서 사용자의 데이터를 액세스 및 저장하기 위해 서버 및 사용자의 에이전트 중 하나 또는 둘 다에 의해 구현되는 캐싱 규칙(caching rule)(예를 들어, 캐싱 정책)을 설정한다. 예를 들어, 등록된 사용자는, 소정 타입의 데이터 및/또는 소정 위치의 데이터가 네트워크 기반의 캐시에서 저장될(미러링될(mirrored)) 것을 지시하는 캐싱 규칙을 특정할 수 있다. 에이전트는, 데이터를 캐시에 액세싱 및 송신함으로써 데이터 소스에서 이들 캐싱 규칙을 구현한다.
일부 애플리케이션에서, 에이전트는, 등록된 사용자의 데이터 소스에 국부적으로 특정된 캐싱 규칙을 직접 사용해서 동작한다. 예를 들어, 데이터 소스가, 에이전트 소프트웨어를 동작시키고 등록된 사용자로부터의 입력으로서 캐싱 규칙을 수신하는 컴퓨터를 포함하는 경우에, 에이전트는 데이터를 캐시에 송신하는데 있어서 서버로부터 독립적으로 동작할 수 있다.
다른 애플리케이션에서, 에이전트는 서버에 응답해서 동작한다. 예를 들어, 등록된 사용자는 서버에 제공되는 캐싱 규칙을 특정할 수 있다. 그 다음 서버는, 에이전트와 통신함으로써 캐싱 규칙을 구현하여, 에이전트가 캐시에 대한 데이터를 액세스하고 그 데이터를 캐시에(또는 차례로 데이터를 캐시에 송신할 수 있는 서버에) 송신한다.
캐시에 데이터를 송신하는 것은, 특정 애플리케이션 및 관련 규칙 또는 정책에 따라서 상이한 방식으로 이루어질 수 있다. 일부 애플리케이션은 캐시에 데이터를 1회 업로드하는 것과 관련된다. 다른 애플리케이션은 데이터 소스에서 데이터가 변하면 캐시를 갱신하는 것과 관련된다. 예를 들어, 등록된 사용자가 자신의 집 또는 회사 컴퓨터의 특정 파일이 캐시에 미러링될 것을 지정하는 경우에, 에이전트 및/또는 서버는, 그 특정 파일의 데이터가 삭제, 추가 또는 수정을 통해 변하는 경우에 캐시를 선택적으로 갱신할 수 있다. 또 다른 애플리케이션은, (예를 들어, 캐시의 데이터의 현재 상태가, 그에 대한 액세스의 요청이 이루어질 때 검증되는 경우에) 캐시의 데이터에 대한 원격 액세스에 따른 또는 특정 시간 간격과 같은 조건에 따른 캐시의 갱신과 관련된다. 이와 관련하여, 캐시의 데이터는 하나 이상의 다양한 접근법들을 사용해서 갱신 또는 미러링된다.
네트워크 기반의 캐시에 일단 저장되면, 캐시의 등록된 사용자 데이터는 데이터 액세스를 요청하는 원격 사용자를 인증하는데 이용될 수 있다. 원격 사용자가 서버를 통해 데이터를 요청하면, 사용자는 사용자명 및 패스워드와 같은 인증 기준을 사용해서 요청에 따라 인증된다. 인증된 요청에 대해, 서버는, 하나 이상의 다양한 접근법을 사용해서 데이터를 액세스하는 소스를 선택하여, 캐시 및 데이터를 보유하는 등록된 사용자 장치 중 하나 또는 둘 다로부터 요청된 데이터의 전달을 용이하게 한다. 예를 들어, 캐시로부터 직접 요청된 데이터에 액세스하는 것 은, 예를 들어, 등록된 사용자 장치로부터 요청된 데이터를 액세스하는 것에 비해 더 빠르거나, 보다 효율적이거나, 더 비용이 덜 들거나 그렇지 않으면 더 바람직할 수 있다. 또한, 등록된 사용자의 데이터 소스가 오프라인이거나 그렇지 않으면 액세스불가능한 경우, 캐시는 (요청된 데이터가 캐시에서 이용가능한 경우에) 요청된 데이터를 액세스하기 위해 사용되고; 이 접근법은, 등록된 사용자 장치가 일관된 네트워크 액세스를 갖지 않거나 때때로 오프라인인 경우에 특히 유용하다.
본 발명의 다른 예시적 실시예에서, 전자 토큰(token)이 등록된 사용자 데이터 소스로부터의 특정 파일에 대한 원격 사용자 액세스를 제공하기 위해 생성되고, 이 특정 파일은 원격 액세스를 위해 네트워크 기반의 캐시에 저장된다. 등록된 사용자는, 특정 원격 사용자와 공유될 데이터를 지정하는 공유 정보를 생성한다. 공유 정보에는 원격 사용자에게 송신되는 전자 토큰이 포함되고, 데이터를 요청하기 위해 누가 이 토큰을 사용할 수 있는지는 이 토큰을 통해 지정된다.
토큰의 주체(subject)인 등록된 사용자 데이터가 등록된 사용자 데이터 소스로부터 캐시로 업로드되거나, 밀어 내지거나, 그렇지 않으면 송신되고, 여기에서 데이터는 원격 액세스에 의한 액세스를 위해 보유된다. 이 전송은 다양한 방법으로 실행된다. 일부 애플리케이션에서, 등록된 사용자는 캐시에 송신할 데이터를 선택한다. 이 접근법은 예를 들어, 토큰이 특정 파일명 또는 공유될 파일의 타입을 지정하는 경우에 유용할 수 있고, 캐시의 파일 위치에서의(또는 파일 타입을 갖는) 실제 데이터가 토큰에서 반드시 지정되어야 하는 것은 아니다. 다른 애플리케이션에서, 등록된 사용자는, 데이터 소스에서의 특정 파일 위치 또는 특정 파일을 지정함으로써 공유될 토큰의 데이터를 간단히 지정하고, 이 데이터는 토큰의 정보에 기초해서 캐시에 자동적으로 송신된다.
토큰은 애플리케이션에 따라서 상이한 방식으로 생성된다. 일부 애플리케이션에서, 토큰은, 예를 들어, 등록된 사용자의 장치에서 구현되는 데이터 라우팅 소프트웨어를 사용하여 등록된 사용자에 의해 직접 생성된다. 다른 애플리케이션에서, 등록된 사용자는 공유 정보를 서버에 제공하고, 서버는, 전자 토큰을 생성하고 그 전자 토큰을 원격 사용자가 사용가능하게 함으로써 응답한다.
서버(즉, 상술한 바와 같은 서버)는 기능들을 공유하는 등록된 사용자의 데이터를 호스트하고, 등록된 사용자의 데이터 소스 및 네트워크 기반의 캐시와 통신하여, 원격 사용자에 대한 데이터 전송을 용이하게 한다. 서버는, (예를 들어, 등록된 사용자로부터의 토큰내의 정보를 이용해서) 토큰을 인증하고, 토큰을 통해 지정된 데이터의 원격 사용자로의 전달을 용이하게 함으로써 데이터 전송에 대한 토큰-보유(token-bearing) 요청을 처리한다. 일반적으로, 이 지정된 데이터는 네트워크 기반의 캐시에 저장되지만, 캐시가 데이터를 포함하지 않거나, 또는 등록된 사용자의 데이터 소스로부터의 데이터 전송이 바람직하지 않으면, 서버는 데이터 소스로부터 직접 데이터를 라우팅함으로써 데이터 요청을 선택적으로 처리한다.
데이터 전송에 관한 일반적인 정보에 대해서, 및 본 명세서에서 상술한 하나 이상의 캐시 기반의 애플리케이션들과 관련된 전자 토큰의 생성 및 구현에 관한 특정 정보에 대해서, 2006년 3월 13일 출원된 "토큰-기반의 원격 데이터 액세스"가 제목인 미국 특허 출원 일련 번호 제11/374,414호가 참조되고, 본 명세서에서 전체 적으로 참조로서 관련된다.
다른 예시적 실시예에서, (선택적으로 네트워크 기반의 캐시를 통한) 등록된 사용자 데이터에 대한 원격 액세스는 호스트 서버에서 구현되는 브라우저 게이트웨이를 사용해서 제어된다. 브라우저 게이트웨이를 액세스하는 원격 사용자는 호스트 서버에 의해 사용되는 인증 정보를 제공하여, 원격 사용자가 액세스하는 등록된 사용자 데이터를 결정한다. 일부 애플리케이션에서, 브라우저 게이트웨이는 사용자-제공 토큰 보유 인증 및 식별형 정보를 분석하고, 토큰내의 정보를 사용하여 상술한 바와 같이 토큰에 의해 지정된 특정 사용자에 의한 데이터에 대한 액세스를 제어한다.
일반적으로, 호스트 서버는 브라우저 게이트웨이를 액세스하는 원격 사용자를 인증하고, 원격 사용자가 이용가능한 데이터를 지정하는 정보를 브라우저 게이트웨이를 통해 원격 사용자에게 제공한다. 이러한 이용가능한 데이터는, 적절한 경우, 등록된 사용자 데이터 소스를 통해 바로 이용가능한 데이터뿐만 아니라, 원격 사용자(원격 사용자가, 자신의 데이터를 원격으로 액세스하는 등록된 사용자인 시나리오를 포함)에 대한 액세스를 허용하는 등록된 사용자에 대한 데이터를 캐시에 포함한다.
일부 애플리케이션에서, 브라우저 게이트웨이는 요청된 데이터에 대한 위치 정보를 식별한다. 예를 들어, 데이터가 등록된 사용자의 데이터 소스에서만 이용가능한 경우, 브라우저 게이트웨이는 그와 같이 데이터를 식별한다. 데이터가 캐시에서 이용가능하고, 등록된 사용자의 데이터 소스가 데이터를 갖지 않거나 액세 스불가능한 경우에, 브라우저 게이트웨이는 캐시를 통해서만 이용가능한 것으로 데이터를 식별한다. 데이터가 캐시 및 등록된 사용자의 데이터 소스에서 둘 다 이용가능한 경우, 브라우저는 그와 같이 데이터를 식별한다.
원격 사용자가 브라우저 게이트웨이를 통해 데이터를 요청할 때, 호스트 서버는, 캐시 및/또는 적절한 등록된 사용자의 데이터 소스로부터 데이터의 라우팅을 제어함으로써 요청을 만족시킨다. 일부 애플리케이션에서, 호스트 서버는 캐시의 요청된 데이터의 가용성을 식별하고, 캐시로부터(이용가능한 경우) 또는 등록된 사용자의 데이터 소스로부터의(데이터가 캐시에서 이용불가능한 경우) 데이터의 라우팅을 지시한다.
본 명세서에서 기술한 예와 관련해서, 등록된 사용자 데이터는, 개인용 컴퓨터, 셋탑 박스, 웹 카메라, 보안 감시 시스템, 및/또는 네트워크 액세스를 갖는 가정 또는 회사 위치에서의 콘텐츠 저장 시스템, 또는 이들의 임의의 조합과 같은 등록된 사용자의 패킷 통신 장치에 이용가능한 데이터를 포함한다. 또한, (예를 들어, 원격 네트워크 액세스 기기를 사용하는) 원격 사용자는, 가족 구성원, 회사 구성원의 고용인과 같은 하나 이상의 개인, 또는 단순히 등록된 사용자에 의해 액세스 인증이 주어진 개인을 포함할 수 있다. 또한, "사용자"는 예를 들어, 개인에 의해 프로그램되는 바와 같이 자동적으로 동작하는 기계일 수 있다.
본 명세서에서 기술되고 도면에서 도시된 다양한 예들의 맥락에서, 다수의 대표적 장치들, 네트워크들, 및 네트워크 통신 접근법들이 참조된다. 인터넷, 웹-인에이블된, 패킷 등과 같은 다양한 용어들은, 상이한 예들의 기술을 용이하게 하 도록 상이한 실시예들의 맥락에 적용가능하다. 또한, 본 명세서의 예시적 실시예들과 관련되어 기술된 장치들, 네트워크들, 및 네트워크 통신 접근법들은 다양한 구현들 및 서술적 용어들에 적용가능하다. 예를 들어, 웹-인에이블된 또는 인터넷 기기로서 기술될 수 있는 장치들은, 하나 이상의 패킷 통신 웹 기반의 및/또는 인터넷 기반의 통신 링크에 의해 특성화되는 경로를 통해 통신하는 하나 이상의 장치를 포함할 수 있다. 이에 대해, 웹-인에이블된 또는 인터넷-관련된 것으로 지칭되는 장치는 하나 이상의 다양한 패킷 통신 접근법을 이용해서 선택적으로 구현된다. 이러한 장치는, 예를 들어, 하나 이상의 다양한 통신 접근법들을 사용하는 하나 이상의 유선 및/또는 무선 링크를 통해서와 같이, 비인터넷 기반의 통신 접근법을 통해 인터넷에 액세스할 수 있다. 또한, 본 명세서에서 기술된 패킷 통신 접근법은, 패킷, 프레임, 블록, 셀 및 세그먼트 용어들에 관한 하나 이상의 용어들과 관련하여 언급되는 통신 관련 접근법을 포함하는 다양한 네트워크 통신 접근법에 적용할 수 있다.
도 1은, 본 발명의 예시적 실시예에 따라서, 선택적 캐싱 접근법을 사용하여 등록된 사용자 데이터 소스와 원격 패킷 통신 장치 간의 데이터 라우팅 및 액세스를 제공하는 시스템(100)을 도시한다.
시스템(100)은 네트워크 기반의 서버(110), 복수의 원격 패킷 기반의 장치(120-M), 복수의 등록된 데이터 소스(130-N), 및 네트워크 캐시(140)를 포함하고, 이들은 모두 패킷 기반의 네트워크(105)를 통해 통신한다. 원격 패킷 기반의 장치는, 예를 들어, 이동 전화, 개인용 컴퓨터(PC), mp3 플레이어 또는 비디오 플 레이어와 같은 디지털 미디어 장치, 자동차 엔터테인먼트 시스템 또는 개인 휴대 정보 단말기(PDA;personal data assistant) 장치를 포함한다. 이러한 장치는 등록된 데이터 소스(130-N)로서 구현될 수도 있고, 일반적으로, 직접 또는 네트워크 캐시(140)를 통해 원격 패킷 기반의 장치에서 등록된 사용자 데이터에 대한 액세스를 용이하게 한다.
네트워크(105)는 인터넷, 및 적절한 경우 이동 전화 네트워크 또는 로컬 네트워크와 같은 다른 네트워크와 같은 하나 이상의 패킷 기반의 네트워크를 포함한다. 일부 애플리케이션에서, 네트워크(105)는 가정 또는 회사와 같은 장소에 대해 구현되는 로컬 영역 네트워크이다. 다른 애플리케이션에서, 네트워크(105)는, 컴퓨팅 기기와 관련된 일 프로세서 또는 프로세서 그룹 내의 가상 애플리케이션 통신 채널의 세트, 또는 가상 네트워크이거나 이를 포함한다.
네트워크 캐시(140)는 데이터 저장 매체를 포함하고 패킷 기반의 네트워크(105)에 대한 액세스를 갖는다. 도 1에서 단일 아이템으로서 도시되었지만, 네트워크 캐시(140)는 하나 이상의 복수의 위치들에서 복수의 장치로 구현될 수도 있다. 예를 들어, 네트워크 캐시(140)의 일부 또는 전부는 네트워크 기반의 서버(110) 또는 등록된 데이터 소스(130)에 배치될 수 있다.
등록된 데이터 소스(130-N) 각각은, 패킷 기반의 네트워크(105)를 통해 등록된 데이터 소스로부터의 데이터의 라우팅을 지시하고, 등록된 데이터 소스와 네트워크 기반의 서버(110) 간의 통신을 용이하게 하는 사용자 애플리케이션 라우터(U.A.R.)(등록된 데이터 소스(130)의 U.A.R.(132) 참조)를 포함한다. 각각의 등 록된 데이터 소스는 또한, 캐싱 정책(138)에 따라서 등록된 데이터 소스로부터의 데이터(136)를 네트워크 캐시(140)로 푸시(push)하는 것을 용이하게 하는 캐싱 엔진(등록된 데이터 소스(130)의 캐싱 엔진(134) 참조)을 포함한다.
네트워크 기반의 서버(110)는, 그로부터의 데이터의 라우팅을 지시하기 위해 등록된 데이터 소스(130-N)와 통신하는 네트워크 라우터(112)를 포함한다. 네트워크 기반의 서버(110)는, 네트워크 캐시(140)에서의 데이터의 캐싱을 지시 또는 제어하는데 있어서 서버 캐싱 정책(116)을 선택적으로 이용한다. 네트워크 기반의 서버(110)는 또한 인증 기준(114)을 사용하여, 등록된 데이터 소스(130-N) 및 네트워크 캐시(140)에서의 등록된 사용자 데이터에 대한 원격 패킷 기반의 장치(120-M)에 의한 원격 액세스를 용이하게 한다. 인증 기준(114)은 또한 등록된 사용자에 대한 인증 정보를 포함하고, 예를 들어, 데이터 액세싱, 데이터 캐싱 또는 다른 데이터 전송 관련 동작들에 대해 등록된 사용자 선호를 지정하는데 인증을 사용한다.
캐싱 정책(116 및 138)은 애플리케이션에 따라 다양한 위치에서 선택적으로 저장된다. 일 예에서, 모든 캐싱 정책들은 서버 캐싱 정책(116)으로 저장되고, 캐싱 엔진(134)은 서버 캐싱 정책을 원격으로 액세스한다. 다른 예에서, 특정 등록된 사용자에 대한 모든 캐싱 정책들은 캐싱 정책(138)(예시적으로 등록된 데이터 소스(130)로 지칭됨)으로 저장되고, 네트워크 기반의 서버는 캐싱 정책을 원격으로 액세스한다. 또 다른 예에서, 캐싱 정책은, 네트워크 기반의 서버(110) 및 등록된 데이터 소스(130-N)에 의해 액세스가능한 다른 원격 위치에 저장된다.
일부 애플리케이션에서, 네트워크 라우터(112) 및 U.A.R.(132)(예시적으로 등록된 데이터 소스(130)를 사용함)은 다음과 같이 서로 간의 통신을 용이하게 한다. 등록된 데이터 소스(130)의 전원이 켜지거나, 등록된 데이터 소스(130)가 패킷 기반의 네트워크(105)에 연결되거나, 다른 조건(네트워크 기반의 서버(110)에 설정된 현재 통신 링크가 없는 경우)에 놓이게 되면, 등록된 데이터 소스(130)는 네트워크 기반의 서버 콘택(contact)을 자동적으로 개시한다. 그 다음, 네트워크 기반의 서버는 인증 기준(114)을 통해 등록된 데이터 소스(130)를 인증함으로써 콘택에 응답하고, 패킷 기반의 네트워크(105)를 통해 등록된 데이터 소스(130)에 다시 통신하도록 콘택 개시의 정보를 사용하고, 여기에서 통신 링크가 설정된다. 이 통신 링크는 액티브로 유지되고, 등록된 데이터 소스(130)로부터의 데이터의 전달을 제어하기 위한 네트워크 라우터(112)로부터의 제어 정보의 전달을 위해 사용된다.
예시적으로 등록된 데이터 소스(130)를 사용하여, 캐싱 엔진(134)은, 데이터 및 적절히 다른 조건들을 푸시할 때, 데이터(136)의 어떤 부분이 네트워크 캐시(140)에 송신될지를 지정하는 것과 같은, 수행해야 할 정책들을 결정하는데 캐싱 정책(138)을 사용한다. 예를 들어, 캐싱 정책(138)은 네트워크 캐시(140)에서의 미러링을 위해 특정 데이터 폴더를 지정할 수 있다. 캐싱 엔진(134)은 네트워크 캐시(140)에 특정 데이터 폴더의 데이터를 푸싱(송신)함으로써 이러한 캐싱 정책에 응답한다. 미러링은, 예를 들어, 네트워크 캐시에 새로운 데이터를 푸싱하거나, 및/또는 등록된 데이터 소스(130)에서의 특정 데이터 폴더에 이루어진 변경에 적합한 방식으로 네트워크 캐시로부터 데이터를 삭제함으로써, 네트워크 캐시(140)에 최신의 데이터를 유지하는 것을 포함한다.
일부 애플리케이션에서, 캐싱 엔진(134)(및 적절히 U.A.R.(132))은 네트워크 캐시(140)에서의 데이터의 저장을 용이하게 하도록 네트워크 라우터(112)와 함께 동작한다. 예시적으로, 네트워크 캐시(140)에 푸시된 데이터는 네트워크 기반의 서버(110)를 통해서 송신될 수 있다. 유사하게, 네트워크 캐시(140)에 대해 갱신된 데이터는 네트워크 기반의 서버(110)를 통해서 송신될 수 있다. 캐싱 엔진(134)으로부터의 네트워크 캐시(140)의 데이터의 삭제에 대한 요구도 네트워크 기반의 서버(110)를 통해서 송신될 수 있고, 이 서버(110)는 네트워크 캐시의 데이터의 삭제를 지시함으로써 응답한다.
네트워크 기반의 서버(110)는 또한, 캐싱 엔진(134)의 지시에 따라 또는 서버 캐싱 정책(116)에서 지정된 바와 같이, 캐시에서 데이터를 삭제하는 것과 같은 기능을 위해 네트워크 캐시(140)를 선택적으로 제어한다. 예를 들어, 캐시의 데이터가 지정된 수명을 갖는 경우, 또는 캐시의 데이터가 액세스된 후에 삭제될 경우에(후술됨), 네트워크 기반의 서버(110)는 이러한 조건이 충족될 때 데이터를 삭제한다.
일부 구현에서, 등록된 사용자는 네트워크 캐시(140)의 공간을 구매하고, 네트워크 기반의 서버(110)는 구매된 공간에 대하여 정보를 트래킹하고(track), 네트워크 캐시에서의 등록된 사용자의 데이터의 저장을 관리한다. 예를 들어, 사용자가 네트워크 캐시(140)의 시간 제한 사용을 구매하고 이에 대해 비용을 지불하는 경우, 네트워크 기반의 서버(110)는, 이러한 시간의 만료시(또는 예를 들어, 사용 에 대한 비용이 지불되지 않을 때)까지 네트워크 캐시(140)로부터 등록된 사용자의 데이터를 선택적으로 삭제한다
일부 애플리케이션에서, 네트워크 기반의 서버(110)는, 네트워크 캐시(140)의 데이터를 반드시 즉시 삭제할 필요는 없는 비-현재(non-current)의 또는 비용이 지불되지 않은 등록된 사용자 계좌를 중지시킨다. 네트워크 기반의 서버(110)는, 중지된 계좌에 대한 데이터를 계좌가 회복될 때까지 액세스불가능하게 하도록 네트워크 캐시(140)에 통보하거나 또는 네트워크 캐시(140)를 제어한다. 일부 애플리케이션에서, 이러한 접근법은, 네트워크 기반의 서버에서 수신된 네트워크 캐시(140)의 데이터에 대한 요청의 거부를 포함한다. 다른 애플리케이션에서, 이러한 접근법은, 네트워크 캐시 자체가 데이터에 대한 액세스를 제한 또는 금지하도록 네트워크 캐시(140)에서 기준을 설정하는 것을 포함한다.
네트워크 캐시(140)가 등록된 데이터 소스(130)에 위치하는 애플리케이션에서, 캐시는, 통상 네트워크 접속 저장(NAS;network-attached storage) 장치로서 지칭되는 것과 같은 네트워크화된 저장장치로 구현될 수 있다. 예를 들어, 등록된 데이터 소스(130)는, 영속적 네트워크 접속(예를 들어, 액티브로 유지되는 모뎀), 및 U.A.R.(132) 및 캐싱 엔진(134)이 존재하는(프로그램된) 개인용 컴퓨터(PC)를 가질 수 있다. 종종, 사용자는 자신의 PC의 전원을 끄기를 원하지만, 데이터를 원격으로 액세스하기를 원할 수도 있다. 이와 관련해서, 사용자는 캐싱 정책(138)에, 선택된 데이터가 네트워크 캐시(140)로서의 로컬 NAS 장치에 캐싱될 것을 지정할 수 있고, 네트워크 기반의 서버(110)에 의한 원격 액세스를 위해 NAS 장치를 구 성할 수 있다.
다른 실시예에서, 시스템(100)은 등록된 데이터에 대한 전자 토큰 기반의 액세스를 다음과 같이 용이하게 한다. 등록된 데이터 소스(130)에서의 사용자가 특정 데이터를 다른 사용자와 공유하기를(또는 자신이 데이터를 원격으로 액세스하기를) 원하는 경우, 등록된 사용자는, 액세스가 제공될 데이터를 식별하는데 사용될 수 있는 정보를 지정하는 전자 토큰의 생성을 지시한다. 토큰의 주체인 데이터가 네트워크 캐시(140)로 푸시되고, 전자 토큰은 원격 사용자에 의한 액세스를 위해 제공된다. 이러한 원격 사용자가 (예를 들어, 인증 정보를 갖는 토큰을 네트워크 기반의 서버(110)에 제공함으로써) 토큰을 구현할 때, 네트워크 기반의 서버는, 네네트워크 캐시(140)로부터의 적절한 데이터를 요청하는 원격 사용자에게 보냄으로써 응답한다. 토큰에서 지정된 데이터가 원격으로 액세스되면(예를 들어, 다운로드되면), 데이터는 네트워크 캐시(140)로부터 선택적으로 제거된다. 일부 애플리케이션에서, 토큰에서 지정된 데이터는, 토큰의 생성을 지시하는 등록된 사용자의 지시에 따라서 네트워크 캐시(140)에 푸시된다. 다른 애플리케이션에서, 네트워크 기반의 서버는, 그 서버에서 전자 토큰에 관한 정보가 수신될 때, 네트워크 캐시로의 데이터의 푸싱을 지시한다. 데이터 전송에 관한 일반적인 정보에 대해서, 및 상기 및 다른 예시적 실시예들과 관련하여 구현될 수 있는 토큰 기반의 데이터 전송 애플리케이션들에 관한 특정 정보에 대해서, 2006년 3월 13일 출원된 "토큰-기반의 원격 데이터 액세스"가 제목인 미국 특허 출원 일련 번호 제11/374,414호가 참조되고, 본 명세서에서 전체적으로 참조로서 관련된다.
시스템(100)은 이종 네트워크들, 데이터 소스 장치들, 원격 패킷 통신 장치들, 그 데이터 및 특성들과 관련된 다양한 환경에서 동작하도록 적응된다. 일 특정 사용 시나리오가 다음과 같이 원격 데이터 액세스를 포함한다. 등록된 데이터 소스(130)를 소유하는 특정 사용자(예를 들어, 자신의 집 컴퓨터에 저장된 미디어 콘텐츠를 갖는 자택소유자)가 데이터에 대한 원격 액세스를 설정하기를 원하는 경우, 사용자는 네트워크 기반의 서버(110)를 통해 제공되는 서비스에 대해 서명한다. 네트워크 기반의 서버(110)는, 사용자가 사용자의 등록된 데이터 소스(130)에 대한 정보를 액세스하게 하여, 호스트 애플리케이션 라우터(112)가 등록된 데이터 소스와 상호작용할 수 있게 한다. 이 액세스 정보(예를 들어, 사용자명, 패스워드, 액세스 제한)는 인증 기준(114)으로 저장된다.
일단 등록되면, 등록된 데이터 소스(130)는, 데이터를 네트워크 캐시에 푸싱함으로써, 등록된 데이터 소스 자체를 통해 또는 네트워크 캐시(140)에서 데이터(136)를 이용가능하게 한다. 일부 애플리케이션에서, 특정 사용자에 대한 데이터는 네트워크 캐시(140)를 통해서만 이용가능하게(즉, 네트워크 라우터(112)가 등록된 데이터 소스(130)로부터의 데이터의 라우팅을 제어하지 않거나 또는 용이하게 하지 않게) 된다. 데이터가 등록된 데이터 소스(130)를 통해 및/또는 네트워크 캐시(140)를 통해 직접 이용가능하게 되면, 원격 패킷 기반의 장치들(120-M) 중 하나의 사용자는, 상술한 바와 같이, 적절한 인증 및 데이터 전송 제어를 이용해서 등록된 데이터 소스(130)로부터 데이터를 요청 및 수신할 수 있다.
데이터는 하나 이상의 다양한 방법들의 시스템(100)을 통해 전송된다. 다음 의 예시적 접근법은, 등록된 사용자의 데이터 소스에서 나온 데이터에 대한 원격 사용자 액세스를 포함하고, 적어도 일 부분의 데이터가 캐싱된다. 예시를 위해서, 이 예는, 원격 패킷 기반의 장치(120)에서의 원격 사용자가 등록된 데이터 소스(130)에서 나온 데이터를 액세스하고, 데이터(136)의 일 부분이 네트워크 캐시(140)에 저장되는 맥락에서 기술된다.
네트워크 기반의 서버(110)는 원격 패킷 기반의 장치(120)에 의해 액세스가능한 웹 페이지를 호스트한다. 원격 사용자는 원격 패킷 기반의 장치(120)에서 호스트된 웹 페이지를 액세스하고, 네트워크 기반의 서버(110)에 제공되는 인증 정보에 얻는다. 응답시에, 네트워크 기반의 서버는 제공된 인증 정보와 함께 인증 기준(114)을 사용해서, 등록된 데이터 소스(130)로부터 나온 데이터에 대한 사용자 액세스를 인증하거나 또는 거부한다. 일부 애플리케이션에서, 이 인증은 사용자에 의해 요청된 데이터의 유형에 기초해서 선택된다.
일단 인증되면, 원격 패킷 기반의 장치(120)에서의 사용자에 의해 개시된 데이터 요청이 네트워크 기반의 서버(110)에 의해 처리된다. 요청된 데이터의 일부 또는 전부가 네트워크 캐시(140)에서 이용가능하면, 네트워크 기반의 서버는, 네트워크 캐시(140)의 데이터의 원격 패킷 기반의 장치(140)로의 전송을 선택적으로 지시한다. 예를 들어, 요청된 데이터가 네트워크 캐시(140)에서 이용가능하고 등록된 데이터 소스(130)가 오프라인이거나 또는 데이터를 전달할 수 없는 경우에, 네트워크 기반의 서버(110)는 네트워크 캐시(140)로부터의 데이터 전송을 지시한다. 유사하게, (등록된 데이터 소스(130)의)등록된 사용자가 캐싱 정책(138)에 어떤 데 이터가 네트워크 캐시(140)로부터 라우팅되는지를 지정하는 경우에, 이들 캐싱 정책은 요청을 만족시키도록 구현된다. 일부 애플리케이션에서, 등록된 데이터 소스(130)는, 네트워크 캐시(140)로부터의 요청된 데이터의 라우팅을 지시하는 정보를 (네트워크 캐시(140)에 직접 또는 네트워크 기반의 서버(110)를 통해서) 전달하도록 캐싱 정책(138)을 구현한다. 다른 애플리케이션에서, 네트워크 기반의 서버(110)는 데이터 요청을 만족시키기 위해 직접 캐싱 정책을 구현한다. 일부 예에서, 네트워크 기반의 서버(110)는, 캐싱 정책을 필수적으로 구현하지 않으면서, 네트워크 캐시(140)에 저장된 데이터를 특성화하는 정보를 간단히 트래킹하고, 그에 따라 그로부터의 데이터를 라우팅한다.
데이터가, 등록된 데이터 소스(130)로부터 뿐만 아니라 네트워크 캐시(140)로부터의 전송을 위해 이용가능한 일부 애플리케이션에서, 네트워크 기반의 서버(120)는 어느 소스가 요청을 만족시키도록 데이터를 전송하는지를 선택한다. 예를 들어, 네트워크 캐시(140) 및 등록된 데이터 소스(130) 중 하나로부터의 전송이, 네트워크 캐시 및 등록된 데이터 소스 중 다른 하나로부터의 전송보다 더 빠르거나, 더 높은 품질을 보이거나, 비용이 덜 들 수 있다.
네트워크 캐시(140) 및 등록된 데이터 소스(130) 중 하나 또는 둘 다로부터 원격 패킷 기반의 장치(120)로의 데이터 전송은, 애플리케이션, 이용가능한 기기, 원격 패킷 기반의 장치의 특성 또는 다른 조건에 따라서 상이한 방식으로 이루어진다. 일부 애플리케이션에서, 데이터는 네트워크 기반의 서버(110)를 통해 라우팅되어, 원격 패킷 기반의 장치(120)로 전달된다. 다른 애플리케이션에서, 반드시 네트워크 기반의 서버(110)를 통해 데이터를 전달할 필요없이, 데이터는, (패킷 기반의 네트워크(105)를 통해서) 등록된 데이터 소스(130) 및 네트워크 캐시 중 하나 또는 둘 다로부터 원격 패킷 기반의 장치(120)로 직접 라우팅된다.
시스템(100)은 애플리케이션에 따라서 다양한 방법으로 구현된다. 데이터 전송에 관한 일반적인 정보에 대해서, 및 하나 이상의 예시적 실시예에 따라서 네트워크 캐싱으로 선택적으로 구현되는 데이터 전송에 대한 접근법에 관한 특정 정보에 대해서, 본 출원에서 우선권 주장되는 미국 특허 출원 일련 번호 제11/056,345호가 참조된다.
도 2는 본 발명의 다른 예시적 실시예에 따라서 사용자 데이터에 원격 액세스를 제공하는 시스템(200)을 도시한다. 시스템(200)은 에이전트 게이트웨이(210), 브라우저 게이트웨이(220) 및 호스트된 콘텐츠 스토리지(250)를 포함하고, 이들은, PC(240)에서의 원(origin) 에이전트를 통해 나오는 데이터의 이동 장치(230)(또는 개인용 컴퓨터와 같은 다른 원격 장치)로의 제공을 용이하게 한다. 에이전트 게이트웨이(210)는 예를 들어, 에이전트 게이트웨이(210)와 통신하기 위해 PC에서 구현되는 원 에이전트 소프트웨어를 사용해서 PC(240)와 통신하기 위한 게이트웨이를 제공한다. 브라우저 게이트웨이(220)는 예를 들어, 패킷 기반의 네트워크(예를 들어, 적절한 이동 통신 링크를 함께 갖는 인터넷)를 통해 이동 장치에 제공되는 웹 브라우저 인터페이스를 사용해서 이동 장치(230)와 통신하기 위한 게이트웨이를 제공한다.
일반적으로, PC(240)에서 구현되는 소프트웨어와 함께, 에이전트 게이트웨 이(210), 브라우저 게이트웨이(220) 및 호스트된 콘텐츠 스토리지(250)는 PC(240)에서 나오는 콘텐츠에 대한 액세스를 이동 장치(230)의 사용자에게 용이하게 한다. 시스템(200)을 통해 제공되는 이 호스트된 콘텐츠 액세스는 예를 들어, 도 1 등과 관련하여 상술한 하나 이상의 예시적 실시예들을 사용해서 구현될 수 있다.
콘텐츠는 하나 이상의 다양한 방법으로 호스트된 콘텐츠 스토리지(250)에 푸시된다. 일부 애플리케이션에서, PC(240)에서의 원 에이전트는 그 사용자에 의해 설정된 캐싱 정책을 사용해서, PC로부터 호스트된 콘텐츠 스토리지(250)로 콘텐츠를 선택 및 푸시한다. 다른 애플리케이션에서, 에이전트 게이트웨이(210)는 유사한 캐싱 정책을 사용해서, PC(240)에서의 원 에이전트가 콘텐츠를 호스트된 콘텐츠 스토리지(250)로 푸시하도록 한다. 또 다른 애플리케이션에서, PC(240)에서의 사용자는 호스트된 콘텐츠 스토리지(250)에 대한 콘텐츠의 푸시를 수동으로 지시한다. 이러한 접근법들의 조합은 적절하게 특정 구현에 맞도록 사용될 수 있다. 일단 호스트된 콘텐츠 스토리지(250)에 저장되면, 원격 장치(230)에서 사용자에 의한 액세스를 위해 이용될 수 있는 콘텐츠는 브라우저 게이트웨이(220)를 통해 선택적으로 제어된다.
일부 애플리케이션에서, 호스트된 콘텐츠 스토리지(250)에 저장된 콘텐츠는 에이전트 게이트웨이(210) 및 원 에이전트(240) 중 하나 또는 둘 다를 통해 동적으로 조정된다. 예를 들어, PC(240)에서의 특정 파일의 콘텐츠가 호스트된 콘텐츠 스토리지(250)에서 미러링되면, PC에서의 특정 파일의 콘텐츠에 대한 변경이 호스트된 콘텐츠 스토리지에 반영되어, 미러링된 콘텐츠가 현재 상태라는 것을 보장한 다.
이동 장치(230)의 사용자가, 호스트된 콘텐츠 스토리지(250)에서 이용가능한 콘텐츠를 요청하면, 브라우저 게이트웨이(220)는, 호스트된 콘텐츠 스토리지에서의 데이터의 이동 장치(230)로의 라우팅을 지시함으로써 요청을 선택적으로 용이하게 한다. 일부 애플리케이션에서, 브라우저 게이트웨이(220)는, PC(240)가 오프라인일 때는 호스트된 콘텐츠 스토리지(250)로부터의 요청된 데이터의 라우팅을 지시하고, 원 에이전트가 온라인일 때는 (에이전트 게이트웨이(210)를 통해) 원 에이전트로부터의 요청된 데이터의 라우팅을 지시한다. 다른 애플리케이션에서, 브라우저 게이트웨이(220)는 호스트된 콘텐츠 스토리지(250) 또는 PC(240)로부터 데이터를 라우팅할지 여부를 결정하는데 있어서, 통신 링크에서 이용가능한 데이터의 타입, 우선순위, 및 비용과 같은 다른 기준을 사용한다. 또한, 요청된 데이터가 호스트된 콘텐츠 스토리지(250)에서 이용가능하지 않은 경우, 브라우저 게이트웨이는 선택적으로 그 요청을 거부하거나, 또는 PC(240)로부터 요청된 데이터의 라우팅을 용이하게 한다.
시스템(200)의 일부 또는 전체의 상이한 구성요소들 간의 통신은 패킷 통신 네트워크를 통해 용이하게 된다. 예를 들어, PC(240)에서의 원 에이전트는 인터넷과 같은 패킷 통신 네트워크를 통해 에이전트 게이트웨이(210)에 액세스하고, 정보는 패킷 기반의 네트워크를 통해 PC와 에이전트 게이트웨이 간에서 전달된다. 유사하게, 이동 장치(230)는, 직접(예를 들어, 인터넷과 같은 네트워크에 직접 접속하여) 또는 이동 전화 링크 또는 무선 네트워크 링크와 같은 이동 통신 링크를 통 해 간접적으로, 패킷 기반의 네트워크를 통해 브라우저 게이트웨이(220)와 통신한다.
단일의 PC(240) 및 이동 장치(230)로 도시되었지만, 시스템(200)은, 각각의 (PC 또는 다른 패킷 통신 장치를 갖는)원 에이전트 및 이동 장치에 대해 호스트되는 에이전트 게이트웨이(210) 및 브라우저 게이트웨이(220)와 함께, 다수의 사용자들에 대해 구현될 수 있다. 예를 들어, 예시적으로 도 1을 참조하면, 시스템(200)은 에이전트 게이트웨이(210) 및 브라우저 게이트웨이(220)를 호스트하는 네트워크 기반의 서버(110), 등록된 데이터 소스(130)에서 구현되는 PC(240), 및 원격 패킷 기반의 장치(120)로 구현되는 이동 장치(230)로 선택적으로 구현될 수 있다. 또한, 일부 애플리케이션에서, 하나 이상의 에이전트 게이트웨이(210), 브라우저 게이트웨이(220), 및 호스트된 콘텐츠 스토리지(250)가 공동 구성으로 구현된다.
시스템(200)은, 등록 및 인증을 사용해서 콘텐츠의 전송을 설정하고 용이하게 하는 다양한 접근법들 및 다른 실시예들과 관련하여 상술된 것과 같은 다른 접근법들로 구현될 수 있다. 예시적 일 실시예에서, PC(240)에서의 사용자는, 원격으로 사용가능하게 될 콘텐츠를 특성화하는 다른 정보와 함께 인증 정보를 제공함으로써 원격 사용자에 대한 콘텐츠의 제공을 등록한다. 사용자는, PC(240)로부터의 콘텐츠의 라우팅을 지시하기 위해 에이전트 게이트웨이(210)와의 통신을 용이하게 하는 PC(240)의 원 에이전트 소프트웨어를 설치한다. PC(240)의 사용자는 또한, 호스트된 콘텐츠 스토리지(250)에 콘텐츠 저장을 위한 정책들을 지정하고, 이 정책들은, 호스트된 콘텐츠 스토리지로 데이터를 푸시하고, 적절한 경우, 저장된 데이터를 자동적으로 조작(부가, 삭제 또는 변경)하는데 사용된다.
이동 장치(230)의 원격 사용자가 PC(240)로부터 나온(그렇지 않으면 PC의 등록된 사용자와 관련된) 데이터를 액세스하기를 원하는 경우, 이 사용자는 브라우저 게이트웨이(220)에 의해 호스트되는 웹 페이지를 액세스하고, 인증 기준을 제공한다. 브라우저 게이트웨이(220) 및/또는 에이전트 게이트웨이는, 제공된 인증 기준 및 등록된 사용자에 의해 제공된 인증 정보에 따라서 원격 사용자의 인증을 용이하게 한다. 원격 사용자가 자신이 인증된 데이터를 요청하는 경우, 브라우저 게이트웨이(220)는 적절히 호스트된 콘텐츠 스토리지(250) 및/또는 원 에이전트(240)로부터 요청된 데이터를 선택적으로 전송함으로써 그 요청을 용이하게 한다.
도 3 내지 6과 관련된 하기 설명은 다양한 구성 및 애플리케이션에 적용될 수 있으며, 일부 애플리케이션에서는 상술한 도 2에 도시된 것과 유사한 구성에 적용될 수 있다. 또한, 도 3 내지 6 각각은 선택적으로 서로 연관되어 구현된다. 이에 있어서, 아래 도면들의 다수의 참조 번호들이 예시적으로 도 2 및/또는 다른 도면들의 참조 번호에 대응되며, 이들은 상술한 바와 같은 접근법들을 구현하는데 적용될 수 있다. 예를 들어, 먼저 아래 도 3에서, 원 에이전트/PC(340)는 선택적으로 도 2의 PC(240) 및 그에 따른 원 에이전트(240)에 대해 상술한 것과 다른 방식으로 구현될 수 있다.
도 3은 본 발명의 다른 예시적 실시예에 따라서, 호스트된 콘텐츠 스토리지에 콘텐츠를 업로드하는 구성(300) 및 접근법을 도시한다. PC(340)는, 데이터를 이용가능하게 하거나 및/또는 데이터를 호스트된 콘텐츠 스토리지 구성(350)으로 푸시하는 원 에이전트로 프로그램된다.
캐싱 정책(또는 정책들)(341) 및 자산 공간(asset space) 정보(342)를 포함하는 데이터는 PC가 액세스할 수 있는 위치 또는 PC(340)에 저장된다. 캐싱 정책(341)은, 특정 자산 공간을 식별하여 호스트된 콘텐츠 스토리지(350)에 미러링하는 것 등에 의해 PC(340)를 통해 이용가능한 데이터를 캐싱하기 위한 정책을 지정하는 정보를 포함한다. 자산 공간(342)은, 특정 데이터 파일과 같은 데이터, 데이터의 타입(예를 들어, 영상 또는 문서), 관련 데이터, 데이터 저장 위치 또는 메타태그(metatag) 기타 정보를 포함하는 하나 이상의 특성을 이용해서 데이터를 특성화한다. 데이터 전송에 관한 일반적인 정보에 대해서, 및 자산 공간, 그 예시적 구현, 및 본 발명의 하나 이상의 예시적 실시예들과 관련하여 사용하기 위한 특정 애플리케이션에 대한 특정 정보에 대해, 2005년 9월 2일 출원된 제목이 "원격 네트워크 노드와의 데이터 통신"인 미국 특허 출원 일련 번호 제11/219,529호가 참조될 수 있고, 이는 본 명세서에서 전체적으로 참조로서 관련된다.
PC(340)의 사용자가 호스트된 콘텐츠 스토리지(350)의 선택된 데이터 파일을 (영속적으로) 미러링하기 위해 (캐싱 정책(341)의) 선호(preference)를 설정하는 애플리케이션의 맥락에서, PC(340)의 원 에이전트는 블록 343에서 정책(341)을 평가하여 호스트된 콘텐츠 스토리지(350)에서 미러링될 데이터를 식별한다. 블록 344에서, 원 에이전트는 이용가능한 경우 캐시 상태 데이터(346)에 지정된 정보를 평가한다. 캐시 상태 정보가 이용가능하지 않은 경우(예를 들어, 데이터가 아직 미러링되지 않은 경우)에는, 원 에이전트는 미러링될 지정된 데이터를 블록 345에 서 업로드하고, 이 데이터는 호스트된 콘텐츠 스토리지(350)로 보내진다. 이러한 맥락에서의 데이터 업로딩은, 도 3에서만 예시적으로 나타낸 바와 같이 예를 들어, 단순 객체 접근 프로토콜(SOAP;Simple Object Access Protocol)을 사용하는 것을 포함할 수 있으며, 다수의 통신 접근법들이 구현될 수 있다.
캐시 상태 데이터(346)가 블록 344에서 이용가능하면, 원 에이전트는 호스트된 콘텐츠 스토리지의 데이터의 상태와, 원 에이전트(340)가 데이터를 푸시하는 어떤 기점에서의 데이터의 상태를 비교한다. 즉, 원 에이전트는 호스트된 콘텐츠 스토리지(350)에 미러링된 데이터의 최종 상태와, (예를 들어, PC(340)에서의 또는 LAN을 통해 연결된 장치에서의) 로컬 데이터의 상태를 비교한다. 변경되지 않은 데이터에 대해, 원 에이전트는 호스트된 콘텐츠 스토리지(350)로 데이터를 반드시 업로드할 필요는 없다. 데이터 또는 그 데이터와 관련된 메타태그를 통해 지시되는 바와 같이 변경된 데이터에 대해, 또는 특정 데이터 파일에 부가 또는 삭제된 데이터에 대해, 원 에이전트는 데이터의 변경을 호스트된 콘텐츠 스토리지(350)에 업로드한다. 특정 파일로부터의 데이터가 삭제되는 경우, 또는 캐싱 정책(341)이 데이터가 삭제될 것을 지정하는 경우에, 원 에이전트는 호스트된 콘텐츠 스토리지(350)가 데이터를 삭제할 것을 명령 또는 지시한다.
일부 애플리케이션에서, 원 에이전트는 또한 블록 345에서 캐싱 정책 정보를 업로드하고, 이 정보는 저장된 데이터를 관리하는데 있어서 호스트된 콘텐츠 스토리지(350)에 의해 사용된다. 이러한 규칙은, 소정 이벤트(예를 들어, 데이터가 원격 사용자에게 다운로드되거나 또는 라이센스가 만료되는 이벤트)가 발생할 때까 지, 또는 다른 조건이 적용될 때까지, 예를 들어, 특정 양의 시간 동안 캐시에 미러링된 데이터를 유지하기 위한 규칙을 포함할 수 있다.
도 4는 본 발명의 다른 예시적 실시예에 따라서, 호스트된 콘텐츠 스토리지(450)의 콘텐츠의 저장을 관리하는 구성(400) 및 접근법을 도시한다. 호스트된 콘텐츠 스토리지(450)는, 인터넷과 같은 패킷 통신 네트워크에 대한 액세스를 갖는, 컴퓨터, 데이터베이스 또는 다른 저장 장치와 같은 하나 이상의 저장 장치를 포함한다. 여기에서, 데이터베이스형 구성(455)은 콘텐츠를 저장하는 것으로 도시되고, 이 콘텐츠에 대한 메타데이터는 다른 데이터베이스형 구성(454)에 저장된다. 다양한 애플리케이션에서, 호스트된 콘텐츠 스토리지(450)는 도 2 또는 3의 호스트된 콘텐츠 스토리지(250 또는 450)와 관련하여 상술한 바와 유사한 방식으로 구현된다.
PC(440)로부터(즉, PC에서의 원 에이전트의 지시로) 수신된 데이터는 호스트된 콘텐츠 스토리지(450)에 보내지고, 이 호스트된 콘텐츠 스토리지(450)는 블록 451에서 캐시 관리 기능을 구현하여, 수신된 데이터를 저장 또는 관리한다. 캐싱 정책 정보(452)는 도 3과 관련하여 상술한 바와 같이 캐시의 관리에 사용된다. 데이터베이스형 구성(454)의 콘텐츠 메타데이터는, 날짜, 데이터 타입, 파일 위치 또는 캐싱 정책을 구현하는데 사용될 수 있는 다른 데이터와 같은 저장된 데이터의 특성을 식별하는데 사용된다.
일부 애플리케이션에서, 사용자 용량 데이터(453)는 특정 사용자에 대해 저장될 수 있는 데이터의 용량을 지정한다. 블록 451에서 이 정보를 사용하여, 데이 터베이스형 구성(455)에 저장된 데이터(예를 들어, 콘텐츠)의 양이 제어된다. 일부 애플리케이션에서, 호스트된 콘텐츠 스토리지는, 이러한 용량이 만족되거나, 또는 제안된 데이터 전송을 초과하는 경우에, PC(440)의 원 에이전트에 메시지를 보낸다. 후자의 경우에, 특정 사용자의 용량을 초과하는 임의의 데이터 전송은 거절되거나, 또는 일부 애플리케이션에서 수용되고, 용량 상태를 사용자에게 알리도록 사용자의 PC의 원 에이전트에 통지가 다시 보내진다.
소정 애플리케이션에서, 사용자 용량 데이터(453) 및 데이터베이스형 구성(455)에 저장된 콘텐츠의 양에 따라서 사용료가 자동적으로 사용자에게 액세스된다. 예를 들어, 캐싱 정책 정보(452)가, 사용자 용량이 초과될 수 있지만 사용료가 부가된다고 지정하는 경우에, 사용료는 그 용량이 초과할 때 그에 따라 액세스된다.
도 5는 본 발명의 다른 예시적 실시예에 따라서, 호스트된 콘텐츠 스토리지 구성(550)으로부터 원격 사용자(530)에 콘텐츠를 제공하는 구성(500) 및 접근법을 도시한다. 일반적으로, 원격 사용자(530)는 PC, 이동 전화 또는 디지털 미디어 플레이어와 같은 원격 패킷 통신 장치로 브라우저 게이트웨이(220)를 액세스한다. 다양한 애플리케이션에서, 원격 사용자는, 상술한 도 2에 도시된 브라우저 게이트웨이(220)에 액세스하는 이동 장치(230)와 관련하여 기술된 것과 다른 방식으로 브라우저 게이트웨이에 액세스한다.
이 액세스를 용이하게 하기 위해서, 브라우저 게이트웨이(520)는 일반적으로 사용자(530) 및 그 사용자로부터의 임의의 특정 콘텐츠 요청을 인증하고, 인증된 사용자 요청에 대해, 요청된 데이터를 검색하기 위해 또는 호스트된 콘텐츠 스토리지 구성이 요청된 데이터를 사용자(530)에게 보내도록 지시하기 위해, 호스트된 콘텐츠 스토리지 구성(550)에 액세스한다.
브라우저 게이트웨이(520)로부터의 요청에 응답해서, 호스트된 콘텐츠 스토리지 구성(550)은, 데이터베이스형 구성(554)의 메타데이터 정보를 이용해서 데이터베이스형 구성(555)에서의 데이터를 식별하도록, 블록 556에서의 캐시 서버 기능을 구현한다. 그 다음, 요청에 대응하는 데이터는 브라우저 게이트웨이(520) 등을 통해서 사용자(530)에게 보내진다.
도 6은 본 발명의 다른 예시적 실시예에 따라서, 저장된 콘텐츠에 대한 액세스뿐만 아니라, 호스트된 콘텐츠 스토리지에서의 콘텐츠의 저장을 지시하는 구성(600) 및 접근법을 도시한다. 구성(600)은 브라우저 게이트웨이(620)와 상호작용하는 에이전트 게이트웨이(610)를 포함하고, 이는 선택적으로 공동 구성으로 구현될 수 있다. 에이전트 게이트웨이(610)는 인터넷과 같은 패킷 통신 네트워크를 통해 에이전트(640)와 상호작용한다. 에이전트(640)는, 예를 들어, 사용자의 PC에서의 소프트웨어 기반의 프로그래밍을 이용해서 등록된 사용자의 패킷 통신 장치 또는 시스템에서 구현된다.
등록된 사용자의 패킷 통신 장치 또는 시스템에서의 캐시 엔진(641)은 또한 인터넷과 같은 패킷 통신 네트워크를 통해 캐시 매니저(651)와 통신한다. 에이전트(640)와 마찬가지로 캐시 엔진(641)은 사용자의 PC에서 프로그램된 소프트웨어를 통해 구현될 수 있다. 일부 애플리케이션에서, 에이전트(640) 및 캐시 엔진(641) 은 등록된 사용자의 패킷 통신 장치 또는 시스템에서의 공통 PC의 공통 소프트웨어로 구현된다. 적절히, 캐시 엔진(641) 및/또는 에이전트(640)는, LAN, 무선, USB 또는 다른 형태의 통신 링크 등을 통해서 등록된 사용자의 패킷 통신 시스템에서 다른 콘텐츠 장치와 상호작용한다.
캐시 엔진(641)은 등록된 사용자에 의해 지정된 규칙을 사용하여, 콘텐츠 데이터베이스(655)의 저장을 위해 콘텐츠(예를 들어, 데이터)를 캐시 매니저(651)에 푸시한다. 캐시 매니저(651)는 콘텐츠를 저장하고, 또한 콘텐츠 메타데이터 데이터베이스(654)에서의 저장을 특성화하는 메타데이터를 저장한다. 캐시 매니저(651)는 또한 캐시 엔진(641)을 통해 수신된 규칙들 또는 다른 일반적인 캐시 기반의 규칙들을 사용하여, 콘텐츠(655)의 저장을 관리한다. 예를 들어, 캐시 매니저(651)는 데이터베이스(655)에 저장된 콘텐츠를 관리하는데 있어서, 다른 도면들과 관련하여 상술한 바와 같이 데이터 지정 규칙, 스토리지 제한, 이벤트 구동 규칙 등을 사용할 수 있다.
캐시 서버(656)는 데이터 액세스 요청을 수신 및 처리하기 위해 브라우저 게이트웨이(620)에 응답해서 상호작용한다. 특정 요청이 수신되면, 캐시 서버(656)는 데이터베이스(654)의 콘텐츠 메타데이터를 사용해서 데이터를 식별하여, 콘텐츠 데이터베이스(655)로부터 데이터를 검색 및 그에 따라 액세스하고, 이 데이터를 브라우저 게이트웨이(620)(배포를 위해)에 또는 브라우저 게이트웨이에 의해 지정된 원격 위치로 직접 송신한다.
일반적으로, 원격 사용자가 브라우저 게이트웨이(620)에 액세스하고 콘텐츠 를 요청하면, 브라우저 게이트웨이는 요청된 콘텐츠를 수신하도록 인증된 사용자를 인증하고, 콘텐츠 데이터베이스(655)에서의 콘텐츠의 가용성 및/또는 에이전트(640)를 통해서의 가용성을 식별한다. 요청된 콘텐츠가 콘텐츠 데이터베이스(655)에서 이용가능한 경우 및/또는 에이전트(640)가 액세스불가능한 경우, 브라우저 게이트웨이(620)는 캐시 서버(656)를 통해 요청된 콘텐츠의 라우팅을 지시한다. 요청된 데이터가 콘텐츠 데이터베이스(655)에서 이용불가능한 경우 및/또는 에이전트(640)가 요청된 데이터를 검색하기 위해 액세스가능한 경우, 브라우저 게이트웨이는 에이전트 게이트웨이(610)를 통해 요청된 콘텐츠의 라우팅을 지시한다.
상술하고 도면에 도시한 다양한 실시예들은 예시적으로서만 제시된 것이며, 본 발명을 제한하려는 것은 아니다. 상기 설명 및 도시에 기초해서, 당업자는, 본 명세서에서 도시 및 기술된 예시적 실시예 및 애플리케이션들과 완전히 동일하지는 않은 다양한 수정 및 변경들이 본 발명에 대해 이루어질 수 있다는 것을 쉽게 이해할 것이다. 예를 들어, 서버, 데이터 소스 및 네트워크 캐시에 의해 수행되는 기능들은 애플리케이션에 따라 선택적으로 함께 및/또는 상이한 구성으로 구현된다. 또한, 데이터 소스(또는 홈 네트워크 구성/장치)는 선택적으로 이동 인터넷 기기(예를 들어, 이동 전화, 랩탑 또는 개인용 장치)와 같은 이동형 장치로 구현되고, 데이터는 이러한 장치로부터 다른 원격 장치로 이용가능하게 구성될 수 있다.
이러한 접근법들은 본 발명의 다양한 예시적 실시예들과 관련하여 구현된다. 이러한 수정 및 변경들은 후속하는 청구항에서 기술하는 본 발명의 본질적 사상 및 범위에서 벗어나지 않는다.

Claims (26)

  1. 패킷 기반의 네트워크를 통한 원격 패킷 통신(packet-communicating) 장치로의 전송을 위해 데이터를 제공하는 등록된 사용자를 포함하는 환경에서, 패킷 기반의 네트워크를 통해 등록된 사용자 데이터에 대해 원격 사용자가 액세스하는 것을 용이하게 하는 서버 호스트(server-hosted) 방법으로서,
    상기 등록된 사용자를 통해 지정된 캐싱 규칙에 따라서 등록된 사용자 데이터 소스로부터 네트워크 캐시로 데이터를 송신하는 단계;
    상기 등록된 사용자 데이터 소스에서, 상기 데이터 소스와 상기 서버 간의 통신 링크를 초기화하는 단계; 및
    원격 사용자로부터의 콘텐츠 요청에 응답하여, 상기 서버에서,
    상기 등록된 사용자에 의해 제공되는 인증 정보 및 상기 요청의 정보의 함수로서 상기 요청을 인증하고,
    인증된 상기 요청에 응답해서, 상기 캐싱 규칙에 따라 상기 캐시에서의 상기 요청된 데이터의 가용성(availability)을 확인하고,
    상기 캐시에서 이용가능한 상기 요청된 데이터에 응답해서 및 상기 캐싱 규칙에 따라서, 상기 캐시로부터 원격 패킷 통신 장치의 상기 원격 사용자로의 상기 요청된 데이터의 전송을 선택적으로 지시하고,
    상기 캐시에서의 상기 요청된 데이터의 가용성에 응답해서 및 상기 캐싱 규칙에 따라서, 상기 설정된 통신 링크를 통해, 상기 데이터 소스로부터 원격 패킷 통신 장치의 상기 원격 사용자로의 상기 요청된 데이터의 전송을 선택적으로 지시하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 캐시로부터 상기 원격 사용자로 상기 데이터를 선택적으로 전송하는 단계는, 상기 데이터 전송을 수행하는데 이용불가능한 데이터 소스에 응답해서 상기 캐시로부터 상기 원격 사용자로 데이터를 전송하는 단계를 포함하는 방법.
  3. 제1항에 있어서,
    상기 데이터 소스로부터 상기 원격 사용자로 상기 요청된 데이터를 선택적으로 전송하는 단계는, 상기 캐시에서 이용불가능한 데이터에 응답해서 상기 데이터 소스로부터 상기 원격 사용자로 상기 요청된 데이터를 전송하는 단계를 포함하는 방법.
  4. 제1항에 있어서,
    상기 캐싱 규칙에 따라서 등록된 사용자 데이터 소스로부터 네트워크 캐시로 데이터를 송신하는 단계는, 상기 캐시에서, 상기 등록된 사용자의 데이터 소스에서의 선택된 데이터 파일의 데이터를 저장하는 단계를 포함하는 방법.
  5. 제4항에 있어서,
    상기 등록된 사용자의 데이터 소스의 상기 선택된 데이터 파일에서의 변경에 응답해서 상기 캐시에 저장된 데이터를 갱신하는 단계를 더 포함하는 방법.
  6. 제4항에 있어서,
    이벤트에 응답해서 상기 캐시에 저장된 데이터를 갱신하는 단계를 더 포함하는 방법.
  7. 제4항에 있어서,
    선정된 간격으로 상기 캐시에 저장된 데이터를 갱신하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    등록된 사용자 데이터 소스로부터 네트워크 캐시로 데이터를 송신하는 단계는, 상기 데이터에 대한 만료일(expiration date)을 지시하는 데이터를 송신하는 단계를 포함하고, 상기 만료일에 상기 캐시에서 데이터를 자동적으로 삭제하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서,
    상기 데이터가 상기 원격 사용자로 선택적으로 전송된 후에 상기 캐시에서 데이터를 삭제하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서,
    상기 캐싱 규칙에 따라서 등록된 사용자 데이터 소스로부터 네트워크 캐시로 데이터를 송신하는 단계는, 상기 캐시의 데이터의 상태를 검출하는 단계를 포함하고, 상기 상태에 응답해서, 상기 검출된 상태를 통해 상기 캐시에서 날짜가 지난(out of date) 것으로 표시되는 데이터를 선택적으로 교체하는 단계를 포함하는 방법.
  11. 제1항에 있어서,
    등록된 사용자 데이터 소스로부터 상기 네트워크 캐시로 송신된 데이터의 기록을 저장하는 단계를 더 포함하고, 상기 기록은 상기 데이터의 날짜를 나타내고, 상기 캐싱 규칙에 따라서 등록된 사용자 데이터 소스로부터 네트워크 캐시로 데이터를 송신하는 단계는, 상기 저장된 기록을 검사하는 단계 및 상기 캐시에서 날짜가 지난 데이터를 교체하도록 데이터를 선택적으로 송신하는 단계를 포함하는 방법.
  12. 제1항에 있어서,
    상기 캐싱 규칙에 따라서 등록된 사용자 데이터 소스로부터 네트워크 캐시로 데이터를 송신하는 단계는, 상기 등록된 사용자에 대한 사용자 캐시 데이터 저장 용량에 따라 상기 네트워크 캐시에 데이터를 송신하는 단계를 포함하는 방법.
  13. 패킷 통신 네트워크에서의 전송을 위해 데이터를 캐싱하는 서버 호스트 방법으로서,
    상기 서버에서, 상기 등록된 사용자의 패킷 통신 장치로부터의 데이터의 공유를 위해 사용자를 등록하도록 데이터를 전자적으로 저장하는 단계;
    네트워크 기반의 캐시에서 공유된 데이터를 저장하기 위해 상기 패킷 통신 장치에 캐시 엔진 기능을 프로그래밍하는 단계;
    상기 등록된 사용자로부터, 상기 네트워크 기반의 캐시에서 공유된 데이터를 저장함으로써 얻어진 캐싱 정책 데이터를 수신하는 단계;
    상기 사용자에 대한 상기 네트워크 기반의 캐시에 저장된 공유된 데이터의 현재 상태 및 상기 캐싱 정책 데이터의 함수로서, 상기 패킷 통신 네트워크를 통해 상기 네트워크 기반의 캐시에 데이터를 송신하도록 상기 캐시 엔진을 구현하는 단계; 및
    상기 서버에서, 상기 패킷 통신 네트워크를 통한 상기 네트워크 기반의 캐시의 공유된 데이터의 전송을 지시함으로써 공유된 데이터에 대한 원격 요청에 응답하는 단계
    를 포함하는 방법.
  14. 제13항에 있어서,
    상기 등록된 사용자로부터, 데이터를 공유할 원격 사용자를 지정하고 공유될 데이터를 지정하는 공유 데이터를 수신하는 단계를 더 포함하고,
    공유된 데이터에 대한 원격 요청에 응답하는 단계는 상기 공유 데이터에 지정된 원격 사용자로부터의 원격 요청에 응답하는 단계를 포함하고,
    공유된 데이터의 전송을 지시하는 단계는 상기 공유 데이터에 지정된 데이터의 전송을 지시하는 단계를 포함하는 방법.
  15. 제14항에 있어서,
    상기 공유 데이터에 응답해서,
    공유될 데이터를 지정하는 원격 사용자에 대한 통지 데이터를 생성하는 단계; 및
    상기 지정된 원격 사용자에게 상기 통지 데이터를 송신하는 단계
    를 더 포함하고,
    상기 원격 요청은 상기 통지 데이터에 정보를 포함하는 방법.
  16. 패킷 기반의 네트워크를 통한 원격 패킷 통신 장치로의 전송을 위해 데이터를 제공하는 등록된 사용자를 포함하는 환경에서, 패킷 기반의 네트워크를 통해 등록된 사용자 데이터에 대해 원격 사용자가 액세스하는 것을 용이하게 하는 서버 호스트 시스템으로서,
    네트워크 서버;
    등록된 사용자 데이터 소스로부터의 캐싱을 위해 데이터를 수신 및 저장하도록 적응된 네트워크 캐시; 및
    상기 등록된 사용자를 통해 지정된 캐싱 규칙 데이터에 따라서 상기 네트워크 캐시로 데이터를 송신하고, 상기 데이터 소스와 상기 네트워크 서버 간의 통신 링크를 초기화하도록 적응된 등록된 사용자 데이터 소스
    를 포함하고,
    상기 네트워크 서버는,
    상기 등록된 사용자에 의해 제공되는 인증 정보 및 상기 요청의 데이터의 함수로서 상기 요청을 인증하고,
    인증된 상기 요청에 응답해서, 상기 캐싱 규칙 데이터에 따라 상기 캐시에서의 상기 요청된 데이터의 가용성을 확인하고,
    상기 캐시에서의 상기 요청된 데이터의 가용성 및 상기 캐싱 규칙 데이터에 응답해서, 상기 캐시로부터 원격 패킷 통신 장치의 상기 원격 사용자로의 상기 요청된 데이터의 전송을 선택적으로 지시하도록 제어 데이터를 전달하고,
    상기 캐시에서의 상기 요청된 데이터의 가용성 및 상기 캐싱 규칙 데이터에 응답해서, 상기 설정된 통신 링크를 통해, 상기 데이터 소스로부터 원격 패킷 통신 장치의 상기 원격 사용자로의 상기 요청된 데이터의 전송을 선택적으로 지시하도록 제어 데이터를 전달함으로써, 원격 사용자로부터의 콘텐츠 요청에 응답하는 시스템.
  17. 제16항에 있어서,
    상기 네트워크 캐시는 상기 캐싱 규칙 데이터에 따라서 저장된 데이터를 유지하는 시스템.
  18. 제16항에 있어서,
    상기 등록된 사용자 데이터 소스는, 상기 네트워크 캐시에서, 상기 등록된 사용자 데이터 소스의 상기 데이터 파일에서의 변경에 응답해서 갱신된 데이터를 상기 캐시에 송신함으로써 상기 데이터 소스에서의 데이터 파일을 미러링하는 시스템.
  19. 제16항에 있어서,
    상기 등록된 사용자 데이터 소스는, 상기 캐시에 송신되는 데이터를 특성화하는 콘텐츠 데이터를 유지하고,
    상기 캐시에 이전에 송신된 데이터를 특성화하는 콘텐츠 정보와 송신될 데이터에 대한 정보를 비교하고, 상기 비교를 통해, 상기 송신될 데이터가 상기 캐시에 이미 존재하는지 여부를 결정하고, 그로부터, 상기 캐시에 이미 존재하지 않는 데이터의 일부를 송신함으로써, 상기 네트워크 캐시에 데이터를 송신하는 시스템.
  20. 제16항에 있어서,
    상기 네트워크 서버에서, 상기 네트워크 캐시 및 상기 등록된 사용자 데이터 소스는 상기 패킷 기반의 네트워크와 관계없이 동작하는 시스템.
  21. 제16항에 있어서,
    상기 네트워크 서버는 상기 캐싱 규칙 데이터를 사용해서 상기 등록된 사용자 데이터 소스로부터 상기 네트워크 캐시로의 데이터의 라우팅을 선택적으로 지시하고, 상기 등록된 사용자 데이터 소스는 상기 네트워크 서버에 응답해서 상기 네트워크 캐시에 데이터를 송신하는 시스템.
  22. 제16항에 있어서,
    상기 네트워크 서버는,
    상기 등록된 사용자 데이터 소스가 상기 패킷 기반의 네트워크를 통해 이용가능할 때, 상기 등록된 사용자 데이터 소스로부터의 상기 요청된 데이터의 전송을 지시하는 제어 데이터를 송신하고,
    상기 등록된 사용자 데이터 소스가 상기 패킷 기반의 네트워크를 통해 이용불가능할 때, 상기 네트워크 캐시로부터의 상기 요청된 데이터의 전송을 지시함으로써
    상기 콘텐츠 요청에 응답하는 시스템.
  23. 제16항에 있어서,
    상기 네트워크 캐시는 상기 캐싱 규칙 데이터에 따라서 상기 캐시로부터 데 이터를 삭제하는 시스템.
  24. 제16항에 있어서,
    상기 네트워크 캐시는 상기 등록된 사용자 데이터 소스를 통해 설정된 데이터의 만료에 따라서 상기 캐시로부터 데이터를 삭제하는 시스템.
  25. 제16항에 있어서,
    상기 서버는, 상기 네트워크 캐시에 데이터를 저장하는 각각의 등록된 사용자에 대한 저장 용량 데이터를 지정하고, 상기 네트워크 캐시는 상기 지정된 저장 용량 데이터에 따라서 각각의 등록된 사용자에 대해 데이터를 저장하는 시스템.
  26. 패킷 기반의 네트워크를 통한 인증된 원격 액세스를 위해 데이터를 제공하는 등록된 사용자를 포함하는 환경에서, 패킷 기반의 네트워크를 통한 데이터에 대한 원격 캐시 기반의 액세스를 용이하게 하는 방법으로서,
    상기 등록된 사용자 데이터 소스의 등록된 사용자에 의해 지정된 캐싱 규칙 데이터에 따라서 상기 패킷 기반의 네트워크를 통해, 상기 등록된 사용자 데이터 소스로부터 네트워크 캐시로 데이터를 송신하는 단계;
    상기 네트워크 캐시에서, 상기 캐싱 규칙 데이터에 따라서 상기 등록된 사용자 데이터 소스로부터 수신된 데이터를 유지하는 단계; 및
    원격 사용자로부터의 콘텐츠 요청에 응답해서,
    상기 요청을 인증하고,
    인증된 상기 요청에 응답해서, 상기 패킷 기반의 네트워크를 통해, 상기 캐시로부터 원격 패킷 통신 장치의 원격 사용자로의 상기 요청된 데이터의 전송을 지시하는 단계
    를 포함하는 방법.
KR1020087030536A 2006-05-16 2007-05-15 패킷 기반의 데이터 전송을 위한 규칙 기반 캐싱 KR20090038849A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/435,357 US8990334B2 (en) 2001-04-26 2006-05-16 Rule-based caching for packet-based data transfer
US11/435,357 2006-05-16

Publications (1)

Publication Number Publication Date
KR20090038849A true KR20090038849A (ko) 2009-04-21

Family

ID=38723972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087030536A KR20090038849A (ko) 2006-05-16 2007-05-15 패킷 기반의 데이터 전송을 위한 규칙 기반 캐싱

Country Status (7)

Country Link
US (1) US8990334B2 (ko)
EP (1) EP2024859A4 (ko)
JP (1) JP5059852B2 (ko)
KR (1) KR20090038849A (ko)
CA (1) CA2652154C (ko)
RU (2) RU2449351C2 (ko)
WO (1) WO2007137046A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150047662A (ko) * 2013-10-23 2015-05-06 전자부품연구원 캐싱 기법을 접목시킨 스토리지 타겟 프레임워크 구조

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9900286B2 (en) 2001-04-26 2018-02-20 Nokia Technologies Oy Device classification for media delivery
US7552235B2 (en) * 2003-12-11 2009-06-23 International Business Machines Corporation Autonomic selection of a request routing policy based upon cache effectiveness
TW200826584A (en) * 2005-12-21 2008-06-16 Koninkl Philips Electronics Nv A method and apparatus for sharing data content between a transmitter and a receiver
WO2008010212A2 (en) * 2006-07-21 2008-01-24 First Oversi A network cache and method for managing files
US8467773B1 (en) * 2006-09-12 2013-06-18 At&T Mobility Ii Llc System and methods for pre-caching broadcast content for merchandising on a wireless mobile device
US8990269B2 (en) * 2007-11-28 2015-03-24 International Business Machines Corporation Intelligent client cache mashup for the traveler
JP5389902B2 (ja) 2008-04-28 2014-01-15 セールスフォース ドット コム インコーポレイティッド ウェブサイト及びそのコンテンツの作成及び管理のためのオブジェクト指向のシステム
KR101115204B1 (ko) * 2009-10-14 2012-06-12 주식회사 퓨쳐시스템 분산서비스거부 제어 장치 및 방법
US8761008B2 (en) 2009-10-29 2014-06-24 The Boeing Company System, apparatus, and method for communication in a tactical network
WO2012010214A1 (en) * 2010-07-23 2012-01-26 Nokia Siemens Networks Oy Provision of cached data
US11032583B2 (en) 2010-08-22 2021-06-08 QWLT, Inc. Method and system for improving high availability for live content
US10127335B2 (en) 2010-08-22 2018-11-13 Qwilt, Inc System and method of performing analytics with respect to content storing servers caching popular content
US9774670B2 (en) 2010-08-22 2017-09-26 Qwilt, Inc. Methods for detection of content servers and caching popular content therein
US10097863B2 (en) 2010-08-22 2018-10-09 Qwilt, Inc. System and method for live service content handling with content storing servers caching popular content therein
US9223892B2 (en) 2010-09-30 2015-12-29 Salesforce.Com, Inc. Device abstraction for page generation
JP6156720B2 (ja) * 2010-10-29 2017-07-05 日本電気株式会社 データ記憶制御システム、データ記憶制御方法およびデータ記憶制御プログラム
KR20120060596A (ko) * 2010-12-02 2012-06-12 한국전자통신연구원 유비쿼터스 객체의 클라우드 기반 통신을 위한 자원관리 장치 및 방법
US8935360B2 (en) * 2010-12-03 2015-01-13 Salesforce.Com, Inc. Techniques for metadata-driven dynamic content serving
EP2659401B1 (en) * 2010-12-30 2019-06-26 Peerapp, Ltd. Methods and systems for caching data communications over computer networks
US20160092641A1 (en) * 2011-02-17 2016-03-31 Socrates Analytics, Inc. Facilitating clinically informed financial decisions that improve healthcare performance
GB201114079D0 (en) * 2011-06-13 2011-09-28 Neul Ltd Mobile base station
KR20130008325A (ko) * 2011-07-12 2013-01-22 삼성전자주식회사 컨텐츠 중심 네트워크에서 컨텐츠 요청자, 중간 노드 및 컨텐츠 소유자의 통신 방법
US10021696B2 (en) * 2011-11-16 2018-07-10 International Business Machines Corporation Data caching at the edge of a mobile data network
US9946737B2 (en) * 2012-06-08 2018-04-17 Business Objects Software Ltd. System and method for simplifying data access between tiers in a multi-tier system
US9244971B1 (en) 2013-03-07 2016-01-26 Amazon Technologies, Inc. Data retrieval from heterogeneous storage systems
US9189515B1 (en) 2013-03-08 2015-11-17 Amazon Technologies, Inc. Data retrieval from heterogeneous storage systems
EP2851833B1 (en) * 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
US10171501B2 (en) 2013-09-20 2019-01-01 Open Text Sa Ulc System and method for remote wipe
US10013497B1 (en) * 2013-12-20 2018-07-03 Google Llc Background reloading of currently displayed content
US10154110B2 (en) 2014-04-22 2018-12-11 Qwilt, Inc. System and methods thereof for delivery of popular content using a multimedia broadcast multicast service
US9800619B2 (en) 2014-10-15 2017-10-24 Ayla Networks, Inc. Registration framework for connected consumer devices
US9648055B2 (en) 2014-10-15 2017-05-09 Ayla Networks, Inc. Applications in a flexible registration framework
US9813505B2 (en) 2014-10-15 2017-11-07 Ayla Networks, Inc. Devices in a flexible registration framework
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
JP6736956B2 (ja) * 2016-04-21 2020-08-05 ソニー株式会社 情報処理システム
US10880583B2 (en) 2019-04-26 2020-12-29 Advanced New Technologies Co., Ltd. Method, apparatus, terminal, and readable storage medium for offline caching
US11650957B2 (en) 2021-06-01 2023-05-16 International Business Machines Corporation Receiving at a cache node notification of changes to files in a source file system served from a cache file system at the cache node
US11645238B2 (en) * 2021-06-01 2023-05-09 International Business Machines Corporation Notifying a cache file system of changes to files in a source file system served from the cache file system

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4979118A (en) 1989-03-10 1990-12-18 Gte Laboratories Incorporated Predictive access-control and routing system for integrated services telecommunication networks
US6119151A (en) * 1994-03-07 2000-09-12 International Business Machines Corp. System and method for efficient cache management in a distributed file system
US5920701A (en) 1995-01-19 1999-07-06 Starburst Communications Corporation Scheduling data transmission
US6920637B2 (en) 1995-11-17 2005-07-19 Symbol Technologies, Inc. Method and apparatus for implementing alerts on a browser running on a portable handheld device
US5862325A (en) 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US5774660A (en) 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
US5893920A (en) * 1996-09-30 1999-04-13 International Business Machines Corporation System and method for cache management in mobile user file systems
US6167438A (en) * 1997-05-22 2000-12-26 Trustees Of Boston University Method and system for distributed caching, prefetching and replication
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
US6490625B1 (en) 1997-11-26 2002-12-03 International Business Machines Corporation Powerful and flexible server architecture
US6067565A (en) 1998-01-15 2000-05-23 Microsoft Corporation Technique for prefetching a web page of potential future interest in lieu of continuing a current information download
US6112225A (en) 1998-03-30 2000-08-29 International Business Machines Corporation Task distribution processing system and the method for subscribing computers to perform computing tasks during idle time
US7756892B2 (en) * 2000-05-02 2010-07-13 Digimarc Corporation Using embedded data with file sharing
US6161133A (en) 1998-10-19 2000-12-12 Lexton Systems, Inc. Method and apparatus for configuration of an internet appliance
US7664864B2 (en) 1998-11-13 2010-02-16 Verisign, Inc. Meta content distribution network
US6826597B1 (en) 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
SE521181C2 (sv) 1999-07-01 2003-10-07 Telia Ab Förfarande och system för policystyrd distribution av strömmande media i ett IP-nät
US6577601B1 (en) 1999-08-05 2003-06-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Masked proportional routing
US6941338B1 (en) * 1999-09-01 2005-09-06 Nextwave Telecom Inc. Distributed cache for a wireless communication system
US7917628B2 (en) 1999-12-02 2011-03-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US6996720B1 (en) 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
CN1128531C (zh) 1999-12-30 2003-11-19 国际商业机器公司 可接插式服务发送平台
US7010500B2 (en) 1999-12-30 2006-03-07 Nokia Corporation On-line subscription method
US20020016922A1 (en) 2000-02-22 2002-02-07 Richards Kenneth W. Secure distributing services network system and method thereof
US7506034B2 (en) * 2000-03-03 2009-03-17 Intel Corporation Methods and apparatus for off loading content servers through direct file transfer from a storage center to an end-user
US6751664B1 (en) 2000-07-05 2004-06-15 At&T Corp. Method for monitoring and meeting customer bandwidth demand in operational IP data networks
JP2002044765A (ja) 2000-07-28 2002-02-08 Matsushita Electric Ind Co Ltd 遠隔制御システムとゲートウェイ装置
US7139844B2 (en) * 2000-08-04 2006-11-21 Goldman Sachs & Co. Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients
US6732180B1 (en) * 2000-08-08 2004-05-04 The University Of Tulsa Method to inhibit the identification and retrieval of proprietary media via automated search engines utilized in association with computer compatible communications network
US20020174246A1 (en) 2000-09-13 2002-11-21 Amos Tanay Centralized system for routing signals over an internet protocol network
US20020040389A1 (en) 2000-10-03 2002-04-04 Wirespring Technologies, Inc. System and method for remotely-managed content distribution network
JP4714980B2 (ja) 2000-10-17 2011-07-06 ソニー株式会社 コンテンツ受信装置及びコンテンツ受信方法
US7254602B1 (en) 2000-10-25 2007-08-07 International Business Machines Corporation Multicast enabled web content distribution
JP2002132455A (ja) 2000-10-25 2002-05-10 Hitachi Ltd キャッシュマネジャー及びこれを含むコンピュータシステム
US7072943B2 (en) * 2000-11-01 2006-07-04 Buyerleverage Email Solutions Llc System and method for granting deposit-contingent E-mailing rights
JP2002140309A (ja) 2000-11-02 2002-05-17 Hitachi Ltd サービスシステム
US20020156792A1 (en) 2000-12-06 2002-10-24 Biosentients, Inc. Intelligent object handling device and method for intelligent object data in heterogeneous data environments with high data density and dynamic application needs
US20020077984A1 (en) 2000-12-19 2002-06-20 Mark Ireton Enabling protected digital media to be shared between playback devices
US6993508B1 (en) 2000-12-29 2006-01-31 Novell, Inc. Method and mechanism for vending digital content
WO2002057917A2 (en) 2001-01-22 2002-07-25 Sun Microsystems, Inc. Peer-to-peer network computing platform
US6871236B2 (en) 2001-01-26 2005-03-22 Microsoft Corporation Caching transformed content in a mobile gateway
JP2002318720A (ja) * 2001-04-19 2002-10-31 Oki Electric Ind Co Ltd コンテンツ配信管理システム
EP1381977A1 (en) 2001-04-26 2004-01-21 Creekpath Systems, Inc. A system for global and local data resource management for service guarantees
JP2002351729A (ja) 2001-05-22 2002-12-06 Nec Corp データ共有システム
WO2003039155A2 (en) 2001-10-29 2003-05-08 Matsushita Electric Industrial Co., Ltd. Apparatus of a baseline dvb-cpcm
EP1355231A3 (en) 2001-11-21 2003-10-29 Sun Microsystems, Inc. Processing data files using plug-ins
US7200680B2 (en) 2002-03-11 2007-04-03 Ericsson Inc. Method, apparatus and system for providing multimedia messages to incompatible terminals
US7321769B2 (en) * 2002-04-12 2008-01-22 Intel Corporation Method and apparatus for managing personal cache in a wireless network
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
AU2003232016A1 (en) 2002-04-29 2003-11-17 Contentguard Holdings, Inc. Rights management system using legality expression language
JP2004029939A (ja) 2002-06-21 2004-01-29 Hitachi Ltd 通信プロキシ装置、および、通信プロキシ装置を用いたサービス提供方法
JP2004185263A (ja) * 2002-12-03 2004-07-02 Oki Electric Ind Co Ltd 分散協調型コンテンツ配信システム
US7496647B2 (en) 2002-12-11 2009-02-24 Broadcom Corporation Personal inter-home media exchange network
US7451217B2 (en) * 2002-12-19 2008-11-11 International Business Machines Corporation Method and system for peer-to-peer authorization
CN1745374A (zh) 2002-12-27 2006-03-08 尼尔逊媒介研究股份有限公司 用于对元数据进行译码的方法和装置
US7769881B2 (en) * 2003-01-24 2010-08-03 Hitachi, Ltd. Method and apparatus for peer-to peer access
GB0303192D0 (en) * 2003-02-12 2003-03-19 Saviso Group Ltd Methods and apparatus for traffic management in peer-to-peer networks
US20040181706A1 (en) 2003-03-13 2004-09-16 Chen Yancy T. Time-controlled variable-function or multi-function apparatus and methods
US8321584B2 (en) 2003-04-04 2012-11-27 Ellacoya Networks, Inc. Method and apparatus for offering preferred transport within a broadband subscriber network
US8108939B2 (en) 2003-05-29 2012-01-31 Oracle International Corporation Method and apparatus to facilitate security-enabled content caching
US7805315B2 (en) 2003-07-30 2010-09-28 Realnetworks, Inc. Subscription management
US7529723B2 (en) * 2003-12-15 2009-05-05 Xerox Corporation Multi-tiered structure for file sharing based on social roles
US8042163B1 (en) 2004-05-20 2011-10-18 Symatec Operating Corporation Secure storage access using third party capability tokens
US20060117018A1 (en) 2004-11-30 2006-06-01 Microsoft Corporation Method and system for caching remote files locally
US20060173974A1 (en) 2005-02-02 2006-08-03 Victor Tang System and method for providing mobile access to personal media
US20070288247A1 (en) 2006-06-11 2007-12-13 Michael Mackay Digital life server
US7792756B2 (en) 2006-06-27 2010-09-07 Microsoft Corporation Subscription management in a media sharing service
US7961645B2 (en) 2006-08-23 2011-06-14 Computer Associates Think, Inc. Method and system for classifying devices in a wireless network
US8418217B2 (en) 2006-09-06 2013-04-09 Verizon Patent And Licensing Inc. Systems and methods for accessing media content

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150047662A (ko) * 2013-10-23 2015-05-06 전자부품연구원 캐싱 기법을 접목시킨 스토리지 타겟 프레임워크 구조

Also Published As

Publication number Publication date
CA2652154A1 (en) 2007-11-29
RU2008149517A (ru) 2010-06-27
EP2024859A4 (en) 2010-01-13
CA2652154C (en) 2015-12-22
RU2011153102A (ru) 2013-07-10
WO2007137046A3 (en) 2008-10-09
RU2449351C2 (ru) 2012-04-27
EP2024859A2 (en) 2009-02-18
WO2007137046A2 (en) 2007-11-29
JP5059852B2 (ja) 2012-10-31
US20080010381A1 (en) 2008-01-10
JP2009537909A (ja) 2009-10-29
RU2517326C2 (ru) 2014-05-27
US8990334B2 (en) 2015-03-24

Similar Documents

Publication Publication Date Title
JP5059852B2 (ja) パケットベースデータ転送のための規則ベースキャッシング
EP1859351B1 (en) Network-distributed data routing
KR101196080B1 (ko) 콘텐츠 관리 장치, 방법 및 컴퓨터 판독가능한 저장 매체
US20060167985A1 (en) Network-distributed data routing
US7895445B1 (en) Token-based remote data access
US8554827B2 (en) Virtual peer for a content sharing system
US7782866B1 (en) Virtual peer in a peer-to-peer network
EP1934777B1 (en) Data communication with remote network node
US9400875B1 (en) Content routing with rights management
US9807095B2 (en) Remote access to shared media
JP2007521541A (ja) サービスをダウンロードするためのホットスポットにおけるキャッシュサーバ
US8180904B1 (en) Data routing and management with routing path selectivity
US9438567B1 (en) Location-based remote media access via mobile device
JP5669441B2 (ja) サービスをダウンロードするためのホットスポットにおけるキャッシュサーバ
US9900286B2 (en) Device classification for media delivery
US9143545B1 (en) Device classification for media delivery
TWI393406B (zh) Integrating mobile content sharing and delivery system and its method in integrated network environment

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
N231 Notification of change of applicant
E601 Decision to refuse application