WO2011094843A1 - Method and apparatus for accessing media content - Google Patents

Method and apparatus for accessing media content Download PDF

Info

Publication number
WO2011094843A1
WO2011094843A1 PCT/CA2011/000116 CA2011000116W WO2011094843A1 WO 2011094843 A1 WO2011094843 A1 WO 2011094843A1 CA 2011000116 W CA2011000116 W CA 2011000116W WO 2011094843 A1 WO2011094843 A1 WO 2011094843A1
Authority
WO
WIPO (PCT)
Prior art keywords
media content
servers
client device
server
establish
Prior art date
Application number
PCT/CA2011/000116
Other languages
French (fr)
Inventor
Manh Hung Peter Do
Original Assignee
Orbital Multi Media Holdings Corporation
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 Orbital Multi Media Holdings Corporation filed Critical Orbital Multi Media Holdings Corporation
Publication of WO2011094843A1 publication Critical patent/WO2011094843A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1013Network architectures, gateways, control or user entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A method and apparatus for accessing media content is described. The method comprises storing information identifying a plurality of servers, the plurality of servers comprising one or more redirection servers and one or more media content servers. When media content is requested, an attempt to establish a connection to at least one of the identified redirection servers is made, to obtain information identifying an assigned media content server from which the media content is to be requested. If the information identifying the assigned media content server is obtained, an attempt to establish a connection to the assigned media content server to request the media content is made. Otherwise, if the information identifying the assigned media content server is not obtained, an attempt is made to establish a connection to at least one of the identified media content servers to request the media content.

Description

METHOD AND APPARATUS FOR ACCESSING MEDIA CONTENT
FIELD The present invention relates generally to accessing media content, particularly, but not exclusively, in a content delivery network such as an IPTV system.
BACKGROUND Content delivery networks (CDNs) enable the effective delivery of increasingly popular on-demand multimedia services such as video streaming. Generally,- CDNs cache or replicate content at multiple sites distributed across a network. To alleviate potential load imbalances client requests for media content are usually redirected to the most appropriate site by a load balancing server based on criteria such as client location, server toad and network conditions.
CDNs often rely on existing Internet Service Provider (ISP)/telecommunications service provider infrastructures (e.g. cable, ADSL, fibre optic, etc) to provide the requisite connectivity and bandwidth for users to obtain media content, i.e. access to servers. In many cases, the media content providers are not affiliated with a particular service provider. As connectivity and, in particular, bandwidth come at a premium, the service provider may try to limit, block or otherwise control the often high volume of traffic associated with such media content. A lack of compliance can adversely impact on a user's experience.
Media content such as IPTV or Video on Demand (VoD) can alternatively be supplied by a service provider using a closed CDN infrastructure, which can help to preserve quality of service guarantees. Nevertheless, such architectures may suffer from technical failure such as redirection server downtime.
There is therefore an unmet need for client-side techniques that can increase the effectiveness of media content access. SUMMARY
In one embodiment there is provided a method of accessing media content by a client device in a network, the method comprising storing information identifying a plurality of servers, said plurality of servers comprising one or more redirection servers and one or more media content servers; attempting to establish a connection to at least one of the identified redirection servers, to obtain information identifying an assigned media content server from which the media content is to be requested; if the information identifying the assigned media content server is obtained, attempting to establish a connection to the assigned media content server to request the media content; and if the information identifying the assigned media content server is not obtained, attempting to establish a connection to at least one of the identified media content servers to request the media content. By first attempting to contact a redirection server, the client can be redirected to the most suitable media content server, for example one where the requested content is currently being cached, based on a load balancing technique implemented at the redirection server. Yet the client device has sufficient intelligence to determine that the redirection server is unresponsive and to contact one of the media content servers of its own accord. The determination could be based on a timeout period, number of retry attempts, or in any other manner well known to those skilled in the art. Offloading some of the burden to the client device can help to improve the overall system performance.
In an embodiment, any one of the attempts to establish a connection may comprise attempting to establish a tunneling connection, such as a Virtual Private Network (VPN) connection. Such a tunneling connection uses encryption to prevent the requested media content from being viewed by third parties, such as by a service provider who applies adverse 'traffic shaping'. In an embodiment the information identifying any one of the servers comprises one or both of a Domain Name Service (DNS) name and an Internet Protocol (IP) address. If both identifiers are available, the client device may first attempt to establish a connection using the Domain Name Service name prior to using the Internet Protocol address. Intercepting Domain Name Service requests made by the client device is often the easiest way in which access to particular servers can be blocked by a third party, so using the Internet Protocol address instead may circumvent this.
In an embodiment, the attempting to establish a connection to at least one of the identified redirection servers is performed in accordance with a relative order of the identified redirection servers. In another embodiment, the attempting to establish a connection to at least one of the identified media content servers is performed in accordance with a relative order of the identified media content servers. In either case, the relative order may be based on a geographical proximity of each of the respective servers to the client device.
In an embodiment, the geographical proximity of the client device to any one of the servers is estimated is estimated by calculating an absolute value of a difference between the Internet Protocol address of the client device and the Internet Protocol address of the one server. This provides a simple way of estimating the relative geographic locations. Thus the client device may first attempt to contact a local redirection server and/or local media content server. By shortening the delivery path of media content, better Quality of Service (QoS) in terms of end-to-end delay and network jitter can be achieved.
Other ways of estimating the relative location will be apparent to the skilled person, as will other ways of setting the relative order. For example, the relative order may be set in advance during an initial configuring of the client device. The order can be updated (and supplemented with new identifying information) during an updating process, such as when new servers are added to the network or when the client device switches to a different content provider.
In another embodiment there is provided a client device for accessing media content in a network, the client device comprising storage means configured to store information identifying a plurality of servers, said plurality of servers comprising one or more redirection servers and one or more media content servers; communication means configured to transmit and receive data over the network; and processing means configured to instruct the communication means to attempt to establish a connection to at least one of the identified redirection servers, to obtain information identifying an assigned media content server from which the media content is to be requested; if the information identifying the assigned media content server is obtained, instruct the communication means to attempt to establish a connection to the assigned media content server to request the media content; and if the information identifying the assigned media content server is not obtained, instruct the communication means to attempt to establish a connection to at least one of the identified media content servers to request the media content.
The communication means may be further configured to establish a tunneling connection. As mentioned above, the identified redirection servers may have a relative order in accordance with which the attempt to establish a connection to at least one of the identified redirection servers is performed. The identified media content servers may have a relative order in accordance with which the attempt to establish a connection to at least one of the identified media content servers is performed. Where the relative order is based on a geographical proximity of each of the respective servers to the client device, the processing means may be further configured to estimate the geographical proximity of the client device to any one of the servers by calculating an absolute value of a difference between the Internet Protocol address of the client device and the Internet Protocol address of the one server. In yet another embodiment there is provided a system comprising a client device according to any one of the foregoing paragraphs; at least one media content server configured to stream media content to the client device in response to a request therefor; and at least one redirection server configured to redirect the client to one of the media content servers.
The present invention and any of its embodiments can be implemented by software on a general purpose computer or in a combination of software and hardware. Thus any of the "means' defined above can be implemented as code modules in any combination in a computer.
In one embodiment there is provided a computer program product which may be embodied in a passive storage medium, and which configures a computer to perform a method defined in any one of the paragraphs above. Here, the term computer may encompass a computer with dedicated hardware. Embodiments may be provided in the form of a computer program product on a carrier medium, which may be embodied in a passive storage medium such as an optical or magnetic medium, or in an electronic medium such as a mass storage device (e.g. a FLASH memory), or in a hardware device implemented to achieve execution of instructions in accordance with the embodiment, such as ASIC, an FPGA, a DSP or the like. Alternatively the carrier medium can comprise a signal carrying the computer program code such as an optical signal, an electrical signal, an electromagnetic signal, an acoustic signal or a magnetic signal. For example, the signal can comprise a TCP/IP signal carrying the code over the Internet.
As used herein the term 'client' or 'client device' refers to a computer's general role as a receiver of media content, which refers to audio, video, graphics files (in uncompressed or compressed format), icons, software, text files and scripts, data, binary files and other computer-usable data used to operate a client and produce desired audio-visual effects on the client for a viewer. Thus a client can comprise a computer apparatus configured in accordance with software.
As used herein the term 'media content server' refers to a computer's general role as a provider of media content, and includes different types of servers such as a web server, streaming server, and so on. It will be understood that terms such as 'a server' or 'a media content server' do not exclude the possibility of the provision of more than one of these units. For example, a server may be a set of servers in a cluster that can be presented as a single server or "virtual" server to the client. Thus a server can comprise a computer apparatus configured in accordance with software.
The term content delivery network or content delivery system generally refers to any server based infrastructure configured to deliver media content to client devices. The delivery of media content can be over a dedicated network or a shared network such as the Internet. The infrastructure may be provided by a cable operator, a mobile operator, a satellite operator, a network operator, a service provider, an over-the-top (OOT) service provider, a broadcaster, a reseller, or a content provider. BRIEF DESCRIPTION OF THE DRAWINGS
Further aspects, features and advantages will become apparent to the reader of the following description of specific embodiments, provided by way of example only, with reference to the accompanying drawings, in which:
Figure 1 is a simplified network diagram of a system for delivering content to a client in accordance with an embodiment;
Figure 2 is a sequence diagram illustrating operating processes that can be implemented by the system shown in Figure 1 ;
Figure 3 is a sequence diagram illustrating operating processes that can be implemented by a system for delivering content to a client device in accordance with another embodiment;
Figure 4 is a simplified network diagram of a system for delivering content to a client in accordance with another embodiment;
Figure 5 is a schematic illustration of a client device in accordance with an embodiment; and
Figure 6 is a flow diagram showing operation of the client device in accordance with an embodiment.
DETAILED DESCRIPTION
Figure 1 is a simplified network diagram of a content delivery system 100 in which streaming media content can be delivered to a client device 104, such as a set-top box. An exemplary system is an IPTV system that can support Video on Demand (VOD), Live TV, and Pay-Per-View (PPV).
The system 100 comprises a headend 102 for delivering content to client 104 over a network 120. The headend 102 includes an Electronic Program Guide (EPG) server 106, a redirection server 108, and one or more streaming servers 110a, 110b, which are connected through an Ethernet or other communication network 105.
The headend 102 is also connected to backend business and operation support systems 112. These provide functionalities such as billing and customer management, authentication, authorization and accounting (AAA), and system management including performance analysis.
The EPG server 106 is a portal of IPTV service, providing information to the client 104 in the form of an on-screen guide for example. This allows a user to navigate, select and search for content by time, title, live channel and the like.
Redirection server 108 selects a streaming server to handle a content request in accordance with a load balancing algorithm. The particular manner in which the redirection server determines the most suitable media content server is outside the scope of this disclosure. However, broadly speaking, the redirection server 108 can distinguish between different content requests, thereby enabling the distribution of load according to content availability at (and performance capabilities of) the streaming servers 110a, 110b.
The redirection server 108 supports control protocols such as the Real Time Streaming Protocol (RTSP), which functions as a 'network remote control' for regulating access to content by redirecting the client 104 to a streaming server. The redirection server may also include preventive measures to guard against attacks from outside the system.
Requested content, such as video, is delivered by a streaming server 110a, 110b to the client device using a data protocol such as MPEG-4 (H.264), IS A/MPEG-2 TS, or RTSP/RTCP/RTP/SDP, over IP-network 120. Typically, each server can provide between 1 ,000 and 10,000 concurrent streams of high-resolution video application.
Content is provided to the streaming servers 110a, 110b from a content storage system 114 comprising content storage servers 116. An exemplary content storage system is a Storage Area Network (SAN). Selected content can be stored in cache 118a, 118b at the streaming servers 110a, 110b. Figure 2 is a sequence diagram illustrating operating processes that can be implemented by the system 100 shown in Figure 1. The processes include a monitoring process, a redirecting process and streaming process. The monitoring process is a periodic process in which an agent on the streaming server collects load and real-time content play information (step S202) that is then fed back to the redirection server (step S204). The redirection server then uses this information to update its database (step S206). The monitoring process may be performed every two seconds for example.
In the redirecting process, the client initiates an RTSP request for a conversation with a streaming server (step S208), in response to selection of content by a client user. The request is sent, with the help of Doman Name System (DNS) resolution for example, to the redirection server for processing (step S210).
At step S212, the received request is processed by the redirection server. Request processing can include an authentication step for authenticating the client device using its MAC address for example. In its simplest form, the system is specific to a particular service provider or reseller, so that, in principle, clients have access to all streaming servers. Alternatively, the system can be shared between two or more service providers or resellers. In such cases, the client can be mapped to specific content and/or specific streaming server(s) related to a particular service provider or reseller.
The redirection server then selects a suitable streaming server in accordance with the stored information and using a load balancing algorithm.
An identifier of the selected streaming server is then sent to the client (step S214), for example using the RTSP 'REDIRECT' (3XX) command. The identifier can be contained in a 'Location' field of the redirection server's response message. The redirection server updates its database (step S218) to maintain its effectiveness until the next periodic feedback is received from the streaming servers.
After obtaining the redirection message, the client then sends the request for the content to the identified streaming server (step S216). The streaming server finds the required content, which can be stored locally or requested from a remote storage system, and streams the content to the client (steps S224 and S226), where it is buffered and played (step S228). The client device can pause, rewind or fast forward the content, by sending the corresponding request using RTSP. During the streaming process (streaming session), there is generally no further communication with the redirection server.
Figure 3 is a sequence diagram illustrating operating processes that can be implemented according to another embodiment.
In this system, global redirecting . is provided to cope with clients who are geographically distributed across different areas/cities. The basic redirecting principles explained above apply equally here. The processes include a monitoring process, a redirecting process and streaming process (not shown for reasons of clarity). At step S302 the streaming server collects load content information and real-time content play information, and transmits this information to one or more associated local redirection servers (step S304). At step S306 the information is processed and at step S308 sent to a global redirection server (together with the local redirection server address information). The global redirection server then uses this information to update its database (step S310).
In the redirecting process, the client converses first with the global redirection server (steps S312, S314, S316 and S318) and then with the local redirection server to which it is redirected (steps S320, S322, S324 and S326). These steps are similar to those described with reference to Figure 2. The databases of the global and local redirection servers are updated accordingly at steps S317 and S325 to maintain up-to-date information. The process by which a global redirection server selects a local redirection server can be achieved according to the IP address of the client and the IP address of the local redirection servers. By comparing client and local redirection server IP addresses, the global redirection server can select the closest local redirection server for the client. For example, if the client's IP address is 92.168.1.6", and three local redirection servers have IP addresses Ί92.168.1.9", 92.168.2.9", and Ί92.167.1.9", an absolute value according to |IPCiient— IPiocai redirection serverl is calculated, yielding values of "3", Ί3" and "97", respectively. Thus, in this case, the first IP address (192.168.1.9) is considered to corresponding to the closest local redirection server, and will be selected for the client.
At steps S328 and S330, the client device processes the received information and issues a content request to the assigned streaming server. During this process, the client device does not communicate with the local or global redirection servers.
Figure 4 is a simplified network diagram of another system 400 for delivering streaming media content to a client. For clarity, some of the components shown in Figure 1 are not shown.
In this particular embodiment, a pair of redirection servers 408a, 408b is employed for added redundancy. The redirection servers are coupled together over a communication link 405 such as a serial connection. Both servers share one virtual IP address so that the client 404 does not need to distinguish between servers. Whichever redirection server assumes the virtual IP address can be designated as a master. If the master fails, then the second redirection server can assume its duties.
Here, the streaming servers 410a, 410b, 410c report their status information to both redirection servers simultaneously. This ensures that the two redirection servers maintain the same information. In this particular example, the client device is redirected to streaming server 410c.
It will be appreciated that the principles described with reference to Figures 2 to 3, i.e. the selection of a suitable streaming server and the use of global and local redirection servers, can equally be implemented in the embodiment shown in Figure 4.
Figure 5 is a schematic illustration of a client device 500 in accordance with an embodiment. The client device 500 comprises a processor 502, a memory 504, a communication unit 506, a buffer 508, a media application 510 and input means 512. An exemplary client device is a set-top box, with input means 512 comprising an Infrared (IR) sensor detecting user selections of media content via signals sent from a remote control. The input means outputs a signal to processor 502, which looks up an identifier of a redirection server stored in memory 504. The processor instructs the communications unit 506 to establish a connection to the selected redirection server. As has been described previously, the redirection server is operable to provide an identifier of a selected media content server to the client. It will be appreciated that the received identifier may be an identifier that is already known to the client
The memory 504 also stores identifiers of streaming servers so that, in the event that a redirection server cannot be reached, the processor 502 can instruct the communication unit to attempt to contact one of these. VPN settings also stored in memory 504 enable the communication unit to establish a tunneling connection to any one of the remote servers.
Identifiers include DNS names and IP addresses of redirection servers and media content servers. The DNS names and IP addresses may have a predetermined order that specifies an order in which the corresponding servers are to be contacted. The order may be established when the client is first configured, for example using a USB memory device, and updated using information from a remote update server, or a combination of the two. New identifiers may also be entered manually by the user. VPN settings include encryption and authentication settings.
Media content received from a media content server is received by the communications unit 506 and placed in the buffer 508, ready for use by the media application 510. The media content can be received by means of the Transmission Stream (TS) or Internet Streaming Media Alliance (ISMA) compliant streaming protocol, which runs using RTSP and RTP/RTCP. Media application 510 is responsible for decoding the received data and subsequent output.
Figure 6 is a flow diagram showing how the client device access media content. The process begins at step S602, where the client device attempts to establish a connection to at least one of the redirection servers based on the information stored in memory. If successful (step S604 'YES'), the identifier of the assigned media content server is received (as described earlier with reference to Figure 2), and an attempt to connect to the assigned media content server is made (step S608). Otherwise, the client device attempts to connect to a media content server corresponding to an identifier stored in memory (step S606). If the connection is established (step S610 YES), the media content is requested from the media content server (step S612), buffered and played.
The order in which a server is contacted in either or both of steps S604 and S606 can be predetermined or determined at the time of execution. Similar to the method described with reference to Figure 3, the client device can calculate an absolute value of the difference between its IP address and each of the IP addresses stored in memory, i.e. (IP addresscfent - IP addressredirection
Figure imgf000014_0001
or |IP addressC|ient - IP addresSstreaming serverl- The server corresponding to the lowest calculated value can be selected. Thus, with reference to Figure 4, if neither redirection server 408 is available, the client device can select one of the streaming servers 410 according to the relative proximity.
Any one of the attempts to establish a connection may include attempting to establish a Virtual Private Network (VPN) connection. This sets up a link that is encrypted against network sniffers and firewalls. For example, if an Internet Service Provide (ISP) blocks normal access to the redirection server, the redirection server can be accessed using VPN. This is because the ISP is not aware of what data is being transmitted. Data transfer over a VPN is usually performed at a decreased transmission rate. Therefore, where a VPN connection is established to a streaming server, a suitable data compression technique may be implemented to reduce the number of transmitted bytes.
It will be understood that the processing means can include any or a combination of discrete electronic components, discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit having appropriate logic gates, a programmable gate array(s) (PGA), a filed programmable gate array (FPGA), and so on. The storage means can be any suitable memory such as dynamic or static random access memory (RAM), read only memory (ROM), cache and the like, storing information in the form of lists, reports or any other suitable arrangement.
It will be appreciated that although above embodiments advantageously store identifiers of redirection and streaming servers, the identifiers of other servers such as update servers and EPG servers can also be stored at the client device and accessed in the same ways as described above.
Although above embodiments are described in the context of streaming servers that deliver content over an IP-network, other embodiments of media content servers and networks may be employed. Thus, the communication means can be any one or more elements needed for communication using wireless (e.g. 3G, Wi-Fi, WiMAX, satellite) or wired technology (e.g. telephone lines/fiber optic lines), or a combination of the two technologies.
Although above embodiments are described in the context of set-top boxes, other embodiments of media devices can include desktop computers, laptops, handheld computing devices, games consoles, digital recording devices and the like.
Although above embodiments estimate a location of the client device relative to the respective servers by using the IP addresses, and specifically an absolute value of a difference between IPv4 IP addresses, it will be appreciated that other geo-location techniques using (other) IP addresses (e.g. IPv6 IP addresses) are also contemplated. These may provide further levels of geographic precision.
In the detailed description and summary above, references to "one embodiment", "an embodiment", "an example embodiment", etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. In particular, although the different selection methods have been described individually, it will be appreciated that they can be combined in different ways. Embodiments have been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.
Further, in describing representative embodiment of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied.
The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by those skilled in the art in light of the teachings and guidance. Although the present invention has been described hereinabove with reference to specific embodiments, it will be apparent to a skilled person in the art that modifications lie within the spirit and scope of the appended claims.

Claims

CLAIMS:
1. A method of accessing media content by a client device in a network, the method comprising:
storing information identifying a plurality of servers, said plurality of servers comprising one or more redirection servers and one or more media content servers; attempting to establish a connection to at least one of the identified redirection servers, to obtain information identifying an assigned media content server from which the media content is to be requested;
if the information identifying the assigned media content server is obtained, attempting to establish a connection to the assigned media content server to request the media content; and
if the information identifying the assigned media content server is not obtained, attempting to establish a connection to at least one of the identified media content servers to request the media content.
2. A method according to claim 1, wherein any one of the attempts to establish a connection comprises attempting to establish a tunneling connection.
3. A method according to claim 1 or claim 2, wherein the information identifying any one of the servers comprises at least one of a Domain Name Service name and an Internet Protocol address.
4. A method according to any one of the preceding claims, wherein said attempting to establish a connection to at least one of the identified redirection servers is performed in accordance with a relative order of said identified redirection servers.
5. A method according to any one of the preceding claims, wherein said attempting to establish a connection to at least one of the identified media content servers is performed in accordance with a relative order of said identified media content servers.
6. A method according to claim 4 or claim 5, wherein the relative order is based on a geographical proximity of each of the respective servers to the client device.
7. A method according to claim 6, wherein the geographical proximity of the client device to any one of the servers is estimated by calculating an absolute value of a difference between the Internet Protocol address of the client device and the Internet Protocol address of the one server.
8. A client device for accessing media content in a network, the client device comprising:
storage means configured to store information identifying a plurality of servers, said plurality of servers comprising one or more redirection servers and one or more media content servers;
communication means configured to transmit and receive data over the network; and
processing means configured to:
instruct the communication means to attempt to establish a connection to at least one of the identified redirection servers, to obtain information identifying an assigned media content server from which the media content is to be requested;
if the information identifying the assigned media content server is obtained, instruct the communication means to attempt to establish a connection to the assigned media content server to request the media content; and
if the information identifying the assigned media content server is not obtained, instruct the communication means to attempt to establish a connection to at least one of the identified media content servers to request the media content.
9. A client device according to claim 8, wherein the communication means is further configured to establish a tunneling connection.
10. A client device according to claim 8 or claim 9, wherein the information identifying any one of the servers comprises at least one of a Domain Name Service name and an Internet Protocol address.
11. A client device according to any one of claims 8 to 10, wherein the identified redirection servers have a relative order in accordance with which said attempt to establish a connection to at least one of the identified redirection servers is performed.
12. A client device according to any one of claims 8 to 11 , wherein the identified media content servers have a relative order in accordance with which said attempt to establish a connection to at least one of the identified media content servers is performed.
13. A client device according to claim 11 or claim 12, wherein the relative order is based on a geographical proximity of each of the respective servers to the client device.
14. The client device according to claim 13, wherein the processing means is further configured to estimate the geographical proximity of the client device to any one of the servers by calculating an absolute value of a difference between the Internet Protocol address of the client device and the Internet Protocol address of the one server.
15. A system comprising:
a client device according to any one of claims 8 to 14;
at least one media content server configured to stream media content to the client device in response to a request therefor; and
at least one redirection server configured to redirect the client to one of the media content servers. 6. A earner medium carrying computer readable code for controlling a computer to carry out the method of any one of claims 1 to 7.
A carrier medium carrying computer readable code for configuring a computer the client device of any one of claims 8 to 14.
PCT/CA2011/000116 2010-02-03 2011-02-03 Method and apparatus for accessing media content WO2011094843A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1001773.9 2010-02-03
GB1001773A GB2477514A (en) 2010-02-03 2010-02-03 Accessing media content

Publications (1)

Publication Number Publication Date
WO2011094843A1 true WO2011094843A1 (en) 2011-08-11

Family

ID=42082425

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2011/000116 WO2011094843A1 (en) 2010-02-03 2011-02-03 Method and apparatus for accessing media content

Country Status (2)

Country Link
GB (1) GB2477514A (en)
WO (1) WO2011094843A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9071631B2 (en) 2012-08-09 2015-06-30 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
US9678801B2 (en) 2012-08-09 2017-06-13 International Business Machines Corporation Service management modes of operation in distributed node service management
CN102917249B (en) * 2012-10-15 2018-03-13 中兴通讯股份有限公司 IPTV reservation systems and the reservation plan adding method based on the system
WO2014176990A1 (en) * 2013-10-11 2014-11-06 中兴通讯股份有限公司 Node allocation method, device and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112792A1 (en) * 2001-12-14 2003-06-19 At &T Corp. Method for content-aware redirection and content renaming
US20050216942A1 (en) * 2000-03-02 2005-09-29 Tivo Inc. Multicasting multimedia content distribution system
US20080288458A1 (en) * 2005-12-08 2008-11-20 Nortel Networks Limited Session Initiation Protocol (Sip) Multicast Management Method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2366928A (en) * 2000-09-15 2002-03-20 On Digital Plc Video broadcasting and internet access
CA2408766A1 (en) * 2001-10-17 2003-04-17 Telecommunications Research Laboratory Content delivery network bypass system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050216942A1 (en) * 2000-03-02 2005-09-29 Tivo Inc. Multicasting multimedia content distribution system
US20030112792A1 (en) * 2001-12-14 2003-06-19 At &T Corp. Method for content-aware redirection and content renaming
US20080288458A1 (en) * 2005-12-08 2008-11-20 Nortel Networks Limited Session Initiation Protocol (Sip) Multicast Management Method

Also Published As

Publication number Publication date
GB201001773D0 (en) 2010-03-24
GB2477514A (en) 2011-08-10

Similar Documents

Publication Publication Date Title
US8832726B2 (en) Video streaming entitlement determined based on the location of the viewer
EP1895777B1 (en) Method of providing an IPTV service
US20180027035A1 (en) Redirection apparatus and method
US8719910B2 (en) Video broadcasting to mobile communication devices
US11277456B2 (en) System and method for delivering an audio-visual con tent to a client device
US9118943B2 (en) Video on demand processing
US8180911B2 (en) Method of distributing real time data streams across a multimedia network as well as a mediation device and a multimedia network therefore
US20120297423A1 (en) Method and system for program and stream control of video to target device
US20130007226A1 (en) Content multicasting
EP2779658A2 (en) Segmented content delivery
US20150215680A1 (en) Method and apparatus for providing video on demand
US8976786B2 (en) Broadcast interactive television system
KR20120092622A (en) Streaming with optional broadcast delivery of data segments
US8200831B2 (en) Fast setup response prediction
KR20120114016A (en) Method and apparatus for network adaptive streaming user data in a outer terminal
US20090245494A1 (en) System and method for recording communication activities
WO2011094843A1 (en) Method and apparatus for accessing media content
WO2007137500A1 (en) Public video system and implementation method
US9367489B1 (en) Adjusting the size of a media presentation received by a mobile device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11739292

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11739292

Country of ref document: EP

Kind code of ref document: A1