GB2477514A - Accessing media content - Google Patents
Accessing media content Download PDFInfo
- Publication number
- GB2477514A GB2477514A GB1001773A GB201001773A GB2477514A GB 2477514 A GB2477514 A GB 2477514A GB 1001773 A GB1001773 A GB 1001773A GB 201001773 A GB201001773 A GB 201001773A GB 2477514 A GB2477514 A GB 2477514A
- Authority
- GB
- United Kingdom
- Prior art keywords
- media content
- servers
- client device
- server
- establish
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/254—Management at additional data server, e.g. shopping server, rights management server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G06F17/30902—
-
- H04L29/0621—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1013—Network architectures, gateways, control or user entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
Abstract
A method for accessing media content by a client 104 comprises storing information identifying a plurality of servers, the plurality of servers comprising one or more redirection servers 108 and one or more media content streaming servers 110a, 110b. 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. The connection to a server may be based on geographic proximity which may be 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 server.
Description
METHOD AND APPARATUS FOR ACCESSING MEDIA CONTENT
Brief Description of the Invention
The present invention relates generally to accessing media content, particularly, but not exclusively, in a content delivery network such as an IPT\J system.
Background to the Invention
Content delivery networks (CDNs) enable the effective delivery of increasingly popular on-demand multimedia services such as video streaming. Generally, CONs 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 load 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 (V0D) 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 of the Invention
In one aspect of the invention 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 (Q0S) 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 aspect of the invention 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 aspect of the invention 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 of the invention 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.
Aspects of the invention 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 invention, 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 of the invention will become apparent to the reader of the following description of specific embodiments of the invention, 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 of the invention; 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 of the invention; Figure 4 is a simplified network diagram of a system for delivering content to a client in accordance with another embodiment of the invention; Figure 5 is a schematic illustration of a client device in accordance with an embodiment of the invention; and Figure 6 is a flow diagram showing operation of the client device in accordance with an embodiment of the invention.
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 llOa, ilOb, 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 llOa, IlOb.
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 11 Oa, 11 Ob to the client device using a data protocol such as MPEG-4 (H.264), ISMA/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 11 Oa, 11 Ob 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 11 Oa, 11 Ob.
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 S21 0).
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 "192.168.1.6", and three local redirection servers have IP addresses "192.168.1.9", "192.168.2.9", and "192.167.1.9", an absolute value according to 1lPcIjent -lPiocai redirection serverl is calculated, yielding values of "3", "13" 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 41 Oc.
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. lIP addresscitent -IP addressredjrectjofl served or lip addresscient -IP addressstreaming server1 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 IF-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 IF addresses, and specifically an absolute value of a difference between lPv4 IP addresses, it will be appreciated that other geo-location techniques using (other) IP addresses (e.g. lPv6 IF addresses) are also contemplated.
These may provide further levels of geographic precision.
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 (17)
- 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 corn prising: 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.
- 16. A carrier medium carrying computer readable code for controlling a computer to carry out the method of any one of claims I to 7.
- 17. A carrier medium carrying computer readable code for configuring a computer as the client device of any one of claims 8 to 14.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1001773A GB2477514A (en) | 2010-02-03 | 2010-02-03 | Accessing media content |
PCT/CA2011/000116 WO2011094843A1 (en) | 2010-02-03 | 2011-02-03 | Method and apparatus for accessing media content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1001773A GB2477514A (en) | 2010-02-03 | 2010-02-03 | Accessing media content |
Publications (2)
Publication Number | Publication Date |
---|---|
GB201001773D0 GB201001773D0 (en) | 2010-03-24 |
GB2477514A true GB2477514A (en) | 2011-08-10 |
Family
ID=42082425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB1001773A Withdrawn GB2477514A (en) | 2010-02-03 | 2010-02-03 | Accessing media content |
Country Status (2)
Country | Link |
---|---|
GB (1) | GB2477514A (en) |
WO (1) | WO2011094843A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102917249A (en) * | 2012-10-15 | 2013-02-06 | 中兴通讯股份有限公司南京分公司 | IPTV reservation system and reservation plan adding method based on same |
CN104580016A (en) * | 2013-10-11 | 2015-04-29 | 中兴通讯股份有限公司 | Node distribution method, device and system |
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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002023907A1 (en) * | 2000-09-15 | 2002-03-21 | Itv Digital Plc | Video broadcasting and internet access |
US20030174648A1 (en) * | 2001-10-17 | 2003-09-18 | Mea Wang | Content delivery network by-pass system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8261315B2 (en) * | 2000-03-02 | 2012-09-04 | Tivo Inc. | Multicasting multimedia content distribution system |
US6954456B2 (en) * | 2001-12-14 | 2005-10-11 | At & T Corp. | Method for content-aware redirection and content renaming |
EP1958080A4 (en) * | 2005-12-08 | 2014-05-07 | Nortel Networks Ltd | Session initiation protocol (sip) multicast management method |
-
2010
- 2010-02-03 GB GB1001773A patent/GB2477514A/en not_active Withdrawn
-
2011
- 2011-02-03 WO PCT/CA2011/000116 patent/WO2011094843A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002023907A1 (en) * | 2000-09-15 | 2002-03-21 | Itv Digital Plc | Video broadcasting and internet access |
US20030174648A1 (en) * | 2001-10-17 | 2003-09-18 | Mea Wang | Content delivery network by-pass system |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9749415B2 (en) | 2012-08-09 | 2017-08-29 | International Business Machines Corporation | Service management roles of processor nodes in distributed node service management |
US9762669B2 (en) | 2012-08-09 | 2017-09-12 | International Business Machines Corporation | Service management roles of processor nodes in distributed node service management |
US9071631B2 (en) | 2012-08-09 | 2015-06-30 | International Business Machines Corporation | Service management roles of processor nodes in distributed node service management |
US9071632B2 (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 |
US11223690B2 (en) | 2012-08-09 | 2022-01-11 | International Business Machines Corporation | Service management modes of operation in distributed node service management |
US10389824B2 (en) | 2012-08-09 | 2019-08-20 | International Business Machines Corporation | Service management modes of operation in distributed node service management |
US9678802B2 (en) | 2012-08-09 | 2017-06-13 | International Business Machines Corporation | Service management modes of operation in distributed node service management |
EP2897368A4 (en) * | 2012-10-15 | 2015-10-07 | Zte Corp | Interactive personal/internet protocol television subscription system, and subscription plan management method and device |
CN102917249A (en) * | 2012-10-15 | 2013-02-06 | 中兴通讯股份有限公司南京分公司 | IPTV reservation system and reservation plan adding method based on same |
CN102917249B (en) * | 2012-10-15 | 2018-03-13 | 中兴通讯股份有限公司 | IPTV reservation systems and the reservation plan adding method based on the system |
US9445162B2 (en) | 2012-10-15 | 2016-09-13 | Zte Corporation | Interactive personal/internet protocol television reservation system, reservation plan management method and device |
EP3057287A4 (en) * | 2013-10-11 | 2016-09-14 | Zte Corp | Node allocation method, device and system |
CN104580016A (en) * | 2013-10-11 | 2015-04-29 | 中兴通讯股份有限公司 | Node distribution method, device and system |
Also Published As
Publication number | Publication date |
---|---|
GB201001773D0 (en) | 2010-03-24 |
WO2011094843A1 (en) | 2011-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2934006B1 (en) | Streaming video monitoring using cdn data feeds | |
RU2658642C1 (en) | Video quality improvement | |
EP1895777B1 (en) | Method of providing an IPTV service | |
US8826349B2 (en) | Multicast adaptive stream switching for delivery of over the top video content | |
US8751679B2 (en) | HTTP adaptive streaming server with automatic rate shaping | |
US20180027035A1 (en) | Redirection apparatus and method | |
US8832726B2 (en) | Video streaming entitlement determined based on the location of the viewer | |
US9118943B2 (en) | Video on demand processing | |
US9232268B2 (en) | Unified video delivery system for supporting IP video streaming service | |
EP2779658A2 (en) | Segmented content delivery | |
US11277456B2 (en) | System and method for delivering an audio-visual con tent to a client device | |
US8976786B2 (en) | Broadcast interactive television system | |
EP2676455A2 (en) | Method and system for program and stream control of video to target device | |
KR20120092622A (en) | Streaming with optional broadcast delivery of data segments | |
US20100058396A1 (en) | Apparatus and method for managing a network | |
US8537992B2 (en) | System and method for recording communication activities | |
KR20120114016A (en) | Method and apparatus for network adaptive streaming user data in a outer terminal | |
GB2477514A (en) | Accessing media content | |
Cruz et al. | IPTV architecture for an IMS environment with dynamic QoS adaptation | |
KR20100059117A (en) | Streaming system and cache server for distributed multimedia contents and method for streaming contents | |
BG3451U1 (en) | Shared access system for mobile television | |
Mariappan et al. | Home Screen Adaptive Next Generation Broadcasting Service using MSA-ABR |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |