KR20140141715A - 클라우드 네트워크에서 접속들을 가속하기 위한 방법 및 장치 - Google Patents

클라우드 네트워크에서 접속들을 가속하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20140141715A
KR20140141715A KR1020147030974A KR20147030974A KR20140141715A KR 20140141715 A KR20140141715 A KR 20140141715A KR 1020147030974 A KR1020147030974 A KR 1020147030974A KR 20147030974 A KR20147030974 A KR 20147030974A KR 20140141715 A KR20140141715 A KR 20140141715A
Authority
KR
South Korea
Prior art keywords
file chunk
encrypted
static
file
chunk
Prior art date
Application number
KR1020147030974A
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 KR20140141715A publication Critical patent/KR20140141715A/ko

Links

Images

Classifications

    • 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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Communication Control (AREA)

Abstract

다양한 실시예들은 이용자 당 암호화된 데이터를 포함하는 데이터의 송신을 지원하는 클라우드 네트워크에서 가속된 암호화된 접속들을 제공하는 방법 및 장치를 제공한다. 애플리케이션 서버로부터의 암호화된 데이터의 송신은 콘텐트 그 자신으로부터 키들을 얻는 제 1 암호화 방식을 이용하여 정적 데이터를 암호화하고 제 2 암호화 방식을 이용하여, 개인화된 이용자 데이터를 갖는 동적 웹사이트 콘텐트와 같은, 동적 데이터를 암호화하는 암호화 방식을 이용한다.

Description

클라우드 네트워크에서 접속들을 가속하기 위한 방법 및 장치{METHOD AND APPARATUS FOR ACCELERATING CONNECTIONS IN A CLOUD NETWORK}
본 발명은 일반적으로 클라우드 네트워크에서 가속 접속들을 제공하기 위한 방법들 및 장치에 관한 것이다.
이 섹션은 본 발명들의 더 양호한 이해를 용이하게 하는데 도움이 될 수 있는 양태들을 도입한다. 그에 따라, 이 섹션의 진술들은 이 관점에서 판독되어야 하고 어떤 것이 종래 기술인지 또는 어떤 것이 종래 기술이 아닌지에 관한 허용들로서 이해되지 않아야 한다.
일부 공지된 가속 접속 시스템들에서, WAN 가속 미들 박스는 이전에 수신된 데이터를 기억하고, 데이터 중복제거를 통해, 새롭게 수신된 데이터의 반복된 바이트 시퀀스들을 식별자로 대체하여 애플리케이션 레이턴시(application latency)를 감소시키고 대역폭을 보존한다.
일부 공지된 애플리케이션 서버들에서, 암호화된 데이터는 클라우드 서버로부터 클라이언트들로 서빙된다. 이들 공지된 시스템들 중 일부에서, 암호화된 접속들은 상이한 이용자들에 대해 상이한 키들(이용자 당 암호화)을 이용하고, 이는 동일한 송신 데이터에 대해 상이한 암호문을 야기한다.
본 발명의 목적은 클라우드 네트워크에서 가속 접속들을 제공하기 위한 방법들 및 장치를 제공하는 것이다.
다양한 실시예들은 이용자 당 암호화된 데이터를 포함하는 데이터의 송신을 지원하는 클라우드 네트워크에서 가속된 암호화된 접속들을 제공하는 방법 및 장치를 제공한다. 애플리케이션 서버로부터의 암호화된 데이터의 송신은 콘텐트 그 자신으로부터 키들을 얻는 제 1 암호화 방식을 이용하여 정적 데이터를 암호화하고 제 2 암호화 방식을 이용하여, 개인화된 이용자 데이터를 갖는 동적 웹사이트 콘텐트와 같은, 동적 데이터를 암호화하는 암호화 방식을 이용한다. 이롭게, 이 암호화 방식은 종래의 가속 미들 박스들이 암호화된 정적 데이터의 중복을 제거하도록 허용한다.
하나의 실시예에서, 가속 접속 시스템에서 타겟 파일의 암호화를 제공하기 위한 장치가 제공된다. 장치는 데이터 저장장치 및 데이터 저장장치에 통신가능하게 접속된 처리기를 포함한다. 처리기는 제 1 클라이언트로부터의 요청에 응답하여 타겟 파일을 적어도 하나의 제 1 정적 파일 청크(chunk) 및 적어도 하나의 제 1 동적 파일 청크로 분할하고, 제 2 클라이언트로부터의 요청에 응답하여 타겟 파일을 적어도 하나의 제 2 정적 파일 청크 및 적어도 하나의 제 2 동적 파일 청크로 분할하고, 제 1 암호화 방식에 기초하여 적어도 하나의 제 1 정적 파일 청크의 제 1 암호화된 정적 파일 청크를 생성하고, 제 2 암호화 방식에 기초하여 적어도 하나의 제 1 동적 파일 청크의 제 1 암호화된 동적 파일 청크를 생성하고, 제 1 암호화 방식에 기초하여 적어도 하나의 제 2 정적 파일 청크의 제 2 암호화된 정적 파일 청크를 생성하고, 제 2 암호화 방식에 기초하여 적어도 하나의 제 2 동적 파일 청크의 제 2 암호화된 동적 파일 청크를 생성하도록 프로그래밍된다. 장치에서, 제 1 클라이언트 및 제 2 클라이언트는 상이하고, 제 1 암호화 방식 및 제 2 암호화 방식은 상이하며, 제 1 암호화된 정적 파일 청크 및 제 2 암호화된 정적 파일 청크는 동일하다.
상기 실시예들 중 일부에서, 제 1 암호화 방식은 수렴적 암호화이다.
상기 실시예들 중 일부에서, 제 2 암호화 방식은 대칭적 키 암호화이다.
상기 실시예들 중 일부에서, 암호화된 정적 파일 청크의 생성은 제 3 암호화 방식을 이용하여 제 1 정적 암호화 키를 암호화하도록 처리기를 또한 프로그래밍하는 단계를 포함하고, 제 1 정적 암호화 키는 제 1 암호화된 정적 파일 청크에 대한 복호화 키이다.
상기 실시예들 중 일부에서, 제 2 암호화 방식은 제 3 암호화 방식과 동일하다.
상기 실시예들 중 일부에서, 적어도 하나의 제 1 정적 파일 청크로의 타겟 파일의 분할은 적어도 하나의 제 1 정적 파일 청크가 복수의 클라이언트들에 공통인 데이터를 포함한다고 결정하도록 처리기를 프로그래밍하는 단계를 포함한다.
상기 실시예들 중 일부에서, 적어도 하나의 제 1 동적 파일 청크로의 타겟 파일의 분할은 적어도 하나의 제 1 동적 파일 청크가 개인용 데이터, HTML 형태 정보, 또는 일시적 데이터를 포함한다고 결정하도록 처리기를 프로그래밍하는 단계를 포함한다.
상기 실시예들 중 일부에서, 처리기는 또한 메시지를 생성하도록 프로그래밍되고, 메시지는 제 1 정적 파일 청크가 정적 데이터임을 나타낸다.
상기 실시예들 중 일부에서, 제 1 암호화된 정적 파일 청크의 생성 및 제 1 암호화된 동적 파일 청크의 생성은 애플리케이션 층에서 행해진다.
제 2 실시예에서, 가속 접속 시스템에서 타겟 파일에 서빙하기 위한 시스템이 제공된다. 시스템은 제 1 클라이언트 및 제 2 클라이언트를 포함하는 복수의 클라이언트들, 적어도 제 1 클라이언트 및 제 2 클라이언트에 접속된 적어도 하나의 가속 미들 박스, 및 가속 미들 박스에 및 적어도 제 1 클라이언트와 제 2 클라이언트에 접속된 애플리케이션 서버를 포함한다. 애플리케이션 서버는 제 1 클라이언트로부터의 요청에 응답하여 타겟 파일을 적어도 하나의 제 1 정적 파일 청크 및 적어도 하나의 제 1 동적 파일 청크로 분할하고, 제 2 클라이언트로부터의 요청에 응답하여 타겟 파일을 적어도 하나의 제 2 정적 파일 청크 및 적어도 하나의 제 2 동적 파일 청크로 분할하고, 제 1 암호화 방식에 기초하여 적어도 하나의 제 1 정적 파일 청크의 제 1 암호화된 정적 파일 청크를 생성하고, 제 2 암호화 방식에 기초하여 적어도 하나의 제 1 동적 파일 청크의 제 1 암호화된 동적 파일 청크를 생성하고, 제 1 암호화 방식에 기초하여 적어도 하나의 제 2 정적 파일 청크의 제 2 암호화된 정적 파일 청크를 생성하고, 제 2 암호화 방식에 기초하여 적어도 하나의 제 2 동적 파일 청크의 제 2 암호화된 동적 파일 청크를 생성하고, 가속 미들 박스를 통해 제 1 암호화된 정적 파일 청크 및 제 1 암호화된 동적 파일 청크를 제 1 클라이언트로 송신하고, 가속 미들 박스를 통해 제 2 암호화된 정적 파일 청크 및 제 2 암호화된 동적 파일 청크를 제 2 클라이언트로 송신하도록 프로그래밍된다. 가속 미들 박스는 가속 방식을 제 1 암호화된 정적 파일 청크에 및 제 2 암호화된 정적 파일 청크에 적용하도록 프로그래밍된다. 제 1 클라이언트는 제 1 암호화된 정적 파일 청크 및 제 1 암호화된 동적 파일 청크에 기초하여 타겟 파일을 검색하도록 프로그래밍된다. 제 2 클라이언트는 제 2 암호화된 정적 파일 청크 및 제 2 암호화된 동적 파일 청크에 기초하여 타겟 파일을 검색하도록 프로그래밍된다. 시스템에서, 제 1 클라이언트 및 제 2 클라이언트는 상이하고, 제 1 암호화 방식 및 제 2 암호화 방식은 상이하며, 제 1 암호화된 정적 파일 청크 및 제 2 암호화된 정적 파일 청크는 동일하다.
상기 실시예들 중 일부에서, 애플리케이션 서버는 또한 제 2 암호화 방식을 이용하여, 제 1 정적 파일 청크가 정적 데이터임을 나타내는 메시지를 암호화하고, 메시지를 가속 미들 박스로 송신하도록 프로그래밍된다. 시스템에서, 가속 미들 박스는 메시지에 기초하여 가속 방식을 적용한다.
제 3 실시예에서, 가속 접속 시스템에서 타겟 파일의 암호화를 제공하기 위한 방법이 제공된다. 방법은 제 1 클라이언트로부터의 요청에 응답하여 타겟 파일을 적어도 하나의 제 1 정적 파일 청크 및 적어도 하나의 제 1 동적 파일 청크로 분할하는 단계, 제 2 클라이언트로부터의 요청에 응답하여 타겟 파일을 적어도 하나의 제 2 정적 파일 청크 및 적어도 하나의 제 2 동적 파일 청크로 분할하는 단계, 제 1 암호화 방식에 기초하여 적어도 하나의 제 1 정적 파일 청크의 제 1 암호화된 정적 파일 청크를 생성하는 단계, 제 2 암호화 방식에 기초하여 적어도 하나의 제 1 동적 파일 청크의 제 1 암호화된 동적 파일 청크를 생성하는 단계, 제 1 암호화 방식에 기초하여 적어도 하나의 제 2 정적 파일 청크의 제 2 암호화된 정적 파일 청크를 생성하는 단계, 및 제 2 암호화 방식에 기초하여 적어도 하나의 제 2 동적 파일 청크의 제 2 암호화된 동적 파일 청크를 생성하는 단계를 포함한다. 방법에서, 제 1 클라이언트 및 제 2 클라이언트는 상이하고, 제 1 암호화 방식 및 제 2 암호화 방식은 상이하며, 제 1 암호화된 정적 파일 청크 및 제 2 암호화된 정적 파일 청크는 동일하다.
상기 실시예들 중 일부에서, 방법은 또한 제 1 암호화된 정적 파일 청크를 제 1 클라이언트로 송신하는 단계, 제 1 암호화된 동적 파일 청크를 제 1 클라이언트로 송신하는 단계, 제 2 암호화된 정적 파일 청크 및 제 2 암호화된 동적 파일 청크를 제 2 클라이언트로 송신하는 단계, 및 제 2 암호화된 정적 파일 청크 및 제 2 암호화된 동적 파일 청크를 제 2 클라이언트로 송신하는 단계를 포함한다.
상기 실시예들 중 일부에서, 제 1 암호화 방식은 수렴적 암호화이다.
상기 실시예들 중 일부에서, 제 2 암호화 방식은 대칭적 키 암호화이다.
상기 실시예들 중 일부에서, 암호화된 정적 파일 청크의 생성은 제 3 암호화 방식을 이용하여 제 1 정적 암호화 키를 암호화하는 단계를 포함한다. 제 1 정적 암호화 키는 제 1 암호화된 정적 파일 청크에 대한 복호화 키이다.
상기 실시예들 중 일부에서, 방법은 또한 제 1 정적 파일 청크가 정적 데이터임을 나타내는 메시지를 생성하는 단계, 및 메시지를 가속 미들 박스로 송신하는 단계를 포함한다.
상기 실시예들 중 일부에서, 제 1 암호화된 동적 파일 청크를 포함하는 패킷은 메시지를 포함한다.
상기 실시예들 중 일부에서, 제 1 암호화된 동적 파일 청크를 송신하는 단계는 HTTPS를 이용한다.
상기 실시예들 중 일부에서, 제 1 암호화된 정적 파일 청크를 생성하는 단계 및 제 1 암호화된 동적 파일 청크를 생성하는 단계는 애플리케이션 층에서 행해진다.
다양한 실시예들은 첨부된 도면들에서 도시된다.
도 1은 클라우드 네트워크에서 가속 접속 시스템(100)의 일 실시예를 포함하는 클라우드 네트워크를 도시한 도면.
도 2는 도 1의 가속 접속 시스템(100)이 이용자 당 암호화된 데이터를 포함하는 파일의 송신을 제공하는 방법(200)의 일 실시예를 도시하는 흐름도.
도 3은 도 2의 단계(220)에서 도시된 바와 같은 애플리케이션 서버가 데이터를 암호화하는 방법(300)의 일 실시예를 도시하는 흐름도.
도 4는 가속 미들 박스들의 쌍이 도 2의 단계(240)에서 도시된 바와 같은 가속 방식을 제공하는 방법(400)의 일 실시예를 도시하는 흐름도.
도 5는 도 1의 애플리케이션 서버(120) 또는 도 1의 가속 미들 박스들(150) 중 하나와 같은 다양한 장치(500)의 일 실시예를 개략적으로 도시한 도면.
이해를 용이하게 하기 위해, 동일한 참조 부호들은 실질적으로 동일하거나 유사한 구조를 갖거나 실질적으로 동일하거나 유사한 기능을 가지는 소자들을 지정하기 위해 이용되었다.
설명 및 도면들은 단지 본 발명의 원리들을 도시하고, 따라서 본 명세서에서 분명하게 설명되거나 도시되지 않을지라도, 당업자들이 본 발명의 원리들을 구현하고 그것의 범위 내에 포함되는 다양한 장치들을 고안할 수 있을 것임이 인식될 것이다. 또한, 본 명세서에서 나열된 모든 예들은 원리적으로 본 분야를 발전시키기 위해 발명자(들)에 의해 기여된 개념들 및 본 발명의 원리들을 판독자가 이해하는데 도움을 줄 수 있는 단지 교육학적인 목적이 되도록 주로 분명하게 의도되고, 이러한 구체적으로 나열된 예들 및 조건들로의 제한이 없는 것으로서 해석되어야 한다. 부가적으로, 본 명세서에서 이용된 용어 "또는"은 다르게 표시되지 않으면(예를 들면, "아니면" 또는 "또는 대안으로"), 비-배타적인 것을 언급한다. 또한, 일부 실시예들이 새로운 실시예들을 형성하기 위해 하나 이상의 다른 실시예들과 조합될 수 있을 때, 본 명세서에서 설명된 다양한 실시예들은 반드시 상호 배타적이지 않다.
다양한 실시예들은 이용자 당 암호화된 데이터를 포함하는 파일들의 송신을 지원하는 클라우드 네트워크에서 가속된 암호화된 접속들을 제공하기 위한 방법 및 장치를 제공한다. 애플리케이션 서버로부터의 암호화된 파일들의 송신은 콘텐트 그 자신으로부터 키들을 얻는 제 1 암호화 방식을 이용하여 정적 데이터를 암호화하고 제 2 암호화 방식을 이용하여, 개인화된 이용자 데이터를 갖는 동적 웹사이트 콘텐트와 같은, 동적 데이터를 암호화하는 암호화 방식을 이용한다.
도 1은 클라우드 네트워크에서 가속 접속 시스템(100)의 일 실시예를 포함하는 클라우드 네트워크를 도시한다. 가속 접속 시스템(100)은 통신 경로를 통해 데이터를 하나 이상의 클라이언트들(180-a 내지 180-c)(집합적으로, 클라이언트들(180))에 서빙하는 애플리케이션 서버(120)를 포함한다. 통신 경로는 애플리케이션 통신 채널(125), 가속 미들 박스들(150-a 및 150-b)(집합적으로, 가속 미들 박스들(150)), 가속 미들 박스 통신 채널들(155-a 및 155-b)(집합적으로, 가속 미들 박스 통신 채널들(155)), 네트워크(130), 및 클라이언트 통신 채널들(185-a 내지 185-c)(집합적으로, 클라이언트 통신 채널들(185)) 중 하나를 포함한다.
애플리케이션 서버(120)는 파일들을 애플리케이션 서버 통신 채널(125)을 통해 하나 이상의 클라이언트들(180)로 송신할 수 있는 임의의 장치일 수 있다. 특히, 애플리케이션 서버는 제 1 암호화 방식을 이용하여, 복수의 클라이언트들에 공통인 데이터와 같은, 정적 파일 청크들을 암호화하고 제 2 암호화 방식을 이용하여, 개인화된 이용자 데이터를 갖는 동적 웹사이트 콘텐트와 같은, 동적 파일 청크들을 암호화하는 암호화 방식을 이용하여 암호화된 파일들을 송신한다.
본 명세서에서 이용된 용어들 "파일" 및 "파일 청크"는 임의의 애플리케이션 콘텐트를 의미하고 애플리케이션 서버 통신 채널(125)을 통해 송신될 수 있거나 수신될 수 있는 임의의 콘텐트를 포함하는 것으로서 대체적으로 이해되어야 한다. 예를 들면, 파일들 및 파일 청크들은 종래의 파일들, 패킷들, 패킷들의 스트림, 디지털 문서, 비디오 또는 이미지 콘텐트, 파일 블록들, 데이터 오브젝터들, 상기 언급된 것의 임의의 부분, 등을 포함할 수 있다.
통신 채널들(125, 155 및 185)은 무선 통신들(예를 들면, LTE, GSM, CDMA, 블루투스); 펨토셀 통신들(예를 들면, WiFi); 패킷 네트워크 통신들(예를 들면, IP); 광대역 통신들(예를 들면, DOCSIS 및 DSL); 저장 통신들(예를 들면, 파이버 채널, iSCSI) 등과 같은 하나 이상의 통신 채널들을 통한 통신을 지원한다. 단일 접속으로서 도시될지라도, 통신 채널들(125, 155 및 185)이 임의의 수의 통신 채널들일 수 있거나 상기 통신 채널들의 조합들일 수 있음이 인식되어야 한다.
가속 중간 박스들(150)은 정적 파일 청크들의 중복을 제거할 수 있는 임의의 장치일 수 있다. 특히, 가속 중간 박스는 애플리케이션 서버로부터 암호화된 정적 파일 청크들을 캐싱(caching)하고 상이한 클라이언트가 동일한 정적 파일 청크를 요청하면, 상기 가속 중간 박스는 네트워크(130)를 가로지르기 위해 전체 정적 파일 청크를 요구하지 않고 정적 파일 청크에 서빙한다. 2개의 가속 미들 박스들이 본 명세서에 도시될지라도, 시스템(100)이 더 많은 가속 미들 박스들을 포함할 수 있음이 인식되어야 한다.
네트워크(130)는 임의의 수의 에지 노드들 및 네트워크 디바이스들과 임의의 수 및 구성의 링크들을 포함한다. 게다가, 네트워크(130)가 LTE, GSM, CDMA, 근거리 통신망(들)(LAN), 무선 로컬 영역 네트워크(들)(WLAN), 광역 통신망(WAN), 도시권 통신망(MAN), 등을 포함하는 무선, 유선 또는 펨토셀 네트워크들의 임의의 조합 및 임의의 수를 포함할 수 있음이 인식되어야 한다.
클라이언트들(180)은 하나 이상의 클라이언트 통신 채널들(185)을 통해 파일들/파일 청크들을 전송하거나 수신할 수 있는 임의의 유형의 통신 디바이스(들)를(을) 포함할 수 있다. 예를 들면, 통신 디바이스는 씬 클라이언트(thin client), 스마트 폰(예를 들면, 클라이언트(180-c)), 개인용 또는 랩톱 컴퓨터(예를 들면, 클라이언트(180-a)), 서버(예를 들면, 180-b), 네트워크 디바이스, 태블릿, 텔레비전 셋-톱 박스, 매체 플레이어 등일 수 있다. 통신 디바이스들은 예시적인 시스템 내의 다른 리소스들에 의존할 수 있어 처리 및 저장과 같은, 동작들의 일부를 수행하거나, 동작들을 독립적으로 수행할 수 있다. 3개의 클라이언트들이 본 명세서에서 도시될지라도, 시스템(100)이 더 많은 클라이언트들 중 더 소수를 포함할 수 있음이 인식되어야 한다. 게다가, 클라이언트들이 동작 동안 다양한 시간들에서 시스템에 부가되거나 상기 시스템으로부터 빠질 수 있기 때문에, 임의의 하나의 시간에서의 클라이언트들의 수는 동적일 수 있다.
일부 실시예들에서, 가속 미들 박스들(150)은 종래의 WAN 가속 미들 박스들일 수 있다.
가속 미들 박스들(150)이 명료성의 목적들을 위해 네트워크(130)의 외부에 도시될지라도, 일부 실시예들에서, 가속 미들 박스들(150)은 네트워크(130) 내에 있을 수 있다.
일부 실시예들에서, 가속 미들 박스들(150)은 애플리케이션 서버(120)로부터 수신된 정적 파일 청크들과 동적 파일 청크들 사이를 구별한다.
일부 실시예들에서, 애플리케이션 서버(120)는 프로토콜을 통해 가속 미들 박스(150-a), 가속 미들 박스(150-b) 또는 하나 이상의 클라이언트들(180)과 통신한다. 애플리케이션 서버는 애플리케이션 서버와 가속 미들 박스들 또는 클라이언트들 사이에, 송신된 파일 청크가 정적이거나 동적인지의 여부, 가속 방식을 적용하는 방법을 규정하거나 압축 방식을 적용하는 방법을 규정하는 것과 같은 임의의 적합한 메시지를 전달할 수 있다. 이 프로토콜의 일부 실시예들에서, 애플리케이션 서버는 패킷들의 형태로 데이터를 송신하고 패킷 내에 메시지를 포함한다. 이들 실시예들 중 일부에서, 메시지는 수신하는 가속 미들 박스 또는 클라이언트가 파일 청크를 정적 또는 동적인 것으로서 처리해야 하는지의 여부를 규정할 수 있다. 이들 실시예들 중 일부에서, 애플리케이션 서버 및 클라이언트 쌍은 종래의 종단-호스트 압축 방식을 이용할 수 있다. 이 실시예에서, 클라이언트는 메시지에 기초하여 종단-호스트 압축 방식의 구현의 기초를 형성할 수 있다. 예를 들면, 클라이언트는 종단-호스트 압축을 이용하여 동적 파일 청크들을 압축할 수 있고, 정적 파일 청크들이 가속 미들 박스들에 의해 가속될 것이기 때문에 압축되지 않은 정적 파일 청크들을 송신할 수 있다. 이들 실시예들 중 일부에서, 메시지는 암호화된 파일 청크와 동일한 정보 단위(예를 들면, 패킷)의 일부일 수 있다. 이들 실시예들 중 일부에서, 메시지 청크는 암호화된 파일 청크와 상이한 정보 단위(예를 들면, 패킷)일 수 있다. 예를 들면, 리딩(leading) 또는 트레일링 패킷(trailing packet)은 하나 이상의 다음 또는 진행 패킷들이 정적 또는 동적 파일 청크들을 포함함을 나타내는 메시지를 포함할 수 있다.
일부 실시예들에서, 가속 미들 박스들(150)은 임의의 처리 없이 동적 파일 청크들을 통과시킨다.
도 2는 도 1의 가속 접속 시스템(100)이 이용자 당 암호화된 데이터를 포함하는 파일의 송신을 제공하는 방법(200)의 일 실시예를 도시하는 흐름도를 도시한다. 방법은 애플리케이션 서버가 파일의 파일 청크들을 암호화하고 송신하는 단계(단계(220)), 가속 미들 박스들이 가속 방식을 송신된 파일 청크들에 적용하는 단계(단계(240)), 및 클라이언트가 송신된 파일 청크들을 수신하고 복호화하는 단계(단계(260))를 포함한다.
방법(200)에서, 단계(220)는 애플리케이션 서버(예를 들면, 도 1의 애플리케이션 서버(120))가 타겟 파일의 파일 청크들을 암호화하고 송신하는 것을 포함한다. 특히, 애플리케이션 서버는 클라이언트(예를 들면, 도 1의 클라이언트들(180) 중 하나)로부터 타겟 파일을 위한 요청을 수신하고 타겟 파일을 하나 이상의 정적 파일 청크들 및 하나 이상의 동적 파일 청크들로 분할하며 분할된 파일 청크들을 가속 미들 박스(예를 들면, 도 1의 가속 미들 박스(150-a))를 통해 요청하는 클라이언트로 송신한다.
방법(200)에서, 단계(240)는 가속 미들 박스들(예를 들면, 도 1의 가속 미들 박스들(150-a 및 150-b))이 가속 방식을 송신된 암호화된 파일 청크들에 적용하는 것을 포함한다. 가속 방식은 수신된 암호화된 정적 파일 청크들을 대응하는 식별자들로 대체한다. 반복된 바이트 시퀀스들(예를 들면, 정적 파일 청크들)을 후속 송신들에서 식별자들로 대체함으로써, 애플리케이션 레이턴시 또는 대역폭이 감소될 수 있음이 인식되어야 한다.
방법(200)에서, 단계(260)는 클라이언트(클라이언트들(180) 중 하나)가 송신된 암호화된 파일 청크들을 수신하고 복호화하는 것을 포함한다. 특히, 수신하는 클라이언트는 적절한 키들을 이용하여 적절하게 수신된 암호화된 정적 파일 청크들 및 암호화된 동적 파일 청크들을 복호화하고 타겟 파일을 재구축한다.
이롭게, 네트워크에서의 종래의 네트워크 소자들은 네트워크에서 변경들을 요구하기 않고 암호화된 정적 파일 청크들 상의 암호화된 트래픽에서의 리던던시(redundancy)를 제거할 수 있다. 또한, 동적 파일 청크들(예를 들면, 개인용 데이터)은 이들 네트워크 소자들에 의해 저장되도록 요구되지 않는다. 예를 들면, 동일한 파일(예를 들면, 웹 페이지)을 위한 2개의 클라이언트 요청들에 대해, 단지 동적 파일 청크들만이 네트워크(예를 들면, 도 1의 네트워크(130))를 통해 송신되도록 요구되는 반면에, 정적 파일 청크들은 클라이언트에 가장 가까운 가속 미들 박스(예를 들면, 도 1의 가속 미들 박스(150-b))로부터 클라이언트로 송신될 수 있다. 게다가, 보안(예를 들면, 암호화)은 정적 및 동적 파일 청크들 둘 모두에 적용될 수 있다.
도 3은 도 2의 단계(220)에서 도시된 바와 같은 애플리케이션 서버(예를 들면, 도 1의 애플리케이션 서버(120))가 타겟 파일을 암호화하고 송신하는 방법(300)의 일 실시예를 도시하는 흐름도를 도시한다. 방법은 타겟 파일을 파일 청크들로 분할하는 단계(단계(320)) 및 적절한 분할된 파일 청크들에 대해(단계(360)), 파일 청크가 동적인지의 여부(단계(330))에 기초하여 정적 암호화 방식(단계(340)) 또는 동적 암호화 방식(단계(350))을 적용하는 단계를 포함한다. 마지막으로, 방법은 파일 청크들을 타겟 클라이언트(예를 들면, 도 1의 클라이언트들(180) 중 하나)로 송신한다(단계(370)).
방법(300)에서, 단계(320)는 타겟 파일을 청크들로 분할하는 것을 포함한다. 특히, 방법을 수행하는 장치는 클라이언트(예를 들면, 도 1의 클라이언트들(180) 중 하나)로부터 타겟 파일을 위한 요청을 수신하고 타겟 파일을 하나 이상의 정적 파일 청크들(즉, 정적 데이터) 및 하나 이상의 동적 파일 청크들(즉, 동적 데이터)로 분할한다. 정적 파일 청크들은 복수의 이용자들에 공통이고 일시적이지 않은 데이터를 포함할 수 있다. 동적 파일 청크들은 이용자 당 상이하고 일시적인 데이터를 포함할 수 있다. 일례로서 일 예시적인 웹 페이지를 이용함으로써, 정적 파일 청크들은 (i) 이미지들; (ii) 메타데이터 파일들에서 발견된 바와 같은 공통 html; 템플릿들; 헤더들; 꼬리말들 및 메뉴들; (iii) css 파일들과 같은 스타일 시트 파일들; (iv) 자바스크립트 또는 자바 파일들과 같은 스크립팅 파일들; (v) 등을 포함할 수 있다. 또한, 동적 파일 청크들은 (i) 소셜 네트워킹 사이트 상의 메시지들 또는 전자상거래 사이트 상의 구매들과 같은 개인용 데이터; (ii) 계정 정보, 순서화 정보와 같은 이용자에 의해 이전에 입력된 HTML 형태 정보; (iii) 검색의 결과들과 같은 웹 페이지의 주문화된 섹션들; (iv) 주식 시세 표시기와 같은 일시적 데이터; (v) 등을 포함할 수 있다.
방법(300)에서, 단계(330)는 분리된 파일 청크들 중 하나가 동적 데이터를 포함하는지의 여부를 결정하는 것을 포함한다. 파일 청크가 동적 데이터를 포함하면, 방법은 단계(350)로 진행하고, 그렇지 않으면 방법은 단계(340)로 진행한다.
방법(300)에서, 단계(340)는 정적 암호화 방식을 분할된 정적 파일 청크들 중 하나에 적용하는 것을 포함한다. 특히, 정적 암호화 방식은 상이한 클라이언트들에 대해 동일한 암호화된 정적 파일 청크를 생성한다.
방법(300)에서, 단계(350)는 동적 암호화 방식을 분할된 파일 청크들 중 하나에 적용하는 것을 포함한다. 특히, 동적 암호화 방식은 상이한 클라이언트들에 대해 동일할 수 있거나 동일하지 않을 수 있는 암호화된 동적 파일 청크를 생성한다. 일부 실시예들에서, 동적 암호화 방식은 대칭적 키 암호화이다.
방법(300)에서, 단계(360)는 부가적인 파일 청크들이 존재하는지의 여부를 결정하는 것을 포함한다. 부가적인 파일 청크들이 존재하면, 방법은 단계(330)로 진행하고, 그렇지 않으면 방법은 단계(370)로 진행한다.
방법(300)은 선택적으로 단계(370)를 포함한다. 단계(370)는 암호화된 정적 및 동적 파일 청크들을 타겟 클라이언트로 송신하는 것을 포함한다.
일부 실시예들에서, 단계(320)는 개별적인 클라이언트들에 동적이거나 개인적인 파일 청크(들)(즉, 동적 데이터)로부터 다수의 클라이언트들에 정적이고 "공통"인 파일 청크(들)(즉, 정적 데이터)를(을) 분리하는 것을 포함한다.
단계(320)의 일부 실시예들에서, 이 파일에서의 개인용 데이터는 하나 이상의 동적 파일 청크들로 분할된다. 개인용 데이터는 각각의 이용자에 대해 민감하고 상이하다. 이롭게, 개인용 데이터는 보안 속성들을 손상시키지 않도록 암호화될 수 있고, 여전히 종래의 WAN 가속 미들 박스들은 정적 파일 청크들 상에서 리던던시 제거를 수행할 수 있다.
일부 실시예들에서, 단계들(320 및 360)은 기능을 공유할 수 있다. 예를 들면, 단계(320)는 타겟 파일을 파일 청크들의 완전한 세트로 분할하지 않을 수 있다. 이 실시예에서, 단계(360)는 타겟 파일로부터 다음 파일 청크를 분리할 수 있다.
단계(330)의 일부 실시예들에서, 분할된 파일 청크가 단계(340 또는 350)의 암호화 방식들 중 하나를 이용하여 암호화될 필요가 없다는 결정이 행해질 수 있고 방법은 그 다음, 단계(340) 또는 단계(350) 중 하나를 적용하지 않고 단계(360)로 진행할 수 있다.
일부 실시예들에서, 단계(340)는 수렴적 암호화(CE)를 이용하여 정적 파일 청크를 암호화하는 단계를 포함한다. 수렴적 암호화는 콘텐트 그 자신(예를 들면, 정적 파일 청크)으로부터 키들을 얻고 그 얻어진 키는 콘텐트(예를 들면, 정적 파일 청크)를 암호화하기 위해 이용된다. 예를 들면, 정적 파일 청크(b)에 대해, 정적 파일 청크(b)는 키(k=H(b))를 이용하여 암호화될 수 있다. 이롭게, 동일한 정적 파일 청크(예를 들면, 웹 페이지의 일반 텍스트)는 동일한 암호화된 정적 파일 청크를 생성하는 동일한 키를 이용하여 암호화될 것이다. 이와 같이, 동일한 암호화된 정적 파일 청크는 그 다음, 종래의 WAN 가속 해결책들을 이용하여 가속화될 수 있다.
단계(340)의 일부 실시예들에서, 수렴적으로 암호화된 정적 파일 청크를 복호화하기 위한 키(들)는(은) 별개의 암호화 방식을 통해 전송된다. 이들 실시예들 중 일부에서, 키(들)는(은) HTTPS를 통해 클라이언트로 전송된다.
일부 실시예들에서, 단계(340)는 애플리케이션 층에서 암호화 방식을 적용하는 것을 포함한다. 이롭게, 이들 실시예들 중 일부에서, 다른 네트워크 소자들은 암호화된 정적 파일 청크를 일반 텍스트 데이터로서 처리할 수 있고 기존의 방식들을 종래의 WAN 가속 해결책들의 완전한 이득들을 가능하게 하는 암호화된 정적 파일 청크의 상부에 적용할 수 있다.
단계(350)의 일부 실시예들에서, 대칭적 키 암호화는 HTTPS이다. 예를 들면, HTTPS 접속들은 HTTPS 프로토콜에 의해 생성된 이용자 당 대칭적 키들로 암호화된, 암호화된 동적 파일 청크들을 포함한다.
방법(300)의 일부 실시예들에서, 단계(340)에서 정적 파일 청크(들)를(을) 복호화하기 위한 키(들)는(은) 단계(350)의 암호화된 동적 파일 청크(들) 중 적어도 하나 내에 포함된다.
방법(300)의 일부 실시예들에서, 단계들(330 및 360)은 동시에 수행될 수 있다. 예를 들면, 단계(360)에서 제 3의 결정이 행해질 수 있어 단계(340, 350 또는 370)로 진행한다.
일부 실시예들에서, 단계(370)는 각각의 암호화 단계(예를 들면, 340 또는 350) 후에 발생할 수 있고 모든 파일 청크들이 단계(360)를 통해 분석될 때까지 대기하도록 요구되지 않는다.
일부 실시예들에서, 단계(370)는 TCP/IP 또는 HTTPS를 이용하는 것에 따라 송신하는 것을 포함한다.
도 4는 가속 미들 박스들(예를 들면, 도 1의 가속 미들 박스들(150-a 및 150-b))의 쌍이 도 2의 단계(240)에서 도시된 바와 같은 가속 방식을 제공하는 방법(400)의 일 실시예를 도시하는 흐름도를 도시한다. 방법은 제 1 장치(예를 들면, 도 1의 가속 미들 박스(150-a))에 의해 수행된 일부(410-a) 및 제 2 장치(예를 들면, 가속 미들 박스(150-b))에 의해 수행된 일부(410-b)를 포함한다.
제 1 장치는 애플리케이션 서버(예를 들면, 도 1의 애플리케이션 서버(120))로부터 파일 청크를 수신하고(단계(420)) 가속 방식을 파일 청크에 적용할지의 여부를 결정한다(단계(440)). 제 1 장치가, 가속 방식이 적용되지 않을 것임을 결정하면, 제 1 장치는 수신된 파일 청크를 제 2 장치로 송신한다(단계(442)). 제 1 장치가, 가속 방식이 적용될 것임을 결정하면, 제 1 장치는 파일 청크 식별자가 파일 청크에 대해 존재하는지의 여부를 결정한다(단계(450)). 파일 청크 식별자가 파일 청크에 대해 존재하지 않으면, 제 1 장치는 파일 청크 식별자를 결정하고 파일 청크 및 그것의 연관된 파일 청크 식별자를 제 2 장치로 송신한다(단계(462)). 파일 청크 식별자가 파일 청크에 대해 존재하면, 제 1 장치는 파일 청크 식별자를 제 2 장치로 송신한다(단계(482)).
제 2 장치는 제 1 장치로부터 파일 청크를 수신하고(단계(444)), 파일 청크 및 파일 청크 식별자를 수신하거나(단계(464)) 파일 청크 식별자를 수신하고(단계(484)) 그 다음, 파일 청크를 클라이언트로 송신한다(단계(490)). 제 2 장치가 파일 청크 및 파일 청크 식별자를 수신하면(단계(464)), 제 2 장치는 파일 청크를 송신하는 것에 더하여 파일 청크 - 파일 청크 연관을 저장한다(단계(466)). 제 2 장치가 단지 파일 청크 식별자를 수신하면(단계(484)), 제 2 장치는 파일 청크를 송신하는 것에 더하여 파일 청크 - 파일 청크 연관에 기초하여 저장된 파일 청크를 검색한다(단계(486)).
단계(466 또는 486)의 일부 실시예들에서, 파일 청크 - 파일 청크 식별자는 테이블에서 연관될 수 있다.
단계(462 및 464)의 일부 실시예들에서, 파일 청크 식별자는 파일 청크를 이용하여 송신되지 않는다. 이들 실시예들에서, 제 2 장치가 저장된 파일 청크 - 파일 청크 식별자 연관을 갖지 않으면, 제 2 장치는 파일 청크에 기초하여 파일 청크 식별자를 결정하고 단계(466)에서 결정된 파일 청크 식별자를 저장한다. 파일 청크 식별자가 파일 청크 콘텐트에 기초하면, 제 2 장치가 파일 청크의 콘텐트들에 기초하여 파일 청크 식별자를 결정할 수 있기 때문에, 파일 청크 식별자가 제 1 장치에 의해 송신되도록 요구되지 않음이 인식되어야 한다.
단계(482)의 일부 실시예들에서, 제 1 장치는 또한 파일 청크를 송신할 수 있다. 이들 실시예들 중 일부에서, 제 1 장치는 파일 청크 식별자가 만료했다고 결정할 수 있다. 이들 실시예들 중 일부에서, 제 1 장치는 제 2 장치가 파일 청크 - 저장된 연관된 파일 청크 식별자를 갖지 않는다고 결정할 수 있다. 예를 들면, 제 1 장치가 아직도 이전에 파일 청크 - 파일 청크 식별자를 수신하지 않은 가속 미들 박스인 경우에 또는 제 1 장치가, 제 2 장치가 더 이상 저장된 연관을 갖지 않는다는 표시를 수신하는 경우에. 이들 실시예들 중 일부에서, 제 2 장치는, 제 2 장치가 수신된 파일 청크 식별자에 대한 연관을 갖지 않는다는 응답 메시지를 제 1 장치로 전송할 수 있고 그 다음, 메시지에 응답하여, 제 1 장치는 파일 청크를 전송할 수 있고 선택적으로 파일 청크 식별자를 재전송할 수 있다.
주로 특정한 시퀀스로 도시되고 설명될지라도, 방법들(200, 300 및 400)에 도시된 단계들이 임의의 적합한 시퀀스로 수행될 수 있음이 인식되어야 한다. 게다가, 하나의 단계에 의해 식별된 단계들은 또한 상기 시퀀스로 하나 이상의 다른 단계들에서 수행될 수 있거나 하나보다 많은 단계의 공통 동작들은 단지 한번만 수행될 수 있다.
다양한 상기 설명된 방법들의 단계들이 프로그래밍된 컴퓨터들에 의해 수행될 수 있음이 인식되어야 한다. 본 명세서에서, 일부 실시예들은 또한 프로그램 저장 디바이스들 예를 들면, 기계 또는 컴퓨터 판독가능하고 기계-실행가능하거나 컴퓨터-실행가능한 프로그램들의 지시들을 인코딩하는 데이터 저장 매체들을 커버하도록 의도되고, 상기 지시들은 상기 설명된 방법들의 일부 또는 모든 단계들을 수행한다. 프로그램 저장 디바이스들은 예를 들면, 디지털 메모리들, 자기 디스크들 및 자기 테이프들, 하드 드라이브들과 같은 자기 저장 매체들, 또는 광학적으로 판독가능한 데이터 저장 매체들일 수 있다. 실시예들은 또한 상기 설명된 방법들의 상기 단계들을 수행하도록 프로그래밍된 컴퓨터들을 커버하도록 의도된다.
도 5는 도 1의 애플리케이션 서버(120) 또는 도 1의 가속 미들 박스들(150) 중 하나와 같은 다양한 장치(500)의 일 실시예를 개략적으로 도시한다. 장치(500)는 처리기(510), 데이터 저장장치(511), 및 I/O 인터페이스(530)를 포함한다.
처리기(510)는 장치(500)의 동작을 제어한다. 처리기(510)는 데이터 저장장치(511)와 협력한다.
데이터 저장장치(511)는 적절하게 라우팅 정보 등과 같은 프로그램 데이터를 저장할 수 있다. 데이터 저장장치(511)는 또한 처리기(510)에 의해 실행가능한 프로그램들(520)을 저장한다.
처리기-실행가능한 프로그램들(520)은 I/O 인터페이스 프로그램(521), 파일 서비싱 프로그램(523), 또는 파일 청크 가속 프로그램(525)을 포함할 수 있다. 처리기(510)는 처리기-실행가능한 프로그램들(520)과 협력한다.
I/O 인터페이스(530)는 처리기(510) 및 I/O 인터페이스 프로그램(521)과 협력하여 적절하게 및 상기 설명된 바와 같이 도 1의 통신 채널들(125 및 155)을 통한 통신들을 지원한다.
파일 서비싱 프로그램(523)은 상기 설명된 바와 같이 도 3의 방법(300)의 단계들을 수행한다.
파일 청크 가속 프로그램(525)은 상기 설명된 바와 같이 도 4의 방법(400)의 일부의 단계들(410-a 또는 410-b)을 수행한다.
일부 실시예들에서, 처리기(510)는 처리기들/CPU 코어들과 같은 리소스들을 포함할 수 있고, I/O 인터페이스(530)는 임의의 적합한 네트워크 인터페이스들을 포함할 수 있거나, 데이터 저장장치(511)는 메모리 또는 저장 디바이스들을 포함할 수 있다. 게다가, 장치(500)는 하나 이상의 서버(들), 처리기, 메모리, 네트워크 인터페이스들 또는 저장 디바이스들과 같은 구성요소들로 구성된 블레이드(blade)들과 같은 임의의 적합한 물리적 하드웨어 구성일 수 있다. 이들 실시예들 중 일부에서, 장치(500)는 각각으로부터 원격인 클라우드 네트워크 리소스들을 포함할 수 있다.
일부 실시예들에서, 장치(500)는 가상 기계일 수 있다. 이들 실시예들 중 일부에서, 가상 기계는 상이한 기계들로부터의 구성요소들을 포함할 수 있거나 지리적으로 분산될 수 있다. 예를 들면, 데이터 저장장치(511) 및 처리기(510)는 2개의 상이한 물리적 기계들에 있을 수 있다.
처리기-실행가능한 프로그램들(520)이 처리기(510) 상에서 구현될 때, 프로그램 코드 세그먼들은 처리기와 조합하여 특정 로직 회로들과 유사하게 동작하는 유일한 디바이스를 제공한다.
예를 들면, 프로그램들 및 로직이 데이터 저장장치 내에 저장되고 메모리가 처리기에 통신가능하게 접속되는 실시예들에 대해 본 명세서에서 도시되고 설명될지라도, 이러한 정보가 (예를 들면, 임의의 적합한 수의 메모리들, 저장장치들 또는 데이터베이스들을 이용하여) 임의의 다른 적합한 방식으로 저장될 수 있음이 인식되어야 한다; 임의의 적합한 배열의 디바이스들에 통신가능하게 접속된 임의의 적합한 배열의 메모리들, 저장장치들 또는 데이터베이스들을 이용하여; 메모리(들), 저장장치(들) 또는 내부 또는 외부 데이터베이스(들)의 임의의 적합한 조합에 정보를 저장하여; 또는 임의의 적합한 수의 액세스가능한 외부 메모리들, 저장장치들 또는 데이터베이스들을 이용하여. 이와 같이, 본 명세서에서 언급된 용어 데이터 저장장치는 메모리(들), 저장장치(들), 및 데이터베이스(들)의 모든 적합한 조합들을 포함하도록 의도된다.
설명 및 도면들은 단지 본 발명의 원리들을 도시한다. 따라서, 당업자들이 본 명세서에 명백하게 설명되거나 도시되지 않을지라도, 본 발명의 원리들을 구현하고 그의 사상 및 범위 내에 포함되는 다양한 장치들을 고안할 수 있을 것임이 인식될 것이다. 또한, 본 명세서에서 나열된 모든 예들은 본 분야를 발전시키기 위해 발명자(들)에 의해 기여된 개념들 및 본 발명의 원리들을 판독자가 이해하는데 도움을 줄 수 있는 단지 교육학적인 목적이 되도록 주로 분명하게 의도되고, 이러한 구체적으로 나열된 예들 및 조건들로의 제한이 없는 것으로서 해석되어야 한다. 게다가, 본 발명의 원리들, 양태들, 및 실시예들 뿐만 아니라, 그의 특정한 예들을 나열하는 본 명세서에서의 모든 진술들은 그의 등가물들을 포함하도록 의도된다.
"처리기들"로서 라벨링(labelling)된 임의의 기능적 블록을 포함하는, 도면들에 도시된 다양한 소자들의 기능들은 전용 하드웨어 뿐만 아니라, 적절한 소프트웨어와 연관된 소프트웨어를 실행할 수 있는 하드웨어의 이용을 통해 제공될 수 있다. 처리기에 의해 제공될 때, 기능들은 단일 전용 처리기에 의해, 단일 공유된 처리기에 의해, 또는 복수의 개별적인 처리기들에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 게다가, 용어 "처리기" 또는 "제어기"의 명백한 이용은 오로지 소프트웨어를 실행할 수 있는 하드웨어를 언급하도록 해석되어서는 안되고, 무조건적으로 제한 없이, 디지털 신호 처리기(DSP) 하드웨어, 네트워크 처리기, 주문형 반도체(application specific integrated circuit; ASIC), 필드 프로그래밍가능한 게이트 어레이(FPGA), 소프트웨어를 저장하기 위한 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 및 비 휘발성 저장장치를 포함할 수 있다. 다른 하드웨어, 종래의 또는 맞춤형 하드웨어가 또한 포함될 수 있다. 유사하게, 도면들에 도시된 임의의 스위치들은 단지 개념적이다. 그들의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어부 및 전용 로직의 상호작용을 통해, 또는 심지어 수동적으로 실행될 수 있고, 특정 기술은 문맥으로부터 더 구체적으로 이해되는 바와 같이 구현자에 의해 선택가능하다.
본 명세서에서의 임의의 블록도들이 본 발명의 원리들을 구현하는 예시적인 회로의 개념도들을 표현함이 인식되어야 한다. 유사하게, 임의의 플로우 차트들(flow charts), 흐름도들, 상태 전이도들, 의사 코드 등이 컴퓨터 판독가능한 매체에 실질적으로 표현될 수 있는 다양한 처리들을 표현하고 따라서, 이러한 컴퓨터 또는 처리기가 명백하게 도시되든 아니든, 컴퓨터 또는 처리기에 의해 실행될 수 있음이 인식되어야 한다.
100: 가속 접속 시스템 120: 애플리케이션 서버
125: 애플리케이션 통신 채널 130: 네트워크
150: 가속 미들 박스들
155: 가속 미들 박스 통신 채널들 180: 클라이언트들
185: 클라이언트 통신 채널들 500: 장치
510: 처리기 511: 데이터 저장장치
520: 처리기-실행가능한 프로그램 521: I/O 인터페이스 프로그램
523: 파일 서비싱 프로그램 525: 파일 청크 가속 프로그램
530: I/O 인터페이스

Claims (10)

  1. 가속 접속 시스템에서 타겟 파일의 암호화를 제공하기 위한 장치에 있어서:
    데이터 저장장치; 및
    상기 데이터 저장장치에 통신가능하게 접속된 처리기로서,
    제 1 클라이언트로부터의 요청에 응답하여 상기 타겟 파일을 적어도 하나의 제 1 정적 파일 청크(chunk) 및 적어도 하나의 제 1 동적 파일 청크로 분할하고;
    제 2 클라이언트로부터의 요청에 응답하여 상기 타겟 파일을 적어도 하나의 제 2 정적 파일 청크 및 적어도 하나의 제 2 동적 파일 청크로 분할하고;
    제 1 암호화 방식에 기초하여 상기 적어도 하나의 제 1 정적 파일 청크의 제 1 암호화된 정적 파일 청크를 생성하고;
    제 2 암호화 방식에 기초하여 상기 적어도 하나의 제 1 동적 파일 청크의 제 1 암호화된 동적 파일 청크를 생성하고;
    제 1 암호화 방식에 기초하여 상기 적어도 하나의 제 2 정적 파일 청크의 제 2 암호화된 정적 파일 청크를 생성하고;
    제 2 암호화 방식에 기초하여 상기 적어도 하나의 제 2 동적 파일 청크의 제 2 암호화된 동적 파일 청크를 생성하도록 구성되는, 상기 처리기를 포함하고,
    상기 제 1 클라이언트 및 상기 제 2 클라이언트는 상이하고;
    상기 제 1 암호화 방식 및 상기 제 2 암호화 방식은 상이하며;
    상기 제 1 암호화된 정적 파일 청크 및 상기 제 2 암호화된 정적 파일 청크는 동일한 것인, 타겟 파일의 암호화를 제공하기 위한 장치.
  2. 제 1 항에 있어서,
    상기 암호화된 정적 파일 청크의 생성은:
    제 3 암호화 방식을 이용하여 제 1 정적 암호화 키를 암호화하기 위해 상기 처리기를 또한 구성하는 단계를 포함하고, 상기 제 1 정적 암호화 키는 상기 제 1 암호화된 정적 파일 청크에 대한 복호화 키인, 타겟 파일의 암호화를 제공하기 위한 장치.
  3. 제 1 항에 있어서,
    상기 적어도 하나의 제 1 정적 파일 청크로의 상기 타겟 파일의 분할은:
    상기 적어도 하나의 제 1 정적 파일 청크가 복수의 클라이언트들에 공통인 데이터를 포함한다고 결정하도록 처리기를 구성하는 단계를 포함하는, 타겟 파일의 암호화를 제공하기 위한 장치.
  4. 제 1 항에 있어서,
    상기 적어도 하나의 제 1 동적 파일 청크로의 상기 타겟 파일의 분할은:
    상기 적어도 하나의 제 1 동적 파일 청크가:
    개인용 데이터;
    HTML 형태 정보; 및
    일시적 데이터 중 적어도 하나를 포함한다고 결정하도록 상기 처리기를 구성하는 단계를 포함하는, 타겟 파일의 암호화를 제공하기 위한 장치.
  5. 제 1 항에 있어서,
    상기 처리기는 또한 메시지를 생성하도록 구성되고, 상기 메시지는 상기 제 1 정적 파일 청크가 정적 데이터임을 나타내는, 타겟 파일의 암호화를 제공하기 위한 장치.
  6. 가속 접속 시스템에서 타겟 파일의 암호화를 제공하기 위한 방법에 있어서:
    데이터 저장장치에 통신가능하게 접속된 처리기에서, 제 1 클라이언트로부터의 요청에 응답하여 상기 타겟 파일을 적어도 하나의 제 1 정적 파일 청크 및 적어도 하나의 제 1 동적 파일 청크로 분할하는 단계;
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 제 2 클라이언트로부터의 요청에 응답하여 상기 타겟 파일을 적어도 하나의 제 2 정적 파일 청크 및 적어도 하나의 제 2 동적 파일 청크로 분할하는 단계;
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 제 1 암호화 방식에 기초하여 상기 적어도 하나의 제 1 정적 파일 청크의 제 1 암호화된 정적 파일 청크를 생성하는 단계;
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 제 2 암호화 방식에 기초하여 상기 적어도 하나의 제 1 동적 파일 청크의 제 1 암호화된 동적 파일 청크를 생성하는 단계;
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 제 1 암호화 방식에 기초하여 상기 적어도 하나의 제 2 정적 파일 청크의 제 2 암호화된 정적 파일 청크를 생성하는 단계; 및
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 제 2 암호화 방식에 기초하여 상기 적어도 하나의 제 2 동적 파일 청크의 제 2 암호화된 동적 파일 청크를 생성하는 단계를 포함하고,
    상기 제 1 클라이언트 및 상기 제 2 클라이언트는 상이하고;
    상기 제 1 암호화 방식 및 상기 제 2 암호화 방식은 상이하며;
    상기 제 1 암호화된 정적 파일 청크 및 상기 제 2 암호화된 정적 파일 청크는 동일한 것인, 타겟 파일의 암호화를 제공하기 위한 방법.
  7. 제 6 항에 있어서,
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 상기 제 1 암호화된 정적 파일 청크를 상기 제 1 클라이언트로 송신하는 단계;
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 상기 제 1 암호화된 동적 파일 청크를 상기 제 1 클라이언트로 송신하는 단계;
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 상기 제 2 암호화된 정적 파일 청크 및 상기 제 2 암호화된 동적 파일 청크를 상기 제 2 클라이언트로 송신하는 단계; 및
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 상기 제 2 암호화된 정적 파일 청크 및 상기 제 2 암호화된 동적 파일 청크를 상기 제 2 클라이언트로 송신하는 단계를 추가로 포함하는, 타겟 파일의 암호화를 제공하기 위한 방법.
  8. 제 6 항에 있어서,
    상기 제 1 암호화된 정적 파일 청크를 생성하는 단계는:
    제 3 암호화 방식을 이용하여 제 1 정적 암호화 키를 암호화하는 단계를 포함하고, 상기 제 1 정적 암호화 키는 상기 제 1 암호화된 정적 파일 청크에 대한 복호화 키인, 타겟 파일의 암호화를 제공하기 위한 방법.
  9. 제 6 항에 있어서,
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 상기 제 1 정적 파일 청크가 정적 데이터임을 나타내는 메시지를 생성하는 단계; 및
    상기 데이터 저장장치와 협력하는 상기 처리기에 의해, 상기 메시지를 가속 미들 박스로 송신하는 단계를 추가로 포함하고,
    암호화된 동적 파일 청크는 HTTPS를 이용하는, 타겟 파일의 암호화를 제공하기 위한 방법.
  10. 제 6 항에 있어서,
    상기 제 1 암호화된 정적 파일 청크를 생성하는 단계 및 상기 제 1 암호화된 동적 파일 청크를 생성하는 단계는 애플리케이션 층에서 행해지는, 타겟 파일의 암호화를 제공하기 위한 방법.
KR1020147030974A 2012-05-08 2013-03-28 클라우드 네트워크에서 접속들을 가속하기 위한 방법 및 장치 KR20140141715A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/466,251 2012-05-08
US13/466,251 US9043588B2 (en) 2012-05-08 2012-05-08 Method and apparatus for accelerating connections in a cloud network
PCT/US2013/034212 WO2013169409A1 (en) 2012-05-08 2013-03-28 Method and apparatus for accelerating connections in a cloud network

Publications (1)

Publication Number Publication Date
KR20140141715A true KR20140141715A (ko) 2014-12-10

Family

ID=48083675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147030974A KR20140141715A (ko) 2012-05-08 2013-03-28 클라우드 네트워크에서 접속들을 가속하기 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US9043588B2 (ko)
EP (1) EP2847963B1 (ko)
JP (1) JP5890586B2 (ko)
KR (1) KR20140141715A (ko)
CN (1) CN104429040B (ko)
IN (1) IN2014DN08694A (ko)
WO (1) WO2013169409A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8891520B2 (en) 2012-06-28 2014-11-18 Alcatel Lucent Scaling redundancy elimination middleboxes
US10057218B2 (en) * 2014-07-28 2018-08-21 The Boeing Company Network address-based encryption
US10608815B2 (en) * 2014-07-28 2020-03-31 The Boeing Company Content encryption and decryption using a custom key
WO2016026537A1 (en) * 2014-08-22 2016-02-25 Nec Europe Ltd. A method for storing of data within a cloud storage and a cloud storage system
US9397833B2 (en) 2014-08-27 2016-07-19 International Business Machines Corporation Receipt, data reduction, and storage of encrypted data
US9397832B2 (en) 2014-08-27 2016-07-19 International Business Machines Corporation Shared data encryption and confidentiality
CN106209736B (zh) * 2015-05-04 2020-01-17 腾讯科技(深圳)有限公司 流媒体数据播放方法、终端及流媒体服务器
CN106055937B (zh) * 2016-05-25 2018-11-09 深圳创维数字技术有限公司 一种软件静态数据的加密方法及系统
CN107707943B (zh) * 2017-06-29 2018-09-18 贵州白山云科技有限公司 一种实现云服务融合的方法及系统
JP6900833B2 (ja) * 2017-08-10 2021-07-07 日本電信電話株式会社 通信システム、通信方法および通信処理プログラム
CN111431704A (zh) * 2020-03-03 2020-07-17 百度在线网络技术(北京)有限公司 用于生成、解析口令的方法和装置

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414833A (en) * 1993-10-27 1995-05-09 International Business Machines Corporation Network security system and method using a parallel finite state machine adaptive active monitor and responder
US6047268A (en) * 1997-11-04 2000-04-04 A.T.&T. Corporation Method and apparatus for billing for transactions conducted over the internet
US20070136817A1 (en) * 2000-12-07 2007-06-14 Igt Wager game license management in a peer gaming network
US20020112158A1 (en) * 2001-02-14 2002-08-15 Golchikov Andrey Vladimirovich Executable file protection
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US7171443B2 (en) * 2001-04-04 2007-01-30 Prodigy Communications, Lp Method, system, and software for transmission of information
US20030140118A1 (en) * 2001-06-01 2003-07-24 Alexander Lloyd Ian George Apparatus and method for focused presentations of static and dynamic data using local storage media and networked web pages
US7280658B2 (en) * 2001-06-01 2007-10-09 International Business Machines Corporation Systems, methods, and computer program products for accelerated dynamic protection of data
JP2003131929A (ja) * 2001-08-10 2003-05-09 Hirohiko Nakano 情報端末および情報ネットワークシステム、ならびにそれらのためのプログラム
US20030055881A1 (en) * 2001-09-14 2003-03-20 Ngo Kim Cuc Method and apparatus for transmitting data over a network
US20030055915A1 (en) * 2001-09-14 2003-03-20 Ngo Kin Cuc Method and apparatus for transmitting data over a network
US20030061163A1 (en) * 2001-09-27 2003-03-27 Durfield Richard C. Method and apparatus for verification/authorization by credit or debit card owner of use of card concurrently with merchant transaction
US7730154B2 (en) * 2001-12-19 2010-06-01 International Business Machines Corporation Method and system for fragment linking and fragment caching
US7484007B2 (en) * 2002-02-01 2009-01-27 Codekko Inc. System and method for partial data compression and data transfer
JP2003263385A (ja) * 2002-03-11 2003-09-19 Kochi Systems:Kk 高速wwwサーバシステムおよび高速表示方法
US7424514B2 (en) * 2002-11-08 2008-09-09 The Regents Of The University Of Michigan Peer-to-peer method and system for performing and managing backups in a network of nodes
JP2005217842A (ja) * 2004-01-30 2005-08-11 Fujitsu Ltd データ圧縮方法、データ復元方法及びそのプログラム
WO2006017362A2 (en) * 2004-07-13 2006-02-16 Freedom Software, Inc. Storing and distributing encrypted digital content
WO2006012589A2 (en) * 2004-07-23 2006-02-02 Privit, Inc. Privacy compliant consent and data access management system and method
US7818585B2 (en) * 2004-12-22 2010-10-19 Sap Aktiengesellschaft Secure license management
US7966495B2 (en) * 2005-03-21 2011-06-21 Revinetix, Inc. Conserving file system with backup and validation
US7437275B2 (en) * 2005-08-03 2008-10-14 Agilent Technologies, Inc. System for and method of multi-location test execution
US20080052531A1 (en) * 2006-08-11 2008-02-28 Id-Catch Ab Device and Method for Secure Biometric Applications
US8788278B2 (en) * 2007-08-28 2014-07-22 Moneygram International, Inc. Consumer database loyalty program for a money transfer system
US8171167B2 (en) * 2007-11-13 2012-05-01 Vantrix Corporation Intelligent caching of media files
US7502972B1 (en) * 2008-03-16 2009-03-10 International Business Machines Corporation Reducing log entries using hash keys
US20090254707A1 (en) 2008-04-08 2009-10-08 Strangeloop Networks Inc. Partial Content Caching
US9008314B2 (en) * 2008-11-18 2015-04-14 Verizon Patent And Licensing Inc. Secure wireless communications
US8341427B2 (en) * 2009-02-16 2012-12-25 Microsoft Corporation Trusted cloud computing and services framework
US7987162B2 (en) * 2009-03-06 2011-07-26 Bluearc Uk Limited Data compression in a file storage system
US8812874B1 (en) * 2009-03-31 2014-08-19 Symantec Corporation Content deduplication in enterprise rights management
US8126684B2 (en) * 2009-04-10 2012-02-28 Livermore Software Technology Corporation Topology optimization for designing engineering product
US10140598B2 (en) * 2009-05-20 2018-11-27 Visa International Service Association Device including encrypted data for expiration date and verification value creation
US8700803B2 (en) * 2009-06-03 2014-04-15 Netcordant, Inc. Web page optimization
US8073970B2 (en) * 2009-06-30 2011-12-06 The Go Daddy Group, Inc. In-line static and dynamic content delivery
US8588138B2 (en) * 2009-07-23 2013-11-19 Qualcomm Incorporated Header compression for relay nodes
US8401188B1 (en) * 2009-10-30 2013-03-19 Adobe Systems Incorporated System and method for partial encryption of frame-based electronic content
US8392497B2 (en) * 2009-11-25 2013-03-05 Framehawk, LLC Systems and algorithm for interfacing with a virtualized computing service over a network using a lightweight client
EP2348449A3 (en) * 2009-12-18 2013-07-10 CompuGroup Medical AG A computer implemented method for performing cloud computing on data being stored pseudonymously in a database
US8930686B2 (en) * 2009-12-23 2015-01-06 International Business Machines Corporation Deduplication of encrypted data
US8548012B2 (en) 2010-01-15 2013-10-01 Alcatel Lucent Method and apparatus for reducing redundant traffic in communication networks
US8234372B2 (en) * 2010-05-05 2012-07-31 Go Daddy Operating Company, LLC Writing a file to a cloud storage solution
US9083708B2 (en) * 2010-05-17 2015-07-14 Microsoft Technology Licensing, Llc Asymmetric end host redundancy elimination for networks
US20120284195A1 (en) * 2011-05-04 2012-11-08 Mcmillen Glenn Curtiss Method and system for secure user registration
US8533456B2 (en) * 2010-10-07 2013-09-10 King Saud University Accelerating stream cipher operations using single and grid systems
JP5605146B2 (ja) * 2010-10-08 2014-10-15 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US8621036B1 (en) * 2010-11-17 2013-12-31 Israel L'Heureux Secure file access using a file access server
US8730980B2 (en) * 2011-12-27 2014-05-20 Cisco Technology, Inc. Architecture for scalable virtual network services
US20130275618A1 (en) * 2012-04-17 2013-10-17 Alcatel-Lucent Bell Labs France Method and apparatus for reducing content redundancy in content-centric networking

Also Published As

Publication number Publication date
US20130305037A1 (en) 2013-11-14
EP2847963A1 (en) 2015-03-18
CN104429040A (zh) 2015-03-18
CN104429040B (zh) 2018-12-07
US9043588B2 (en) 2015-05-26
IN2014DN08694A (ko) 2015-05-22
WO2013169409A1 (en) 2013-11-14
JP5890586B2 (ja) 2016-03-22
EP2847963B1 (en) 2017-08-09
JP2015523766A (ja) 2015-08-13

Similar Documents

Publication Publication Date Title
EP2847963B1 (en) Method and apparatus for accelerating connections in a cloud network
US20230362133A1 (en) Systems and Methods for Uploading Streamed Objects to a Cloud Storage System
US20220417589A1 (en) Methods and systems for dynamic media content output for mobile devices
US10587544B2 (en) Message processing method, processing server, terminal, and storage medium
EP3593502B1 (en) Cooperative multipath
US9407432B2 (en) System and method for efficient and secure distribution of digital content
JP6236435B2 (ja) 非同期データ・ディクショナリを使用した、マルチテナント共有インフラストラクチャにおけるストリームベースのデータ重複排除
CA3123369C (en) Secure connection established with the use of routing tokens
US10764261B2 (en) System and method for enabling a scalable public-key infrastructure on a smart grid network
AU2021200397B2 (en) Resource segmentation to improve delivery performance
CN104662865A (zh) 混合型http和udp内容分发
JP5552942B2 (ja) 情報送信装置、ネットワークシステム、情報送信方法および情報送信プログラム
KR20200023485A (ko) 프록시 기반 네트워크 통신들에서의 제어 데이터의 전송
EP2993593A1 (en) System and method for a reliable content exchange of a ccn pipeline stream
US20170201375A1 (en) Secure content sharing using content centric approach
US10218576B1 (en) Controlled bandwidth expansion in compressed disaggregated storage systems
CN116827619A (zh) 防止http放大攻击的方法、设备以及计算机可读介质
OA19292A (en) Resource segmentation to improve delivery performance.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application