KR20160077114A - 네트워크 내에서 콘텐트의 전달 및 저장 - Google Patents

네트워크 내에서 콘텐트의 전달 및 저장 Download PDF

Info

Publication number
KR20160077114A
KR20160077114A KR1020167013415A KR20167013415A KR20160077114A KR 20160077114 A KR20160077114 A KR 20160077114A KR 1020167013415 A KR1020167013415 A KR 1020167013415A KR 20167013415 A KR20167013415 A KR 20167013415A KR 20160077114 A KR20160077114 A KR 20160077114A
Authority
KR
South Korea
Prior art keywords
content
request
server
user
origin server
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
KR1020167013415A
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 KR20160077114A publication Critical patent/KR20160077114A/ko
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L67/2814
    • H04L65/4084
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • H04L67/2842
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

사용자에게 콘텐트를 전달하는 방법, 캐시 서버, 네트워크 및 컴퓨터 프로그램이 개시된다. 상기 방법은 캐시 서버에서 콘텐트에 대한 인터셉트된 요청을 사용자로부터 수신하는 단계로서, 상기 요청은 원 서버로 향해지는, 상기 수신 단계; 및 상기 콘텐트가 현재 상기 캐시 서버에 저장되어 있는지를 결정하며 그렇다면 상기 콘텐트를 전달하는 단계를 포함한다. 그것이 상기 캐시 서버상에 저장되지 않는다면, 상기 콘텐트는 원 서버로부터 요청된다. 상기 원 서버로부터 상기 콘텐트를 요청하는 단계는; 상기 원 서버로부터의 상기 콘텐트가 수신된 것과 동일한 루트를 통해 대칭적으로 또는 상기 요청이 수신된 루트와 상이한 루트를 통해 적어도 부분적으로 비대칭적으로 전달되는지를 결정하는 단계; 및 상기 원 서버로부터의 콘텐트가 비대칭적으로 전달되었다고 결정된다면: 상기 요청의 소스가 캐시 서버인 것으로 표시되도록 상기 요청을 수정하는 단계, 및 상기 수정된 요청을 상기 원 서버에 송신하는 단계; 또는 상기 원 서버로부터의 상기 콘텐트가 대칭적으로 전달되었다고 결정된다면: 사용자인 것으로서 표시된 상기 요청의 소스를 갖고 상기 요청을 상기 원 서버에 송신하는 단계를 포함한다.

Description

네트워크 내에서 콘텐트의 전달 및 저장{DELIVERY AND STORAGE OF CONTENT WITHIN A NETWORK}
본 발명은 네트워크에 걸쳐 콘텐트를 전달하기 위한 방법, 장치, 네트워크 및 컴퓨터 프로그램에 관한 것이다.
네트워크에 걸쳐 콘텐트를 전달할 때 웹 캐싱은 종종 웹상에서 콘텐트의 원래 소스로부터 콘텐트를 전달하기보다는, 서비스 제공자 네트워크로부터 인기 있는 콘텐트를 저장 및 전달하기 위해 사용된다. 서비스 제공자들 및 네트워크 운용자들은 피어링 링크를 통해 대역폭을 감소시키며 가입자들에 대한 QoE(경험의 품질)를 개선하기 위해 캐싱을 규칙적으로 배치한다. 콘텐트 캐싱은 통상적으로 콘텐트 소유자들 및 네트워크 운용자들 사이에서 비즈니스 관계들을 요구한다. 콘텐트 소유자들은 콘텐트(관리된 콘텐트)를 네트워크 운용자들에게 제공하며, 네트워크 운용자들은 캐싱하며 종종 온-네트 콘텐트 전달 네트워크들(CDN들)로서 불리우는 그것들 자신의 CDN들로부터 가입자들에게 전달한다.
투명 캐싱은 새로운 유형의 캐싱으로서 최근에 생겨났다. 투명 캐싱은 인기 있는 웹 콘텐트의 인터셉션 및 국소적 저장을 수반하며, 여기에서, 콘텐트에 대한 요청들 및 요청들에 대한 응답들이 인터셉트되고 인터셉트된 콘텐트는 투명 캐시 내에 저장된다. 이러한 콘텐트는 그 후 콘텐트 제공자 대신에 캐시로부터 제공될 수 있으며 이것은 네트워크에 걸쳐 수송하는 요청들 및 콘텐트 원 위치에 대한 임의의 피어링 포인트들의 수를 감소시킨다. 수송 대역폭에 대한 요구를 감소시키며 지연들을 감소시킴으로써, 네트워크 운용자들은 특히 피크 기간들 동안 보다 양호한 QoE를 전달하며 피어링 비용들을 감소시킬 수 있다.
투명 캐싱은 종래의 캐싱, 예를 들면 가입자들에게 가까운 위치들로부터 콘텐트를 전달하는 특성들을 가진다. 그러나, 캐싱은 콘텐트 소유자들 및 가입자에게 '투명'하거나 또는 '볼 수 없다'. 도 1은 콘텐트에 대한 요청이 서비스 라우터(20)에서 인터셉트되며 투명 캐시(10)로 전달되는 투명 캐싱의 예를 도시한다. 투명 캐시(10)가 현재 콘텐트를 저장하고 있다면, 그것은 콘텐트를 제공하며 그렇지 않다면 그것은 사용자를 스푸핑(spoof)하는 콘텐트에 대한 요청을 원 서버에 전송한다. 콘텐트는 요청에 응답하여 전달되며, 콘텐트는 서비스 라우터(20)에 의해 인터셉트되고 투명 캐시에 의해 저장되며 사용자에게 전달될 수 있다.
투명 캐시들은 종종 정책 기반 라우팅(policy based routing; PBR)을 사용하여 '데이터 경로' 상에 배치되며: 콘텐트에 대한 각각의 사용자 요청은 캐시로 라우팅되며 캐시는 요청을 제공하거나 또는 그것을 콘텐트 출처로 전달한다. 콘텐트를 효율적으로 캐싱하기 위해, 콘텐트 전달 흐름에서의 모든 패킷들은 동일한 캐시로 라우팅될 필요가 있다. 그러나, 많은 현재의 네트워크들은 콘텐트 전달 흐름을 위한 다수의 경로들을 가진다. 이것은 비대칭 라우팅으로 불리우며 콘텐트에 대한 요청이 상이한 경로를 따라 리턴된 콘텐트 중 적어도 일부로 이동하도록 허용한다. 이것은 도 2에 도시된다.
비대칭 라우팅을 사용한 시스템들에서의 콘텐트의 인터셉션은 콘텐트가 원래 요청을 인터셉트한 동일한 서비스 라우터 또는 탭 포인트를 통해 돌아올 수 없기 때문에 간단하지 않다. 따라서, 종래의 투명 캐싱은 이러한 종류의 라우팅을 이용하는 시스템들에 양호한 해법을 제공하지 않는다.
하나의 대안은 사용자 요청이 인터셉트되며 그 후 그것이 사용자로부터 온 것처럼 보이기보다는 명확하게 투명 캐시로부터 전송되도록 수정되는 반-투명 캐싱을 수행하는 것일 수 있다. 이것은 비대칭 시스템에서조차 요청에 대한 응답들이 투명 캐시로 송신될 것임을 의미한다. 그러나, 원 서버는 투명 캐시의 어드레스의 가시성을 가질 것이며, 따라서 투명 캐시가 많은 콘텐트 요청들을 전송한다면, 투명 캐싱을 회피하기를 원하는 시스템들에서, 원 서버는 투명 캐시의 어드레스를 블랙리스트에 잘 올릴 수 있으며 추가 요청들에 응답하지 않을 수 있다.
콘텐트를 비대칭적으로 라우팅하는 시스템들에서조차 콘텐트를 국소적으로 저장하며 전달할 수 있는 것이 바람직할 것이다.
본 발명의 제 1 양상은 사용자에게 콘텐트를 전달하는 방법을 제공하며, 상기 방법은: 캐시 서버에서 콘텐트에 대한 인터셉트된 요청을 상기 사용자로부터 수신하는 단계로서, 상기 요청은 원 서버로 향해지는, 상기 수신 단계; 상기 콘텐트가 현재 상기 캐시 서버에 저장되어 있는지를 결정하며 그렇다면 상기 콘텐트를 전달하는 단계, 및 그렇지 않다면; 상기 원 서버로부터 상기 콘텐트를 요청하는 단계를 포함하며, 상기 원 서버로부터 상기 콘텐트를 요청하는 단계는: 상기 원 서버로부터의 상기 콘텐트가 상기 요청이 수신된 것과 동일한 루트를 통해 대칭적으로 또는 상기 요청이 수신된 루트와 상이한 루트를 통해 적어도 부분적으로 비대칭적으로 전달되는지를 결정하는 단계; 및 상기 원 서버로부터의 상기 콘텐트가 비대칭적으로 전달된다고 결정된다면: 상기 요청의 소스가 상기 캐시 서버인 것으로 표시되도록 상기 요청을 수정하는 단계, 및 상기 수정된 요청을 상기 원 서버에 송신하는 단계; 또는 상기 원 서버로부터의 상기 콘텐트가 대칭적으로 전달된다고 결정된다면: 상기 사용자인 것으로서 표시된 상기 요청의 상기 소스를 갖고 상기 요청을 상기 원 서버에 송신하는 단계를 포함한다.
본 발명의 발명자들은 콘텐트의 투명 캐싱이 많은 경우들에서 바람직하지만 콘텐트의 비대칭 라우팅을 사용할 수 있는 네트워크들 또는 전달 시스템들에서 간단하지 않음을 인식하였다. 그들은 또한 콘텐트 제공자가 콘텐트가 전송되는 캐시의 어드레스를 알고 있는 반-투명 캐싱의 사용이 콘텐트가 비대칭 라우팅을 사용하는 시스템에서조차 짧은 기간에 캐시로 신뢰 가능하게 전송되도록 허용할 수 있을지라도, 그것은 또한 콘텐트의 제공자가 요청의 소스로서 캐시를 보도록 허용한다는 것을 인식하고 있다. 이것은 캐시가 블랙리스트에 올려지게 할 수 있으며 캐시가 미래에 콘텐트를 수신하는 것을 방지할 수 있다.
그것은 대칭 또는 비대칭 라우팅을 검출할 수 있으며 사용자 및 콘텐트 제공자가 그것들 사이에서의 캐시 서버를 알지 못하는 완전 투명 캐싱 모드로부터 콘텐트 제공자가, 적어도 캐시 서버를 알고 있는 반-투명 모드로 지능적으로 스위칭할 수 있는 시스템을 제공함으로써 이들 두 개의 문제점들을 해결한다. 상기 스위칭은 시스템이 결정하는 라우팅의 유형이 상기 콘텐트에 대해 발생할 때에 의존하여 행해진다. 이러한 방식으로, 완전 투명 모드가 콘텐트를 신뢰 가능하게 인터셉트할 수 있는 경우에(대칭 라우팅), 그 후 이것이 사용될 수 있다. 가능한 경우 완전 투명 모드의 사용은 캐시 서버가 콘텐트 제공자에 노출되는 횟수들을 감소시키며 이것은 캐시 서버가 블랙리스트에 올려지는 가능성을 감소시킨다. 이러한 방식으로, 콘텐트는 대칭 및 비대칭 라우팅 양쪽 모두를 사용하는 시스템들에서 신뢰 가능하게 캐싱될 수 있다. 몇몇 실시예들에서 라우터는 요청들을 캐시 서버로 돌림으로써 요청들을 캐시 서버로 라우팅할 반면, 다른 실시예들에서 그것은 요청들을 캐시 서버로 미러링할 수 있으며, 따라서 요청은 원 서버로 송신되며 요청의 사본은 캐시 서버로 송신된다는 것이 주의되어야 한다.
원 서버는 요청된 콘텐트를 저장하는 서버이며, 이것은 다수의 형태들을 취할 수 있으며, 예를 들면 그것은 웹사이트일 수 있다는 것이 주의되어야 한다.
몇몇 실시예들에서, 상기 원 서버로부터의 상기 콘텐트가 대칭적으로 또는 비대칭적으로 전달되는지를 결정하는 상기 단계는 상기 수신된 요청을 상기 원 서버에 송신하는 단계 및 상기 캐시 서버에서 인터셉트된 콘텐트로서 상기 콘텐트의 적어도 일부를 수신하지 않는 것에 응답하여 상기 원 서버로부터의 상기 콘텐트가 비대칭적으로 전달됨을 결정하는 단계를 포함한다.
콘텐트의 비대칭 라우팅이 있는 경우에, 그 후 콘텐트의 적어도 일부는 요청과 동일한 루트를 통해 사용자에게로 다시 이동하지 않을 수 있으며, 따라서 서비스 라우터가 예를 들면 콘텐트를 검출하며 그것을 캐시 서버로 라우팅하는 인터셉션 포인트를 통과하지 않을 수 있다. 콘텐트가 이 포인트를 통과하지 않는다면, 그것은 간단히 사용자인 그것의 목적지 어드레스로 이동하며(캐시 서버가 그것이 사용자로부터 온 것처럼 요청을 전송할 것이므로) 캐시 서버는 콘텐트의 이러한 부분을 결코 수신하지 않을 것이다. 따라서, 캐시 서버가 예를 들면 유입 및 유출 트래픽을 모니터링한다면, 요청들 및 응답들 사이에서의 임의의 불일치는 비대칭 라우팅을 표시할 것이다. 이러한 라우팅이 검출되었을 때 캐시 서버는 콘텐트에 대한 요청이 캐시 서버 자체로부터 오는 것으로 수정되도록 요청에 대해 반-투명 캐싱을 선택할 수 있으며, 그러므로 요청에 대한 임의의 응답은 캐시 서버로 향해진다.
몇몇 실시예들에서, 상기 원 서버로부터의 상기 콘텐트가 대칭적으로 또는 비대칭적으로 전달되는지를 결정하는 상기 단계는 상기 콘텐트 및 상기 원 서버 중 적어도 하나에 의존하여 결정된다.
네트워크들은 일반적으로 콘텐트를 비대칭적으로 라우팅하거나 또는 특정한 원 서버로부터 특정한 콘텐트를 비대칭적으로 라우팅하는 반면, 다른 서버들로부터 네트워크는 항상 콘텐트를 대칭적으로 라우팅할 수 있을지도 모른다. 따라서, 몇몇 경우들에서 캐시 서버는 라우팅이 원 서버 및/또는 콘텐트로부터 대칭적이거나 또는 비대칭적인지를 결정할 수 있을 것이다.
몇몇 실시예들에서, 상기 콘텐트가 상기 원 서버로부터 대칭적으로 또는 비대칭적으로 전달되는지를 결정하는 상기 단계는 상기 캐시 서버상에서의 원 서버들의 리스트에 저장된 복수의 원 서버의 특성들과 IP 어드레스, 명칭 또는 기타와 같은 상기 원 서버 특성들을 비교하는 단계를 포함한다.
몇몇 경우들에서 특정한 방식으로 특정한 콘텐트의 네트워크 라우팅을 생성하는 것으로 알려진 원 서버들의 리스트는 캐시 서버상에 저장되며, 따라서 요청이 완전 투명 또는 반-투명 모드로 전송되어야 하는지가 상기 리스트와 상기 원 서버의 비교로부터 결정될 수 있다. 이러한 리스트는 캐시 서버 자체가 먼저 일반적으로 특정한 원 서버들로부터 관찰된 네트워크 라우팅의 유형을 결정함으로써 생성될 수 있다.
몇몇 실시예들에서, 상기 방법은: 상기 원 서버로 향해진 상기 사용자 요청을 인터셉트하는 것; 상기 사용자 요청이 정적 콘텐트를 제공하는 원 서버에 대한 것인지를 결정하는 것; 및 그렇다면 상기 사용자 요청을 상기 캐시 서버로 라우팅하는 것의 초기 단계를 포함한다.
캐시 서버가 반-투명 방식으로 콘텐트를 요청하는 횟수들을 감소시키는 하나의 추가 방식은 모든 요청들을 캐시 서버로 라우팅하는 것이 아니다. 이것과 관련하여, 인터셉션 포인트는 콘텐트에 관한 판단을 내릴 수 없을 수 있지만, 그것은 목적지를 결정할 수 있을 것이며, 따라서 그것은 캐시 서버로 캐싱 가능할 가능성이 있는 정적 콘텐트를 제공하는 서버들로 사용자 요청들을 라우팅하도록 구성될 수 있는 반면, 예를 들면 페이스북® 서버들과 같은 동적 콘텐트를 제공하는 서버들에 대한 요청들은 이러한 방식으로 인터셉트되며 재지향되지 않는다.
몇몇 실시예들에서, 상기 방법은 상기 원 서버로부터 상기 콘텐트를 요청하기 전에, 상기 요청의 상기 콘텐트가 상기 캐시 서버에 저장될 콘텐트인지를 결정하는 것 및 그렇다면 상기 원 서버로부터 상기 콘텐트를 요청하는 상기 단계들을 수행하는 것, 및 그렇지 않다면 상기 단계들을 수행하지 않는 것의 추가 단계를 포함한다.
캐시 서버는 요청된 모든 콘텐트를 저장하지 않을 수 있으며, 예를 들면 그것은 콘텐트가 얼마나 인기 있는지와 같은 콘텐트의 속성에 의존하여 어떤 콘텐트를 캐싱할지를 결정할 수 있다. 요청된 콘텐트가 캐싱될 콘텐트가 아니라면, 방법은 캐시 서버로부터 콘텐트를 요청하는 것이 아닌 간단히 일반적인 방식으로 사용자 요청을 송신하도록 결정할 수 있다. 이러한 방식으로, 원 서버에 의해 캐시 서버에 기인하는 것으로 보여질 수 있는 요청들의 수는 감소된다. 이것은 캐시 서버의 어드레스가 원 서버에 노출되는 횟수들을 감소시키며 그것이 블랙리스트에 올려지는 가능성을 감소시킨다. 이것과 관련하여 인터셉트된 요청이 캐시 서버로 미러링되는 경우에, 그 후 사용자로부터의 콘텐트 요청이 원 서버로 송신되며 콘텐트가 이에 응답하여 원 서버에 의해 직접 제공됨에 따라 간단히 캐시 서버로부터 콘텐트를 요청하지 않는 것이 매우 간단하다. 요청이 캐시 서버로 재지향되는 경우에, 그 후 이러한 요청은 추가로 송신될 필요가 있지만, 캐시 서버에서 온 것처럼 보이도록 수정되지 않아야 한다.
몇몇 실시예들에서, 방법은 상기 사용자로 향해진 상기 요청에 대한 인터셉트된 응답들로서 또는 상기 캐시 서버로 향해진 상기 요청에 대한 응답으로서 상기 콘텐트를 수신하는 단계; 상기 콘텐트가 인기 있는 콘텐트인지를 결정하며 그렇다면 상기 콘텐트를 저장하는 단계를 추가로 포함한다. 상기 저장된 콘텐트는 그 후 상기 사용자로 송신될 수 있다.
캐시 서버는 콘텐트를 요청하기 전에 그것이 그것을 저장할지 여부를 결정하며 단지 그것이 저장하도록 의도한 콘텐트만을 요청할 수 있고, 대안적으로 그것은 그것이 요청 시 사용자를 스푸핑하거나 또는 그 자체로부터 오도록 요청을 수정하며 그 후 그것이 이때 그것을 저장할지 여부를 결정할 수 있는 콘텐트를 수신함으로써, 캐시 서버에서의 현재 이용 가능한 저장 공간 및 콘텐트의 인기와 같은 것들에 기초하는 상기 결정에 대한 요청들을 수신하여 온 모든 콘텐트를 요청할 수 있다. 이것과 관련하여, 시스템은 콘텐트의 국소적 저장 및 전달이 이것이 네트워크 및 피어링 포인트들에 걸쳐 트래픽을 상당히 감소시킬 것이므로 종종 요청되는 인기 있는 콘텐트에 대해 수행되어야 한다고 결정할 수 있다. 국소적 저장의 부가적인 오버헤드들은 덜 종종 요청되는 콘텐트에 대해 가치 있지 않을 수 있다.
몇몇 실시예들에서 상기 사용자 및 상기 캐시 서버는 로컬 네트워크를 통해 연결되며 상기 원 서버는 상기 로컬 네트워크의 바깥쪽에 위치된다.
원 서버가 사용자로부터 원격인 경우에, 그 후 국소적으로 위치된 캐시 서버 상에서 국소적으로 콘텐트를 저장하는 것은 콘텐트를 전달하기 위해 요구된 시간 및 네트워크 리소스들을 감소시키며, 이것은 특히 콘텐트가 로컬 네트워크 내에서의 사용자들로부터 종종 요청된 인기 있는 콘텐트인 경우에 성능을 개선한다.
본 발명의 제 2 양상은 컴퓨터에 의해 실행될 때 본 발명의 제 1 양상에 따른 방법의 단계들을 수행하도록 상기 컴퓨터를 제어하는 컴퓨터 프로그램을 제공한다.
본 발명의 제 3 양상은 사용자에게 전달될 콘텐트를 저장하기 위한 캐시 서버를 제공하며, 상기 캐시 서버는: 상기 사용자에게 전달될 콘텐트를 저장하기 위한 데이터 저장 회로; 콘텐트에 대한 인터셉트된 요청들을 사용자로부터 수신하기 위한 입력부로서, 상기 요청들은 원 서버로 향해지는, 상기 입력부; 상기 콘텐트가 상기 요청이 수신된 것과 동일한 루트를 통해 대칭적으로 또는 상기 요청이 수신된 루트와 상이한 루트를 통해 적어도 부분적으로 비대칭적으로 상기 원 서버로부터 전달되는지를 결정하도록 구성된 결정 로직; 및 상기 결정 로직이 상기 원 서버로부터의 상기 콘텐트가 비대칭적으로 전달된다고 결정하였다면, 상기 요청의 소스가 상기 캐시 서버인 것으로 표시되도록 상기 요청을 수정하며, 상기 수정된 요청을 상기 원 서버에 송신함으로써; 또는 상기 결정 로직이 상기 원 서버로부터의 상기 콘텐트가 대칭적으로 전달되었다고 결정한다면 상기 사용자인 것으로서 표시된 상기 요청의 상기 소스를 갖고 상기 요청을 상기 원 서버에 송신함으로써 상기 원 서버로부터 상기 콘텐트를 요청하도록 구성된 요청 로직을 포함한다.
상기 요청된 콘텐트가 대칭 또는 비대칭 라우팅을 갖고 전달될 것인지에 의존하여 완전 투명 또는 반-투명 모드로 동작할지 여부를 지능적으로 결정할 수 있는 캐시 서버를 제공하는 것은 콘텐트로 하여금 캐시 서버가 콘텐트 제공자에 노출되는 경우들의 수를 감소시키면서 기본 네트워크에 의한 라우팅 선택들에 관계없이 신뢰 가능하게 인터셉트되고 캐싱될 수 있게 한다.
몇몇 실시예들에서 상기 캐시 서버는 요청된 콘텐트가 상기 캐시 서버에 저장되어야 하는 콘텐트인지를 결정하도록 구성된 캐싱 로직을 포함하며 아니라면 상기 캐시 서버는 상기 요청을 폐기하며 상기 요청을 추가로 송신하지 않도록 구성된다.
콘텐트 제공자에 상기 캐시 서버의 노출을 감소시키는 추가 방식은 단지 상기 콘텐트가 캐싱될 캐시 서버로부터 콘텐트에 대한 요청들만을 전송하는 것이다. 따라서, 비-캐싱가능한 콘텐트에 대해, 요청은 간단히 폐기되며 콘텐트는 캐시 서버를 통해 사용자에게 제공되지 않을 것이다. 이것은 요청을 인터셉트한 디바이스가 캐시 서버로 요청을 미러링하며 동시에 원래 요청을 원 서버에 송신하는 경우에 특히 잘 작동한다. 이 경우에 캐시 서버에서 요청을 폐기하는 것은 간단히 복제 요청인 것을 폐기하며, 따라서 콘텐트는 여전히 원 서버로부터 전달될 것이다. 두 개의 요청들이, 캐시 서버를 통해 하나씩 병렬로 전송되도록 요청이 미러링되는 경우에, 그 후 사용자에게 응답할 제 1의 것이 응답할 다음 것이 사용자에 의해 폐기되며 종료할 동안 세션을 셋업하며 콘텐트를 전달하는 것이므로 그것들 중 단지 하나만이 콘텐트를 전달한다는 것이 주의되어야 한다.
몇몇 실시예들에서, 상기 결정 로직은 상기 수신된 인터셉트된 요청들을 상기 원 서버에 송신하며 상기 캐시 서버에서 상기 콘텐트의 적어도 일부를 수신하지 않는 것에 응답하여 상기 원 서버로부터의 상기 콘텐트가 비대칭적으로 전달된다고 결정하도록 구성된다.
대안적으로 및/또는 부가적으로 상기 결정 로직은 상기 원 서버로부터의 상기 콘텐트가 상기 콘텐트 및 상기 원 서버 중 적어도 하나에 의존하여 대칭적으로 또는 비대칭적으로 전달되는지를 결정하도록 구성된다.
몇몇 실시예들에서 상기 캐시 서버는 상기 요청의 수신에 응답하여 상기 콘텐트가 현재 저장되어 있는지를 결정하며 그렇다면 상기 콘텐트를 상기 사용자에게 전달하고 상기 요청을 추가로 송신하지 않도록 구성된 저장 로직을 포함한다.
캐시 서버는 콘텐트를 국소적으로 저장하며, 따라서, 그것은 그것이 현재 콘텐트를 저장하고 있다고 결정한다면 요청에 응답하여 콘텐트를 사용자에게 제공한다. 이러한 방식으로 일단 저장된다면 콘텐트는 원 서버로부터 다시 요청될 필요가 없으며, 따라서 캐시 서버는 동일한 콘텐트를 다수 회 검색하는 동안 원 서버에 반복적으로 노출되지 않는다.
제 4 양상은 복수의 원 서버들에 대한 액세스를 제공하는 추가 네트워크와 적어도 하나의 사용자를 연결하기 위한 네트워크를 포함한 콘텐트 전달 네트워크를 제공하며, 상기 콘텐트 전달 네트워크는: 상기 적어도 하나의 사용자로부터 수신된 요청들을 상기 추가 네트워크로 라우팅하기 위한 적어도 하나의 라우터; 및 콘텐트를 저장하기 위한, 본 발명의 제 3 양상에 따른 캐시 서버를 포함하며; 여기에서 상기 적어도 하나의 라우터들 중 적어도 하나는 상기 적어도 하나의 사용자로부터 콘텐트에 대한 요청들을 수신하며 상기 요청들의 적어도 일부를 상기 캐시 서버로 라우팅하도록 및 상기 적어도 하나의 사용자로 향해진 콘텐트를 수신하며 상기 콘텐트의 적어도 일부를 상기 캐시 서버로 라우팅하도록 구성된다.
로컬 네트워크상에서 캐시 서버에 콘텐트를 저장하는 것은 로컬 네트워크가 추가 네트워크를 접촉하도록 요구하는 횟수들을 감소시키며, 이것은 지연 및 데이터 트래픽을 감소시키고 비용들을 감소시킬 수 있으며, 여기에서 아마도 피어링 포인트들을 통해 추가 네트워크를 액세스하는 것과 연관된 비용들이 있다. 그러나, 통상적으로 다수의 전달 경로들을 가진 전달 네트워크들을 갖고, 그 후 복수의 경로들은 몇몇 경우들에서 콘텐트의 전달을 위해 사용될 비대칭 라우팅을 야기할 수 있다. 본 발명의 제 4 양상에 따라 네트워크를 제공하는 것은 대칭적 및 비대칭적 양쪽 모두로 라우팅되는 콘텐트가 국소적으로 위치된 캐시로 신뢰 가능하게 라우팅될 수 있게 한다.
본 발명의 추가 양상은 컴퓨터에 의해 실행될 때 본 발명의 제 1 양상에 따른 방법의 단계들을 수행하도록 상기 컴퓨터를 제어하는 컴퓨터 프로그램을 저장하기 위한 컴퓨터 프로그램 제품을 제공한다.
추가의 특정한 및 바람직한 양상들이 첨부한 독립 및 종속 청구항들에서 나타내어진다. 종속 청구항들의 특징들은 적절한 경우 독립 청구항들의 특징들과 조합될 수 있으며 이것들 외의 것과 조합하여 청구항들에서 명시적으로 나타내어진다.
장치 특징이 기능을 제공하도록 동작 가능한 것으로 설명되는 경우에, 이것은 상기 기능을 제공하거나 또는 상기 기능을 제공하도록 적응되거나 또는 구성되는 장치 특징을 포함한다는 것이 이해될 것이다.
본 발명에 따라 로컬 네트워크상에서 캐시 서버에 콘텐트를 저장하는 것은 로컬 네트워크가 추가 네트워크를 접촉하도록 요구하는 횟수들을 감소시키며, 이것은 지연 및 데이터 트래픽을 감소시키고 비용들을 감소시킬 수 있다.
본 발명의 실시예들이 이제 첨부한 도면들을 참조하여, 추가로 설명될 것이다.
도 1은 콘텐트 요청들의 인터셉션 및 이들 요청들의 투명 캐시로의 전환을 예시하는 도면.
도 2는 비대칭 라우팅이 발생하는 도 1과 유사한 시스템을 예시하는 도면.
도 3은 본 발명의 실시예에 따라 투명 캐시로 요청들을 라우팅하기 위한 네트워크를 도시하는 도면.
도 4a는 본 발명의 추가 실시예에 따라 투명 캐시로 요청들을 라우팅하기 위한 네트워크를 도시하는 도면.
도 4b는 본 발명의 추가 실시예에 따라 투명 캐시로 요청들을 라우팅하기 위한 네트워크를 도시하는 도면.
도 5는 본 발명의 실시예에 따라 콘텐트에 대한 요청들을 사용자에게 라우팅하는 방법에서의 단계들을 예시한 흐름도를 도시하는 도면.
개요
실시예들을 보다 더 상세히 논의하기 전에, 먼저 개요가 제공될 것이다.
본 기술은 비대칭 라우팅을 가진 네트워크들에서 콘텐트의 투명 캐싱을 위한 신규 접근법을 제안한다. 기본 사상은 비대칭 라우팅이 검출되는 웹사이트 또는 웹 위치들로부터 콘텐트를 획득하며 캐싱하기 위해 비대칭 라우팅을 검출하며 완전 투명에서 반-투명 모드로 지능적으로 스위칭하도록 투명 캐시를 수정하는 것이다.
완전 투명 모드에서, 캐시는 나가는 트래픽에 대한 소스 IP 어드레스로서 클라이언트 IP 어드레스를 사용한다. 이러한 방식으로, 캐시 IP 어드레스는 이러한 완전 투명 모드에서 노출되지 않으며 웹사이트 또는 원 서버는 캐싱 서버가 있는지를 쉽게 검출할 수 없다. 반-투명 모드에서, 캐시는 나가는 트래픽에 대한 소스 IP 어드레스로서 그 자신의 IP 어드레스를 사용한다. 이것은 비대칭 라우팅이 발생하는 경우에, 콘텐트에 대한 목적지가 캐시이며, 따라서 모든 패킷들이 그것들의 루트에 독립적으로 수신된다는 것을 의미한다. 그러나, 웹사이트 또는 콘텐트 출처는 캐시 서버의 어드레스의 가시성을 가진다. 대칭 또는 비대칭 라우팅이 사용될 것인지를 결정하며 단지 비대칭 라우팅에 대해 반-투명 모드를 사용함으로써, 캐시의 IP 어드레스에서 온 요청들의 수는 감소되며 그러므로 콘텐트 출처가, 이러한 어드레스가 캐싱 서버에 속한다고 결정할 가능성은 적다.
몇몇 경우들에서, 요청들은 단지 캐싱 서버로부터 콘텐트가 캐싱 가능한 콘텐트인 출처로 라우팅된다. 이것은 다시 캐싱 서버의 어드레스가 상기 출처에 노출되는 횟수들을 감소시킨다.
이러한 방식으로, 그것이 캐싱 가능하고, 현재 캐시에 없으며 비대칭 라우팅에 의해 전달되는 것으로 간주되는 경우에 콘텐트를 획득하기 위해 반-투명 모드로 지능적으로 스위칭하며, 다른 경우들에서 완전 투명 모드를 사용함으로써, 콘텐트는 불필요하게 캐시 IP 어드레스를 노출시키지 않으면서 신뢰 가능하게 검색될 수 있다. 일단 콘텐트가 캐싱된다면, 캐시는 캐시로부터 콘텐트를 제공한다.
도 3은 본 발명의 실시예에 따른 캐시(10)를 도시한다. 캐시(10)는 사용자(17)를 인터넷에 연결하는 네트워크(15)에 및 거기에서 다양한 콘텐트 제공자들의 서버들에 연결된다. 네트워크(15) 내에서, 그것들이 프로그램될 수 있는 다양한 정책들에 기초하여 사용자 요청들을 라우팅하는 서비스 라우터들(20, 22, 24, 및 26)이 있다. 이 경우에, 서비스 라우터(20)는 특정 원 서버들로 사용자 요청들을 인터셉트하며 그것들을 캐시(10)로 향하게 하도록 프로그램된다. 캐시(10)는 그 후 그것이 수신한 요청이 대칭적으로 또는 비대칭적으로 라우팅될 콘텐트에 대한 것인지를 결정할 것이다. 그것이 비대칭적으로 라우팅될 콘텐트에 대한 것이라고 결정한다면, 그것은 요청에 대한 어드레스가 캐시의 IP 어드레스이도록 요청을 수정할 것이다. 이러한 방식으로, 콘텐트가 리턴될 때, 그것은 이러한 어드레스로 리턴되며 임의의 비대칭 라우팅은 캐시에서 그것의 도착에 영향을 주지 않는다. 캐시(10)는 그 후 콘텐트를 저장하며 그것을 사용자(17)에게 전달할 것이다.
캐시(10)가 콘텐트가 대칭적으로 전달될 것이라고 결정한다면, 그것은 사용자 요청을 스푸핑하며 이러한 요청을 원 서버에 송신할 것이다. 원 서버는 콘텐트를 사용자에게 송신함으로써 응답할 것이며, 서비스 라우터(20)는 그것을 인터셉트하며 그것을 그것이 저장될 투명 캐시로 송신할 것이며 사용자(17)에게 전달될 수 있다.
캐시(10)가 요청의 수신 시 그것이 콘텐트를 이미 저장하였다고 결정한다면, 그것은 요청을 추가로 송신하지 않을 것이며; 그것은 간단히 콘텐트를 사용자에게 제공할 것이다.
도 4a는 사용자(17)를 포함한 여러 명의 사용자들이 액세스 네트워크(18)를 통해 피어링 포인트들(42)을 통해 인터넷(40)과 연결하는 로컬 네트워크(15)에 연결되는 대안적인 실시예를 도시한다. 피어링 포인트들에 걸쳐 데이터 트래픽을 전송하는 것은 로컬 네트워크(15)의 소유자에 대해 값비싸다. 그러므로 그것은 이들 피어링 포인트들에 걸친 트래픽의 양이 감소될 수 있다면 유리하다. 이것을 염두에 두고, 네트워크(15) 내에서의 콘텐트의 국소적 캐싱은 인기 있는 콘텐트에 대해 행해지며, 그에 의해 사용자에 대한 경험의 품질을 개선하고 네트워크 소유자에 대한 데이터 트래픽 및 비용들을 감소시킨다.
이 실시예에서, 사용자(17)는 액세스 네트워크(18)를 통해 사용자 요청을 네트워크(15)에 송신한다. 이러한 사용자 요청(UR)은 서비스 라우터(20)에서 수신되며, 이것은 이 실시예에서, 그것이 원 서버(30)를 향해 송신되도록 그것을 미러링하며 그것의 미러링된 버전은 캐시(10)로 송신된다. 따라서, 서비스 라우터(20)로부터 캐시(10)로 가는 미러링된 요청 UR 및 서비스 라우터(20)로부터 원 서버를 향해, 이 경우에 서비스 라우터(22), 서비스 라우터(24) 피어링 포인트(42)를 통해, 인터넷(40)에 걸쳐 원 서버(30)로 가는 원래 요청이 있다. 서비스 라우터(22)는 요청들 또는 콘텐트를 캐시(10)로 돌리도록 구성되지 않으며, 따라서 서비스 라우터(20)를 통해서가 아닌 이러한 라우터를 통해 비대칭적으로 전송되는 임의의 콘텐트 또는 요청들이 캐시(10)에 이르지 않을 것이다.
캐시(10)에서 수신된 사용자 요청은 캐시가 현재 콘텐트를 저장하고 있는지 여부를 결정하기 위해 캐시(10)에 의해 검사된다. 맞다면, 그것은 콘텐트를 사용자에게 전달할 것이다. 이 경우에, 그것이 아니며, 따라서 그것은 콘텐트가 대칭적으로 또는 비대칭적으로 전달될지를 결정한다. 이 예에서, 캐시는 요청된 콘텐트 및 서버를 검사하며 서버들 및 콘텐트의 저장된 리스트로부터, 그것이 비대칭적으로 또는 대칭적으로 전달될 것 같은지를 결정한다. 이 경우에, 그것은 그것이 아마도 비대칭적으로 전달될 것이라고 결정하며 그러므로 그것은 캐시(10)의 IP 어드레스를 그것의 소스 어드레스로서 갖는 수정된 사용자 요청(URtc)이 되도록 사용자 요청을 수정한다. 이러한 요청은 서비스 라우터(20)를 통해 서비스 라우터(26)로 피어링 포인트(42)에 걸쳐 인터넷(40)으로 및 그 후 원 서버(30)로 라우팅된다. 원 서버(30)는 캐시(10)의 IP 어드레스 - contenttc로 다시 콘텐트를 포함할 응답을 송신함으로써 응답한다. 그것은 또한 사용자로 다시 응답 및 콘텐트를 송신하기 위해 사용자로부터 직접 수신된 사용자 요청에 응답한다. 따라서, 응답은 이 경우에 원 서버로부터 투명 캐시 및 사용자 양쪽 모두로 송신된다. 투명 캐시에서 수신되는 콘텐트는 저장되며 투명 캐시는 이러한 콘텐트를 갖고 미래 요청들을 제공할 수 있다. 이러한 특정한 예에서, 사용자는 이미 원 서버(30)로부터 응답을 수신하였으며 콘텐트를 수신하기 위한 세션을 셋업하였다. 캐시는 이 예에서 사용자(17)에게 콘텐트를 전달하려고 시도하지 않았다.
도 4b는 복수의 사용자들이 액세스 네트워크(18)를 통해 로컬 네트워크(15)를 액세스하는 대안적인 예를 도시한다. 이 예에서, 사용자(1)는 액세스 네트워크(18)를 통해, 그것이 서비스 라우터(20)에서 수신한 사용자 요청(UR1)을 로컬 네트워크(15)에 전송한다. 서비스 라우터(20)는 캐시(10)로 요청들을 돌리도록 프로그램되며, 따라서 사용자 요청(UR1)은 캐시(10)로 돌려진다. 이 경우에, 캐시(10)는 그것이 콘텐트를 저장하고 있다고 결정하며 그러므로 그것은 콘텐트 및 응답을 가진 사용자 요청에 응답한다 - contentUR1은 서비스 라우터(20)를 통해 사용자(1)로 다시 송신된다. 이 실시예에서 서비스 라우터(22)는 요청들 또는 콘텐트를 캐시(10)로 돌리도록 구성되지 않으며, 따라서 서비스 라우터(20)를 통해서가 아닌 이러한 라우터(22)를 통해 비대칭적으로 전송되는 임의의 콘텐트 또는 요청들은 캐시(10)에 이르지 않을 것이다.
유사한 시간에, 사용자(2)는 서비스 라우터(20)를 통해 콘텐트에 대한 요청(UR2)을 전송하며, 여기에서 그것은 인터셉트되고 캐시(10)로 돌려진다. 캐시(10)는 요청(UR2)을 수신하며 그것이 현재 요청된 콘텐트를 저장하고 있지 않다고 결정한다. 그러므로 그것은 콘텐트를 요청할 필요가 있으며 그것은 이 요청에 대한 콘텐트의 라우팅이 대칭적인지 또는 비대칭적인지 여부를 결정한다. 이 경우에, 그것은 상기 원 서버에 대한 유입 및 유출 트래픽을 모니터링하며 요청들 및 응답들 사이에서의 불일치를 결정함으로써 이를 결정한다. 그것이 원 서버에 요청할 것으로 예상한 응답들을 얻지 않았다면, 그것은 라우팅이 비대칭적임을 알며 그러므로 그것은 반-투명 모드로 스위칭하고 그 자신의 IP 어드레스를 사용하여 사용자(2)에 대한 콘텐트를 요청한다. 따라서, 수정된 세트의 요청들(UR2tc)은 서비스 라우터(26)를 통해 원 서버(30)로 송신된다. 원 서버(30)는 응답 및 콘텐트 - contenttc를 송신함으로써 요청들에 응답하며, 소스 어드레스가 캐시(10)의 IP 어드레스임에 따라, 콘텐트는 라우팅이 그것이 상이한 서비스 라우터들을 통해 되돌아갈 수 있도록 대칭적이지 않을 수 있을지라도 캐시(10)로 송신된다. 이들 대안적인 루트들은 콘텐트(72 및 82)로서 도시된다. 콘텐트는 그것을 저장하며 그 후 액세스 네트워크(18)를 통해 콘텐트를 사용자(2)에게 전달하는 캐시(10)에서 수신된다. 이 실시예에서, 서비스 라우터들은 요청들을 돌리며 그것들을 미러링하지 않고, 따라서 출처에서 콘텐트에 대해 수신된 요청만이 캐시(10)로부터 전송된 요청이다.
대칭적 라우팅이 발생하는 경우에(예로서, 콘텐트가 서비스 라우터(20)를 통해 사용자 요청 루트를 따르는), 캐시(10)는 사용자로부터 온 것처럼 보이는 스푸핑된 콘텐트 요청으로서 콘텐트 요청을 송신할 수 있는 반면, 비대칭적 라우팅이 발생하는 경우에, 그 후 그것은 URtc로서 표시된 캐시 자체로부터 오도록 수정된 콘텐트 요청일 것이다. 스푸핑된 요청의 경우에, 콘텐트는 요청을 인터셉트한 서비스 라우터(20)를 통해 리턴할 것이며 스스로 인터셉트되고 캐시로 송신될 것이다.
도 5는 본 발명의 실시예에 따른 방법에서 단계들을 예시한 흐름도를 도시한다. 이 방법에서, 인터셉트된 사용자 요청은 캐시에서 수신되며 콘텐트가 캐시에 저장되는지가 결정된다. 그렇다면, 콘텐트는 사용자에게 전달된다. 그렇지 않다면, 캐시는 콘텐트가 대칭적으로 전달될지 여부를 결정한다. 그것은 다양한 콘텐트들에 대한 다양한 서버들을 위한 전달 루트들의 지식으로부터 이를 행할 수 있거나, 또는 그것은 상기 콘텐트에 대한 요청들을 상기 서버에 송신하며 그것이 요청들 모두에 대한 응답들을 얻었는지를 결정함으로써 그것을 결정할 수 있다. 콘텐트가 대칭적으로 전달될 것이라고 결정한다면, 그것은 스푸핑된 사용자 요청으로서 콘텐트에 대한 요청을 원 서버에 송신할 것이며 원 서버가 사용자를 향해 콘텐트를 송신함으로써 상기 사용자 요청에 응답할 때, 그것은 그 후 저장되며 전달될 수 있는 상기 콘텐트를 인터셉트할 것이다.
콘텐트가 비대칭적으로 전달될 것이라고 결정된다면, 그것은 캐시 서버 자체로부터의 요청으로서 상기 콘텐트에 대한 요청을 송신할 것이다. 이러한 방식으로, 콘텐트는 캐시 서버로 향해질 것이며 그러므로 그것이 어떤 루트를 취할지는 중요하지 않다. 캐시 서버는 그 후 이러한 콘텐트를 수신할 것이며 그것은 그것을 저장하며 사용자에게 전달할 것이다.
콘텐트를 전달하기 위한 대안적인 방법에서의 단계들은 이하에서 나타내어진 단계들이다.
단계 1에서, 캐시는 유입 및 유출 트래픽을 모니터링하며 비대칭 라우팅을 표시하는 요청들 및 응답들 사이에서의 임의의 불일치를 검출한다.
단계 2에서, 캐시는 콘텐트가 캐싱 가능한지를 결정하며 콘텐트를 획득하기 위해 결정한다.
단계 3에서, 캐시는 동일한 콘텐트에 대한 새로운 요청을 보며 콘텐트 흐름에 대해 반-투명 모드로 스위칭하여, 사용자 IP 어드레스를 그 자신의 IP 어드레스로 대체한다. 콘텐트는 그 후 캐시로 전달되며 동일한 콘텐트에 대한 새로운 요청이 캐시로부터 제공된다.
단계 4에서, 캐시는:
- 콘텐트가 캐싱 가능한 것으로 간주되지 않으며;
- 라우팅 비대칭이 캐싱 가능한 콘텐트에 대해 또는 원 위치에 대해 검출되지 않았다면, 다른 콘텐트 요청들에 대해 계속해서 완전 투명 모드에서 동작한다.
이 기술분야의 숙련자는 다양한 상기-설명된 방법들의 단계들이 프로그램된 컴퓨터들에 의해 수행될 수 있다는 것을 쉽게 인지할 것이다. 여기에서, 몇몇 실시예들은 또한 기계 또는 컴퓨터 판독 가능하며 지시들에 대한 기계-실행 가능한 또는 컴퓨터-실행 가능한 프로그램들을 인코딩하는, 프로그램 캐시 서버들, 예로서 디지털 데이터 저장 미디어를 커버하도록 의도되고, 여기에서 상기 지시들은 상기 상술된 방법들의 단계들 중 일부 또는 모두를 수행한다. 프로그램 캐시 서버들은, 예로서 디지털 메모리들, 자기 디스크들 및 자기 테이프들과 같은 자기 저장 미디어, 하드 드라이브들, 또는 광학적으로 판독 가능한 디지털 데이터 저장 미디어일 수 있다. 실시예들은 또한 상술된 방법들의 상기 단계들을 수행하도록 프로그램된 컴퓨터들을 커버하도록 의도된다.
"프로세서들" 또는 "로직"으로서 라벨링된 임의의 기능 블록들을 포함한, 도면들에 도시된 다양한 요소들의 기능들은 적절한 소프트웨어와 관련되어 소프트웨어를 실행할 수 있는 하드웨어뿐만 아니라 전용 하드웨어의 사용을 통해 제공될 수 있다. 프로세서에 의해 제공될 때, 기능들은 단일 전용 프로세서에 의해, 단일 공유 프로세서에 의해, 또는 그 일부가 공유될 수 있는 복수의 개개의 프로세서들에 의해 제공될 수 있다. 게다가, 용어("프로세서" 또는 "제어기" 또는 "로직")의 명시적 사용은 전적으로 소프트웨어를 실행할 수 있는 하드웨어를 나타내는 것으로 해석되지 않아야 하며 암시적으로, 제한 없이, 디지털 신호 프로세서(DSP) 하드웨어, 네트워크 프로세서, 애플리케이션 특정 집적 회로(ASIC), 필드 프로그램 가능한 게이트 어레이(FPGA), 소프트웨어를 저장하기 위한 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 및 비-휘발성 저장 장치를 포함할 수 있다. 관례적이며 및/또는 관습적인, 다른 하드웨어가 또한 포함될 수 있다. 유사하게, 도면들에 도시된 임의의 스위치들은 단지 개념적이다. 그것들의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어 및 전용 로직의 상호 작용을 통해, 또는 심지어 수동적으로 실행될 수 있으며, 특정한 기술은 맥락으로부터 보다 구체적으로 이해되는 바와 같이 구현자에 의해 선택 가능하다.
여기에서의 임의의 블록 다이어그램들은 본 발명의 원리들을 구체화한 예시적인 회로의 개념적인 뷰들을 표현한다는 것이 이 기술분야의 숙련자들에 의해 이해되어야 한다. 유사하게, 임의의 플로우 차트들, 흐름도, 상태 전이도들, 의사 코드 등은 대체로 컴퓨터 판독 가능한 매체에서 표현될 수 있으며, 따라서 이러한 컴퓨터 또는 프로세서가 명시적으로 도시되는지 여부에 관계없이, 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세서들을 표현한다는 것이 이해될 것이다.
설명 및 도면들은 단지 본 발명의 원리들을 예시한다. 따라서 이 기술분야의 숙련자들은 여기에서 명시적으로 설명되거나 또는 도시되지 않을지라도, 본 발명의 원리들을 구체화하며 그것의 사상 및 범위 내에 포함되는 다양한 장치들을 고안할 수 있을 것임이 이해될 것이다. 더욱이, 여기에 나열된 모든 예들은 원칙적으로 본 기술을 발전시키기 위해 본 발명자(들)에 의해 기여된 개념들 및 본 발명의 원리들을 이해하도록 판독자를 돕기 위해 단지 교육적인 목적들을 위한 것이도록 명확하게 의도되며, 이러한 구체적으로 나열된 예들 및 조건들에 대한 제한이 없는 것으로 해석될 것이다. 게다가, 여기에서 본 발명이 원리들, 양상들 및 실시예들, 뿐만 아니라 그것의 특정한 예들을 나열한 모든 서술들은 그것의 등가물들을 포함하도록 의도된다.
10: 캐시 15: 네트워크
17: 사용자 18: 액세스 네트워크
20, 22, 24, 26: 서비스 라우터 30: 원 서버
42: 피어링 포인트

Claims (15)

  1. 사용자에게 콘텐트를 전달하는 방법에 있어서:
    캐시 서버에서 콘텐트에 대한 인터셉트된 요청을 상기 사용자로부터 수신하는 단계로서, 상기 요청은 원 서버로 향해지는, 상기 수신 단계; 및
    상기 콘텐트가 현재 상기 캐시 서버에 저장되어 있는지를 결정하는 단계 및 그렇다면 상기 콘텐트를 전달하는 단계, 및 그렇지 않다면 상기 원 서버로부터 상기 콘텐트를 요청하는 단계를 포함하며,
    상기 원 서버로부터 상기 콘텐트를 요청하는 상기 단계는:
    상기 원 서버로부터의 상기 콘텐트가 상기 요청이 수신된 것과 동일한 루트를 통해 대칭적으로 또는 상기 요청이 수신된 루트와 상이한 루트를 통해 적어도 부분적으로 비대칭적으로 전달되는지를 결정하는 단계; 및
    상기 원 서버로부터의 상기 콘텐트가 비대칭적으로 전달된다고 결정된다면:
    상기 요청의 소스가 상기 캐시 서버인 것으로 표시되도록 상기 요청을 수정하는 단계, 및 상기 수정된 요청을 상기 원 서버에 송신하는 단계; 또는
    상기 원 서버로부터의 상기 콘텐트가 대칭적으로 전달된다고 결정된다면:
    상기 사용자인 것으로 표시된 상기 요청의 상기 소스를 갖고 상기 요청을 상기 원 서버에 송신하는 단계를 포함하는, 사용자에게 콘텐트를 전달하는 방법.
  2. 제 1 항에 있어서,
    상기 원 서버로부터의 상기 콘텐트가 대칭적으로 또는 비대칭적으로 전달되는지를 결정하는 상기 단계는, 상기 수신된 요청을 상기 원 서버에 송신하는 단계 및 상기 캐시 서버에서 인터셉트된 콘텐트로서 상기 콘텐트의 적어도 일부를 수신하지 않는 것에 응답하여 상기 콘텐트가 비대칭적으로 전달된다고 결정하는 단계를 포함하는, 사용자에게 콘텐트를 전달하는 방법.
  3. 제 1 항에 있어서,
    상기 원 서버로부터의 상기 콘텐트가 대칭적으로 또는 비대칭적으로 전달되는지를 결정하는 상기 단계는 상기 콘텐트 및 상기 원 서버 중 적어도 하나에 의존하여 결정되는, 사용자에게 콘텐트를 전달하는 방법.
  4. 제 3 항에 있어서,
    상기 원 서버로부터의 상기 콘텐트가 대칭적으로 또는 비대칭적으로 전달되는지를 결정하는 상기 단계는 상기 캐시 서버상에 저장된 복수의 원 서버 특성들과 상기 원 서버의 특성을 비교하는 단계를 포함하는, 사용자에게 콘텐트를 전달하는 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 원 서버로 향해진 상기 사용자 요청을 인터셉트하고;
    상기 사용자 요청이 정적 콘텐트를 제공하는 원 서버에 대한 것인지를 결정하고; 및
    그렇다면, 상기 사용자 요청을 상기 캐시 서버로 라우팅하는 초기 단계를 포함하는, 사용자에게 콘텐트를 전달하는 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 원 서버로부터 상기 콘텐트를 요청하기 전에, 상기 요청의 상기 콘텐트가 상기 캐시 서버에 저장될 콘텐트인지를 결정하며 그렇다면 상기 원 서버로부터 상기 콘텐트를 요청하는 상기 단계들을 수행하고, 아니라면, 상기 요청 단계들을 수행하지 않는 단계를 더 포함하는, 사용자에게 콘텐트를 전달하는 방법.
  7. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 사용자로 향해진 상기 요청에 대한 인터셉트된 응답들로서 또는 상기 캐시 서버로 향해진 상기 요청에 대한 응답으로서 상기 콘텐트를 수신하는 단계;
    상기 콘텐트가 인기 있는 콘텐트인지를 결정하며 그렇다면 상기 콘텐트를 저장하는 단계; 및
    상기 콘텐트를 상기 사용자에게 송신하는 단계를 더 포함하는, 사용자에게 콘텐트를 전달하는 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 사용자 및 상기 캐시 서버는 로컬 네트워크를 통해 연결되며 상기 원 서버는 상기 로컬 네트워크의 바깥쪽에 위치되는, 사용자에게 콘텐트를 전달하는 방법.
  9. 컴퓨터 프로그램을 저장하기 위한 컴퓨터 프로그램 제품에 있어서,
    상기 컴퓨터 프로그램은, 컴퓨터에 의해 실행될 때 제 1 항 내지 제 8 항 중 어느 한 항에 따른 방법의 단계들을 수행하도록 상기 컴퓨터를 제어하는, 컴퓨터 프로그램 제품.
  10. 사용자에게 전달될 콘텐트를 저장하기 위한 캐시 서버에 있어서:
    상기 사용자에게 전달될 콘텐트를 저장하기 위한 데이터 저장 회로;
    콘텐트에 대한 인터셉트된 요청들을 사용자로부터 수신하기 위한 입력부로서, 상기 요청들은 원 서버로 향해지는, 상기 입력부;
    상기 원 서버에 대한 상기 콘텐트가 상기 요청이 수신된 것과 동일한 루트를 통해 대칭적으로 또는 상기 요청이 수신된 루트와 상이한 루트를 통해 적어도 부분적으로 비대칭적으로 전달되는지를 결정하도록 구성된 결정 로직; 및
    요청 로직으로서:
    상기 결정 로직이 상기 원 서버로부터의 상기 콘텐트가 비대칭적으로 전달된다고 결정한다면, 상기 요청의 소스가 상기 캐시 서버인 것으로 표시되도록 상기 요청을 수정하며, 상기 수정된 요청을 상기 원 서버에 송신함으로써; 또는
    상기 결정 로직이 상기 원 서버로부터의 상기 콘텐트가 대칭적으로 전달된다고 결정한다면 상기 사용자인 것으로 표시된 상기 요청의 상기 소스를 갖고 상기 요청을 상기 원 서버에 송신함으로써, 상기 원 서버로부터 상기 콘텐트를 요청하도록 구성된, 상기 요청 로직을 포함하는, 캐시 서버.
  11. 제 10 항에 있어서,
    상기 캐시 서버는 요청된 콘텐트가 상기 캐시 서버에 저장되어야 하는 콘텐트인지를 결정하도록 구성된 캐싱 로직을 포함하며 아니라면 상기 캐시 서버는 상기 요청을 폐기하며 상기 요청을 추가로 송신하지 않도록 구성되는, 캐시 서버.
  12. 제 10 항 또는 제 11 항에 있어서,
    상기 결정 로직은 상기 수신된 인터셉트된 요청들을 상기 원 서버에 송신하도록 및 상기 캐시 서버에서 상기 콘텐트의 적어도 일부를 수신하지 않는 것에 응답하여 상기 원 서버로부터의 상기 콘텐트가 비대칭적으로 전달된다고 결정하도록 구성되는, 캐시 서버.
  13. 제 10 항 또는 제 11 항에 있어서,
    상기 결정 로직은 상기 원 서버로부터의 상기 콘텐트가 상기 콘텐트 및 상기 원 서버 중 적어도 하나에 의존하여 대칭적으로 또는 비대칭적으로 전달되는지를 결정하도록 구성되는, 캐시 서버.
  14. 제 10 항 내지 제 13 항 중 어느 한 항에 있어서,
    상기 요청의 수신에 응답하여 상기 콘텐트가 현재 저장되어 있는지를 결정하며 그렇다면 상기 콘텐트를 상기 사용자에게 전달하도록 및 상기 요청을 추가로 송신하지 않도록 구성된 저장 로직을 포함하는, 캐시 서버.
  15. 복수의 원 서버들에 대한 액세스를 제공하는 추가 네트워크와 적어도 하나의 사용자를 연결하기 위한 네트워크를 포함한 콘텐트 전달 네트워크에 있어서:
    상기 적어도 하나의 사용자로부터 수신된 요청들을 상기 추가 네트워크로 라우팅하기 위한 적어도 하나의 라우터; 및
    콘텐트를 저장하기 위한, 제 9 항 내지 제 12 항 중 어느 한 항에 따른 캐시 서버를 포함하며,
    상기 적어도 하나의 라우터들 중 적어도 하나는 상기 적어도 하나의 사용자로부터 콘텐트에 대한 요청들을 수신하며 상기 요청들 중 적어도 일부를 상기 캐시 서버로 라우팅하도록, 및 상기 적어도 하나의 사용자로 향해진 콘텐트를 수신하며 상기 콘텐트 중 적어도 일부를 상기 캐시 서버로 라우팅하도록 구성되는, 콘텐트 전달 네트워크.
KR1020167013415A 2013-11-22 2014-09-17 네트워크 내에서 콘텐트의 전달 및 저장 Abandoned KR20160077114A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP13306602.7 2013-11-22
EP13306602.7A EP2876863B1 (en) 2013-11-22 2013-11-22 Delivery and storage of content within a network
PCT/EP2014/002506 WO2015074731A1 (en) 2013-11-22 2014-09-17 Delivery and storage of content within a network

Publications (1)

Publication Number Publication Date
KR20160077114A true KR20160077114A (ko) 2016-07-01

Family

ID=49765426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167013415A Abandoned KR20160077114A (ko) 2013-11-22 2014-09-17 네트워크 내에서 콘텐트의 전달 및 저장

Country Status (4)

Country Link
EP (1) EP2876863B1 (ko)
KR (1) KR20160077114A (ko)
CN (1) CN105745905A (ko)
WO (1) WO2015074731A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106230810B (zh) * 2016-07-29 2019-07-02 南京优速网络科技有限公司 动静态流量分析方法
WO2018056032A1 (ja) * 2016-09-21 2018-03-29 Kddi株式会社 コンテンツ配信システムのサーバ装置、転送装置及びプログラム
CN109561027A (zh) * 2017-09-26 2019-04-02 中兴通讯股份有限公司 透明缓存的流量优化方法、负载均衡器及存储介质
CN108183859B (zh) * 2017-12-27 2021-01-26 杭州迪普科技股份有限公司 一种互联网流量调度方法和系统
CN110795656A (zh) * 2019-11-01 2020-02-14 成都云智天下科技股份有限公司 一种基于分光技术的http缓存方法
CN111917611B (zh) * 2020-08-20 2021-10-26 杭州迪普科技股份有限公司 半透明代理服务器的测试方法、装置及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080158B1 (en) * 1999-02-09 2006-07-18 Nortel Networks Limited Network caching using resource redirection
US8219645B2 (en) * 2009-10-02 2012-07-10 Limelight Networks, Inc. Content delivery network cache grouping
US8769156B2 (en) * 2009-12-23 2014-07-01 Citrix Systems, Inc. Systems and methods for maintaining transparent end to end cache redirection
US20120239775A1 (en) * 2011-03-18 2012-09-20 Juniper Networks, Inc. Transparent proxy caching of resources
US9294582B2 (en) * 2011-12-16 2016-03-22 Microsoft Technology Licensing, Llc Application-driven CDN pre-caching

Also Published As

Publication number Publication date
EP2876863B1 (en) 2016-08-10
WO2015074731A1 (en) 2015-05-28
EP2876863A1 (en) 2015-05-27
CN105745905A (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
US12028427B2 (en) Content delivery systems and methods
US11863448B2 (en) Method and apparatus for traffic optimization in virtual private networks (VPNs)
US9871722B2 (en) Content delivery network routing method, system and user terminal
US8621042B2 (en) Anycast redirect to unicast content download
KR20160077114A (ko) 네트워크 내에서 콘텐트의 전달 및 저장
US11997180B2 (en) System and method for providing redirections
US20150373139A1 (en) Method, system and devices for content caching and delivering in ip networks
US20160285961A1 (en) Delivering managed and unmanaged content across a network
CN104010046A (zh) 一种服务器选择方法及系统、记录服务器、测量服务器
EP2785017B1 (en) Content-centric networking
EP4371294A1 (en) Shared caching in a virtualized network
Di Pascale et al. A transparent OpenFlow-based oracle for locality-aware content distribution
AU2011200629B1 (en) Anycast redirect to unicast content download

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20160520

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20160520

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20170914

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20180213

NORF Unpaid initial registration fee
PC1904 Unpaid initial registration fee