System and method for content retrieval from remote network regions
Abstract
Disclose a system and method for retrieving regional content via a remote access point server. In one embodiment, the disclosure relates to a network system for content retrieval from remote network regions. The network system can include a first device. The first device can be configured to receive requests for content. Content can reside on one or more content servers located within a remote network region. The first device can be further configured to do at least one of the following: Requests to a destination access point server located near one or more content servers via tunneling: , Transferring; receiving content from the destination access point server; retrieving content from the cache of the first device.

Term
9.2 yearsto projected expiry
Projected expiry 7 December 2035, counted from filing; an application has no term until it is granted.
- Priority
- Filed
- Published
- Today
- Projected expiry
37 claims: 4 independent, 33 dependent
- 1遠隔ネットワークリージョンからのコンテンツ検索のためのネットワークシステムであって、該システムは第1の装置を備えるのであって、前記第1の装置は、 コンテンツに関する要求を受信するように構成されており、前記コンテンツは遠隔ネットワークリージョン内に配置された1以上のコンテンツサーバ上に存在しており、前記第1の装置は、 前記要求を、トンネリングを介して前記1以上のコンテンツサーバの近くに配置されている宛先アクセスポイントサーバへと、転送し、及び、前記コンテンツを前記宛先アクセスポイントサーバから受信すること、並びに、 前記コンテンツを前記第1の装置のキャッシュから取得すること、の少なくとも1つのことを行うようにさらに構成されている、ネットワークシステム。
- 2前記宛先アクセスポイントサーバは、前記1以上のコンテンツサーバから前記コンテンツをプルするように構成されている、請求項1に記載のシステム。
- 3前記ネットワークシステムは、前記第1の装置と前記宛先アクセスポイントサーバとの間に、1以上の中間アクセスポインタサーバと1以上の中間ルーティング装置とを接続する1以上の中間トンネルをさらに備える、請求項2に記載のネットワークシステム。
- 4前記中間アクセスポイントサーバ及び前記宛先アクセスポイントサーバの少なくとも1つは、ドメイン名システムルックアップを行って前記1以上のコンテンツサーバを探し出すように構成されている、請求項3に記載のネットワークシステム。
- 5前記中間ルーティング装置、前記第1の装置、前記中間アクセスポイントサーバ、及び前記宛先アクセスポイントサーバの少なくとも1つは、キャッシュからドメイン名システムルックアップを行って前記1以上のコンテンツサーバを探し出すように構成されている、請求項3に記載のネットワークシステム。
- 6前記中間ルーティング装置、前記中間アクセスポイントサーバ、及び前記宛先アクセスポイントサーバの少なくとも1つは、前記コンテンツをキャッシュするように構成されている、請求項3に記載のネットワークシステム。
- 7前記キャッシュされたコンテンツは、前記中間ルーティング装置、前記第1の装置、前記中間アクセスポイントサーバ、及び前記宛先アクセスポイントサーバにわたって同期されている、請求項6に記載のネットワークシステム。
- 8前記中間ルーティング装置、前記第1の装置、前記中間アクセスポイントサーバ、及び前記宛先アクセスポイントサーバの少なくとも1つは、前記コンテンツについて圧縮を行うこと及び前記コンテンツについて展開を行うことの少なくとも1つをなすように構成されている、請求項3に記載のネットワークシステム。
- 9前記中間ルーティング装置及び前記第1の装置の少なくとも1つは、グローバル仮想ネットワークに基づいてスマートルーティングを行うように構成されている、請求項3に記載のネットワークシステム。
- 10前記スマートルーティングは、最良帯域幅、最低レイテンシ、最少ホップ数、及びパケット損失無しの少なくとも1つに基づいている、請求項9に記載のネットワークシステム。
- 11前記スマートルーティングは、リアルタイム統計及び履歴的統計の少なくとも1つに基づいている、請求項9に記載のネットワークシステム。
- 12前記宛先アクセスポイントサーバは、前記コンテンツを前記1以上のコンテンツサーバから同時的にプルするようにさらに構成されている、請求項2に記載のシステム。
- 13前記1以上のコンテンツサーバからの前記コンテンツは、構成部分としての追加的コンテンツへの1以上のリンクを備える、請求項2に記載のネットワークシステム。
- 14前記宛先コンテンツサーバは、コンテンツを前記1以上のリンクからプルするようにさらに構成されている、請求項13に記載のネットワークシステム。
- 15前記1以上のリンクの前記コンテンツは、前記1以上のリンクを含むページのコンテンツが配置されている遠隔リージョンからプルされる、請求項14に記載のネットワークシステム。
- 16前記宛先アクセスポイントサーバは、前記コンテンツを前記1以上のリンクから同時的にプルするようにさらに構成されている、請求項13に記載のネットワークシステム。
- 17前記コンテンツは検証される、請求項2に記載のネットワークシステム。
- 18前記検証は、ファイルサイズ検査及びハッシュ検査の少なくとも1つに基づいている、請求項17に記載のネットワークシステム。
- 19遠隔ネットワークリージョンからのコンテンツ検索のための方法であって、該方法は、 第1の装置によってコンテンツに関する要求を受信するステップであって、前記コンテンツは遠隔ネットワークリージョン内に配置された1以上のコンテンツサーバ上に存在している、ステップを含み、該方法は、 前記要求を、トンネリングを介して前記1以上のコンテンツサーバの近くに配置されている宛先アクセスポイントサーバへと、転送し、及び、前記コンテンツを前記宛先アクセスポイントサーバから受信するステップ、並びに 前記コンテンツを前記第1の装置のキャッシュから取得するステップ、の少なくとも1つを含む、方法。
- 20前記1以上のコンテンツサーバから前記コンテンツをプルするステップをさらに含む、請求項19に記載の方法。
- 21前記転送するステップは、前記コンテンツを、1以上の中間アクセスポインタサーバと1以上の中間ルーティング装置とを接続する1以上の中間トンネルを介して転送するステップをさらに含む、請求項19に記載の方法。
- 22ドメイン名システムルックアップを行って前記1以上のコンテンツサーバを探し出すステップをさらに含む、請求項19に記載の方法。
- 23キャッシュからドメイン名システムルックアップを行って前記1以上のコンテンツサーバを探し出すステップをさらに含む、請求項22に記載の方法。
- 24前記コンテンツを、前記中間ルーティング装置、前記中間アクセスポイントサーバ、及び前記宛先アクセスポイントサーバの少なくとも1つにキャッシングするステップをさらに含む、請求項21に記載の方法。
- 25前記中間ルーティング装置、前記第1の装置、前記中間アクセスポイントサーバ、及び前記宛先アクセスポイントサーバにわたって同期するステップをさらに含む、請求項24に記載の方法。
- 26前記コンテンツについて圧縮を行うステップ及び前記コンテンツについて展開を行うステップの少なくとも1つをさらに含む、請求項19に記載の方法。
- 27グローバル仮想ネットワークに基づいてスマートルーティングを行うステップをさらに含む、請求項19に記載の方法。
- 28前記スマートルーティングは、最良帯域幅、最低レイテンシ、最少ホップ数、及びパケット損失無しの少なくとも1つに基づいている、請求項27に記載の方法。
- 29前記スマートルーティングは、リアルタイム統計及び履歴的統計の少なくとも1つに基づいている、請求項27に記載の方法。
- 30前記コンテンツを前記1以上のコンテンツサーバから同時的にプルするステップをさらに含む、請求項20に記載の方法。
- 31前記1以上のコンテンツサーバからの前記コンテンツは、構成部分としての追加的コンテンツへの1以上のリンクを備える、請求項20に記載の方法。
- 32コンテンツを前記1以上のリンクからプルするステップをさらに含む、請求項31に記載の方法。
- 33前記1以上のリンクの前記コンテンツを、前記1以上のリンクを含むページのコンテンツが配置されている遠隔リージョンからプルするステップをさらに含む、請求項32に記載の方法。
- 34コンテンツを前記1以上のリンクから同時的にプルするステップをさらに含む、請求項32に記載の方法。
- 35前記コンテンツは検証される、請求項20に記載の方法。
- 36前記検証は、ファイルサイズ検査及びハッシュ検査の少なくとも1つに基づいている、請求項34に記載の方法。
- 37遠隔ネットワークリージョンからのコンテンツ検索のためのコンピュータ可読プログラムが記憶された非一時的コンピュータ可読媒体であって、該プログラムは、 第1の装置によってコンテンツに関する要求を受信するステップであって、前記コンテンツは遠隔ネットワークリージョン内に配置された1以上のコンテンツサーバ上に存在している、ステップを行うためのコンピュータ可読命令を備えており、該プログラムは、 前記要求を、トンネリングを介して前記1以上のコンテンツサーバの近くに配置されている宛先アクセスポイントサーバへと、転送し、及び、前記コンテンツを前記宛先アクセスポイントサーバから受信するステップ、並びに 前記コンテンツを前記第1の装置のキャッシュから取得するステップ、の少なくとも1つを行うためのコンピュータ可読命令を備える、媒体。
Independent claims37
104 paragraphs, as filed
The disclosure of the present application generally relates to a network, and more specifically to searching regional content via a remote access point server.
This application was filed on December 8, 2014, US Provisional Application No. 62 / 089,113, US Provisional Application No. 62 / 100,406, filed January 6, 2015, and January 28, 2015. US Provisional Application No. 62 / 108,987, US Provisional Application No. 62 / 144,293 filed on April 7, 2015, US Provisional Application No. 62 / 151,174 filed on April 22, 2015, and 2015 It claims priority from US Provisional Application No. 62 / 174,394 filed on June 11, 2014, all of which are incorporated by reference.
Within the client-server topology found on the Internet, the greater the distance from the client to the server, the higher the latency or round trip between the two (RTT, round trip). time) increases, and the fulfillment and delivery of data requests is delayed. The number of hops across an intermediate network device between a client and a server is defined as a hop count, which is subject to the time-to-live (TTL, time-to-live) limits in the Internet Protocol, assuming that the packet is undeliverable. The limit defines the maximum number of hops allowed before being dropped. The TTL limit is imposed to prevent congestion due to unroutable packets that would otherwise loop the Internet endlessly and clog pipes, so to speak. When making long-distance connections, the security mechanism can even cause problems with deliverable packets. The integer value of 1 is decremented from the TTL each time the packet crosses a hop. When the TTL reaches zero, the packet is dropped. Therefore, even if the route is valid, if it has too many hops, the packet will be undeliverable.
A content delivery network (CDN) allows a copy of content cloned from a distant server to be brought to, hosted, and served from a CDN server as close as possible to the requesting client. It has been developed. Such CDN servers provide significant performance gains. This is because the data hosted in the distance is cached in the server located near the request issuing client. The shorter the distance, the lower the latency and the fewer hops, and the faster the content will be delivered. If the content is globally equivalent (ie, the same everywhere), such a configuration will provide the desired performance gain.
This can be problematic for content that varies from region to region but is available via the same URL that automatically sends traffic to client devices based on geolocation mechanisms such as map markers. This is because only the content from the region where the request was made is provided. On the other hand, the end user may want to be served content from different geographic locations.
To get content from another region, some users manually force traffic to go through a public proxy or proxy server, but that operation is limited for several reasons. The operation can be slow and is not secure because the user usually does not control the proxy server through which the user's traffic will pass. The technique usually requires manual setup. This is done in a point-to-point manner, where you have to reconfigure the proxy client to run / search code in one region and search for content from different proxy servers in another region. Not only is this inefficient in terms of time, but it does not provide an advantage because they cannot view content from multiple regions at the same time. There is no control over the network path used between the client and the proxy server, and between the proxy server and the target content server. This can also result in slow results and low bandwidth.
Soft VPNs can also be used for this purpose, but as with proxy servers, they have no control over intermediate networks and are only point-to-point, so they should be used on a region-by-region basis. It is necessary to set.
Considering the above, it will be understood that there is a considerable need to allow multiple simultaneous, secure and fast streams to multiple regions with low latency and hop counts. ..
Disclose a system and method for retrieving regional content via a remote access point server. In one embodiment, the disclosure relates to a network system for content retrieval from remote network regions. The network system can include a first device. The first device can be configured to receive requests for content. Content can reside on one or more content servers located within a remote network region. The first device can be further configured to do at least one of the following: Requests to a destination access point server located near one or more content servers via tunneling: , Transferring; receiving content from the destination access point server; retrieving content from the cache of the first device.
According to another aspect of this embodiment, the destination access point server is configured to pull content from one or more content servers.
According to another aspect of this embodiment, the network system is one or more intermediates connecting one or more intermediate access pointer servers and one or more intermediate routing devices between the first device and the destination access point server. Further equipped with a tunnel.
According to another aspect of this embodiment, at least one of the intermediate access point servers and the destination access point servers is configured to perform a Domain Name System (DNS) lookup to find one or more content servers. ..
According to another aspect of this embodiment, at least one of the intermediate routing device, the first device, the intermediate access point server, and the destination access point server performs a Domain Name System (DNS) lookup from the cache1 It is configured to find the above content server.
According to another aspect of this embodiment, at least one of the intermediate routing device, the intermediate access point server, and the destination access point server is configured to cache the content.
According to another aspect of this embodiment, the cached content is synchronized across the intermediate routing device, the first device, the intermediate access point server, and the destination access point server.
According to another aspect of this embodiment, at least one of the intermediate routing device, the first device, the intermediate access point server, and the destination access point server is compressing the content and decompressing the content. It is configured to form at least one.
According to another aspect of this embodiment, at least one of the intermediate routing device and the first device is configured to perform smart routing based on a global virtual network.
According to another aspect of this embodiment, smart routing is based on at least one of best bandwidth, minimum latency, minimum number of hops, and no packet loss.
According to another aspect of this embodiment, smart routing is based on at least one of real-time and historical statistics.
According to another aspect of this embodiment, the destination access point server is further configured to pull content from one or more content servers simultaneously.
According to another aspect of this embodiment, the content from one or more content servers comprises one or more links to additional content as a component.
According to another aspect of this embodiment, the destination content server is further configured to pull content from one or more links.
According to another aspect of this embodiment, the content of one or more links is pulled from the remote region where the content of the page containing the one or more links is located.
According to another aspect of this embodiment, the destination access point server is further configured to pull content from one or more links simultaneously.
According to another aspect of this embodiment, the content is verified.
According to another aspect of this embodiment, verification is based on at least one of file size inspection and hash inspection.
In another embodiment, the disclosure relates to a method for searching content from a remote network region. According to the method, the request regarding the content can be received by the first device. Content can reside on one or more content servers located within a remote network region. Requests can be forwarded via tunneling to destination access point servers located near one or more content servers, and content can be received from destination access point servers. Content can be retrieved from the cache of the first device.
In yet another embodiment, the disclosure relates to a non-transitory computer-readable medium in which a computer-readable program for searching content from a remote network region is stored. The program may include computer-readable instructions for performing the step of receiving a request for content by the first device. Content can reside on one or more content servers located within a remote network region. The program provides computer-readable instructions for forwarding the request via tunneling to a destination access point server located near one or more content servers and taking steps to receive the content from the destination access point server. Can include. The program may include computer-readable instructions for performing the step of retrieving content from the cache of the first device.
The disclosure of the present application will be described in detail below with reference to the specific embodiments of the disclosure of the present application shown in the accompanying drawings. It should be noted that the disclosure of the present application is described with reference to specific embodiments, but the disclosure of the present application is not limited thereto. Those skilled in the art who have come into contact with the teachings of the present specification can find additional implementation examples, modifications, and embodiments, as well as other application areas, which are described in the present application. It is within the scope of the matters disclosed in the present application described in the specification, and in relation to this, the matters disclosed in the present application can bring considerable usefulness.
To facilitate a more complete understanding of the disclosure of the present application, reference is made to the accompanying drawings, and similar elements are numbered with similar reference numerals. These drawings should not be understood as limiting the disclosure of the present application and are merely exemplary.
<figref num="1">It is a block diagram showing URL resolution performed through lookup through the Internet Domain Name System (DNS), which is performed for routing from a host (client) to an IP address as a numerical value of a host (server).</figref><figref num="2">It is a block diagram which shows the CDN solution and the content distribution when the content is globally equivalent.</figref><figref num="3">It is a block diagram showing CDN resolution and distribution of content specific to the region.</figref><figref num="4">It is a block diagram showing the distribution of content specific to the region with CDN resolution and explicit blocking.</figref><figref num="5">It is a block diagram which shows how a proxy server works.</figref><figref num="6">It is a block diagram which shows the geographical destination DNS solution and the content distribution via a global virtual network (GVN) according to the embodiment of this application.</figref><figref num="7">It is a flowchart about the advanced smart routing (ASR, Advanced Smart Routing) in GVN according to the embodiment of this application.</figref><figref num="8">It is a block diagram which shows the geographic destination mechanism (GDM) in GVN according to the embodiment of this application.</figref><figref num="9">It is a block diagram which shows the software architecture of the endpoint apparatus and access point server connected in GVN according to the embodiment of this application.</figref><figref num="10">It is a block diagram which shows the operation of the access point server by embodiment of this application.</figref>
In some embodiments, the regional content retrieval technique uses a combination of the following configurations: smart routing, a tunnel through a mesh topology consisting of devices in a global virtual network (GVN) and within a target geographic location. A tunnel to reach the access point server (SRV_AP); content delivery agents, chained caches, and hosting content fetch and content recipients by treating the target as if it were physically present in the region. A content pull agent that works with other examples, which allow (clients) to specify as the desired region. Advanced smart routing and point-to-multipoint topologies also offer the benefits of simultaneous streams from multiple remote regions defined by source hosts (clients), target hosts (servers), target URLs, and so on.
In some embodiments, each of the requests can be routed to a geographic destination of their choice, which routing is on an endpoint device (EPD, end-point device) near them. It is done through the content delivery agent (CDA, Content Delivery Agent) distributed in. Content from multiple target geographic regions is simultaneously served to them as an independent stream for each request from the SRV_AP server in the region, and the desired content is placed on the host (server). Content pulling agents (CPA, content pulling) running for them agent) is passed through. The SRV_AP server can also pull content from multiple content servers at the same time. To improve performance and speed, content fetched files and streams can be sent via chained cache as individual files or combined files (clumps). The reply control and input interactions between the CDA and the CPA are for execution and manipulation of the data stream flow, and the fetched content is given by the CDA to the EPD from the local cache.
In some embodiments, the traffic flows through the GVN to the SRV_AP and the CPA is near the target content server within the desired geographic location. Data traffic travels through a chain cache, sent via secure advanced smart routing (ASR) consisting of wrapped and obfuscated tunnels, and flows through SRV_AP. Then head to the CDA on the EPD that originally issued the request for content.
In some embodiments, the device in the disclosing system is capable of receiving and / or intercepting what could be called a pass-through request for content.
FIGS. 1 to 5 are diagrams showing how the Internet works when the content is delivered from the host server to the host client, and shows the case with and without the CDN. While CDNs have their advantages, if there are regional differences in content, some serious limitations need to be overcome. The background information in this section is intended to provide background for explaining why the methods disclosed in the present application can provide better and more robust quality of service (QoS).
Figure 1 is a block diagram showing URL resolution done through lookups through the Internet Domain Name System (DNS) for routing from a host (client) to a numerical IP address on a host (server). Is. A content request or push as a stream or block of files or data flows from host client (C) 101 to host server (S) 301 in direction 001. Response 002, which is a content distribution, goes from host S to host C, and has the appearance as a stream or block of a file or data. The host-client device 101 in a client-server (CS) relationship either issues a request to access the content from the remote host S or sends data to the remote host S via a URL or other network reachable address.
The connection from the host client to the Internet is represented as P01, the connection from client 101 to POP102 can be direct or located within a local area network (LAN), and point of presence ( It is connected to the Internet via POP (point of presence), which can be called the last mile connection. POP102 represents a connection from an Internet Service Provider (ISP) endpoint to the Internet, which is via the subject's network and its interconnection path. If the URL is a domain name rather than a numeric address, this URL is sent to DNS server 103, where the domain name is translated to IPv4 or IPv6 or another address for routing.
Traffic from client 101 to server 301 is routed through the internet 120, which represents transit between POPs (102 and 302), which includes peering, backhaul, or other types of network perimeter transit. included.
Connection from POP102 to DNS103 to look up a numeric address from a URL to obtain the IPv4 address or other numeric address of the target server P02 is accessed directly from POP102 or via the Internet 120. be able to. The connection P03 from the ISP's POP 102 to the Internet 120 can be single-honed or multi-honed. There is a connection P04 from the Internet 120 to the POP302 on the side of the ISP or Internet Data Center (IDC) facing the Internet. The connection P05 from the server POP 302 to the host 301 can be a direct connection or via multiple hops.
Name-to-numeric address lookups over DNS are standard today, assuming that the DNS server is complete and the results obtained from it are credible.
FIG. 2 is a block diagram showing CDN resolution and content distribution when the contents are globally equivalent. Figure 2 includes various network routes (eg, P001, P002, etc.). In delivering content to clients, CDNs can offer significant advantages in terms of speed, flexibility, and load distribution. Content request 001 flows from host client (C) 101 to host server (S), and response 002 for content delivery is from host S to host C as a stream or block of packetized files or data. And flow back.
The host-client 101 can be a device such as a laptop, desktop, telephone, tablet, or any other device that can act as a client in a client-server (CS) relationship. The subject issues a request to access the content provided by the remote host server via the URL.
The POP 102, DNS server 103, and Internet 120 operate in a manner similar to those in FIG.
For CDN infrastructure, the CDN map marker 201 works with the CDN control server 202 or a similar mechanism to determine in which region the client unit is located and which CDN server to connect to for the content to be provided. To determine.
If client 101 is in region A, it is routed to the CDN server 503 in region A via the POP403 of the server in region A. Further, the client 101 in the region B connects to the CDN server 502 in the region B via the POP402 of the server in the region B. In addition, the client 101 in the region C connects to the CDN server 501 in the region C via the POP401 of the server in the region C.
In this example, there is content equivalence for all of the content provided, and each of the CDN servers 501, 502, 503 has a clone copy that is exactly the same as the content from the origin server 601.
If the content is globally equivalent, that is, if the content provided by the CDN servers in regions A, B, and C is the same, it will be duplicated equally from the origin server 601 that supplies the content server.
The original CDN map marker 201 lookup done via P001 and further towards P003 via 102 is either extremely fast or if the CDN map marker server is located in a region away from the client device. Takes a relatively long lookup time. Once the lookup is complete, traffic will flow through P006 to the nearest and / or best available server.
For convenience of illustration in the figure, a region is defined as a geographic area that is different from other geographic areas. The concept does not necessarily refer to a large area, but it can refer to such a thing, and while the concept can indicate that the distance from one region to another is long, these Can be extremely close to each other. The bottom line is that clients within one region should receive content through a CDN server within one region, not from another region.
Figure 3 is a block diagram showing CDN resolution and distribution of region-specific content. Figure 3 includes various network paths (eg, P001, P002, etc.). Figure 3 is similar to Figure 2, and the main difference between them is that the content for each region is different from the content in other regions. There are content regional servers 701,702,703 between the CDN server 501,502,503 and the origin server 601. The content regional server publishes regionally specific content to the CDN server in each region. Should be provided to clients within the region of.
Figure 4 is a block diagram showing region-specific content delivery with CDN resolution and explicit blocking. FIG. 4 includes various network routes (eg, P001, P002, etc.). If a client 101 in one region wants content served by servers 502,503 in another region, whatever happens, it will be served by server 501 in its own region. It will be limited to the contents of. Even if you force a content server in the region where you want to receive content, the client will not be able to access other content. Content from the region to which you belong continues to be provided without being given any choices. The local DNS lookup 103 provides a name-resolved IP that goes only to the CDN server 501 in its own region. The reason for this result may be the global IP address that maps only to CDNs within its own region (in the case of global IP), but on the other hand it may be for another reason. As a result, the client can be geoblocked on route P007 or route P008.
Regular connections over route P005 based on the current geographic location are not subject to blocking, so that host (client) 101 receives content for that geographic location through server 501. Traffic flows.
For target regions 502,503 that are different from their current geographic location, traffic is stopped on route P007 and / or route P008, and hosts (clients) are not allowed to obtain content from remote geographic destinations. .. According to the settings and policies of the CDN control system 202, they may be forced to the server 501 in their current location, given no response, or just receive an error message or unwanted content.
FIG. 5 is a block diagram showing how the proxy server works. The content request or push 001 flows from the host client (C) 101 to the host server (S) 301 and may include a stream or block of packetized files or data. The content delivery 002 flows from the target host 301 to the client host 101 and may include a stream or block of packetized files or data.
The client 101, which is a client device in a client-server (CS) relationship, issues a request to access content from a remote host or server via a URL or numerical IP address or otherwise.
This request passes through a GW device running proxy client software 510 running on host client 101. This proxy client connects to the proxy server via the encrypted or unencrypted tunnel and then the route P350 from GW510 to POP (point of presence) 540, and then one of WAN550. It connects to the route P532 to the proxy server in the remote region across the central Internet. Traffic exits from proxy server 560 to the open Internet 120 via route P533, from P534 through POP542 to P535 to host server 301 in the target region.
The host server assumes that the traffic comes from the proxy server's IP address and geographic location. If this IP is in the same region as defined by the server in the target region, the desired content will be provided. To support this localization, the proxy server typically connects to DNS server 570 in the same region where the proxy server is located.
In connection with addressing the problems and constraints described in FIGS. 1-5, FIGS. 6-9 show behavioral modes of geographic destinations and some possible applications for them. There is. There are other possibilities for applying this mechanism and these methods.
FIG. 6 is a block diagram showing geographical destination DNS resolution and content distribution via a global virtual network (GVN) according to an embodiment of the present application. In some embodiments, advanced smart routing within the endpoint device routes traffic over the connection, and local connections are routed directly to the Internet, or a global virtual network. Route to a tunnel to the mesh of (GVN) and its servers and other devices. Content search from the content server in the target region can be realized via various routes. FIG. 6 illustrates the various possible pathways and illustrates some of the functionality of the techniques disclosed herein.
In some embodiments, the host client 101 connects to the local area network 620 via P618, from which it connects to the endpoint device 630. Smart routing within the EPD routes traffic to the Point of Presence (POP) 632 via one of multiple tunnels P611 through P615. These routes can be derived from POP in the following ways:
P611 connects to P611-1 via POP632, and also connects to host server 651 in the same target region as host client 101 via route P611-2 via Internet 641. This example is for access to content or CDN servers that are very close to the location of the host client and is not via GVN.
P612 is a secure tunnel, which connects to the access point server (SRV_AP) 662 via P612-1, WAN672 and route P612-2 via POP632. The Content Pull Agent (CPA) located at SRV_AP662 can perform DNS lookups over DNS682 via P612-3 and via Internet 642 and route P612-4. When the CPA on SRV_AP662 receives the numeric address that is the result of the lookup, the CPA requests content from the host server 652 via P612-5.
P613 is a secure tunnel and behaves similarly to P612 (eg, P613-1, P613-2 and WAN673). The tunnel yields similar results, the difference between the two is that the tunnel connects to the first SRV_AP663 and then to WAN673-1 via another tunnel P613-3, P613- It leads to 4, and leads to the second SRV_AP663-2. From there it retrieves content from the host target server 653, which is accompanied by a DNS lookup. The DNS lookup is from DNS683 and via the Internet 643, which is roughly similar to the behavior of SRV_AP662.
P614 is a secure tunnel and behaves like P612 (eg P614-1, P614-2, P614-3, P614-4, WAN674, SRV_AP664, Internet 644, Target 654). The difference is that the DNS lookup is done from the cache in the EPD630. From there, advanced smart routing sends traffic downstream to SRV_AP664 to retrieve content from host server 654 without lookups within the target region.
P615 is a secure tunnel P615-1, which connects P615-2 to SRV_AP665 with WAN675 as a bridge, and is bridged to another tunnel P615-3 within SRV_AP665 via WAN675-1. It leads to P615-4, and the tunnel completes a secure bridge to EPD631. Traffic exits EPD631 and goes through P615-5 to POP635 in the target region. DNS lookup is done from POP635 to DNS server 685 via P615-6. DNS lookups can be done via lookups in the EPD635 cache, or over the Internet 645 at that region or another DNS server in another region. Content from host server 655 is pulled via P615-8 and passed to Internet 645, POP635, EPD631 for return to EPD630. In certain embodiments, the EPD631 can send cached content to the EPD630. In another embodiment, EPD361 can pull content from host 655.
FIG. 7 is a flowchart of Advanced Smart Routing (ASR) in GVN according to the embodiment of the present application. Figure 7 illustrates how ASR works within GVN. Figure 7 shows various LANs (eg 702,704), Internet (eg 707,729), SRV_AP (eg 710,719), POP (eg 728,717), WAN (eg 118), clients (eg 101,716), EPD (703,721). ), DNS (eg, 714,706) and routes (P701-P731).
The starting point is the host client device 101 in the local area network (LAN) 702 connected to the endpoint device (EPD) 703, and GVN provides the EPD 703 with multiple access routes to multiple end point candidates. be able to. The figure is a high-level view of the routing logic that a packet can follow, where the packet passes through a GVN that leverages ASR to obtain optimized performance. From the perspective of the host client 101, those traffic flow through the Internet Protocol (IP) network in the third layer of GVN with the minimum number of hops and the best latency. The first layer of GVN is the underlying Internet, which is automatically configured for constructs such as virtual interfaces, tunnels, routing and other networking policies. The second layer of GVN is the hierarchy in which algorithms, software and logic govern the interaction between Layer 3 and Layer 1.
The first major routing decision is made at the logic gate 704 in the EPD703, and the traffic goes out through route P704 to the local internet 707 where the EPD703 is located, or the traffic is secure and wrapping. Exit through P707 to the access point server (SRV_AP) 710, which provides the best connectivity in the region where the SRV_AP710 is located, if it should be through a tunnel that has been and is obfuscated. go. Traffic passes through routing logic gate 711 before it exits SRV_AP710. Traffic that should go out to Internet 713 in a local manner goes through route P711 to the host client 715 or host server 716 there. If the traffic should be relayed to another region rather than locally, the traffic goes through route P716 through tunnel P718 to the next SRV_AP719.
In SRV_AP719, the routes that traffic can take are drawn by three of the many possible routing options. Should the traffic remain and go out to the local internet 729 and possibly with a DNS lookup at 730 to target 731/732, or another through a tunnel through P726? There can be a logic gate 726 to determine if you should go to SRV_AP727 in the region. Another possibility is illustrated along route P719, in which a tunnel from SRV_AP719 to another EPD721 within a distant region is illustrated. This is an EPD703 connected to the EPD721 through multiple bridged tunnels.
A further possibility is that traffic can reach client equipment 725/723 in LAN722, where EPD721 is positioned by EPD connection P721.
FIG. 8 is a block diagram representing a geographic destination mechanism (GDM) within GVN according to an embodiment of the present application. GDM embodies a system that takes advantage of the benefits of GVN superimposed on the Internet. The mechanism consists of a secure tunnel that is smartly routed to an exit point in another region via an access point server, in which the requesting client is geographically located within that region. Remote content can be fetched as if it were located. Figure 8 shows various routes (eg P802-P818, P821-P826 and P830-P834), cache (eg 821-823), SRV_AP (eg 831 and 832), WAN (eg 850 and 851), the Internet. Includes (eg, 810), DNS (eg, 804, 860), POP (eg, 870), client 101, and host target 840.
GVN connects devices in LAN802 to distant host servers 803 or clients on Internet 810 or in another LAN. One advantage of GVN is that it may treat clients as if they were located in that region, allowing distant devices to pull data files and streams from servers in remote regions. is there. This advantage overcomes the following constraints: inefficient routing, geoblocking, over-hops, or other problems on the open Internet. Advanced Smart Routing (ASR) ensures that the most optimal route within GVN is adopted, and the chain cache 821/822/823 takes data from Content Pull Agent (CPA) 830. Works closely or cooperatively with the requesting Content Delivery Agent (CDA). The chain cache 821/822/823 pulls the data into the access point server (SRV_AP) 832 and puts this data available for distribution as soon as possible.
In this embodiment, if the host client 101 wants to fetch content from the host server 840 in the target region, the host client either does a DNS lookup from DNS 804 or against its own geographic destination DNS cache in the CDA. You can issue a query to convert the URL to a numeric address . With this numerical IP address, the ASR routes traffic to the SRV_AP832 closest to the target.
EPD808 creates a tunnel P802 to WAN850, there is a P803 heading to the first SRV_AP831, which connects to the destination SRV_AP832, goes through the second tunnel P804 and leads to P805 towards WAN851. .. The CPA 830 connects to the host server 840 and fetches the content. If this content is a web page, the CPA830 will download the content and parse it to create a list of links about the content (from multiple sources) that should be pulled as files and streams. Many of today's websites offer images, files, content, video streams, or other content from many different servers. URL links for this content need to be indexed, and the CPA will do a DNS lookup from DNS server 860 for all URLs in that region.
The CPA830 fetches and caches the content and puts it in the cache 821 attached to SRV_AP832. The content in the cache can be individual files, globs, or a combination of these.
Content can be synchronized on the fly on the way from cache 821 to cache 822, with cache 822 on SRV_AP831 in the intermediate region between the region of host server 840 and the regions of EPD803 and host client 103. is there. From cache 822, content can be synced on the fly to cache 823, which is located at EPD803. Once the content is brought into the EPD803, the content can be accessed from the host client 101 connected to the EPD803 via LAN802, or can be directly connected. In other embodiments, synchronization of content between caches can be scheduled.
In some embodiments, the disclosed geographic destination mechanism searches for content from a distant region as if the requesting client were within that region, and for that content and all associated streams. DNS lookup is done within that region.
In some embodiments, a search for content files and streams performed from a powerful SRV_AP in a multi-honed data center near the host server can quickly bring data into the SRV_AP. ..
In some embodiments, the CPA830 fetches content items, caches them, and integrates them into an amalgamation or glob or clamp on the file. It can be compressed and efficiently sent back to the EPD803.
In some embodiments, the chain cache relays the data on the fly. In some embodiments, SRV_APs such as 831 and 832 are connected via large pipes and through an international backhaul. In some embodiments, multiple SRV_APs are connected. Data transmission throughput can be improved by dividing the long round-trip path into a series of interconnected paths.
In some embodiments, GVN routes traffic through routes and tunnels that are as efficient as possible. In some implementations, efficient routing can be based on real-time statistics. In another implementation, efficient routing can be based on historical statistics.
FIG. 9 is a block diagram showing the software architecture of the endpoint device and the access point server connected in GVN according to the embodiment of the present application. As shown in FIG. 9, software and hardware can be distributed among different circuit boards, processors, network interface cards, and memory within a network device.
The endpoint device (EPD) 902 and access point server (SRV_AP) 904 can be interconnected, secure tunnel represented by communication path P903-A, POP909-A, communication path P903-B, WAN910, It goes through the communication path P903-C, POP909-B, and the communication path P903-D.
The software architectures of EPD902 and SRV_AP904 may be similar but different depending on the role of each device. EPD902 may have a Content Delivery Agent (CDA) D006 and SRV_AP904 may have a Content Pull Agent (CPA) D106.
The memory D001 / D101 and the processor D002 / D102 and the network interface D003 / D103, which are the lowest layers of each device, can belong to the hardware layer. The operating system (O / S) D004 / D104 can be a LINUX® system or Debian® or other equivalent system. Operating system D004 / D104 can include packages and configurations for routing, hosting, communication, and other system-level operations.
The system software layer D005 / D105 of GVN's operational system can reside on top of the operating system. The system software layer D005 / D105 may also contain custom commands, system modules and other components operating therein, as well as other components of GVN. Each type of device in GVN can have some or all of these parts of the system software layer, depending on its role.
On EPD902, the content distribution agent D006 can act as an intermediary between the request issuing client and the content pull agent D106 on the remote SRV_AP904. Communication between the content delivery agent D006 and the content pull agent D106 can be handled by the cache manager D007 / D107, compression engine D008 / D108, connectivity manager D009 / D109, routing D0010 / D1010 and connection D011 /. It can include D111 and other modules and related software. The information flow between them exits EPD902 via route P903-A or exits SRV_AP904 via route P903-D.
On SRV_AP904, in addition to communicating with host server 908, content delivery agent D106 can perform DNS lookups (via route P904) from DNS910 within the target region.
In some embodiments, cache managers D007 / D107 can confirm that data replication is taking place between caches in both directions. The cache manager D007 / D107 can also confirm that the duplicated data is a complete and accurate clone copy. The cache managers D007 / D107 can also flush old content to prevent its memory and storage from becoming too large, and to allow it to operate with maximum efficiency. The compression engine D008 / D108 compresses or decompresses data according to the flow of traffic.
In some embodiments, the connectivity manager D009 / D109 manages the construction of virtual interfaces (VIFs), tunnels, tunnel aggregations, network bridges, and other elements of connectivity between GVN devices.
In some embodiments, the routing managers D010 / D110 can allow packets to flow through appropriate VIFs and tunnels or to the open Internet.
In some embodiments, the connection managers D010 / D111 continuously test, build, destroy, link and perform other tasks on various connections between the tunnel and the GVN equipment.
In some embodiments, the EPD902 communicates with the client 101 via LAN902 and via routes P901 and P902. SRV_AP904 can communicate with the host server 904 via internet 906 and POP907 and via routes P905, P906 and P907.
FIG. 10 is a block diagram showing the operation of the access point server according to the embodiment of the present application.
In some embodiments, the content pull agent (CPA) D302 is located on SRV_AP1000. The CPA D302 can receive the target URL / URI from the content distribution agent 1012 located on the EPD 1014. By way of example, the target address that the client wants to reach is located in a different region than the client, and the client wants to pull content from here.
The CPA D302 can pass requests to the remote fetcher bot (RFBOT) D301. The RFBOTD301 can perform DNS lookups and use that information to put content via the data pull section 1006. In some embodiments, DNS information is cached in cache manager D304 via database B304. In another embodiment, DNS information can be fetched from a DNS server such as 1010.
RFBOT D301 works with CPA D302 via CP01 to parse the fetched results to find other addresses for incidental content that can and should be pulled as part of that content. Can be done.
Content can include images 1001, text files 1002, files 1003 in various formats such as CSS, JS and other formats, and files 1004 from third-party sites. The content can reside on the content host server 1040. Content can reside on multiple content servers. Requests can be stored in database B302 for access and future reference by CPA D302 and RFBOT D301.
In some embodiments, the respective content streams 1050/1051/1052/1053 can be pulled in parallel.
In some embodiments, the content from the data pull section 1006 can be passed to the CPA D302 and stored in the database B302. In another embodiment, the content from the data pull unit 1006 can be passed to the cache manager D303 and stored in the database B303. The cached content can be transferred as a set of files 1005 or individual files.
Depending on the distance from the source to the geographic destination region, the file type, and QoS, the pulled file in the cache is a single file (one single file for unified transfer over the chain cache). It can be aggregated into one single file) or individual files that can be transmitted in parallel and simultaneous streams.
Various content files can also be aggregated into one large file, in which case only one file is transferred, for example, instead of individually controlling and transferring 30 data files over long distances. It will be brought as multiple streams. Then, it is disassembled on the EPD side and provided again as 30 files.
The disclosure of the present application is not limited to the specific embodiments disclosed in the specification of the present application. That is, those skilled in the art given the above detailed description and accompanying drawings will recall various embodiments of the present disclosure and modifications to the disclosure of the present application in addition to the embodiments disclosed herein. can do. Therefore, such other embodiments and modifications are intended to be included within the scope of the present disclosure. Further, the disclosure of the present application is described in the context of at least one particular embodiment that is placed under at least one particular environment and intended for at least one particular purpose, but those skilled in the art. If so, it is understood that the usefulness of the concept is not limited thereto, and the contents of the present disclosure can be put into any environment and usefully implemented for any purpose. Will do. Therefore, the scope of the appended claims should be understood on the premise of the full scope and spirit of the disclosure of the present application described herein.
11 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11
183 members in 7 offices
Priority claims34
| Document | Office | Kind | Date |
|---|---|---|---|
| 201462089113 | United States of America | P | |
| 201462089113 | United States of America | P | |
| 62089113 | United States of America | – | |
| 201562100406 | United States of America | P | |
| 201562100406 | United States of America | P | |
| 62100406 | United States of America | – | |
| 201562108987 | United States of America | P | |
| 201562108987 | United States of America | P | |
| 62108987 | United States of America | – | |
| 201562144293 | United States of America | P | |
| 201562144293 | United States of America | P | |
| 62144293 | United States of America | – | |
| 201562151174 | United States of America | P | |
| 201562151174 | United States of America | P | |
| 62151174 | United States of America | – | |
| 201562174394 | United States of America | P | |
| 201562174394 | United States of America | P | |
| 62174394 | United States of America | – | |
| 2015064242 | United States of America | W | |
| 2015064242 | United States of America | W | |
| 62089113 | – | – | – |
| 62100406 | – | – | – |
| 62108987 | – | – | – |
| 62144293 | – | – | – |
| 62151174 | – | – | – |
| 62174394 | – | – | – |
| US201462089113P | – | – | – |
| US2015064242 | – | – | – |
| US201562100406P | – | – | – |
| US201562108987P | – | – | – |
| US201562144293P | – | – | – |
| US201562151174P | – | – | – |
| US201562174394P | – | – | – |
| WO2015US64242 | – | – | – |
Members183
| Document | Office | Kind | |
|---|---|---|---|
| WO2016094291A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2016110785A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2016123293A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2016162748A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2016162749A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2016164612A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2016198961A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2016198961A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2017098326A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN107251005A | China | A | |
| CN107251518A | China | A | |
| EP3230885A1 | European Patent Office (EPO) | A1 | |
| EP3243314A1 | European Patent Office (EPO) | A1 | |
| CN107409079A | China | A | |
| EP3251301A1 | European Patent Office (EPO) | A1 | |
| US2018013583A1 | United States of America | A1 | |
| US2018013732A1 | United States of America | A1 | |
| JP2018502385AThis record | Japan | A | |
| CN107637037A | China | A | |
| US2018034889A1 | United States of America | A1 | |
| EP3281368A1 | European Patent Office (EPO) | A1 | |
| EP3281381A1 | European Patent Office (EPO) | A1 | |
| EP3281435A1 | European Patent Office (EPO) | A1 | |
| JP2018507639A | Japan | A | |
| JP2018508067A | Japan | A | |
| CN107852604A | China | A | |
| US2018091417A1 | United States of America | A1 | |
| CN107873128A | China | A | |
| US2018097656A1 | United States of America | A1 | |
| US2018097774A1 | United States of America | A1 | |
| CN107925594A | China | A | |
| EP3308504A2 | European Patent Office (EPO) | A2 | |
| JP2018515974A | Japan | A | |
| JP2018517372A | Japan | A | |
| JP2018518862A | Japan | A | |
| CN108293063A | China | A | |
| JP2018519688A | Japan | A | |
| HK1245435A | Hong Kong, China | A | |
| HK1245435A1 | Hong Kong, China | A1 | |
| HK1245525A | Hong Kong, China | A | |
| HK1245525A1 | Hong Kong, China | A1 | |
| EP3230885A4 | European Patent Office (EPO) | A4 | |
| EP3243314A4 | European Patent Office (EPO) | A4 | |
| HK1247001A | Hong Kong, China | A | |
| HK1247001A1 | Hong Kong, China | A1 | |
| EP3251301A4 | European Patent Office (EPO) | A4 | |
| EP3281435A4 | European Patent Office (EPO) | A4 | |
| EP3387819A1 | European Patent Office (EPO) | A1 | |
| HK1249974A | Hong Kong, China | A | |
| HK1249974A1 | Hong Kong, China | A1 | |
| EP3308504A4 | European Patent Office (EPO) | A4 | |
| HK1252927A | Hong Kong, China | A | |
| HK1252927A1 | Hong Kong, China | A1 | |
| HK1252928A | Hong Kong, China | A | |
| HK1252928A1 | Hong Kong, China | A1 | |
| HK1252929A | Hong Kong, China | A | |
| HK1252929A1 | Hong Kong, China | A1 | |
| US2019266132A1 | United States of America | A1 | |
| EP3387819A4 | European Patent Office (EPO) | A4 | |
| HK1258433A | Hong Kong, China | A | |
| HK1258433A1 | Hong Kong, China | A1 | |
| US10574482B2 | United States of America | B2 | |
| US10630505B2 | United States of America | B2 | |
| EP3281368B1 | European Patent Office (EPO) | B1 | |
| US2020145375A1 | United States of America | A1 | |
| US10659256B2 | United States of America | B2 | |
| US2020213153A1 | United States of America | A1 | |
| US2020228372A1 | United States of America | A1 | |
| US10756929B2 | United States of America | B2 | |
| US10841360B2 | United States of America | B2 | |
| ES2796473T3 | Spain | T3 | |
| US2020382341A1 | United States of America | A1 | |
| CN107925594B | China | B | |
| EP3761592A1 | European Patent Office (EPO) | A1 | |
| US2021044453A1 | United States of America | A1 | |
| CN107251518B | China | B | |
| US2021067579A1 | United States of America | A1 | |
| CN112583744A | China | A | |
| CN107409079B | China | B | |
| CN107251005B | China | B | |
| CN107873128B | China | B | |
| CN113190495A | China | A | |
| CN113225369A | China | A | |
| CN113285864A | China | A | |
| US11108595B2 | United States of America | B2 | |
| CN113381994A | China | A | |
| CN107637037B | China | B | |
| CN107852604B | China | B | |
| US2021392015A1 | United States of America | A1 | |
| CN113872855A | China | A | |
| US11240064B2 | United States of America | B2 | |
| CN114079669A | China | A | |
| US11271778B2 | United States of America | B2 | |
| US2022158867A1 | United States of America | A1 | |
| CN108293063B | China | B | |
| US11360945B2 | United States of America | B2 | |
| US2022191062A1 | United States of America | A1 | |
| CN114726847A | China | A | |
| US11418366B2 | United States of America | B2 | |
| US2022300466A1 | United States of America | A1 |
Numbers
- Publication
- 2018502385
- Publication, DOCDB
- 2018502385
- Publication, EPODOC
- JP2018502385
- Application
- 2017531761
- Application, DOCDB
- 2017531761
- Application, EPODOC
- JP20170531761
Titles2
- Japanese
- 遠隔ネットワークリージョンからのコンテンツ検索のためのシステム及び方法
- English
- Systems and methods for content retrieval from remote network regions
Classification
- CPC, 13
- H04N21/2183
- H04L67/025
- G06F15/16
- H04N21/6125
- H04N21/8456
- H04N21/8586
- H04L63/0281
- H04L65/61
- H04L67/568
- H04L61/4511
- H04L67/1021
- H04L12/4633
- H04L67/1001
- IPC, 2
- G06F13 00
- H04L12 70
Designated states5
- Regional, 4
- Zimbabwe
- Turkmenistan
- Türkiye
- Togo
- National, 1
- United States of America