BACKGROUND

The present application relates generally to transmission of data such as, e.g., media content, over computer networks such as, e.g., the Internet.

Traditionally, Internet content is delivered through a client-server approach, where a client (such as, e.g., a personal computer) retrieves a content object from server (such as, e.g., a Web server) in a single download session.

Content Delivery Networks (CDNs) have been used to improve the traditional client-server method of content delivery by placing the content object in a variety of network locations and directing the client to particular servers, depending on network locality, network cost, network conditions, server load, and other factors. Once a session between the client and a server has been established, the client-server applications are generally limited in their ability to work around session throughput degradation or failure. Furthermore, the use of single session to deliver the content limits the throughput that can be achieved by the application.

These drawbacks of the client-server architecture are particularly significant in the context of delivery of high-quality media over Internet. Online media applications commonly involve delivery of very large content objects over an extended period of time, or have high throughput requirements.

Thus, content delivery systems are available that use dynamic selection of content sources and multiple sessions to work around the above problems.

Use of a multi-session approach delegates content sourcing logic to the client application and allows these applications to adapt to changing session throughput, to recover from session failures, to maximize content delivery throughput using several concurrent sessions.

Peer-to-peer (P2P) applications are one example of such application architecture. P2P applications are a class of network applications where each network member, or peer, is capable of sending and receiving data directly from other members of the network. Each such peer establishes a number of sessions to its counterparts in parallel, tearing and setting up multiple sessions throughout an application session.

It is not uncommon for P2P networks to scale to very large number of participating peers, exceeding the scale of the traditional CDNs by 2-3 orders of magnitude. The scale of storage and bandwidth resources that P2P networks leverage enables delivery of very large content objects to a large number of subscribers.

There are several known types of P2P networks. The so-called open P2P networks rather than use dedicated servers located in datacenters or in network aggregation points, leverage voluntarily participating Internet subscribers to deliver content. As a result, peers continuously join and leave the P2P network, creating statistical availability of content sources within a network.

Commercial P2P networks can complement peer-based delivery with client-server delivery through their own datacenters or commercial CDNs to improve data transfer service levels.

Yet another type of P2P network leverages always-on IP-connected consumer electronics devices that are connected to the Internet such as, e.g., IP set-top boxes.

In addition to the P2P applications, where each client is capable of being a server as well, the same multi-session approach has been adopted by non-P2P applications that use multiple sessions to dedicated servers to retrieve content.

The success of the multi-session applications, mainly P2P, has led to significant increases in bandwidth consumption globally in the last decade where Internet Service Providers (ISPs) are bearing the bulk of cost associated with these applications.

It is common for the multi-session content applications to optimize content source selection and session throughput in accordance with various application algorithms, (e.g., minimum session throughput for video streaming applications, “tit-for-tat”, “rarest-piece-first” etc.), leading to improved application performance, fault tolerance, and reduction of content delivery costs.

At the same time, these applications generally do not align content sourcing and bandwidth allocation decisions with the ISP network environment they operate in, including bandwidth provisioning, network peering and transit arrangements, bandwidth consumption by other applications, etc. This misalignment can lead to network congestion in various parts of the ISP network, on one hand, and suboptimal performance of the multi-session applications, on the other hand. There is thus a need for comprehensive management infrastructure for the multi-session applications that would optimize the application performance through improved usage of network resources and manage utilization of these resources by the applications.

BRIEF SUMMARY

In accordance with one or more embodiments of the invention, an optimization service discovery method is provided for optimizing data transmission by multi-session applications. The method includes: receiving an optimization service lookup query from one of a plurality of user clients in a network, each of said user clients executing a multi-session application; and identifying an optimization service and responding to the query with a network address of one or more servers providing said optimization service.

In accordance with one or more embodiments of the invention, a method of providing a network prioritization optimization service for delivery of content to one of a plurality of user clients in a network is provided. The method comprises: receiving a query for content source prioritization from one of a plurality of user clients in a network, each of said user clients executing a multi-session application; and responding to the query with an identification and network addresses of a set of content sources and an order of priority of the content sources.

Various embodiments of the invention are provided in the following detailed description. As will be realized, the invention is capable of other and different embodiments, and its several details may be capable of modifications in various respects, all without departing from the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature and not in a restrictive or limiting sense, with the scope of the application being indicated in the claims.

