Streaming video media is an ever-increasing driving force in current entertainment media distribution and trends. Streaming Video over Internet Protocol (VIP) creates further quality assurance and quality control challenges for Internet Service Providers (ISPs) in order to satisfy service level agreements. However, in order to ensure service level agreements are met, ISP carriers need to check media transmissions for errors and ensure accurately receiving transmissions.
In the video domain having dedicated video links in a network path for distant devices, there are no ways to loop the transmission back through the network path to the source, thereby providing confidence of the health of the network and that the signal has arrived at the intended destination. Subscribing to the same multicast or requesting delivery of a new unicast only verifies that the source is correct, but does not verify the path to the original desired destination is valid. Other techniques are known, for example port forwarding, however, port forwarding merely provides for video traffic to join the original multi/unicast. Address replication is yet another technique used to provide redundancy in switches, which replicates the traffic across multiple ports and/or switch frames. However, address replication is merely a replication of the original source traffic, and fails to instill full confidence in proper reception of the transmission.
There are provided systems and methods for automatically rebroadcasting video streams for confidence checking or review, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.
The following description contains specific information pertaining to implementations in the present disclosure. One skilled in the art will recognize that the present disclosure may be implemented in a manner different from that specifically discussed herein. The drawings in the present application and their accompanying detailed description are directed to merely exemplary implementations. Unless noted otherwise, like or corresponding elements among the figures may be indicated by like or corresponding reference numerals. Moreover, the drawings and illustrations in the present application are generally not to scale, and are not intended to correspond to actual relative dimensions.
As shown in
As shown in
IP switch 110 may further comprise an intelligent switch fabric configured to route a plurality of input data streams to a plurality of output connections. IP switch 110 may include an IP address. In one exemplary implementation, IP switch 110 is configured for routing VIP streams via packet level interaction between multiple protocol layers including a transport layer, network layer, data link layer and physical layer.
As discussed above, VIP streaming requires packet level interaction between multiple protocol layers. IP packets are a well-known implementation of Internet Protocol communication wherein user datagram protocol (UDP) utilizes packets as a means of quantizing data. A brief overview follows.
Initially, a data stream source creates the transport layer and process the video stream by adding a header and sending a packet having modified header information to the network layer. The network layer may also add header information including the source and destination addresses, which forms a network layer packet or IP packet. The IP packet then receives more header information, such as the source and destination addresses and then sends the frame to a physical layer. An IP address contains the network number and host number of every host and router on the Internet, and can be set statically or dynamically via the Dynamic Host Configuration Protocol (DHCP). The physical layer then transmits the frame along the path to another router and the process repeats until the packet arrives to the intended destination. Once the router receives the packet, the router removes the packet header and trailer information from the frame and pass the data stored in the frame's payload, i.e. the packet, to the software for routing the packet determines which port to utilize for sending the packet to the next router on the path to the destination. IP switch 110 may operate in accordance with the preceding protocol.
As shown in
In an exemplary implementation, system manager 122 may include a server administrator, and manager processor 124 may include multiple blade servers implemented as an information handling system (IHS). Analogously manager memory 126 may include multiple memory devices implemented via an IHS. In another exemplary implementation, system manager 122 may be implemented as a virtual manager including an orchestration layer residing at a software defined network level (SDNL) of network 120. In another exemplary implementation, system manager 122 may be implemented as a virtual machine having virtual infrastructures in a cloud-based system.
Referring now to
As shown in
In another exemplary implementation, switch controller 214 may be implemented as a virtual machine having a virtual switching infrastructure, such that the commands to configure the virtual switching infrastructure are externally available for access, for example in a cloud-based system.
Client 250 includes port 256(a), and 256(b) through 256(n) (hereinafter “ports 256(a)-256(n)”), which are communicatively coupled to client controller 254. Client controller 254 is configured to transmit client content stream 252 to monitor 230 via network 220.
As shown in
Content monitor 230 includes port 238(a), 238(b) through 238(n) (hereinafter “ports 238(a)-238(n)”), display 232 having a first screen 231 and a second screen 232, monitor processor 234, and monitor memory 236 having monitor software code 237 stored thereon. First screen 231 and second screen 233 may be implemented as a LCD, a notebook computer, or other equivalent methods of displaying video content. In a particular implementation, content monitor 230 is configured to receive client content stream 252 from client 250. Monitor processor 234 may include a hardware processor and may be configured to execute monitor software code 237 in order to perform error and confidence checking or review.
Referring now to
Flowchart 300 continues wherein IP switch 110, 210 is configured to transmit source content stream 142(n), 242, through network path 128, 228 to client 150(n), 250 (action 304). In an exemplary implementation, prior to transmitting source content stream 142(n), 242, system manager 122, 222 may be configured to cause IP switch 110, 210 to modify source content stream 142(n), 242 by reserving a client return address for use by client 150(n), 250. In this implementation, source content stream 142(n), 242 may include a packet, as previously discussed, and prior to transmitting source content stream 142(n), 242, manager processor 124, 224 of system manager 122, 222 is further configured to execute content manager software code 127, 227 to modify to modify source content stream 142(n), 242 by reserving a client return address in the packet.
Next, method 300 continues wherein system manager 122, 222 is configured to cause client 150(n), 250 to replicate, by client 150(n), 250, source content stream 142(n), 242, generating client content stream 152(n), 252 (action 306). In one particular implementation, generating client content stream 152(n), 252 may include altering source content stream 142(n), 242 by augmenting with further graphics and information. After generating client content stream 152(n) 252 as described above, flowchart 300 continues to send, by client 150(n), 250, using the client return address, client content stream 152(n), 252, through network path 128, 228, to content monitor 130, 230 (action 308).
In an exemplary implementation, sending, by client 150(n), 250, using the client return address, client content stream 152(n), 252, through network path 128, 228, to content monitor 130, 230 further comprises sending the packet utilizing the client return address.
As discussed above, content monitor 130, 230 is configured to perform error checking and confidence checking of client content stream 152(n), 252 by comparing with source content stream 142(n), 242. Accordingly, system 100, 200 is configured to next compare, by content monitor 130, 230 client content stream 152(n), 252 with source content stream 142(n), 242 (action 310). Content monitor 130, 230 may be configured to receive source content stream 142(n), 242 from source 140(n), 240, via IP switch 110, 210.
In an exemplary implementation, monitor processor 134, 234 executes monitor software code 137, 237 on monitor memory 146, 246 for comparing client content stream 152(n), 252 with source content stream 142(n), 242 via first screen 231 and second screen 233 of display 232.
In an exemplary implementation, first screen 231 corresponds to source content stream 142(n), 242 and second screen 233 corresponds to client content stream 152(n), 252. Comparing client content stream 152(n), 252 with source content stream 142(n), 242 includes utilizing first screen 231 and second screen 233 to perform a visual comparison of source content stream 142(n), 242 and client content stream 152(n), 252. A system administrator (not shown), for example a human user observing and comparing first and second screens 231, 233, may perform the visual comparison.
In another exemplary implementation, comparing, using content monitor 130, 230, client content stream 152(n), 252 with source content stream 142(n), 252 further comprises performing at least one of: error checking, forward error correction, source address verification, validation of error checking, compressed and uncompressed checking, and other methods of validating compressed and uncompressed circuits known in the art. Monitor processor 134, 234 may be configured to execute monitor software code 137, 237 to provide error checking and validation as described above.
In yet another exemplary implementation, monitor processor 134, 234 is configured to execute image recognition software stored on monitor memory 236 to perform, by content monitor 130, 230, a visual comparison utilizing image recognition software. Upon recognizing an error, monitor processor 134, 234 is further configured to send, to system manager 122, 222, an alert (not shown). Image recognition software may be included with monitor software code 137, 237 and may be configured to provide real time error messages to system manager 122, 222 upon recognizing an error in client content stream 152(n), 252. Real time error messages may include an alert based on the type or frequency of detected error. The real time error message may include a location of the error in client content stream 152(n), 252. In a particular implementation, the image recognition software may be configured for transmitting various alerts based on the type of detected error. For example, an urgent error alert may be sent if more than a predetermined threshold number of errors are detected within a predetermined amount of time, i.e. high error frequency.
Source confidence checking provides ensuring the intended client 150(n), 250 received the correct source content stream 142(n), 242. As discussed in
In an exemplary implementation, system manager 122, 222 controls IP switch 110, 220, client 150(a)-150(n), 250, the plurality of nodes of network path 122, 222, and content monitor 230. System manager 222 manages routing source content streams 142(a)-142(n), 242 and client content streams 152(a)-152(n), 252 between the plurality of nodes, ports 212(a)-212(n), ports 256(a)-256(n), and ports 238(a)-238(n) of IP switch 110, 210, client 150(a)-150(n), 250, and content monitor 130, 230, respectively. In an exemplary implementation managing routing for ports includes at least one of modifying a client IP address, creating a virtual port, or reassigning a connection between ports 212(a)-212(n), ports 256(a)-256(n), and ports 238(a)-238(n).
In an exemplary implementation, network path 128, 228 comprises a plurality of long haul transmission links (not shown) and client 150(n), 250 is located in a remote location. System manager 122, 222 may execute content management software code 127, 227 for maintaining the longest route in network path 128, 228. As is well known in the art, sending VIP over long haul transmission links requires one or more intermediary links, i.e. the plurality of nodes. Generally, the links are intelligent and strive to achieve the shortest route between the source and destination. However, an exemplary implementation provides dynamically managing sources 140(a)-140(n), 240, clients 150(a)-150(n), 250, and the plurality of nodes to provide the longest route, rather than a shorter, e.g., more efficient, route.
In a particular implementation, system manager 122, 222 dynamically manages the plurality of nodes of network path 128, 228 by causing IP switch 110, 210 and the plurality of nodes of network path 128, 228 to preserve packet IP addresses through the plurality of nodes wherein packet data corresponding to node IP addresses are not overwritten in order to return a packet through the same path taken by source content stream 142(n), 242. Dynamically managing network path 128, 228 in this manner ensures the whole round trip path is preserved, providing confidence that the path is correct. Accordingly, system manager 122, 222 controls the whole path of network path 128, 228 including the plurality of nodes. By comparing what was sent, i.e. source content stream 142(n), 242, to what was received, i.e. client content stream 152(n), 252, an administrator has confidence the path is correct.
In an exemplary implementation, source 140(n), 240 may be TV stations that stream video content to multiple client destinations in a plurality of long distance remote locations. Client 150(n), 250 may modify source content stream 142(n), 242 by including logos for local stations and the like, thereby generating client content stream 152(n), 252, as discussed above. Therefore, client content stream 152(n), 252 may include logos not included on source content stream 142(n), 242. An administrator or the image recognition software can monitor display 232 and perform both a visual comparison ensuring sufficient content quality, while also ensuring the correct source 140(n), 240 was sent to, and received by, the correct client 150(n), 250 and that network path 128, 228 is sufficiently operable.
From the above description it is manifest that various techniques can be used for implementing the concepts described in the present application without departing from the scope of those concepts. Moreover, while the concepts have been described with specific reference to certain implementations, a person of ordinary skill in the art would recognize that changes could be made in form and detail without departing from the scope of those concepts. As such, the described implementations are to be considered in all respects as illustrative and not restrictive. It should also be understood that the present application is not limited to the particular implementations described herein, but many rearrangements, modifications, and substitutions are possible without departing from the scope of the present disclosure.
Number | Name | Date | Kind |
---|---|---|---|
5577042 | McGraw, Sr. | Nov 1996 | A |
20140304756 | Fletcher | Oct 2014 | A1 |
20150301781 | Ekkaia | Oct 2015 | A1 |
20170279760 | Li | Sep 2017 | A1 |
Number | Date | Country | |
---|---|---|---|
20180295165 A1 | Oct 2018 | US |