US20080168510A1 - System and method of routing video data - Google Patents

System and method of routing video data Download PDF

Info

Publication number
US20080168510A1
US20080168510A1 US11/651,909 US65190907A US2008168510A1 US 20080168510 A1 US20080168510 A1 US 20080168510A1 US 65190907 A US65190907 A US 65190907A US 2008168510 A1 US2008168510 A1 US 2008168510A1
Authority
US
United States
Prior art keywords
top box
end node
network
node group
box device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/651,909
Inventor
David Small
Canhui Ou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Intellectual Property I LP
Original Assignee
AT&T Knowledge Ventures LP
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 AT&T Knowledge Ventures LP filed Critical AT&T Knowledge Ventures LP
Priority to US11/651,909 priority Critical patent/US20080168510A1/en
Assigned to AT&T KNOWLEDGE VENTURES, LP reassignment AT&T KNOWLEDGE VENTURES, LP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OU, CANHUI, SMALL, DAVID
Publication of US20080168510A1 publication Critical patent/US20080168510A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • 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
    • H04N21/64322IP

Definitions

  • the present disclosure is generally related to systems and methods of routing video data.
  • data may be routed via a plurality of switches from a source to a destination.
  • Data may traverse the network via different physical network paths.
  • Such network paths may have different associated latencies, thereby causing portions of the data to be received at the destination out of sequence or with other complications.
  • Video data such as that transmitted by Video on Demand (VoD) systems, may be transmitted via switched networks.
  • Video data if lost or delayed, may result in an unsatisfactory viewing experience. Nonetheless, avoiding such loss and delay often results in increases in network infrastructure and costs.
  • VoIP Video on Demand
  • FIG. 1 is a block diagram of a particular illustrative embodiment of a system to route video data
  • FIG. 2 is a block diagram of a second particular illustrative embodiment of a system to route video data
  • FIG. 3 is a block diagram of a third particular illustrative embodiment of a system to route video data
  • FIG. 4 is a block diagram of a fourth particular illustrative embodiment of a system to route video data
  • FIG. 5 is a flow diagram of a particular illustrative embodiment of a method of routing video data
  • FIG. 6 is a flow diagram of a particular illustrative embodiment of a method of receiving video data
  • FIG. 7 is a flow diagram of a second particular illustrative embodiment of a method of routing video data
  • FIG. 8 is a flow diagram of a third particular illustrative embodiment of a method of routing video data.
  • FIG. 9 is a general diagram of a particular illustrative embodiment of a computer system.
  • a system and method are disclosed to route video data from a content source to a destination device, such as a set-top box device (STB), via a network.
  • the network may be a switched network, such as a private access network of an Internet Protocol Television (IPTV) system.
  • IPTV Internet Protocol Television
  • a content source can communicate with a network management system that is adapted to determine a set of network paths from the content source to multiple destination devices, where the network paths simultaneously satisfy particular constraints.
  • a system to route video data includes a network management system having a processor and a memory device accessible to the processor.
  • the memory device includes instructions executable by the processor to receive data from a Video on Demand (VoD) content source at a network management system, the data indicating a first set-top box device requesting VoD content.
  • the memory device also includes instructions executable by the processor to identify an end node group associated with the first set-top box device, wherein the end node group includes a plurality of set-top box devices that share a resource at the VoD content source.
  • VoD Video on Demand
  • the memory device also includes instructions executable by the processor to select a network path between the VoD content source and the first set-top box device from a set of prospective network paths associated with the first set-top box device.
  • the set of prospective network paths associated with the first set-top box device and network path sets associated with other set-top box devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay and jitter.
  • a method of routing video data includes receiving data from a Video on Demand (VoD) content source at a network management system, the data indicating a first set-top box device requesting VoD content.
  • the method also includes identifying an end node group associated with the first set-top box device, wherein the end node group includes a plurality of set-top box devices that share a resource at the VoD content source.
  • the method includes selecting a network path between the VoD content source and the first set-top box device from a set of prospective network paths associated with the first set-top box device.
  • the set of prospective network paths associated with the first set-top box device and network path sets associated with other set-top box devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay and jitter.
  • a processor-readable medium that embodies instructions executable by the processor to receive data from a Video on Demand (VoD) content source at a network management system, the data indicating a first set-top box device requesting VoD content.
  • the processor-readable medium also includes instructions executable by the processor to identify an end node group associated with the first set-top box device, wherein the end node group includes a plurality of set-top box devices that share a resource at the VoD content source.
  • the processor-readable medium also includes instructions executable by the processor to select a network path between the VoD content source and the first set-top box device from a set of prospective network paths associated with the first set-top box device.
  • the set of prospective network paths associated with the first set-top box device and network path sets associated with other set-top box devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay and jitter.
  • FIG. 1 is a block diagram of a particular illustrative embodiment of a system 1100 to route video data.
  • the system 100 includes a content source 102 , a network management system 103 , a first set-top box device 104 and a second set-top box device 106 .
  • the content source 102 communicates with the first and second set-top box devices 104 and 106 via a network 108 .
  • the network 108 can be a private access network of an Internet Protocol Television (IPTV) system.
  • IPTV Internet Protocol Television
  • the first and second set-top box devices 104 and 106 may receive video content via one or more network paths and may provide the received content to one or more display devices, such as the display devices 110 and 112 .
  • the network 108 can include a plurality of switches 114 , 116 , 118 , 120 , 122 , 124 , and 126 , which are communicatively coupled by a plurality of links 130 , 132 , 134 , 136 , 138 , 140 , 142 , 144 , 146 , 148 , 150 , and 152 .
  • the content source 102 may be coupled to a first switch 114 via a link 154 and to a second switch 122 via a link 156 .
  • the first set-top box device 104 may be coupled to the switch 118 via a link 158 and to the switch 126 via a link 160 .
  • the second set-top box device 106 may be coupled to the switch 126 via a link 162 and to the switch 124 via a link 164 .
  • link refers to a communication path that connects two switches or that connects a device to a switch.
  • a network path refers to a set of links and switches that define a communication channel between the content source 102 and a destination device, such as the set-top box device 104 .
  • a network path from the content source 102 to the first set-top box device 104 can include the switches 114 , 116 , 118 , and the links 154 , 130 , 142 , and 158 .
  • the content source 102 may include one or more servers and associated data stores to provide a VoD service to a plurality of subscribers.
  • the content source 102 may provide multiple services to subscribers and may offer access to a variety of resources to the particular subscriber.
  • a resource at the content source 102 may be a VoD service.
  • a resource at the content source 102 may be an Internet service, and the content source 102 may serve as an Internet service provider (ISP) to the subscriber.
  • ISP Internet service provider
  • the content source 102 may provide content including text, audio, video, other media content, or any combination thereof, to a destination device via the network 108 .
  • the content source 102 may provide VoD content from a central or regional video head end (VHE) of an IPTV system to the set-top box devices 104 and 106 .
  • VHE central or regional video head end
  • the network management system 103 may determine a set of prospective network paths for communication between the content source 102 and each of a plurality of destination devices.
  • a first network path from the content source 102 to the first set-top box device 104 may include the switches 114 , 116 , 118 , and the links 154 , 130 , 142 , and 158 .
  • a second network path from the content source 102 to the first set-top box device 104 may include the switches 114 , 124 , 126 and the links 154 , 134 , 152 and 160 .
  • a third network path from the content source 102 to the first set-top box device 104 may include the switches 114 , 120 , 126 and the links 154 , 132 , 146 , and 160 .
  • the first, second and third network paths may represent a set of prospective network paths that are associated with the set-top box device 104 .
  • the network management system 103 can associate the first set-top box device 104 with an end node group that includes a plurality of set-top boxes sharing a resource at the content source 102 .
  • the set of network paths associated with the first set top box device 104 may be distinct from network path sets associated with other set-top box devices of the end node group, such as a set of network paths associated with the second set-top box device 106 .
  • Network paths associated with an end node group can include network path sets associated with each of the set-top box devices of the end node group.
  • the network management system 103 can determine a set of network paths associated with each set-top box device of an end node group, by evaluating performance criteria associated with each possible network path between the content source and the set-top box device. Further, the network management system 103 can select prospective network paths for each set-top box device of an end node group, such that all network paths associated all set-top box devices of the end node group simultaneously satisfy one or more constraints. In a particular embodiment, the sets of network paths associated with the set-top box devices of an end node group can be selected interdependently.
  • all of the network paths associated with the set-top box devices of a particular end node group may simultaneously satisfy a plurality of constraints related to data routing performance, which may include constraints related to network path delay, jitter, network path differential delay, other constraints, or any combination thereof.
  • the plurality of constraints may include a delay constraint requiring that an expected network path delay for each network path associated with a set-top box device of the end node group does not exceed a pre-defined delay threshold.
  • the plurality of constraints may include a differential delay constraint requiring that a differential path delay for all pairs of network paths associated with the plurality of set-top box devices of the end node group does not exceed a pre-defined differential delay threshold.
  • Differential delay can include a difference in an expected network path delay between two network paths.
  • the plurality of constraints may include a jitter constraint requiring that a jitter for each network path associated with one of the plurality of set-top box devices of the end node group does not exceed a pre-defined jitter threshold.
  • jitter is a change in network path latency over time for a particular path, which may result in displacement or deviation of some aspects of information in a signal.
  • the plurality of constraints may include a path number constraint requiring that each set of network paths associated with a device of the end node group includes a maximum number, a minimum number, a particular number, or any combination thereof, of network paths.
  • the path number constraint can require that each set of network paths associated with a device of the end node group includes one or more shortest network paths between the content source 102 and the device.
  • the plurality of constraints may include an aggregated delay constraint requiring that a sum of expected network path delays of all network paths associated with the plurality of set-top box devices of the end node group is less than a sum of expected delays of a plurality of alternate network paths.
  • each alternate network path can connect one of the set-top box devices of the end node group to the content source, and each set-top box device of the end node group terminates a pre-defined number of alternate network paths.
  • each of the network paths associated with the plurality of set-top box devices of the end node group can include at least one link.
  • the plurality of constraints can include a path diversity constraint requiring that each network link is included in fewer than a pre-defined number of network paths.
  • the network management system 103 can define a relative importance to one or more constraints and apply one or more weighting factors to the constraints when determining network paths associated with an end node group. For example, the network management system 103 can determine that path diversity is less important than minimizing aggregated delay and can weight the two factors accordingly when selecting network path sets for devices of an end node group.
  • the content source 102 may receive a request for Video on Demand (VoD) content from the first set-top box device 104 .
  • the content source 102 can send data to the network management system 103 indicating that the set-top box device 104 has requested VoD content.
  • the network management system 103 may determine an end node group associated with the first set-top box device 104 .
  • the network management system 103 may select a network path between the content source 102 and the first set-top box device 104 from a set of prospective network paths associated with the first set-top box device 104 .
  • the network management system 103 can send data indicating the selected network path to the content source 102 , and the content source 102 may send VoD content to the first set-top box device 104 via the selected network path.
  • the network 108 may be a MultiProtocol Switching (MPLS) network.
  • a switch such as the switch 114 , may add a label to each packet of data received from the content source 102 . This label may be based on some criteria (such as a destination Internet Protocol address, a quality of service requirement, other criteria, or a combination thereof). The label may be used to steer data through the subsequent switches to a destination device (e.g., the first set-top box device 104 ).
  • Another switch such as the switch 118 or 126 , may remove the label before final delivery of the original data packet.
  • Multi-Protocol Label Switching Label Switch Paths may be provisioned from the network paths associated with an end node group, by determining explicitly routed Multi-Protocol Label Switching Label Switch Paths between the content source 102 and each device of the end node group.
  • FIG. 2 is a block diagram of a second particular illustrative embodiment of a system 200 to route video data.
  • the system 200 includes a content source 202 that communicates with a set-top box device (STB) 204 via a network 206 .
  • the content source also communicates with a network management system 203 .
  • the content source 202 may be adapted to provide video content to the set-top box device 204 via a network path that includes switches 218 , 220 , and 222 , and links 224 , 226 , 228 and 230 .
  • the content source 202 may provide video-on-demand (VoD) content from a central or regional video head end of an Internet Protocol Television (IPTV) system to the set-top box device 204 .
  • VoIP video-on-demand
  • IPTV Internet Protocol Television
  • the network management system 203 may include a processor 208 and a memory 210 .
  • the memory 210 may include an end node group determination module 212 , a path determination module 213 , a content source communication module 214 , and a path selection module 215 .
  • the various modules 212 - 215 can include hardware logic, processor-executable instructions, or any combination thereof.
  • the end node group determination module 212 can include instructions executable by the processor to associate set-top box devices, such as the set-top box device 204 , with one or more end node groups.
  • An end node group can include, for example, multiple set-top box devices that share a common resource at the content source 202 , such as a VoD service.
  • the path determination module 213 may be executable by the processor 208 to evaluate performance characteristics of various network paths from the content source 202 to the set-top box device 204 . Further, the path determination module 213 may be executable by the processor 208 to determine a set of prospective network paths associated with the set-top box device 204 by comparing such performance characteristics with pre-defined performance criteria that simultaneously apply to all network paths associated with devices of an end node group that includes the set-top box device 204 .
  • the network management system 203 may determine an expected performance characteristic such as network path delay, jitter, or a combination thereof, for each network path from the content source 202 to the set-top box device 204 .
  • the network management system 203 may select a set of prospective network paths to be associated with the first set-top box device 204 , such that performance characteristics of the set of prospective network paths to be associated with the first set-top box device 204 , and performance characteristics of prospective network paths associated with the other devices of the end node group, simultaneously satisfy the performance criteria.
  • the content source communication module 214 may be executable by the processor 208 to receive data from the content source 202 indicating a request for content from a set-top box device, such as the set-top box device 204 .
  • the network path selection module 215 may be executable by the processor 208 to determine an end node group associated with the set-top box device 204 and to select a network path from the set of prospective network paths associated with the set-top box device 204 based, for example, on current performance of the selected network path, past performance of the selected network path, projected performance of the selected network path, network traffic, bandwidth required by the video data, distance traversed by the selected network path, other factors to select a network path from a set of prospective network paths, or any combination thereof.
  • the content source communication module 214 may be executable by the processor 208 to send data indicating the selected network path to the content source 202 .
  • the content source 202 can send requested content to the set-top box device 204 via the selected network path, such as the network path including switches 218 - 222 and links 224 - 230 .
  • FIG. 3 is a block diagram of a third particular illustrative embodiment of a system 300 to route video data.
  • the system 300 includes a content source 302 that communicates with devices 306 - 310 of an end node group 304 via multiple network paths 314 - 330 .
  • the content source 302 also communicates with a network management system 303 .
  • particular network paths may be associated with particular end nodes at the network management system 303 .
  • the network paths 314 , 316 , and 318 may define a first set of network paths to facilitate communication between the content source 302 and a first end node 306 .
  • the network paths 320 , 322 , and 324 may define a second set of network paths to facilitate communication between the content source 302 and a second end node 308 .
  • the network paths 326 , 328 and 330 may define a third set of network paths to facilitate communication between the content source 302 and a third end node 310 .
  • Each of the end nodes 306 , 308 , and 310 may share a particular resource at the content source 302 , such as a Video on Demand (VoD) resource.
  • each end node 306 , 308 , and 310 can be a set-top box device, such as the first set-top box device 104 or the second set-top box device 106 , illustrated in FIG. 1 .
  • FIG. 4 is a block diagram of a third particular illustrative embodiment of a system 400 to route video data.
  • the system 400 includes a first content source 414 , a second content source 416 , and a third content source 418 , which communicate with end node groups 404 , 406 , 408 , and 410 via the network paths 442 - 448 . Further, the content sources 414 - 418 communicate with a network management system 403 .
  • a first end node group 404 can include end nodes 420 , 422 , 424 and 426 .
  • a second end node group 406 can overlap with the first end node group 404 and can include the end node 426 and an end node 428 .
  • a third end node group 408 includes end nodes 430 , 432 , 434 , and 438 .
  • a fourth end node group 410 can overlap with the third end node group 408 and can include the end node 438 and an end node 440 .
  • the network management system 403 can associate a set of network paths with each end node of a particular end node group, such as the end node groups 404 , 406 , 408 and 410 .
  • the content source 418 may determine a group of network paths 448 that is associated with the end node group 410 .
  • the group of network paths can include multiple sets of network paths, where each set is associated with a device of the end node group.
  • a set of network paths 450 may be associated with the end node 440 of the end node group 410 .
  • one or more end node devices can be associated with multiple end node groups.
  • the end node 438 may be associated with the end node groups 408 and 410 .
  • the network management system 403 may associate a set of prospective network paths with the end node 438 for transmission of content from the second content source 416 , and the network management system 403 may associate a distinct set of prospective network paths with the end node 438 for transmission of content from the third content source 418 .
  • the network management system 403 can determine sets of prospective network paths to associate with each end node device based on one or more performance constraints related to network path delay and jitter.
  • Such constraints can relate to individual network paths; to a particular set of network paths associated with an individual device, such as the set of network paths 450 ; to all network paths associated with an end node group, such as the groups of network paths 442 or 444 ; to multiple groups of network paths, for example, when a device is included in multiple groups; or any combination thereof.
  • the third content source 418 may receive a request for VoD content from the end node 440 .
  • the third content source 418 may send data to the network management system 403 indicating the request.
  • the network management system 403 determines the end node group 410 that includes the end node 440 .
  • the network management system 403 may select a network path 452 , for example, from the set of prospective network paths 450 associated with the end node 440 and may send data to the third content source 418 indicating that the network path 452 has been selected.
  • the third content source 418 may send the VoD content via the selected network path 452 .
  • FIG. 5 is a flow diagram of a particular illustrative embodiment of a method of routing video data.
  • a network management system receives data from video-on-demand (VoD) content source indicating that a set-top box device has requested VoD content.
  • the network management system identifies an end node group that includes the set-top box device.
  • the end node group can include a plurality of set-top box devices sharing a resource at the VoD content source.
  • the network management system selects a network path from a set of prospective network paths associated with the set-top box device.
  • the set of prospective network paths are included in a group of network paths associated with the end node group, and all network path sets associated with devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay, jitter, other constraints, or any combination thereof.
  • the network management system sends data indicating the selected content to the VoD content source. The method terminates at 510 .
  • FIG. 6 is a flow diagram of a particular illustrative embodiment of a method of receiving video data.
  • a set-top box device sends a request for video-on-demand (VoD) content to a VoD content source.
  • the set-top box device receives VoD content via a network path selected from a set of network paths associated with the set-top box device. For example, the selected path may satisfy a plurality of constraints related to network path delay and jitter between the content source and the set-top box device.
  • the set-top box device sends the received VoD content to a display device. The method terminates at 608 .
  • FIG. 7 is a flow diagram of a second particular illustrative embodiment of a method of routing video data.
  • a network management system associates a plurality of set-top box devices with an end node group, where each set-top box device of an end node group shares a common resource at a content source.
  • the network management system determines a set of prospective network paths for each set-top box device of the end node group. Each of the network paths associated with the set-top box devices of the end node group satisfy a plurality of constraints related to network path delay and jitter associated with content transmission.
  • the set of prospective network paths can include one or more shortest loopless paths communicatively connecting the set-top box device with the content source, where each network path of the set of prospective network paths is considered when determining a network path to send data to the set-top box device.
  • each set of prospective network paths associated with a set-top box device of the end node group may be distinct from other network path sets associated with other set-top box devices of the end node group.
  • the network management system receives data from a content source indicating that a set-top box device has requested content.
  • the network management system selects a network path from a set of prospective network paths associated with the set-top box device.
  • the network management system sends data to the content source indicating the selected network path. The method terminates at 714 .
  • FIG. 8 is a flow diagram illustrating a third particular illustrative embodiment of a method of routing video data.
  • a video-on-demand (VoD) content source receives a request for VoD content.
  • the VoD content source sends data indicating the request to a network management system.
  • the VoD content source receives data indicating a selected network path from the network management system.
  • the VoD content source sends the requested VoD content to the set-top box device via the selected network path. The method terminates at 810 .
  • FIG. 9 is a general diagram of a particular illustrative embodiment of a computer system 900 .
  • the computer system 900 can include a set of instructions that can be executed to cause the computer system 900 to perform any one or more of the methods or computer based functions disclosed herein.
  • the computer system 900 may operate as a standalone device or may be connected, e.g., using a network, to other computer systems or peripheral devices.
  • the computer system may operate in the capacity of a content source, network management system, set-top box device, or network switch, as illustrated in FIGS. 1-4 .
  • the computer system 900 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • PC personal computer
  • PDA personal digital assistant
  • the computer system 900 can be implemented using electronic devices that provide voice, video or data communication. Further, while a single computer system 900 is illustrated, the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
  • the computer system 900 may include a processor 902 , e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both. Moreover, the computer system 900 can include a main memory 904 and a static memory 906 , which can communicate with each other via a bus 908 . As shown, the computer system 900 may further include a video display unit 910 , such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, or a cathode ray tube (CRT).
  • LCD liquid crystal display
  • OLED organic light emitting diode
  • CTR cathode ray tube
  • the computer system 900 may include an input device 912 , such as a keyboard, a cursor control device 914 , such as a mouse, and a remote control device 915 .
  • the computer system 900 can also include a disk drive unit 916 , a signal generation device 918 , such as a speaker or remote control, and a network interface device 920 .
  • the disk drive unit 916 may include a computer-readable medium 922 in which one or more sets of instructions 924 , e.g. software, can be embedded. Further, the instructions 924 may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions 924 may reside completely, or at least partially, within the main memory 904 , the static memory 906 , and/or within the processor 902 during execution by the computer system 900 . The main memory 904 and the processor 902 also may include computer-readable media.
  • dedicated hardware implementations such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the methods described herein.
  • Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems.
  • One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
  • the methods described herein may be implemented by software programs executable by a computer system.
  • implementations can include distributed processing, component/object distributed processing, and parallel processing.
  • virtual computer system processing can be constructed to implement one or more of the methods or functionality as described herein.
  • the present disclosure contemplates a computer-readable medium that includes instructions 924 or receives and executes instructions 924 responsive to a propagated signal, so that a device connected to a network 926 can communicate voice, video or data over the network 926 . Further, the instructions 924 may be transmitted or received over the network 926 via the network interface device 920 .
  • While the computer-readable medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions.
  • the term “computer-readable medium” shall also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
  • the computer-readable medium can include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer-readable medium can be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium can include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture carrier wave signals such as a signal communicated over a transmission medium. A digital file attachment to an e-mail or other self-contained information archive or set of archives may be considered a distribution medium that is equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a computer-readable medium or a distribution medium and other equivalents and successor media, in which data or instructions may be stored.
  • inventions of the disclosure may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept.
  • inventions merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept.
  • specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown.
  • This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.

Abstract

A method of routing video data includes receiving data from a Video on Demand (VoD) content source at a network management system, the data indicating a first set-top box device requesting VoD content. The method also includes identifying an end node group associated with the first set-top box device. The end node group includes a plurality of set-top box devices that share a resource at the VoD content source. Further, the method includes selecting a network path between the VoD content source and the first set-top box device from a set of prospective network paths associated with the first set-top box device. The set of prospective network paths associated with the first set-top box device and network path sets associated with other set-top box devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay and jitter.

Description

    FIELD OF THE DISCLOSURE
  • The present disclosure is generally related to systems and methods of routing video data.
  • BACKGROUND
  • In a switched network, data may be routed via a plurality of switches from a source to a destination. Data may traverse the network via different physical network paths. Such network paths may have different associated latencies, thereby causing portions of the data to be received at the destination out of sequence or with other complications. Video data, such as that transmitted by Video on Demand (VoD) systems, may be transmitted via switched networks. Such video data, if lost or delayed, may result in an unsatisfactory viewing experience. Nonetheless, avoiding such loss and delay often results in increases in network infrastructure and costs. Hence, there is a need for an improved system and method of routing video data.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a particular illustrative embodiment of a system to route video data;
  • FIG. 2 is a block diagram of a second particular illustrative embodiment of a system to route video data;
  • FIG. 3 is a block diagram of a third particular illustrative embodiment of a system to route video data;
  • FIG. 4 is a block diagram of a fourth particular illustrative embodiment of a system to route video data;
  • FIG. 5 is a flow diagram of a particular illustrative embodiment of a method of routing video data;
  • FIG. 6 is a flow diagram of a particular illustrative embodiment of a method of receiving video data;
  • FIG. 7 is a flow diagram of a second particular illustrative embodiment of a method of routing video data;
  • FIG. 8 is a flow diagram of a third particular illustrative embodiment of a method of routing video data; and
  • FIG. 9 is a general diagram of a particular illustrative embodiment of a computer system.
  • DETAILED DESCRIPTION OF THE DRAWINGS
  • In general, a system and method are disclosed to route video data from a content source to a destination device, such as a set-top box device (STB), via a network. The network may be a switched network, such as a private access network of an Internet Protocol Television (IPTV) system. When data is routed via the network, the data may traverse one or more network paths to reach the destination. In a particular embodiment, a content source can communicate with a network management system that is adapted to determine a set of network paths from the content source to multiple destination devices, where the network paths simultaneously satisfy particular constraints.
  • In a particular embodiment, a system to route video data is disclosed that includes a network management system having a processor and a memory device accessible to the processor. The memory device includes instructions executable by the processor to receive data from a Video on Demand (VoD) content source at a network management system, the data indicating a first set-top box device requesting VoD content. The memory device also includes instructions executable by the processor to identify an end node group associated with the first set-top box device, wherein the end node group includes a plurality of set-top box devices that share a resource at the VoD content source. The memory device also includes instructions executable by the processor to select a network path between the VoD content source and the first set-top box device from a set of prospective network paths associated with the first set-top box device. The set of prospective network paths associated with the first set-top box device and network path sets associated with other set-top box devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay and jitter.
  • In another particular embodiment, a method of routing video data is disclosed that includes receiving data from a Video on Demand (VoD) content source at a network management system, the data indicating a first set-top box device requesting VoD content. The method also includes identifying an end node group associated with the first set-top box device, wherein the end node group includes a plurality of set-top box devices that share a resource at the VoD content source. Further, the method includes selecting a network path between the VoD content source and the first set-top box device from a set of prospective network paths associated with the first set-top box device. The set of prospective network paths associated with the first set-top box device and network path sets associated with other set-top box devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay and jitter.
  • In another embodiment, a processor-readable medium is disclosed that embodies instructions executable by the processor to receive data from a Video on Demand (VoD) content source at a network management system, the data indicating a first set-top box device requesting VoD content. The processor-readable medium also includes instructions executable by the processor to identify an end node group associated with the first set-top box device, wherein the end node group includes a plurality of set-top box devices that share a resource at the VoD content source. The processor-readable medium also includes instructions executable by the processor to select a network path between the VoD content source and the first set-top box device from a set of prospective network paths associated with the first set-top box device. The set of prospective network paths associated with the first set-top box device and network path sets associated with other set-top box devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay and jitter.
  • FIG. 1 is a block diagram of a particular illustrative embodiment of a system 1100 to route video data. The system 100 includes a content source 102, a network management system 103, a first set-top box device 104 and a second set-top box device 106. The content source 102 communicates with the first and second set- top box devices 104 and 106 via a network 108. In an illustrative embodiment, the network 108 can be a private access network of an Internet Protocol Television (IPTV) system. The first and second set- top box devices 104 and 106 may receive video content via one or more network paths and may provide the received content to one or more display devices, such as the display devices 110 and 112.
  • In a particular embodiment, the network 108 can include a plurality of switches 114, 116, 118, 120, 122, 124, and 126, which are communicatively coupled by a plurality of links 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, and 152. In an illustrative embodiment, the content source 102 may be coupled to a first switch 114 via a link 154 and to a second switch 122 via a link 156. In addition, the first set-top box device 104 may be coupled to the switch 118 via a link 158 and to the switch 126 via a link 160. Further, the second set-top box device 106 may be coupled to the switch 126 via a link 162 and to the switch 124 via a link 164.
  • As used herein, the term link refers to a communication path that connects two switches or that connects a device to a switch. A network path refers to a set of links and switches that define a communication channel between the content source 102 and a destination device, such as the set-top box device 104. For example, a network path from the content source 102 to the first set-top box device 104 can include the switches 114, 116, 118, and the links 154, 130, 142, and 158.
  • In a particular embodiment, the content source 102 may include one or more servers and associated data stores to provide a VoD service to a plurality of subscribers. The content source 102 may provide multiple services to subscribers and may offer access to a variety of resources to the particular subscriber. In a particular illustrative non-limiting embodiment, a resource at the content source 102 may be a VoD service. In another particular illustrative, non-limiting embodiment, a resource at the content source 102 may be an Internet service, and the content source 102 may serve as an Internet service provider (ISP) to the subscriber. The content source 102 may provide content including text, audio, video, other media content, or any combination thereof, to a destination device via the network 108. In an illustrative embodiment, the content source 102 may provide VoD content from a central or regional video head end (VHE) of an IPTV system to the set- top box devices 104 and 106.
  • In a particular embodiment, the network management system 103 may determine a set of prospective network paths for communication between the content source 102 and each of a plurality of destination devices. For example, a first network path from the content source 102 to the first set-top box device 104 may include the switches 114, 116, 118, and the links 154, 130, 142, and 158. A second network path from the content source 102 to the first set-top box device 104 may include the switches 114, 124, 126 and the links 154, 134, 152 and 160. A third network path from the content source 102 to the first set-top box device 104 may include the switches 114, 120, 126 and the links 154, 132, 146, and 160. The first, second and third network paths may represent a set of prospective network paths that are associated with the set-top box device 104.
  • In a particular embodiment, the network management system 103 can associate the first set-top box device 104 with an end node group that includes a plurality of set-top boxes sharing a resource at the content source 102. The set of network paths associated with the first set top box device 104 may be distinct from network path sets associated with other set-top box devices of the end node group, such as a set of network paths associated with the second set-top box device 106. Network paths associated with an end node group can include network path sets associated with each of the set-top box devices of the end node group.
  • In an illustrative embodiment, the network management system 103 can determine a set of network paths associated with each set-top box device of an end node group, by evaluating performance criteria associated with each possible network path between the content source and the set-top box device. Further, the network management system 103 can select prospective network paths for each set-top box device of an end node group, such that all network paths associated all set-top box devices of the end node group simultaneously satisfy one or more constraints. In a particular embodiment, the sets of network paths associated with the set-top box devices of an end node group can be selected interdependently.
  • In an exemplary embodiment, all of the network paths associated with the set-top box devices of a particular end node group may simultaneously satisfy a plurality of constraints related to data routing performance, which may include constraints related to network path delay, jitter, network path differential delay, other constraints, or any combination thereof.
  • In a particular embodiment, the plurality of constraints may include a delay constraint requiring that an expected network path delay for each network path associated with a set-top box device of the end node group does not exceed a pre-defined delay threshold. In another particular embodiment, the plurality of constraints may include a differential delay constraint requiring that a differential path delay for all pairs of network paths associated with the plurality of set-top box devices of the end node group does not exceed a pre-defined differential delay threshold. Differential delay can include a difference in an expected network path delay between two network paths.
  • In another particular embodiment, the plurality of constraints may include a jitter constraint requiring that a jitter for each network path associated with one of the plurality of set-top box devices of the end node group does not exceed a pre-defined jitter threshold. In general, jitter is a change in network path latency over time for a particular path, which may result in displacement or deviation of some aspects of information in a signal.
  • In yet another particular embodiment, the plurality of constraints may include a path number constraint requiring that each set of network paths associated with a device of the end node group includes a maximum number, a minimum number, a particular number, or any combination thereof, of network paths. In an illustrative embodiment, the path number constraint can require that each set of network paths associated with a device of the end node group includes one or more shortest network paths between the content source 102 and the device.
  • In a particular embodiment, the plurality of constraints may include an aggregated delay constraint requiring that a sum of expected network path delays of all network paths associated with the plurality of set-top box devices of the end node group is less than a sum of expected delays of a plurality of alternate network paths. In an illustrative embodiment, each alternate network path can connect one of the set-top box devices of the end node group to the content source, and each set-top box device of the end node group terminates a pre-defined number of alternate network paths.
  • In a particular embodiment, each of the network paths associated with the plurality of set-top box devices of the end node group can include at least one link. The plurality of constraints can include a path diversity constraint requiring that each network link is included in fewer than a pre-defined number of network paths.
  • In an illustrative embodiment, the network management system 103 can define a relative importance to one or more constraints and apply one or more weighting factors to the constraints when determining network paths associated with an end node group. For example, the network management system 103 can determine that path diversity is less important than minimizing aggregated delay and can weight the two factors accordingly when selecting network path sets for devices of an end node group.
  • In a particular illustrative embodiment, the content source 102 may receive a request for Video on Demand (VoD) content from the first set-top box device 104. The content source 102 can send data to the network management system 103 indicating that the set-top box device 104 has requested VoD content. The network management system 103 may determine an end node group associated with the first set-top box device 104. The network management system 103 may select a network path between the content source 102 and the first set-top box device 104 from a set of prospective network paths associated with the first set-top box device 104. In a particular embodiment, the network management system 103 can send data indicating the selected network path to the content source 102, and the content source 102 may send VoD content to the first set-top box device 104 via the selected network path.
  • In an illustrative, non-limiting embodiment, the network 108 may be a MultiProtocol Switching (MPLS) network. A switch, such as the switch 114, may add a label to each packet of data received from the content source 102. This label may be based on some criteria (such as a destination Internet Protocol address, a quality of service requirement, other criteria, or a combination thereof). The label may be used to steer data through the subsequent switches to a destination device (e.g., the first set-top box device 104). Another switch, such as the switch 118 or 126, may remove the label before final delivery of the original data packet. In a particular illustrative embodiment, Multi-Protocol Label Switching Label Switch Paths (MPLS LSP) may be provisioned from the network paths associated with an end node group, by determining explicitly routed Multi-Protocol Label Switching Label Switch Paths between the content source 102 and each device of the end node group.
  • FIG. 2 is a block diagram of a second particular illustrative embodiment of a system 200 to route video data. The system 200 includes a content source 202 that communicates with a set-top box device (STB) 204 via a network 206. The content source also communicates with a network management system 203. In a particular embodiment, the content source 202 may be adapted to provide video content to the set-top box device 204 via a network path that includes switches 218, 220, and 222, and links 224, 226, 228 and 230. In an illustrative embodiment, the content source 202 may provide video-on-demand (VoD) content from a central or regional video head end of an Internet Protocol Television (IPTV) system to the set-top box device 204.
  • In a particular embodiment, the network management system 203 may include a processor 208 and a memory 210. The memory 210 may include an end node group determination module 212, a path determination module 213, a content source communication module 214, and a path selection module 215. The various modules 212-215 can include hardware logic, processor-executable instructions, or any combination thereof.
  • In a particular embodiment, the end node group determination module 212 can include instructions executable by the processor to associate set-top box devices, such as the set-top box device 204, with one or more end node groups. An end node group can include, for example, multiple set-top box devices that share a common resource at the content source 202, such as a VoD service.
  • In a particular embodiment, the path determination module 213 may be executable by the processor 208 to evaluate performance characteristics of various network paths from the content source 202 to the set-top box device 204. Further, the path determination module 213 may be executable by the processor 208 to determine a set of prospective network paths associated with the set-top box device 204 by comparing such performance characteristics with pre-defined performance criteria that simultaneously apply to all network paths associated with devices of an end node group that includes the set-top box device 204.
  • For example, the network management system 203 may determine an expected performance characteristic such as network path delay, jitter, or a combination thereof, for each network path from the content source 202 to the set-top box device 204. The network management system 203 may select a set of prospective network paths to be associated with the first set-top box device 204, such that performance characteristics of the set of prospective network paths to be associated with the first set-top box device 204, and performance characteristics of prospective network paths associated with the other devices of the end node group, simultaneously satisfy the performance criteria.
  • In a particular embodiment, the content source communication module 214 may be executable by the processor 208 to receive data from the content source 202 indicating a request for content from a set-top box device, such as the set-top box device 204. The network path selection module 215 may be executable by the processor 208 to determine an end node group associated with the set-top box device 204 and to select a network path from the set of prospective network paths associated with the set-top box device 204 based, for example, on current performance of the selected network path, past performance of the selected network path, projected performance of the selected network path, network traffic, bandwidth required by the video data, distance traversed by the selected network path, other factors to select a network path from a set of prospective network paths, or any combination thereof. The content source communication module 214 may be executable by the processor 208 to send data indicating the selected network path to the content source 202. The content source 202 can send requested content to the set-top box device 204 via the selected network path, such as the network path including switches 218-222 and links 224-230.
  • FIG. 3 is a block diagram of a third particular illustrative embodiment of a system 300 to route video data. The system 300 includes a content source 302 that communicates with devices 306-310 of an end node group 304 via multiple network paths 314-330. The content source 302 also communicates with a network management system 303. In general, particular network paths may be associated with particular end nodes at the network management system 303. For example, the network paths 314, 316, and 318 may define a first set of network paths to facilitate communication between the content source 302 and a first end node 306. The network paths 320, 322, and 324 may define a second set of network paths to facilitate communication between the content source 302 and a second end node 308. The network paths 326, 328 and 330 may define a third set of network paths to facilitate communication between the content source 302 and a third end node 310. Each of the end nodes 306, 308, and 310 may share a particular resource at the content source 302, such as a Video on Demand (VoD) resource. In a particular embodiment, each end node 306, 308, and 310 can be a set-top box device, such as the first set-top box device 104 or the second set-top box device 106, illustrated in FIG. 1.
  • FIG. 4 is a block diagram of a third particular illustrative embodiment of a system 400 to route video data. The system 400 includes a first content source 414, a second content source 416, and a third content source 418, which communicate with end node groups 404, 406, 408, and 410 via the network paths 442-448. Further, the content sources 414-418 communicate with a network management system 403. In an illustrative embodiment, a first end node group 404 can include end nodes 420, 422, 424 and 426. A second end node group 406 can overlap with the first end node group 404 and can include the end node 426 and an end node 428. A third end node group 408 includes end nodes 430, 432, 434, and 438. A fourth end node group 410 can overlap with the third end node group 408 and can include the end node 438 and an end node 440.
  • In an illustrative, non-limiting embodiment, the network management system 403 can associate a set of network paths with each end node of a particular end node group, such as the end node groups 404, 406, 408 and 410. For example, the content source 418 may determine a group of network paths 448 that is associated with the end node group 410. The group of network paths can include multiple sets of network paths, where each set is associated with a device of the end node group. For instance, a set of network paths 450 may be associated with the end node 440 of the end node group 410.
  • In a particular illustrative embodiment, one or more end node devices can be associated with multiple end node groups. For instance, the end node 438 may be associated with the end node groups 408 and 410. The network management system 403 may associate a set of prospective network paths with the end node 438 for transmission of content from the second content source 416, and the network management system 403 may associate a distinct set of prospective network paths with the end node 438 for transmission of content from the third content source 418.
  • In general, the network management system 403 can determine sets of prospective network paths to associate with each end node device based on one or more performance constraints related to network path delay and jitter. Such constraints can relate to individual network paths; to a particular set of network paths associated with an individual device, such as the set of network paths 450; to all network paths associated with an end node group, such as the groups of network paths 442 or 444; to multiple groups of network paths, for example, when a device is included in multiple groups; or any combination thereof.
  • In a particular illustrative embodiment, the third content source 418 may receive a request for VoD content from the end node 440. The third content source 418 may send data to the network management system 403 indicating the request. The network management system 403 determines the end node group 410 that includes the end node 440. The network management system 403 may select a network path 452, for example, from the set of prospective network paths 450 associated with the end node 440 and may send data to the third content source 418 indicating that the network path 452 has been selected. The third content source 418 may send the VoD content via the selected network path 452.
  • FIG. 5 is a flow diagram of a particular illustrative embodiment of a method of routing video data. At block 502, a network management system receives data from video-on-demand (VoD) content source indicating that a set-top box device has requested VoD content. Moving to block 504, the network management system identifies an end node group that includes the set-top box device. In a particular embodiment, the end node group can include a plurality of set-top box devices sharing a resource at the VoD content source.
  • Continuing to block 506, the network management system selects a network path from a set of prospective network paths associated with the set-top box device. The set of prospective network paths are included in a group of network paths associated with the end node group, and all network path sets associated with devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay, jitter, other constraints, or any combination thereof. Proceeding to block 508, in a particular embodiment, the network management system sends data indicating the selected content to the VoD content source. The method terminates at 510.
  • FIG. 6 is a flow diagram of a particular illustrative embodiment of a method of receiving video data. At block 602, a set-top box device sends a request for video-on-demand (VoD) content to a VoD content source. Moving to block 604, the set-top box device receives VoD content via a network path selected from a set of network paths associated with the set-top box device. For example, the selected path may satisfy a plurality of constraints related to network path delay and jitter between the content source and the set-top box device. In a particular illustrative embodiment, at block 606, the set-top box device sends the received VoD content to a display device. The method terminates at 608.
  • FIG. 7 is a flow diagram of a second particular illustrative embodiment of a method of routing video data. At block 704, a network management system associates a plurality of set-top box devices with an end node group, where each set-top box device of an end node group shares a common resource at a content source. Moving to block 706, the network management system determines a set of prospective network paths for each set-top box device of the end node group. Each of the network paths associated with the set-top box devices of the end node group satisfy a plurality of constraints related to network path delay and jitter associated with content transmission.
  • In an illustrative embodiment, the set of prospective network paths can include one or more shortest loopless paths communicatively connecting the set-top box device with the content source, where each network path of the set of prospective network paths is considered when determining a network path to send data to the set-top box device. In a particular embodiment, each set of prospective network paths associated with a set-top box device of the end node group may be distinct from other network path sets associated with other set-top box devices of the end node group.
  • Proceeding to block 708, the network management system receives data from a content source indicating that a set-top box device has requested content. Continuing to block 710, the network management system selects a network path from a set of prospective network paths associated with the set-top box device. Advancing to block 712, the network management system sends data to the content source indicating the selected network path. The method terminates at 714.
  • FIG. 8 is a flow diagram illustrating a third particular illustrative embodiment of a method of routing video data. At block 802, a video-on-demand (VoD) content source receives a request for VoD content. Moving to block 804, the VoD content source sends data indicating the request to a network management system. At block 806, the VoD content source receives data indicating a selected network path from the network management system. Proceeding to block 808, the VoD content source sends the requested VoD content to the set-top box device via the selected network path. The method terminates at 810.
  • FIG. 9 is a general diagram of a particular illustrative embodiment of a computer system 900. The computer system 900 can include a set of instructions that can be executed to cause the computer system 900 to perform any one or more of the methods or computer based functions disclosed herein. The computer system 900 may operate as a standalone device or may be connected, e.g., using a network, to other computer systems or peripheral devices.
  • In a networked deployment, the computer system may operate in the capacity of a content source, network management system, set-top box device, or network switch, as illustrated in FIGS. 1-4. The computer system 900 can also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a land-line telephone, a control system, a camera, a scanner, a facsimile machine, a printer, a pager, a personal trusted device, a web appliance, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In a particular embodiment, the computer system 900 can be implemented using electronic devices that provide voice, video or data communication. Further, while a single computer system 900 is illustrated, the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.
  • As illustrated in FIG. 9, the computer system 900 may include a processor 902, e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both. Moreover, the computer system 900 can include a main memory 904 and a static memory 906, which can communicate with each other via a bus 908. As shown, the computer system 900 may further include a video display unit 910, such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, or a cathode ray tube (CRT). Additionally, the computer system 900 may include an input device 912, such as a keyboard, a cursor control device 914, such as a mouse, and a remote control device 915. The computer system 900 can also include a disk drive unit 916, a signal generation device 918, such as a speaker or remote control, and a network interface device 920.
  • In a particular embodiment, as depicted in FIG. 9, the disk drive unit 916 may include a computer-readable medium 922 in which one or more sets of instructions 924, e.g. software, can be embedded. Further, the instructions 924 may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions 924 may reside completely, or at least partially, within the main memory 904, the static memory 906, and/or within the processor 902 during execution by the computer system 900. The main memory 904 and the processor 902 also may include computer-readable media.
  • In an alternative embodiment, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
  • In accordance with various embodiments of the present disclosure, the methods described herein may be implemented by software programs executable by a computer system. Further, in an exemplary, non-limited embodiment, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement one or more of the methods or functionality as described herein.
  • The present disclosure contemplates a computer-readable medium that includes instructions 924 or receives and executes instructions 924 responsive to a propagated signal, so that a device connected to a network 926 can communicate voice, video or data over the network 926. Further, the instructions 924 may be transmitted or received over the network 926 via the network interface device 920.
  • While the computer-readable medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” shall also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
  • In a particular non-limiting, exemplary embodiment, the computer-readable medium can include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer-readable medium can be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium can include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture carrier wave signals such as a signal communicated over a transmission medium. A digital file attachment to an e-mail or other self-contained information archive or set of archives may be considered a distribution medium that is equivalent to a tangible storage medium. Accordingly, the disclosure is considered to include any one or more of a computer-readable medium or a distribution medium and other equivalents and successor media, in which data or instructions may be stored.
  • Although the present specification describes components and functions that may be implemented in particular embodiments with reference to particular standards and protocols, the disclosed embodiments are not limited to such standards and protocols. For example, standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed herein are considered equivalents thereof.
  • The illustrations of the embodiments described herein are intended to provide a general understanding of the structure of the various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be reduced. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.
  • One or more embodiments of the disclosure may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept. Moreover, although specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.
  • The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b) and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features may be grouped together or described in a single embodiment for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may be directed to less than all of the features of any of the disclosed embodiments. Thus, the following claims are incorporated into the Detailed Description, with each claim standing on its own as defining separately claimed subject matter.
  • The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.

Claims (20)

1. A method of routing video data, the method comprising:
receiving data from a Video on Demand (VoD) content source at a network management system, the data indicating a first set-top box device requesting VoD content;
identifying an end node group associated with the first set-top box device, wherein the end node group includes a plurality of set-top box devices that share a resource at the VoD content source; and
selecting a network path between the VoD content source and the first set-top box device from a set of prospective network paths associated with the first set-top box device, wherein the set of prospective network paths associated with the first set-top box device and network path sets associated with other set-top box devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay and jitter.
2. The method of claim 1, wherein the VoD content is sent from the VoD content source to the first set-top box device via the selected network path.
3. The method of claim 1, wherein the plurality of constraints includes a delay constraint requiring that an expected network path delay for each network path associated with a set-top box device of the end node group does not exceed a pre-defined delay threshold.
4. The method of claim 1, wherein the plurality of constraints includes a differential delay constraint requiring that a differential path delay for all pairs of network paths associated with the plurality of set-top box devices of the end node group does not exceed a pre-defined differential delay threshold.
5. The method of claim 1, wherein the plurality of constraints includes a jitter constraint requiring that a jitter for each network path associated with one of the plurality of set-top box devices of the end node group does not exceed a pre-defined jitter threshold.
6. The method of claim 1, wherein each network path set associated with one of the plurality of set-top box devices of the end node group includes one or more shortest network paths connecting the set-top box device with the content source.
7. The method of claim 1, wherein:
the plurality of constraints includes an aggregated delay constraint requiring that a sum of expected network path delays of all network paths associated with the plurality of set-top box devices of the end node group is less than a sum of expected delays of a plurality of alternate network paths;
each alternate network path connects one of the set-top box devices of the end node group to the content source; and
each set-top box device of the end node group terminates a pre-defined number of alternate network paths.
8. The method of claim 1, wherein each of the network paths associated with the plurality of set-top box devices of the end node group includes at least one link and wherein the plurality of constraints includes a path diversity constraint requiring that each network link is included in fewer than a pre-defined number of network paths.
9. The method of claim 1, further comprising defining a relative importance of a constraint and applying a weighting factor to the constraint.
10. The method of claim 1, further comprising provisioning a plurality of Multi-Protocol Label Switching Label Switch Paths (MPLS LSP) based on the network paths associated with the set-top box devices of the end node group.
11. A system to route data, the system comprising:
a network management system having a processor and a memory device accessible to the processor, wherein the memory device includes instructions executable by the processor to:
receive data from a Video on Demand (VoD) content source at a network management system, the data indicating a first set-top box device requesting VoD content;
identify an end node group associated with the first set-top box device, wherein the end node group includes a plurality of set-top box devices that share a resource at the VoD content source; and
select a network path between the VoD content source and the first set-top box device from a set of prospective network paths associated with the first set-top box device, wherein the set of prospective network paths associated with the first set-top box device and network path sets associated with other set-top box devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay and jitter.
12. The system of claim 11, wherein a differential path delay related to all pairs of network paths associated with the plurality of set-top box devices of the end node group is less than a differential delay threshold.
13. The system of claim 11, wherein an expected network path delay of each network path associated with a set-top box device of the end node group is less than a network path delay threshold.
14. The system of claim 11, wherein a jitter parameter of each network path associated with a set-top box device of the end node group is less than a jitter threshold.
15. A processor-readable medium tangibly embodying instructions executable by a processor to:
receive data from a Video on Demand (VoD) content source at a network management system, the data indicating a first set-top box device requesting VoD content;
identify an end node group associated with the first set-top box device, wherein the end node group includes a plurality of set-top box devices that share a resource at the VoD content source; and
select a network path between the VoD content source and the first set-top box device from a set of prospective network paths associated with the first set-top box device, wherein the set of prospective network paths associated with the first set-top box device and network path sets associated with other set-top box devices of the end node group simultaneously satisfy a plurality of constraints related to network path delay and jitter.
16. The processor-readable medium of claim 15, further comprising instructions executable by the processor to associate each of the plurality of set-top box devices with at least one end node group, wherein each end node group shares a resource at a video content source.
17. The processor-readable medium of claim 16, further comprising instructions executable by the processor to select a group of network path sets for each end node group, wherein each network path set is associated with one of the plurality of set-top box devices.
18. The processor-readable medium of claim 17, wherein each network path set is distinct from the other network path sets in the group of network path sets.
19. The processor-readable medium of claim 17, further comprising instructions to:
associate the plurality of set-top box devices with a first end node group and a second end node group, wherein the first end node group shares a first resource at the video content source and the second end node group shares a second resource at the video content source; and
select a first group of network path sets associated with the first end node group and a second group of network path sets associated with the second end node group.
20. The processor-readable medium of claim 19, wherein at least one of the plurality of set-top box devices is associated with the first end node group and with the second end node group.
US11/651,909 2007-01-10 2007-01-10 System and method of routing video data Abandoned US20080168510A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/651,909 US20080168510A1 (en) 2007-01-10 2007-01-10 System and method of routing video data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/651,909 US20080168510A1 (en) 2007-01-10 2007-01-10 System and method of routing video data

Publications (1)

Publication Number Publication Date
US20080168510A1 true US20080168510A1 (en) 2008-07-10

Family

ID=39595419

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/651,909 Abandoned US20080168510A1 (en) 2007-01-10 2007-01-10 System and method of routing video data

Country Status (1)

Country Link
US (1) US20080168510A1 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080253564A1 (en) * 2007-04-11 2008-10-16 Kahn Raynold M Method and apparatus for file sharing of missing content between a group of user devices in a peer-to-peer network
US7606235B1 (en) * 2004-06-03 2009-10-20 Juniper Networks, Inc. Constraint-based label switched path selection within a computer network
US20100040045A1 (en) * 2008-08-14 2010-02-18 Stmicroelectronics Rousset Sas Data processing system having distributed processing means for using intrinsic latencies of the system
US20100269140A1 (en) * 2009-04-20 2010-10-21 Samsung Electronics Co., Ltd. Method for providing broadcast program and broadcast receiving apparatus using the same
US7889652B1 (en) 2004-08-27 2011-02-15 Juniper Networks, Inc. Traffic engineering using extended bandwidth accounting information
US20110185168A1 (en) * 2007-04-11 2011-07-28 The Directv Group, Inc. Method and Apparatus for File Sharing Between a Group of User Devices with Separately Sent Crucial Portions and Non-Crucial Portions
US20120140635A1 (en) * 2007-11-13 2012-06-07 Fujitsu Limited Data relay device and route selection method
US8244884B2 (en) 2007-04-11 2012-08-14 The Directv Group, Inc. Method and apparatus for file sharing between a group of user devices with crucial portions sent via satellite and non-crucial portions sent using a peer-to-peer network
US8279754B1 (en) 2004-10-26 2012-10-02 Juniper Networks, Inc. RSVP-passive interfaces for traffic engineering peering links in MPLS networks
US8630185B1 (en) * 2011-09-15 2014-01-14 Google Inc. Optimizing traffic in a data network
US20140086257A1 (en) * 2012-09-25 2014-03-27 Samsung Electronics Co., Ltd. Source device, router and control method
US8699350B1 (en) 2011-09-15 2014-04-15 Google Inc. Optimizing traffic in a data network
US8787400B1 (en) 2012-04-25 2014-07-22 Juniper Networks, Inc. Weighted equal-cost multipath
US9071541B2 (en) 2012-04-25 2015-06-30 Juniper Networks, Inc. Path weighted equal-cost multipath
US9451393B1 (en) * 2012-07-23 2016-09-20 Amazon Technologies, Inc. Automated multi-party cloud connectivity provisioning
US9577925B1 (en) 2013-07-11 2017-02-21 Juniper Networks, Inc. Automated path re-optimization
US20180337992A1 (en) * 2017-05-19 2018-11-22 Bank Of America Corporation Data Transfer Path Selection
US10362339B2 (en) * 2017-09-05 2019-07-23 Sonos, Inc. Networked device group information in a system with multiple media playback protocols
US11962815B2 (en) 2021-04-19 2024-04-16 Sonos, Inc. Networked device group information in a system with multiple media playback protocols

Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754543A (en) * 1996-07-03 1998-05-19 Alcatel Data Networks, Inc. Connectivity matrix-based multi-cost routing
US6246684B1 (en) * 1997-12-24 2001-06-12 Nortel Networks Limited Method and apparatus for re-ordering data packets in a network environment
US6301244B1 (en) * 1998-12-11 2001-10-09 Nortel Networks Limited QoS-oriented one-to-all route selection method for communication networks
US6360271B1 (en) * 1999-02-02 2002-03-19 3Com Corporation System for dynamic jitter buffer management based on synchronized clocks
US6574213B1 (en) * 1999-08-10 2003-06-03 Texas Instruments Incorporated Wireless base station systems for packet communications
US20030198190A1 (en) * 2002-04-19 2003-10-23 Rajendran Rajan Method and system for traffic monitoring in a packet communication network
US20030202468A1 (en) * 2002-04-29 2003-10-30 Harris Corporation Mobile ad-hoc network and methods for performing functions therein based upon weighted quality of service metrics
US20040001486A1 (en) * 2002-06-27 2004-01-01 International Business Machines Corporation Method and apparatus for implementing frame header alterations using byte-wise arithmetic logic units
US20040024533A1 (en) * 2002-08-05 2004-02-05 Hitachi, Ltd. Method for node mapping, network visualizing and screening
US20040193724A1 (en) * 2003-03-31 2004-09-30 Dziong Zbigniew M. Sharing restoration path bandwidth in mesh networks
US20050058146A1 (en) * 2003-09-17 2005-03-17 Alcatel Self-adaptive jitter buffer adjustment method for packet-switched network
US20050073993A1 (en) * 2003-09-03 2005-04-07 General Instrument Corporation Location/stream universe discovery in broadband systems with overlapping streams
US20050100049A1 (en) * 2003-04-29 2005-05-12 Siminoff James W. Multiple packet routing system (MPRS)
US20050177855A1 (en) * 2003-11-28 2005-08-11 Maynard Stephen L. Methods and apparatus for variable delay compensation in networks
US20050289618A1 (en) * 2004-06-29 2005-12-29 Glen Hardin Method and apparatus for network bandwidth allocation
US20050289619A1 (en) * 2004-06-01 2005-12-29 Joel Melby Methods and system for resource allocation in an on-demand server
US20060072540A1 (en) * 2004-09-24 2006-04-06 Grimbergen Stephanus P Method and apparatus for forward delay compensation for virtual concatenation
US7058016B1 (en) * 2000-10-12 2006-06-06 Cisco Technology, Inc. Method and system for accelerating route calculation in link state routing protocols
US20070242700A1 (en) * 2006-04-18 2007-10-18 Harris Corporation, Corporation Of The State Of Delaware System and method for controlling content and delivery of internet protocol television (iptv) services
US20070276926A1 (en) * 2006-05-24 2007-11-29 Lajoie Michael L Secondary content insertion apparatus and methods
US20070294422A1 (en) * 2006-06-20 2007-12-20 Gal Zuckerman Methods and systems for push-to-storage
US20080056128A1 (en) * 2006-08-31 2008-03-06 General Instrument Corporation Method and Apparatus for Classifying Video Flows to Minimize Switching Time at a User Terminal
US7490165B1 (en) * 2001-07-18 2009-02-10 Cisco Technology, Inc. Method and apparatus for computing a path in a system with nodal and link diverse constraints

Patent Citations (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754543A (en) * 1996-07-03 1998-05-19 Alcatel Data Networks, Inc. Connectivity matrix-based multi-cost routing
US6246684B1 (en) * 1997-12-24 2001-06-12 Nortel Networks Limited Method and apparatus for re-ordering data packets in a network environment
US6301244B1 (en) * 1998-12-11 2001-10-09 Nortel Networks Limited QoS-oriented one-to-all route selection method for communication networks
US6360271B1 (en) * 1999-02-02 2002-03-19 3Com Corporation System for dynamic jitter buffer management based on synchronized clocks
US6574213B1 (en) * 1999-08-10 2003-06-03 Texas Instruments Incorporated Wireless base station systems for packet communications
US7058016B1 (en) * 2000-10-12 2006-06-06 Cisco Technology, Inc. Method and system for accelerating route calculation in link state routing protocols
US7490165B1 (en) * 2001-07-18 2009-02-10 Cisco Technology, Inc. Method and apparatus for computing a path in a system with nodal and link diverse constraints
US20030198190A1 (en) * 2002-04-19 2003-10-23 Rajendran Rajan Method and system for traffic monitoring in a packet communication network
US20030202468A1 (en) * 2002-04-29 2003-10-30 Harris Corporation Mobile ad-hoc network and methods for performing functions therein based upon weighted quality of service metrics
US20040001486A1 (en) * 2002-06-27 2004-01-01 International Business Machines Corporation Method and apparatus for implementing frame header alterations using byte-wise arithmetic logic units
US20040024533A1 (en) * 2002-08-05 2004-02-05 Hitachi, Ltd. Method for node mapping, network visualizing and screening
US20040193724A1 (en) * 2003-03-31 2004-09-30 Dziong Zbigniew M. Sharing restoration path bandwidth in mesh networks
US20050100049A1 (en) * 2003-04-29 2005-05-12 Siminoff James W. Multiple packet routing system (MPRS)
US20050073993A1 (en) * 2003-09-03 2005-04-07 General Instrument Corporation Location/stream universe discovery in broadband systems with overlapping streams
US20050058146A1 (en) * 2003-09-17 2005-03-17 Alcatel Self-adaptive jitter buffer adjustment method for packet-switched network
US20050177855A1 (en) * 2003-11-28 2005-08-11 Maynard Stephen L. Methods and apparatus for variable delay compensation in networks
US20050289619A1 (en) * 2004-06-01 2005-12-29 Joel Melby Methods and system for resource allocation in an on-demand server
US20050289618A1 (en) * 2004-06-29 2005-12-29 Glen Hardin Method and apparatus for network bandwidth allocation
US20060072540A1 (en) * 2004-09-24 2006-04-06 Grimbergen Stephanus P Method and apparatus for forward delay compensation for virtual concatenation
US20070242700A1 (en) * 2006-04-18 2007-10-18 Harris Corporation, Corporation Of The State Of Delaware System and method for controlling content and delivery of internet protocol television (iptv) services
US20070276926A1 (en) * 2006-05-24 2007-11-29 Lajoie Michael L Secondary content insertion apparatus and methods
US20070294422A1 (en) * 2006-06-20 2007-12-20 Gal Zuckerman Methods and systems for push-to-storage
US20080056128A1 (en) * 2006-08-31 2008-03-06 General Instrument Corporation Method and Apparatus for Classifying Video Flows to Minimize Switching Time at a User Terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Gopal Garg and Somnath Paul, "Managing Differential Delay in SONET Architectures", Jan 30, 2002 (8:46 PM), http://www.commsdesign.com/showArticle.jhtml?articleID=16504021 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606235B1 (en) * 2004-06-03 2009-10-20 Juniper Networks, Inc. Constraint-based label switched path selection within a computer network
US8630295B1 (en) * 2004-06-03 2014-01-14 Juniper Networks, Inc. Constraint-based label switched path selection within a computer network
US7889652B1 (en) 2004-08-27 2011-02-15 Juniper Networks, Inc. Traffic engineering using extended bandwidth accounting information
US8279754B1 (en) 2004-10-26 2012-10-02 Juniper Networks, Inc. RSVP-passive interfaces for traffic engineering peering links in MPLS networks
US20080253564A1 (en) * 2007-04-11 2008-10-16 Kahn Raynold M Method and apparatus for file sharing of missing content between a group of user devices in a peer-to-peer network
US20110185168A1 (en) * 2007-04-11 2011-07-28 The Directv Group, Inc. Method and Apparatus for File Sharing Between a Group of User Devices with Separately Sent Crucial Portions and Non-Crucial Portions
US8345869B2 (en) * 2007-04-11 2013-01-01 The Directv Group, Inc. Method and apparatus for file sharing of missing content between a group of user devices in a peer-to-peer network
US8244884B2 (en) 2007-04-11 2012-08-14 The Directv Group, Inc. Method and apparatus for file sharing between a group of user devices with crucial portions sent via satellite and non-crucial portions sent using a peer-to-peer network
US8255547B2 (en) 2007-04-11 2012-08-28 The Directv Group, Inc. Method and apparatus for file sharing between a group of user devices with separately sent crucial portions and non-crucial portions
US20120140635A1 (en) * 2007-11-13 2012-06-07 Fujitsu Limited Data relay device and route selection method
US9019950B2 (en) * 2008-08-14 2015-04-28 Stmicroelectronics Rousset Sas Data processing system having distributed processing means for using intrinsic latencies of the system
US20100040045A1 (en) * 2008-08-14 2010-02-18 Stmicroelectronics Rousset Sas Data processing system having distributed processing means for using intrinsic latencies of the system
US20100269140A1 (en) * 2009-04-20 2010-10-21 Samsung Electronics Co., Ltd. Method for providing broadcast program and broadcast receiving apparatus using the same
US8630185B1 (en) * 2011-09-15 2014-01-14 Google Inc. Optimizing traffic in a data network
US8699350B1 (en) 2011-09-15 2014-04-15 Google Inc. Optimizing traffic in a data network
US8787400B1 (en) 2012-04-25 2014-07-22 Juniper Networks, Inc. Weighted equal-cost multipath
US9071541B2 (en) 2012-04-25 2015-06-30 Juniper Networks, Inc. Path weighted equal-cost multipath
US9451393B1 (en) * 2012-07-23 2016-09-20 Amazon Technologies, Inc. Automated multi-party cloud connectivity provisioning
US20140086257A1 (en) * 2012-09-25 2014-03-27 Samsung Electronics Co., Ltd. Source device, router and control method
US9231985B2 (en) * 2012-09-25 2016-01-05 Samsung Electronics Co., Ltd. Source device, router and control method
US9577925B1 (en) 2013-07-11 2017-02-21 Juniper Networks, Inc. Automated path re-optimization
US20180337992A1 (en) * 2017-05-19 2018-11-22 Bank Of America Corporation Data Transfer Path Selection
US10419539B2 (en) * 2017-05-19 2019-09-17 Bank Of America Corporation Data transfer path selection
US10931757B2 (en) 2017-05-19 2021-02-23 Bank Of America Corporation Data transfer path selection
US10362339B2 (en) * 2017-09-05 2019-07-23 Sonos, Inc. Networked device group information in a system with multiple media playback protocols
US10986376B2 (en) 2017-09-05 2021-04-20 Sonos, Inc. Networked device group information in a system with multiple media playback protocols
US11962815B2 (en) 2021-04-19 2024-04-16 Sonos, Inc. Networked device group information in a system with multiple media playback protocols

Similar Documents

Publication Publication Date Title
US20080168510A1 (en) System and method of routing video data
US11438274B2 (en) Network latency optimization
US11252075B2 (en) Packetized content delivery apparatus and methods
US9215166B2 (en) Systems and methods of multicast reconfiguration using cross-layer information
US7924830B2 (en) System and method to route data in an anycast environment
US8787175B2 (en) System for advertising routing updates
US9866485B2 (en) Rerouting network traffic flows based on selection criteria
US8289978B2 (en) Broadcast interactive television system
US9100680B2 (en) System and method to control communication of data
US9660836B2 (en) Network topology discovery
US7804773B2 (en) System and method of managing data flow in a network
US20080049720A1 (en) System and method of delivering data via a network
US8626924B2 (en) Apparatus and method for providing computing resources
US9137088B2 (en) Voice over internet protocol multi-routing with packet interleaving
US20140282776A1 (en) Video content priority aware congestion management
US7937483B2 (en) System and method of routing data packets using trunk ports and access ports
CN106792216A (en) Streaming Media read method and server in distributed file system
KR102088294B1 (en) Method for delivering adaptive media based on received status information from media client and apparatus using thereof

Legal Events

Date Code Title Description
AS Assignment

Owner name: AT&T KNOWLEDGE VENTURES, LP, NEVADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SMALL, DAVID;OU, CANHUI;REEL/FRAME:019138/0398

Effective date: 20070329

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION