Methods and apparatuses for transferring data
33 claims: 9 independent, 24 dependent
- 1Verfahren zum Erzeugen einer Darstellung von Streaming-Media-Daten an einem Cache-Proxyserver ( 401 ), wobei das Verfahren umfasst:Übertragen einer Anforderung von Streaming-Media-Daten, die an den Cache-Proxyserver ( 401 ) geliefert werden sollen;Übertragen einer Anforderung von Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, wobei die Anforderung eine Kennung beinhaltet, welche einen von mehreren möglichen Datentypen darstellt, die mit den Streaming-Media-Daten im Zusammenhang stehen;Empfangen der Streaming-Media-Daten und Speichern der Streaming-Media-Daten auf einer Speichervorrichtung ( 601 ), die von dem Cache-Proxyserver ( 401 ) gesteuert werden kann, und Empfangen der Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen.
- 2Verfahren nach Anspruch 1, welches ferner umfasst:Speichern der Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, in der Speichervorrichtung ( 601 ).
- 3Verfahren nach Anspruch 1, welches ferner umfasst:Empfangen einer Antwort, welche Unterstützung für die angeforderten Streaming-Media-Daten anzeigt, vom Server ( 301 ), Informieren des Servers ( 301 ), die unterstützten Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, zu senden;Empfangen einer Anforderung vom Client ( 302 ), Streaming-Media-Daten zu senden;und Senden der angeforderten Streaming-Media-Daten an den Client ( 302 ).
- 4Verfahren nach Anspruch 1, wobei die Anforderung der Streaming-Media-Daten eine Anforderung von einem oder mehreren Typen der Streaming-Media-Daten umfasst, und das Verfahren ferner umfasst:Empfangen einer Antwort auf jeden angeforderten Typ von Streaming-Media-Daten;und Entscheiden, ob der Verhandlungsvorgang im Zusammenhang mit Streaming-Media-Daten weitergeführt oder beendet werden soll.
- 5Verfahren nach Anspruch 1, welches ferner umfasst:Empfangen einer Nachricht von einem Client ( 302 ), wobei die Nachricht eine Notwendigkeit anzeigt, Streaming-Media-Daten, die an den Client ( 302 ) gesendet werden, auszudünnen;Bewerten der Priorität von Streaming-Media-Daten;und Senden nur von ausgewählten Streaming-Media-Daten.
- 6Verfahren nach Anspruch 1, wobei die Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, eine Übertragungszeit für die Streaming-Media-Daten beinhalten, und das Verfahren ferner umfasst:Empfangen der Streaming-Media-Daten und der entsprechenden Übertragungszeitinformationen vom Server ( 301 );Speichern der empfangenen Informationen;und Übertragen der Streaming-Media-Daten an einen Cli ?page 23? ent ( 302 ) an Zeitpunkten, die durch die Übertragungszeitinformationen angegeben sind.
- 7Verfahren zur Datenübertragung von einem Server ( 301 )-Datenverarbeitungssystem, wobei das Verfahren umfasst:Empfangen einer Anforderung von Streaming-Media-Daten, wobei die Anforderung eine Anforderung von Daten beinhaltet, die mit den Streaming-Media-Daten im Zusammenhang stehen, und die Anforderung eine Kennung beinhaltet, die mehrere mögliche Typen von Daten, welche mit den Streaming-Media-Daten im Zusammenhang stehen, darstellt;Antworten auf die Anforderung mit einer Antwort, welche eine Fähigkeit des Servers ( 301 ) zum Unterstützen der Anforderung anzeigt;und Senden der angeforderten Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen.
- 8Verfahren nach Anspruch 7, wobei das Senden ein Echtzeit-Transportprotokoll (Real-time Transport Protocol;RTP) verwendet.
- 9Verfahren nach Anspruch 7, wobei die Anforderung entweder von einem Cache-Proxyserver ( 401 ) oder einem Client ( 302 ) durchgeführt wird.
- 10Verfahren nach Anspruch 7, wobei der Server ( 301 ) nur mit einem Echo antwortet, wenn er die Anforderung unterstützt.
- 11Verfahren nach Anspruch 7, wobei die angeforderten Daten in einem erweiterbaren erweiterten Vorspann gesendet werden.
- 12Verfahren nach Anspruch 11, wobei der erweiterbare erweiterte Vorspann einen Erweiterungsnamen und eine Erweiterungsidentifikation (ID) beinhaltet, die jeder separaten RTP-Erweiterung zugeordnet sind.
- 13Verfahren nach Anspruch 7, wobei die Anforderung jeweils einen oder mehrere Übertragungsprotokolldatentypen betreffen kann.
- 14Verfahren nach Anspruch 7, wobei die Antwort durch den Server ( 301 ) jeweils eine Antwort für alle unterstützten Übertragungsprotokolldaten und keine Antwort für nicht-unterstützte Übertragungsprotokolldaten beinhaltet.
- 15Verfahren nach Anspruch 7, welches ferner umfasst:Empfangen einer Anforderung, die Übertragungsprotokolldaten nach dem Senden einer Antwort für unterstützte Daten zu senden, und nur die angeforderten und unterstützten Übertragungsprotokolldaten zu senden.
- 16Verfahren nach Anspruch 7, wobei die Anforderung von Streaming-Media-Daten eine Anforderung von einem oder mehreren Typen der Streaming-Media-Daten beinhaltet, und das Verfahren ferner umfasst:Bestimmen, ob angeforderte Typen von Streaming-Media-Daten von dem Server ( 301 ) unterstützt werden.
- 17Verfahren zum Ausdünnen von Frames durch einen Client ( 302 ), welches umfasst:Senden einer Ausdünnungsnachricht an einen Cache-Proxyserver ( 401 ), wobei die Nachricht anzeigt, dass keine Frames niederer Ordnung gesendet werden sollen;Empfangen von Frames, deren Ordnung höher als diejenige von Frames niederer Ordnung ist, zurück vom Cache-Proxyserver ( 401 ).
- 18Maschinenlesbares Medium, das ausführbare Anweisungen zur Verfügung stellt, die bei ihrer Ausführung durch eine Gruppe von Prozessoren veranlassen, dass die Gruppe von Prozessoren ein Verfahren ausführt, das eine Darstellung von Streaming-Media-Daten an einem Cache-Proxyserver ( 401 ) erzeugt, wobei das Verfahren umfasst:Übertragen einer Anforderung, dass Streaming-Media-Daten an den Cache-Proxyserver ( 401 ) geliefert werden sollen, an einen Server ( 301 );Übertragen einer Anforderung von Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, wobei die Anforderung eine Kennung beinhaltet, die einen von mehreren möglichen Typen von Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, darstellt;Empfangen der Streaming-Media-Daten und Speichern der Streaming-Media-Daten auf einer Speichervorrichtung ( 601 ), die von dem Cache-Proxyserver ( 401 ) gesteuert werden kann;und Empfangen der Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen.
- 19Maschinenlesbares Medium nach Anspruch 18, wobei das Verfahren ferner umfasst:Empfangen einer Antwort, welche Unterstützung für die angeforderten Streaming-Media-Daten anzeigt, vom Server ( 301 );Informieren des Servers ( 301 ), die unterstützten Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, zu senden;Empfangen der unterstützten Streaming-Media-Daten vom Server ( 301 );Empfangen einer Anforderung, Streaming-Media-Daten zu senden, von einem Client ( 302 );und Senden der angeforderten Streaming-Media-Daten an den Client ( 302 ).
- 20Maschinenlesbares Medium nach Anspruch 18, wobei die Anforderung der Streaming-Media-Daten eine Anforderung von einem oder mehreren Typen der Streaming-Media-Daten beinhaltet, und das ?page 24? Verfahren ferner umfasst:Empfangen einer Antwort auf jeden angeforderten Typ von Streaming-Media-Daten;und Entscheiden, ob der Verhandlungsvorgang im Zusammenhang mit Streaming-Media-Daten weitergeführt oder beendet werden soll.
- 21Maschinenlesbares Medium nach Anspruch 18, wobei das Verfahren ferner umfasst:Empfangen einer Nachricht, Frames in einer Übertragung von Streaming-Media-Daten vom Cache-Proxyserver ( 401 ) auszudünnen, von einem Client ( 302 );Bewerten der Priorität von Frames;und Senden nur der ausgewählten Frames.
- 22Maschinenlesbares Medium nach Anspruch 18, wobei die Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, eine Übertragungszeit für die Streaming-Media-Daten beinhalten, und das Verfahren ferner umfasst:Empfangen der Streaming-Media-Daten in Entsprechung zu Übertragungszeitinformationen vom Server ( 301 );Speichern der empfangenen Informationen;und Übertragen der Streaming-Media-Daten an Zeitpunkten, die von der Übertragungszeit angegeben werden, an einen Client ( 302 ).
- 23Maschinenlesbares Medium, welches ausführbare Anweisungen zur Verfügung stellt, die bei ihrer Ausführung durch eine Gruppe von Prozessoren die Gruppe von Prozessoren veranlassen, ein Verfahren zur Übertragung von Daten von einem Server ( 301 )-Datenverarbeitungssystem durchzuführen, wobeidas Verfahren umfasst:Empfangen einer Anforderung von Streaming-Media-Daten, wobei die Anforderung eine Anforderung von Daten beinhaltet, welche mit den Streaming-Media-Daten im Zusammenhang stehen, und die Anforderung eine Kennung beinhaltet, die einen von mehreren möglichen Typen von Daten darstellt, die mit den Streaming-Media-Daten im Zusammenhang stehen;Antworten auf die Anforderung mit einer Antwort, die eine Fähigkeit des Servers ( 301 ) zum Unterstützen der Anforderung anzeigt;und Senden der angeforderten Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen.
- 24Maschinenlesbares Medium nach Anspruch 23, wobei die Anforderung der Streaming-Media-Daten eine Anforderung von einem oder mehreren Typen der Streaming-Media-Daten beinhaltet, und das Verfahren ferner umfasst:Bestimmen, ob angeforderte Typen von Streaming-Media-Daten von dem Server ( 301 ) unterstützt werden.
- 25Maschinenlesbares Medium, welches ausführbare Anweisungen zur Verfügung stellt, die bei ihrer Ausführung durch eine Gruppe von Prozessoren die Prozessoren veranlassen, ein Verfahren zum Ausdünnen von Frames durchzuführen, wobei das Verfahren umfasst:Senden einer Ausdünnungsnachricht, die anzeigt, dass keine Frames niederer Ordnung gesendet werden sollen, an einen Cache-Proxyserver ( 401 );und Empfangen von Frames, deren Ordnung höher als diejenige von Frames niederer Ordnung ist, zurück vom Cache-Proxyserver ( 401 ).
- 26Cache-Proxyserver ( 401 ), welcher aufweist:Mittel zum Übertragen einer Anforderung, dass Streaming-Media-Daten an den Cache-Proxyserver ( 401 ) geliefert werden sollen, an einen Server ( 301 ), wobei die Anforderung beinhaltet: eine Anforderung von Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, wobei die Anforderung beinhaltet: eine Kennung, die einen von mehreren möglichen Typen von Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, darstellt;Mittel zum Empfangen der Streaming-Media-Daten und Speichern der Streaming-Media-Daten auf einer Speichervorrichtung ( 601 ), die von dem Cache-Proxyserver ( 401 ) gesteuert werden kann;und Mittel zum Empfangen der Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen.
- 27Cache-Proxyserver ( 401 ) nach Anspruch 26, welcher ferner aufweist:Mittel zum Empfangen einer Antwort, welche Unterstützung für die angeforderten Streaming-Media-Daten anzeigt, vom Server ( 301 );Mittel zum Informieren des Servers ( 301 ), die unterstützten Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, zu senden;Mittel zum Empfangen der Streaming-Media-Daten vom Server ( 301 );Mittel zum Empfangen einer Anforderung, Streaming-Media-Daten zu senden, vom Client ( 302 );und Mittel zum Senden der angeforderten Streaming-Media-Daten an den Client ( 302 ).
- 28Cache-Proxyserver ( 401 ) nach Anspruch 26, wobei die Anforderung von Streaming-Media-Daten eine Anforderung von einem oder mehreren Typen der Streaming-Media-Daten beinhaltet, und der Cache-Proxyserver ( 401 ) ferner aufweist:Mittel zum Empfangen einer Antwort auf jeden angeforderten Typ von Streaming-Media-Daten;und Mittel zum Entscheiden, ob der Verhandlungsvorgang im Zusammenhang mit Streaming-Media-Daten weitergeführt oder beendet werden soll.
- 29Cache-Proxyserver ( 401 ) nach Anspruch 26, welcher ferner aufweist:Mittel zum Empfangen einer Nachricht, Frames in einer Übertragung von Streaming-Media-Daten vom Cache-Proxyserver ( 401 ) auszudünnen, von einem ?page 25? Client;Mittel zum Bewerten der Priorität von Frames;und Mittel zum Senden nur der ausgewählten Frames.
- 30Cache-Proxyserver ( 401 ) nach Anspruch 26, wobei die Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, eine Übertragungszeit für die Streaming-Media-Daten beinhalten, und der Cache-Proxyserver ( 401 ) ferner aufweist:Mittel zum Empfangen der Streaming-Media-Daten und entsprechender Übertragungszeitinformationen vom Server;Mittel zum Speichern der empfangenen Informationen;und Mittel zum Übertragen der Streaming-Media-Daten an Zeitpunkten, die von der Übertragungszeit angegeben werden, an einen Client ( 302 ).
- 31Server ( 301 )-Datenverarbeitungssystem, welches aufweist:Mittel zum Empfangen einer Anforderung von Streaming-Media-Daten, wobei die Anforderung beinhaltet: eine Anforderung von Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen, wobei die Anforderung eine Kennung beinhaltet, die einen von mehreren möglichen Typen von Daten, welche mit den Streaming-Media-Daten im Zusammenhang stehen, darstellt;Mittel zum Antworten auf die Anforderung mit einer Antwort, die eine Fähigkeit des Servers ( 301 ) zum Unterstützen der Anforderung anzeigt;und Mittel zum Senden der angeforderten Daten, die mit den Streaming-Media-Daten im Zusammenhang stehen.
- 32System nach Anspruch 31, wobei die Anforderung der Streaming-Media-Daten eine Anforderung von einem oder mehreren Typen der Streaming-Media-Daten beinhaltet, und das System ferner aufweist:Mittel zum Bestimmen, ob angeforderte Typen von Streaming-Media-Daten vom Server ( 301 ) unterstützt werden.
- 33Client ( 302 )-Datenverarbeitungssystem, welches aufweist:Mittel zum Senden einer Ausdünnungsnachricht an einen Cache-Proxyserver ( 401 ), wobei die Nachricht anzeigt, dass keine Frames niederer Ordnung gesendet werden sollen;und Mittel zum Empfangen von Frames, deren Ordnung höher als diejenige von Frames niederer Ordnung ist, zurück vom Cache-Proxyserver ( 401 ).
Independent claims33
223 paragraphs in 5 sections, as filed
FIELD OF INVENTION
The This invention relates to a method for generating a Representation of streaming media data at a caching proxy server, a method for data transmission from a server data processing system, a method for thinning out Frames, a machine-readable medium, a caching proxy server, a The server data processing system, a client data processing system, and in particular to the field of multimedia data transmission. In particular, concerns The present invention in an exemplary embodiment the multimedia data transmission real-time transfer protocol (Real-time Transfer Protocol; RTP) packets using a real-time streaming protocol (Real Time Streaming Protocol; RTSP) in a computer network environment.
INTRODUCTION AND BACKGROUND OF THE INVENTION
process for transferring data are well known and are routinely nowadays to used various multimedia data such as text, graphics, Audio, video, pictures, etc. on To send computer networks, which in different parts World are. Generally requires the transfer process, both hardware and software for fulfilling his Function. Typically, the hardware includes various types of personal computers and hand-held devices to send or receive multimedia data. These devices run under control by an operating system and utilize multimedia application software programs. As is known in this technical field, are streaming media data such data transmitted to a receiving computer system and (usually after a brief intermediate storage at the receiving System) presented and then discarded at the receiving system (Not stored).
at present be data in the form of packets of a multimedia device sent to another. In the data packets, a large amount are sent from information in real time, to a high Load the systems leads. Streaming media data, such as Real-Audio data in the Real Networks specified streaming media format in many make in near real-time on the Internet sent.
at one approach are in the data transmission involved of streaming media components as a server (the can be referred to as originating server), a caching proxy server, and a client known. These components interact in different Combinations for transmitting of data packets in real-time. The communication link, that currently exists between the components uses real-time transfer protocols (RTP) and real-time streaming protocols (RTSP) to each other to communicate with each other and send packages. In order for this approach works, a caching proxy server with the system server needs to communicate, receiving a stream of RTP data packets, and the information contained in the RTP data packets to a Client transfer. <figref idrefs="S55">1a</figref> shows an example of a prior method in the caching proxy server receives a streaming media data, and this data represents a client. To its function properly and effectively to meet, needed the caching proxy server a plurality of information from the server to a RTP stream easily and reliably Cache store can.
The Publication "Internet Telephony architecture and protocols - to IETF perspective "of Schulzrinne et al., 11.02.1999, showing an RTP system with its bias extensions wherein SIP is used for requesting data through proxies.
On Problem with the current approach is that he is not capable of some of the key required Information available to provide, such as the data packet transmission time and the information on the Video packet frame type, the cache proxy needed to work effectively. This information allows a caching proxy server, smooth delivery of packets to its client available to provide due to the knowledge of the time point at which an RTP data packet should be sent, and type of video frame that is transmitted without the specific Knowing payload format. Another problem with the current approach is that he is not able, the caching proxy server more non-communicating data during a program to disposal deliver. About that , it may happen that packets from the server "lost" and never the caching proxy server arrive. Furthermore, there is normally no way at the caching proxy server a complete, "genuine" copy to restore.
server of the prior art share the caching proxy server RTP information with by transferring information send a cache control header. In one approach includes a cache control header normal header fields. In another approach, which not concerned with a cache control of RTP information, was the normal fields in a header Erwei<?page 3?>sion format a single Type of additional added information, without the type of additional Information specifically indicated. In this approach, only one single added RTP extension subject to the normal field of the header and each be sent.
On Problem with using this limited, non-extensible Approach is is that a server is not able, each several sets of attach unrelated data, to send it to the caching proxy server. Another Problem with this approach is that the header extension used in these processes are not yet in a position to make available all information to questions that required a caching proxy server to cache a current properly and the power to transmit properly. Yet another problem with this approach is that it no way are, each independently of other possible expansion to identify extensions.
SUMMARY OF THE INVENTION
The present invention provides several methods, devices and machine readable media according to the definition by the objects the claims 1, 7, 17, 18, 23, 25, 26, 31 and 33 available. This allows to Advantageously, multimedia data using streaming media protocols such as real-time transfer protocols (RTP) and real-time streaming protocols (RTSP) are transferred to a computer network environment. At a exemplary embodiment is a request for RTP data from the caching proxy server to the Server sent. The request may be for a specific Data type and its related extensions or multiple unrelated types of data and the associated standing extensions relate. The server responds to the request, by its support fiür the requested RTP data indicates. determines the caching proxy server based on the response provided by the server, whether data transfer continued to be or terminated. If it is determined that the Datenübertragungsvor be continued gang is, the server informs the caching proxy as to the requested and supported to send RTP data. The server sends the requested data in a variable and expandable biasing format.
at Alternatively, performs the caching proxy server the request and the reception of data with respect to the packet transmission time and / or the packet frame type by the server. uses the caching proxy server the frame type data, order based on the ability of the To cope with client loads at certain times, to communicate with the client and frames available deliver. The transfer time data are also used by the caching proxy to a smooth delivery saving packages packages locally and to appropriate these packages to deliver timings to the client.
On Advantageously, a method for operating a caching proxy server: sending a request for streaming media data to a server, wherein the request includes a request for data associated with the Streaming media data in connection, wherein the request includes an identifier, the one of several possible representing data types that are associated with the streaming media data related; Receive a reply which support for the requested streaming media data indicating, by the server; Informing the server, the supported data, associated with the streaming media data relating to send; Receive the streaming media data from the server; Receiving a request To send the client streaming media data; and sending the requested Streaming media data to the client.
On advantageously used to receive and send a real-time transport protocol (RTP).
On Advantageously, finds the receiving streaming media data from place servers in an extensible extended header format.
On advantageous manner, sending a request or a several different and unrelated types of each to send streaming media data affect.
On advantageously includes the response from the server each have a answer for each supported Type of streaming media, and no response for any unsupported types of streaming media data.
On Advantageously, the extensible extended header format appended to the client prior to sending.
On advantageously involves appending the removal of the name and ID portion of the extensible extended header.
On Advantageously, the method further comprises a determination, whether a requested type of streaming media data to a caching proxy<?page 4?>server for the implementation its operations needed missing in the server's response.
On Advantageously, the method further comprises terminating the Data transfer operation, if the requested type of streaming media data in the response the server is missing and the Data transfer operation is of crucial importance.
On Advantageously, a method of extending a RTP header: Adding a first RTP sub-extension ID to an RTP header; Define a length the first RTP sub-extension by providing a sub-extension length to disposal is provided; Supplying data corresponding to the RTP sub-extension ID, within for the first RTP sub-extension defined length; and appending further RTP sub-extensions following the first RTP sub-extension.
On Advantageously, the length the RTP sub-extension is defined by a whole number of 32 bit words.
On Advantageously, following the first RTP sub-extension immediately the RTP header.
On advantageously located immediately after the RTP sub-extension length the RTP sub-extension data, and directly in front of her, the RTP sub-extension ID.
On contains advantageously the RTP sub-extension transmission time information for each RTP packet.
On contains advantageously the RTP sub-extension constant ID information.
On contains advantageously the RTP sub-extension frame type information.
On Advantageously, the frame type an unsigned integer 16bit value for each value representing a different frame.
On advantageously include the unsigned integer and frame type: assigning an integer value of "0" to an unknown Frame type; an integer value of "1" to a key-frame type; an integer value of "2" to a p-frame type; and an integer value of "3" to a b-frame type.
On advantageously has a key-frame a priority over all other frames.
On advantageously has a p-frame a lower priority than a Key-frame, and a higher priority than a b-frame.
On advantageously has a b-frame a lower priority than a p-frame.
On advantageously has a b-frame a lower priority than a Key-frame.
On advantageously has an unknown frame either a higher or a lower priority as a key-frame, p-frame and b-frame.
On advantageously has a key-frame a higher priority than p-frames, b-frames, or any other frames.
On Advantageously, a method for negotiating various Types of streaming media data by the server of: receiving a request from one or more types of streaming media data by a caching proxy server or a client, said request includes a request for data associated with said streaming media data in connection, wherein the request includes an identifier, which one of several possible representing data types in the streaming media data connection to stand; Determining if requested types of streaming media data supported by the server will; and responding to the request with a response, what ability the the server to support indicating the request.
On Advantageously, the method further comprises receiving a Request supported, to send RTP extensions to the caching proxy or the client.
On Advantageously, the method further comprises replying a transmission request and the transmission of all supported and requested enhancements.
On Advantageously, the method further comprises receiving a Command that ends the negotiation process.
On Advantageously, a method for negotiating various Types of streaming media data by the caching proxy server: sending a request from one or more types of related standing or unrelated streaming media data to a server, in which <?page 5?>the request includes a request for data, the associated with said streaming media data in connection with the Request includes an identifier that one of several possible representing data types in the streaming media data connection to stand; Receiving a response to each requested type of streaming media data; and deciding whether the negotiation process continued in the context of streaming media data or to be terminated.
On advantageously comprises Decide: determining whether a requested type not of streaming media data from the server supported; Check if a non-assisted Type of streaming media data for Caching proxy server operations is essential; Send an execution command to the server.
On Advantageously, the determining of supported types of streaming media data by means of a check is made whether a response in the form of an echo or in a different form for the requested Type of streaming media data was sent.
On Advantageously, the execution command sent on the basis of results of checking whether a non-supported type of streaming media data for caching proxy server operations is essential.
On Advantageously, the decision, the negotiation process to end.
On Advantageously, the decision, with the negotiation process continue and ask the server, remaining supported types to send streaming media data.
On Advantageously, a method for thinning out Frames by the proxy server: receiving a message from a client, said message indicating a need for streaming media data, which are sent to the client to thin out; Rate the priority of streaming media data; and send Only selected Streaming media data.
On advantageously comprises Rate: Naming unsigned integers for Frame types; Assigning an integer value "0" to an unknown frame type; one integer value of "1" to a key-frame type; an integer value of "2" to a p-frame type; and an integer value of "3" to a b-frame type.
On advantageously has a key-frame a priority over all other frames.
On advantageously has a p-frame a lower priority than a Key-frame, and a higher priority than a b-frame.
On advantageously has a b-frame a lower priority than a p-frame.
On advantageously has a b-frame a lower priority than a Key-frame.
On advantageously has an unknown frame either a higher or a lower priority as a key-frame, p-frame or B-frame.
On advantageously has a key-frame a higher priority than p-frames, b-frames, or any other frames.
On Advantageously, the method further comprises: receiving a second message from a client, streaming media data further thin out; Process the message and removing more selected streaming media data and sending Streaming media data with higher priority.
On Advantageously, the selected streaming media frame, is removed, a b-frame, and it will be streaming media data with a higher priority than that of a b-frame is sent to the client.
On Advantageously, the streaming media data removed are p-frames and b-frames, and there are frames with a higher priority than those of both p-frames and b-frames sent to the client.
On Advantageously, a method for thinning out Frames by the client: sending a message to a caching proxy server, said message indicating a need for streaming media data, received at the client, thin out; Receiving Media back from the caching proxy server whose order higher than that of streaming media data lower order is.
On Advantageously, the method comprises <?page 6?>also: Sending a subsequent message from a client, streaming media data further thin out; Receive of streaming media data whose order is higher than that of previously received streaming media data.
On Advantageously, the method further comprises: assigning a unsigned integer to a frame of the Streaming media data connection stands, wherein assigning further comprises: assigning an integer Value "0" to an unknown Frame type; an integer value of "1" to a key-frame type; an integer value of "2" to a p-frame type; and an integer value of "3" to a b-frame type.
On advantageously has a key-frame a priority over all other frames.
On advantageously has a p-frame a lower priority than a Key-frame, and a higher priority than a b-frame.
On advantageously has a b-frame a lower priority than a p-frame.
On advantageously has a b-frame a lower priority than a Key-frame.
On advantageously has an unknown frame either a higher or a lower priority as a key-frame, p-frame or B-frame.
On advantageously has a key-frame a higher priority than p-frames, b-frames, or any other frames.
On advantageously involves sending removal of p-frames and sending the selected Streaming media data higher Order than p-frames to the client.
On advantageously involves sending removal of both p-frames and b-frames and sending selected streaming media data higher Order than both p-frames and b-frames.
On advantageously comprises a machine readable medium which stores executable instructions for disposal provides that when executed cause by a group of processors that the group of Processors operations for generating streaming media data a caching proxy server execute: transmitting a request for streaming media data to caching proxy server to be delivered; Transfer a request for data in the streaming media data Connection available, the request includes an identifier, the one of several possible Types of data associated with said streaming media data in connection, represents; Receiving the streaming media data and storing the streaming media data on a storage device, identified by can be controlled to the caching proxy server; and receiving the data associated with said streaming media data in context.
On advantageously comprises the computer readable medium further comprises: storing the data associated with said streaming media data in connection, in the memory device.
On advantageously comprises a machine readable medium which stores executable instructions for disposal provides that when executed cause by a group of processors that the group of Processors operations for transferring data from a server data processing system to execute: receiving a request for streaming media data, said request includes a request for data associated with said streaming media data in connection, wherein the request includes an identifier, the one of several possible Types of data in the streaming media data connection are representing; Responding to the request with a Answer that ability a the server to support indicating the request; and sending the requested data, associated with the streaming media data related.
On advantageously used to send a real-time transport protocol (RTP).
On Advantageously, the request from a caching proxy server performed or a client will.
On advantageously finds the answers with a reply only place, if the server supports the request.
On advantageously comprises the computer readable medium further comprises Sending the requested data in the transmission protocol context are, in an extensible extended header format.
On advantageously includes the Erwei<?page 7?>terbare advanced biasing an extension name and an extension identification (ID), the separate with each RTP extension in association with.
On Advantageously, the request may each have one or more transmission protocol data types affect.
On advantageously includes the response by the server each an answer for all supported data transmission protocol and no response for unsupported transit log data.
On advantageously comprises the computer readable medium further comprises Receiving a request, the transmission protocol data after sending a response for Compatible Sending data, and only the requested and supported data transmission protocol to send.
On advantageously comprises a machine readable medium which stores executable instructions for disposal provides that when executed cause by a group of processors that the group of Processors data transmitting / receiving operations from a server running: Send a request for streaming media data to the server, wherein the request includes a request for data associated with the Streaming media data in connection, wherein the request includes an identifier, the one of several possible Types of data associated with said streaming media data associated represents; Receive a response from the server, which support for the requested streaming media data displays; Informing the server, the supported data, associated with the streaming media data relating to send; Receive supported Streaming media data from the server; Receiving a request To send from a client streaming media data; and send of the requested streaming media data to the client.
On advantageously used to receive and send a real-time transport protocol (RTIP).
On Advantageously, finds the receiving streaming media data from place servers in an extensible extended header format.
On advantageous manner, sending a request or a several different and unrelated types of each to send streaming media data affect.
On advantageously includes the response from the server a response for each supported Type of streaming media, and no response for any unsupported types of streaming media data.
On Advantageously, the extensible extended header format appended to the client prior to sending.
On advantageously involves appending the removal of the name and ID portion of the extensible extended header.
On advantageously comprises the computer readable medium further comprises Determining whether a requested type of streaming media data, to a caching proxy server for the implementation its operations needed missing in the server's response.
On advantageously comprises the computer readable medium further comprises Exit the data transfer operation, if the requested type of streaming media data in the server's response is lacking and for the data transfer operation of decisive importance.
On advantageously comprises a machine readable medium which stores executable instructions for disposal provides that when executed cause by a group of processors that the group of Processors RTP header extension perform operations: adding a first RTP sub-extension ID to an RTP header; Define a length the first RTP sub-extension by providing a sub-extension length to disposal is provided; Supplying data corresponding to the RTP sub-extension ID, within for the first RTP sub-extension defined length; and appending further RTP sub-extensions following the first RTP sub-extension.
On Advantageously, the length the RTP sub-extension is defined by a whole number of 32 bit words.
On Advantageously, following the first RTP sub-extension immediately the RTP header.
On advantageously located immediately after the RTP sub-extension length the RTP sub-extension data, and directly in front of her, the RTP sub-extension ID.
On contains advantageously the RTP sub-extension transmission time information for each<?page 8?>of RTP packet.
On contains advantageously the RTP sub-extension constant ID information.
On contains advantageously the RTP sub-extension RTP frame type information.
On Advantageously, the frame type an unsigned integer 16bit value for each value representing a different frame.
On advantageously include the unsigned integer and frame type further comprising the steps of: assigning an integer value of "0" to an unknown frame type; one integer value of "1" to a key-frame type; an integer value of "2" to a p-frame type; and an integer value of "3" to a b-frame type.
On advantageously has a key-frame a priority over all other frames.
On advantageously has a p-frame a lower priority than a Key-frame, and a higher priority than a b-frame.
On advantageously has a b-frame a lower priority than a p-frame.
On advantageously has a b-frame a lower priority than a Key-frame.
On advantageously has an unknown frame either a higher or a lower priority as a key-frame, p-frame and b-frame.
On advantageously has a key-frame a higher priority than p-frames, b-frames, or any other frames.
On advantageously comprises a machine readable medium which stores executable instructions for disposal provides that when executed cause by a group of processors that the group of Processors negotiating operations for different types of streaming media data by a server executes: receiving a request from one or more types of streaming media data by a caching proxy server or a client, said request includes a request for data associated with said streaming media data in connection, wherein the request includes an identifier, which one of several possible Types of data showing that in the streaming media data connection to stand; Determining whether the requested types of streaming media data supported by the server will; and responding to the request with a reply, what ability a the server to support indicating the request.
On advantageously comprises the computer readable medium further comprises Receiving a request, supported RTP extensions to the caching proxy or to send the client.
On Advantageously, further comprising the computer readable medium, the Reply to a transmission request and the sending of all supported and requested enhancements.
On advantageously comprises the computer readable medium further comprises Receiving a command that ends the negotiation process.
On advantageously comprises a machine readable medium which stores executable instructions for disposal provides that when executed cause by a group of processors that the group of Processors negotiating operations for different types of streaming media data by a caching proxy server performs: Send a request from one or more types of related standing or unrelated streaming media data to a server, the require- ation a request for data includes that associated with said streaming media data in connection with the Request includes an identifier that one of several possible representing data types in the streaming media data connection to stand; Receiving a response to each requested type of streaming media data; and deciding whether the negotiation process continued in the context of streaming media data or to be terminated.
On advantageously comprises Decide: determining whether the requested type not of streaming media data from the server supported; Check if the unsupported Type of streaming media data for Caching proxy server operations is essential; and sending an execution command to the server.
On Advantageously, the determining of supported types of streaming media data by means of a check is made whether a response in the form of an echo or in a different form for the requested Type of streaming media data was sent.
<?page 9?>
On Advantageously, the execution command sent on the basis of results of checking whether a non-supported type of streaming media data for caching proxy server operations is essential.
On Advantageously, the decision, the negotiation process to end.
On Advantageously, the decision, with the negotiation process continue and ask the server, remaining supported types to send streaming media data.
On advantageously comprises a machine readable medium which stores executable instructions for disposal provides that when executed cause by a group of processors that the group of Processors operations for thinning performs frames through a caching proxy server: receiving a message from a client, frames in a transmission of streaming media data thinning of the caching proxy server; evaluate the priority frames; and sending only selected frames.
On Advantageously, the frame priority is evaluated by naming unsigned integers for Frame types, which have the unsigned integers: Mapping an integer value of "0" to an unknown Frame type; an integer value of "1" to a key-frame type; an integer value of "2" to a p-frame type; and an integer value of "3" to a b-frame type.
On advantageously has a key-frame a priority over all other frames.
On advantageously has a p-frame a lower priority than a Key-frame, and a higher priority than a b-frame.
On advantageously has a b-frame a lower priority than a p-frame.
On advantageously has a b-frame a lower priority than a Key-frame.
On advantageously has an unknown frame either a higher or a lower priority as a key-frame, p-frame or B-frame.
On advantageously has a key-frame a higher priority than p-frames, b-frames, or any other frames.
On advantageously comprises the computer readable medium further comprises: receiving a second request from a client to further thin out frames; Process the request and removing more selected frames and sending Frames with a higher Priority.
On Advantageously, the selected frame, which is removed, a p-frame, and there are frames with a higher priority than those a p-frame is sent to the client.
On Advantageously, the selected frames, the distance are p-frames and b-frames, and there are frames with a higher priority than those of both p-frames and b-frames sent to the client.
On advantageously comprises a machine readable medium which stores executable instructions for disposal provides that when executed cause by a group of processors that the group of Processors operations for thinning frames executing a client: sending a thinning message, indicating that no frames are transmitted lower order are, to a caching proxy server; Receiving frames whose order higher than that of lower-order frames, is back from caching proxy server.
On advantageously comprises the computer readable medium further comprises: sending a subsequent message from a client, frames continue thin out; Receive Frames of a higher Order than those of previously received frames.
On advantageously be the frames associated with unsigned integers, the unsigned integers include: assigning a integer value of "0" to an unknown Frame type; an integer value of "1" to a key-frame type; an integer value of "2" to a p-frame type; and an integer value of "3" to a b-frame type.
On advantageously has a key-frame a priority over all other frames.
On advantageously has a p-frame a lower priority than a Key-frame, and a higher priority than a b-frame.
On advantageously has a b-frame a lower priority than a p-frame.
On advantageously has a b-frame <?page 10?>a lower priority than a Key-frame.
On advantageously has an unknown frame either a higher or a lower priority as a key-frame, p-frame or B-frame.
On advantageously has a key-frame a higher priority than p-frames, b-frames, or any other frames.
On advantageously comprises removing the removal of p-frames and sending the selected Frames with a higher Order as that of p-frames to the client.
On advantageously comprises removing the removal of both p-frames and b-frames, and sending selected frames with a higher order than that of both p-frames and b-frames.
More Features and advantages of the invention will be made the accompanying drawings and from the following detailed description.
BRIEF DESCRIPTION OF THE DRAWING
The present invention is represented by the figures of the accompanying drawing, in which like reference numerals identify similar Denote elements, by way of example illustrated and not restricted.
<figref idrefs="S55">1a</figref> shows a flowchart of a method of the prior art for Transferring streaming media data to a caching proxy server and then to a client.
<figref idrefs="S56">1b</figref> illustrated , Exchanged a network of computer systems in which media data and / or can be processed, according to one embodiment of the present invention.
<figref idrefs="S57">2</figref> illustrated a block diagram of an exemplary digital processing system according to a embodiment of the present invention may be used.
<figref idrefs="S58">3</figref> illustrated an embodiment a procedure for the communication between a server and a client using of RTSP and RTP protocols.
<figref idrefs="S58">4</figref> illustrated a further embodiment a method for communication between a server, a Caching proxy server and a client.
<figref idrefs="S59">5</figref> illustrated an embodiment an RTSP, RTP negotiation process between a caching proxy and a server.
<figref idrefs="S60">6</figref> illustrated an embodiment a relationship between the server, the caching proxy, and client while a transfer of a Transmit Time (TT) -Untererweiterung to the caching proxy server and its use of TT Information in transferring streaming data to a client.
<figref idrefs="S61">7</figref> illustrated an embodiment of the operation that while the transfer of a transmit time sub-extension takes place between server and caching proxy server.
<figref idrefs="S62">8</figref> illustrated an embodiment of the operation that while the transfer of a frame type sub-extension between server and caching proxy server takes place.
<figref idrefs="S63">9</figref> is a flow diagram of an embodiment an operation to provide various types of information to a caching proxy to put in an expandable header format.
<figref idrefs="S64">10</figref> illustrated an embodiment a relationship between the server, caching proxy, and client during a Transfers a frame type sub-extension.
<figref idrefs="S65">11</figref> illustrated a block diagram of a machine readable medium which stores executable computer program instructions for the execution by an exemplary caching proxy server stores and according to a embodiment of the present invention may be used.
<figref idrefs="S66">12</figref> illustrated a block diagram of a machine readable medium which stores executable computer program instructions for the execution by an exemplary originating server (Server) stores and according to a embodiment of the present invention may be used.
<figref idrefs="S67">13</figref> illustrated a block diagram of a machine readable medium which stores executable computer program instructions for the execution by an exemplary client stores and according to one embodiment of the present invention may be used.
DETAILED DESCRIPTION
it a method and system are described that below a multimedia data transmission Using real-time transfer protocol (RTP) and Real-Time Streaming Protocol (RTSP) available put. For illustrative purposes, will <?page 11?>mentioned, numerous specific details to provide a thorough understanding to enable the present invention. There are, for example, different system architectures of computer networks and digital provided processing systems for illustrative purposes only, but not as limitations of the present invention are to be understood. but is apparent to those skilled in the art, that the present invention without these specific details accomplished can be. In other instances, well-known structures are and devices shown in block diagram form to illustrate the to support.
<figref idrefs="S56">1b</figref> is a diagram of a network of computer systems in which media data can be processed, according to a embodiment of the present invention. As shown in <figref idrefs="S56">1b</figref> is a number of client computer systems, of which one or more of an implementation of a receiving system may represent a Internet <figref>122</figref> coupled together. It is noted, that the term "Internet" in a network of Networks relates. Such networks may a variety of protocols for the exchange of information, such as TCP / IP, ATM, SNA, SDI, RTP, RTSP etc. use. The physical connections of the Internet and the protocols and communication procedures of the Internet are well known to the skilled person. Access to the Internet <figref>103</figref> is typically from Internet service providers (ISP) provided, such as the ISP <figref>124</figref> and the ISP <figref>126</figref>Which also with caching proxy servers <figref>130</figref> and <figref>132</figref> communicate can. User on client systems, such as the client computer systems <figref>102</figref>. <figref>104</figref>. <figref>118</figref> and <figref>120</figref> gain generally access the Internet through Internet Service Provider such as the ISPs <figref>124</figref> and <figref>126</figref>Which also has the Internet with caching proxy servers <figref>130</figref> and <figref>132</figref> connected could be. Access to the Internet can the transfer of information (eg e-mail, text files, media files, etc.) between two or more facilitate digital processing systems, such as the client computer systems <figref>102</figref>. <figref>104</figref>. <figref>118</figref> and <figref>120</figref> and or a streaming media server system <figref>128</figref>, As the origin server can be considered, from the caching proxy server streaming media data receive.
For example can one or more of the client computer systems <figref>102</figref>. <figref>104</figref>. <figref>118</figref> and <figref>120</figref> and or the streaming media server <figref>128</figref> Media data (eg, video and Audio, or video, or audio) for a or more of the client computer systems <figref>102</figref>. <figref>104</figref>. <figref>118</figref> and <figref>120</figref> and or the streaming media server <figref>128</figref> provide. These may be Answer to a request made available. According to the present Description can Such media data in the system <figref>100</figref> transferred to tracks will. Such tracks at one embodiment the invention according to a specific format of the streaming media data and / or (a) specific Data communication (eg, network) protocol (s) are generated.
Of the Streaming media server <figref>128</figref> typically consists of at least a computer system fiür the operation with one or more data communication protocols such as about the protocols of the World Wide Web, and is therefore typically with the Internet <figref>122</figref> coupled. Optionally, the streaming media server<figref>128</figref> part of his ISP, the one access to the Internet and / or to other network Client computer systems available can provide. The client computer systems<figref>102</figref>. <figref>104</figref>. <figref>118</figref> and <figref>120</figref> can each with an appropriate web browsing software on data such as HTML documents (Eg websites) access of the streaming media server <figref>128</figref> to Available ge provides can be. Such data may Media such as QuickTime movies or QuickTime Streaming Me dia data to disposal provide that the client computer systems <figref>102</figref>. <figref>104</figref>. <figref>118</figref> and <figref>120</figref> offered can be.
Of the ISP <figref>124</figref> provides the client computer system <figref>102</figref> a Internet connection via a modem interface <figref>106</figref> available, as part of the client computer system <figref>102</figref> viewed can be. The client computer system may be a conventional Computer system such as a Macintosh computer, a "network" computer, a portable Computer, a Web TV system, or other types of digital processing systems (Eg a mobile phone with digital processing capability) be. Similarly, provides the ISP <figref>126</figref> an Internet connection for the client computer systems <figref>104</figref>. <figref>118</figref> and <figref>120</figref> available, although as shown in <figref idrefs="S56">1b</figref> such a connection at various client computer systems such as the client computer systems <figref>102</figref>. <figref>104</figref>. <figref>118</figref> and <figref>120</figref> different can be. For example, as in<figref idrefs="S56">1b</figref> is shown the client computer system <figref>104</figref> with the ISP <figref>126</figref> over a Modem interface <figref>108</figref> coupled, while the client computer systems <figref>118</figref> and <figref>120</figref> part a local area network (LAN). The interfaces<figref>106</figref> and <figref>108</figref>. in the <figref idrefs="S56">1b</figref> as modems <figref>106</figref> or. <figref>108</figref> shown are able an analog modem, an ISDN modem, a cable modem, a satellite transmission interface (For example, "Direct PC"), a wireless Interface, or other interface for coupling a digital processing system, such as a client computer system be to another digital processing system. The client computer systems<figref>118</figref> and <figref>120</figref> are a LAN bus <figref>112</figref> about the network interface <figref>114</figref> or. <figref>116</figref> coupled. The network interface <figref>114</figref> and <figref>116</figref> can an Ethernet type, Asynchronous Transfer Mode (ATM), or other type of network interface be. Of the<?page 12?>LAN bus is also connected to a gateway digital processing system <figref>110</figref> coupled, ask the firewall and other Internet services for a LAN available can.
The Gateway digital processing system <figref>110</figref> again with the ISP <figref>126</figref> coupled to an Internet connection for the client computer systems <figref>118</figref> and <figref>120</figref> to disposal deliver. The gateway digital processing system<figref>110</figref> can For example, a conventional Server computer system include. Similarly, the streaming media server<figref>128</figref> for example a conventional Server computer system include.
The system <figref>100</figref> it can in one or more of the client computer systems <figref>102</figref>. <figref>104</figref>. <figref>118</figref> and <figref>120</figref> and or the streaming media server <figref>128</figref> allow media data (eg video and audio, or video, or audio) for one or more other the client computer systems <figref>102</figref>. <figref>104</figref>. <figref>118</figref> and <figref>120</figref> and or the streaming media server <figref>128</figref> to provide.
such data can For example, in response to a request by a receiving system to disposal will be provided, which is, for example, one or more the client computer systems <figref>102</figref>. <figref>104</figref>. <figref>118</figref> and <figref>120</figref> concerns.
<figref idrefs="S57">2</figref> is a block diagram of an exemplary digital processing system, the according to a embodiment of the present invention may be used. For example can in <figref idrefs="S57">2</figref> digital processing system shown <figref>250</figref> as a Client computer system, a streaming media server system, a conventional Server system, etc. can be used. Further, the digital processing system<figref>250</figref> to are used, one or more functions of an Internet service provider such as the ISP <figref>124</figref> or <figref>126</figref> perform. The digital processing system <figref>250</figref> can via a modem or a network interface <figref>268</figref> with external Systems are coupled. It is to be noted that the modem or the network interface <figref>268</figref> as part of the digital processing system <figref>250</figref> viewed can be. The modem or the network interface<figref>168</figref> can an analog modem, an ISDN modem, a cable modem, a token ring interface, a satellite transmission interface, a wireless interface, or (a) other interface (s) be, with a data communication link between two or more is provided digital processing systems.
The digital processing system <figref>250</figref> includes a processor <figref>252</figref>. the for one or more processors is and one or more conventional Types of such processors as a Motorola PowerPC processor, an Intel Pentium (or x86) processor etc. may contain. A memory<figref>255</figref> is through a bus <figref>256</figref> to the processor <figref>252</figref> coupled. The memory<figref>255</figref> can be and / or a dynamic random access memory (DRAM) static RAM (SRAM) include. The processor can also with other Types of storage areas / memories (eg, cache, Flash memory, Disk etc.) coupled, as part of the memory <figref>255</figref> or separately from the memory <figref>255</figref> could be adopted.
Of the bus <figref>256</figref> couples the processor further <figref>252</figref> With a display controller <figref>258</figref>, A mass storage device <figref>262</figref>. the modem or the network interface <figref>268</figref>And an input / output (I / O) controller <figref>264</figref>, The mass storage <figref>262</figref> can for a magnetic, optical, magneto-optical, tape and / or other type of machine-readable Media / information storage device available. The mass storage<figref>262</figref> can example for a hard disk, a read-only or writable optical disc, etc. to stand. The display controller<figref>258</figref> controls on conventional , An ad <figref>260</figref>That for a Kathodenstrahköhren (CRT) display, a liquid crystal display (LCD), a plasma display, or other type of display device can stand. The I / O controller<figref>264</figref> controls the I / O device (s) <figref>266</figref>. the one or more keyboards, mouse / trackball or other pointing devices, magnetic and / or optical disk drives, printers, scanners, Digital cameras, microphones, etc. can include.
it is to be noted that the digital processing system <figref>250</figref> just an example for represents a system that many different configurations and architectures may possess and used with the present invention can be. For example, have Macintosh and Intel systems often more buses such as a peripheral bus, a dedicated cache bus so on. On the other hand, it may be that a network computer, which as a digital processing device of the present invention is used, for example, has no hard drive or other mass storage device, However, routines and / or data from a network connection such as the Modem or interface <figref>268</figref> for processing by the processor <figref>252</figref> can receive. Similarly, a Web TV system, which is known in the prior art, when a digital processing system of the present invention are considered, however, it may be, that such a system is not one or more I / O devices such as the above with reference to the I / O device (s) <figref>266</figref> described having. Further, a portable communication and data processing system, possibly a mobile tele<?page 13?>fon and / or a paging capability applies, as a digital Processing system may be regarded as in the present invention is usable.
in the in <figref idrefs="S57">2</figref> shown system <figref>250</figref> can the mass storage <figref>262</figref> (and or the memory <figref>254</figref>) Media (eg video, audio, movies, etc.) save that in accordance with the present Invention (for example, by means of tracks) can be processed. As Alternatively, Media data of the digital processing system <figref>250</figref> for example via the Modem or network interface <figref>268</figref> received and stored and / or by the display <figref>260</figref> and / or (s) set the I / O device (s) <figref>266</figref> presents will. In one embodiment, can Media data in packet form a data communication network such as a LAN and / or the Internet transmitted according Tracks will. On the other hand, the processor<figref>252</figref> one or more Routines, a file with one or more tracks to use, or as Alternative to produce one or more tracks to media (eg a prepackaged movie, an audio file, video file, etc.) for a presentation or packaging in accordance with the tracks to process. Such routines may in the mass storage<figref>262</figref>. the memory <figref>264</figref>, And / or other machine-readable Medium to which digital by the processing system <figref>250</figref> accessed can be stored. In one embodiment, the digital processing system <figref>250</figref> process media data in which Tracks are embedded. Similarly way can such embedded media data in the mass storage <figref>262</figref>. the memory <figref>264</figref>, And / or another machine-readable medium, on the digital processing system of the <figref>250</figref> accessed can be stored.
<figref idrefs="S58">3</figref> shows an example for Components in data transfer scenarios occurrence. An origin server<figref>301</figref> and a client <figref>302</figref> are shown as components in the implementation of the transmission of streaming media data using RTP and RTSP protocols as an embodiment the present invention occur. The origin server<figref>301</figref> and the client <figref>302</figref> can directly or through an intermediate member such as a caching proxy server communicate with each other. In one embodiment, can the server <figref>301</figref> and the client <figref>302</figref> to separate local area networks (LANs) are. In another embodiment, can the server <figref>301</figref> and the client <figref>302</figref> a wide area Network (WAN) to be connected. It can one or more clients <figref>302</figref> be present with the server <figref>301</figref> directly or indirectly via an intermediate member such as the Internet in communication with each other. The server<figref>301</figref> and the client <figref>302</figref> can for sending various types of streaming media data in various formats cooperate.
at one embodiment can the streaming media data in a downward direction from the server <figref>301</figref> at the client <figref>302</figref> be sent. In another embodiment, the client can <figref>302</figref> Requests and other streaming media data information to the server <figref>301</figref> send.
<figref idrefs="S58">4</figref> shows an example for an embodiment a communication session between a client <figref>302</figref>. a caching proxy server (CP) <figref>401</figref> and the origin server <figref>301</figref>, Between these components can There are several types of compounds, however, the client <figref>302</figref> preferably via a Internet connection with the caching proxy server <figref>401</figref> in communication standing, and the caching proxy server <figref>401</figref> can a Internet connection to the origin server <figref>301</figref> in communication to stand.
On Caching proxy server <figref>401</figref> can on the Internet with a individual client <figref>302</figref> or with multiple clients <figref>302</figref> connected be.
Of the Caching proxy server <figref>401</figref> and its connected clients <figref>302</figref> can located on the same local network or on a wide area be connected network. In one embodiment it is preferred if the caching proxy server <figref>401</figref> and the client <figref>302</figref> or. the clients <figref>302</figref> about a local area network are connected and within close range. An exemplary embodiment a proximity connection, a compound in a same company o. the like. be, the connection interface with a Broadband interface may apply. The communication link between the caching proxy server <figref>401</figref> and the client <figref>302</figref> can of varied be kind, such as direct cable, fiber optics, radio frequency, etc. These Compounds are mutable and vary according to a specific client requirements <figref>302</figref> and technological advances.
On Origin server <figref>301</figref> and a caching proxy server <figref>401</figref> may under Use of a communication link such as direct cable, fiber optics, High-frequency or the like are communicating. These compounds are mutable and vary according to requirements and technological advances. The caching proxy <figref>401</figref> can as an intermediate element between the Origin server <figref>301</figref> and the client <figref>302</figref> for the transmission streaming media, and as a support for a smooth Delivery of RTP packets from the server <figref>301</figref> for client <figref>302</figref> serve. Here, a caching proxy server <figref>401</figref> more of its actual functions run. In one embodiment, the the caching proxy functions <figref>401</figref> the frame thinning, the local saving <?page 14?>Streaming media data, and the time-shifted transmit of streaming media data to the client <figref>302</figref> be. At a another embodiment, the the caching proxy server functions <figref>401</figref> negotiating with the originating server <figref>301</figref> for various RTP extensions in Connection with various types of streaming media data and receiving of or responses to various requirements of the client <figref>302</figref> etc.. In one embodiment, it is one of the tasks of a caching proxy server <figref>401</figref>. an unadulterated and good-quality copy of streaming media data efficiently to deal the client <figref>302</figref> to deliver.
Typically , a client <figref>302</figref> a request directly to the caching proxy server <figref>401</figref> send. The caching proxy server <figref>401</figref> then to the request by the client <figref>302</figref> react and either the requested objects the pick system server, or the responses of their own accord. His own Response may consist of a copy of streaming media data, which has already been obtained from an originating server and a controlled by the caching proxy server memory device (for example, a local hard disk of the caching proxy server) has been saved. but the system can also be configured so that the client <figref>302</figref> requirements directly to the System Server <figref>301</figref> sends, in which case the server <figref>301</figref> directly the client <figref>302</figref> responses, or indirectly to the client <figref>302</figref> over a Caching proxy server <figref>401</figref>,
<figref idrefs="S59">5</figref> shows an exemplary method in accordance with a embodiment of the present invention. In the operations of<figref idrefs="S59">5</figref> communicate a Origin server (as server <figref>301</figref>) And a caching proxy server <figref>401</figref> together, order at a smooth transfer assist of streaming media data. This communication supports smooth delivery of packages in many ways; among other things, allows them it to the caching proxy server <figref>401</figref>, High-quality streaming media data at a high speed to the client <figref>302</figref> to deliver. additionally helps communication even when assisting and management of the Load on the client, by ensuring that the client <figref>302</figref> a reasonable amount of streaming media data receives and no frames are dropped, one or only a frame lesser importance are dropped here (by thinning Frames).
First Calls the caching proxy server during the operation <figref>501</figref> Streaming media data from an originating server at. Requesting may performed be by the server <figref>301</figref> in RTSP requests to "setup" for audio or video streaming media data. The request may be a type of streaming media data or more types concern of streaming media. The request may be in a similar or unrelated types of streaming media data relate.
Of the server <figref>301</figref> receives the request from the caching proxy server <figref>401</figref>And the server <figref>301</figref> is working to the with respect to the operation <figref>502</figref> of <figref idrefs="S59">5</figref> described Wise. The "SETUP" request in RTSP in operation <figref>501</figref> , by the caching proxy server <figref>401</figref> be initiated, irrespective of a client system <figref>302</figref>, The streaming media data requests, or the requirement in operation <figref>501</figref> can be obtained by a client system <figref>302</figref> be initiated, the streaming media data from caching proxy server <figref>401</figref> requesting, of the requested streaming media data from the server in turn <figref>301</figref> requesting (If the caching proxy server <figref>401</figref> the requested streaming media data has not been stored under his control, like a local Hard disk caching proxy server <figref>401</figref>). The caching proxy server<figref>401</figref> can the IP address of the client for later Communication log if a client initiates the request has.
Of the Caching proxy server <figref>401</figref> and the origin server <figref>301</figref> can a expand communication process in which the caching proxy server <figref>401</figref> and the origin server <figref>301</figref> in a negotiation process <figref>502</figref> for communication in both directions can result a smooth transfer to support streaming media data packets. As in operation<figref>501</figref> shown is, the caching proxy server <figref>401</figref> With the originating server <figref>301</figref> communicate (eg by Specifying the names of RTP extensions) a streaming media data report associated set of RTP extensions, of the caching proxy server <figref>401</figref> Posted shall be. The for the server <figref>301</figref> requested set of extensions can be the same as the set of requirements of the client <figref>302</figref> at the caching proxy server <figref>401</figref> was sent (in cases where the client RTP extensions such as security enhancements for its use specified).
Of the server <figref>301</figref> receives the request for RTP extensions from the caching proxy server <figref>401</figref>, The server <figref>301</figref> then can process its internal processes, to determine whether the server <figref>301</figref> the requested RTP extensions supported. The result of this determination may be that the server <figref>301</figref> some, but does not support all of the requested RTP extensions, or the server <figref>301</figref> none of the requested RTP extensions supports, or that the server <figref>301</figref> all angefor derten RTP extensions supported. The server <figref>301</figref> can the caching proxy server <figref>401</figref> in operation <figref>502</figref> reply, by the caching proxy server <figref>401</figref> about the supported RTP extensions the server <figref>301</figref> informed. The server<figref>301</figref> can the make choice, respond <figref>502</figref>By only <?page 15?>supported RTP extensions indicating or may respond by both the supported and the unsupported RTP extensions indicating the server, or <figref>301</figref> can also not respond, so he does not support requested extensions displays. In one embodiment, may be the answer in the form of an echo or other other forms have. In one echo form of the invention, the server transmits the names of the requested RTP extensions and an associated code for each named Extension.
Of the Caching proxy server <figref>401</figref> receives from the server <figref>301</figref> a Response which the supported RTP extensions or both that are supported as and the non-supported Specifies RTP extensions. The caching proxy server<figref>401</figref> can check whether an answer for Sending all previously requested by him RTP extensions has been. The caching proxy server<figref>401</figref> can not, one, some, or receive any responses to the requested RTP extensions have. The caching proxy server<figref>401</figref> can continue to evaluate, to verify that any of the server <figref>301</figref> unsupported RTP extensions for one Streaming media data-transfer operation required are. Required RTP extensions can be defined be as RTP extensions that are necessary to a certain Data transfer operation such as thinning of frames, etc. at the caching proxy server <figref>401</figref> continue. As shown in <figref idrefs="S59">5</figref> relate the operations <figref>501</figref> and <figref>502</figref> on Setup and negotiation with respect to a Audio tracks, while the operations <figref>503</figref> and <figref>504</figref> a similar Setup and negotiating for a video / picture track relate.
at one embodiment , the caching proxy server <figref>401</figref> each plurality of sets of RTP extensions from the server <figref>301</figref> . Request If the requested RTP extensions are required and from the server <figref>301</figref> are not supported, the caching proxy server <figref>401</figref> the take a decision to terminate the negotiation process. It can also be a case that some of the extensions are supported and some do not. If in such a situation the non-supported extensions for the no data transfer operation are required, the caching proxy server <figref>401</figref> the decision meet to proceed and the supported extensions and the to receive the associated streaming media data. In another embodiment it may be that the caching proxy <figref>402</figref> for no the requested RTP extensions receives a response. In a such a case the caching proxy <figref>402</figref> make the decision the negotiating process with the server <figref>301</figref> to end.
If the caching proxy server <figref>402</figref> the decision is made, the not to finish negotiating process and supported RTP extensions and Streaming media data request, it can be a request to the server <figref>301</figref> email, the streaming media data and the associated supported RTP extensions in operation <figref>504</figref> to send. In the example of<figref idrefs="S59">5</figref> finds this request, the streaming media data and the associated RTP extensions place when the caching proxy server <figref>401</figref> a "PLAY" command in the RTSP protocol sends.
Of the server <figref>301</figref> responds in operation <figref>505</figref> on the "PLAY" command by the streaming media data and sends the requested and supported RTP extensions, associated with the streaming media data, in an extended Biasing format to the caching proxy server <figref>401</figref> sends. This Bias may contain one, two or three similar or unrelated RTP extensions.
at Receiving the streaming media data and receiving RTP extensions from the server <figref>301</figref> , the caching proxy <figref>401</figref> the streaming media data and the RTP extensions in a memory device <figref>601</figref> (eg one from the caching proxy server <figref>401</figref> controlled storage device such as a local hard drive of the server <figref>401</figref>) And save the transfer process with the server <figref>301</figref> break up. The caching proxy<figref>401</figref> can also initiate the negotiation process over and over again, if another request for streaming media from the client <figref>302</figref> received. This requirement may be similar to previous requirements or completely be different from it. Some of the extensions that of the caching proxy server<figref>401</figref> requested can be, can one designated by the symbol "trti" transmit time sub-extension, or designated by the symbol "ftry" frame type sub-extension, or designated by the symbol "Papo" packet position sub-extension be. It can requested other extensions (eg an extension, of the client <figref>302</figref> or the server <figref>401</figref> used is to provide a secure or encrypted or verified communication between the client <figref>302</figref> and the server <figref>401</figref> upright to obtain).
For example , a caching proxy server <figref>401</figref> in a cycle of its operation ask for three separate RTP sub-extensions one of which one designated by the symbol "frty" frame type sub-extension may be (the thinning of frames by the caching proxy server <figref>401</figref> according to the following Description is used), the next can by "trti" designated transmission type sub-extension be (by the caching proxy server <figref>401</figref> as described below is used), and the last <?page 16?>can by "Papo" Marked Packet position sub-extension be (which for recovering can be used lost or missing packets). For illustration of this example is also assumed that Under the extension "frty" for streaming media data transfer operation is required. "Frty" may consist of various establish be referred to as a required sub-extension. one the reasons may be that the client <figref>302</figref> the data is not high with a can not accept or process data rate (which is why a thinning Frames is required), and the sub-extension "frty" supports the Data transfer operation between a caching proxy server and the client <figref>302</figref>by it enables that the caching proxy server performs frame thinning, and may therefore be "necessary".
Of the Cache Proxy <figref>402</figref> the request may be received and the server <figref>301</figref> communicate by sending a single request to the server <figref>301</figref> sends the sub-extensions by two asks. To illustrate this example, assume that the server <figref>301</figref> can support only one of the two RTP extensions. The server <figref>301</figref> Then, a response indicating that supported sub-extension is send back to the caching proxy server.
If it is supported at the Under extension only "trti" or "Papo" or both of them, but not to "frty" is terminated the caching proxy <figref>402</figref> the negotiation process between the Cache Proxy <figref>402</figref> and the server <figref>301</figref>, The reason this is that "frty" one for the data transfer operation required extension was, and as it from the server <figref>301</figref> not supports is, the caching proxy <figref>402</figref> not proceed. If however, the supported Under extension only "frty", or frty and Papo, or frty and trti, or frty, Papo and should be trti, can the Caching proxy server <figref>401</figref> the transfer process proceed further. The caching proxy server <figref>401</figref> can here make the choice, not to finish the procedure, since the required sub-extension frty in the response as the server <figref>301</figref> support available is.
<figref idrefs="S60">6</figref> shows an example for a method for transmitting of packet transmission time data, the with various embodiments of the present invention may be used. The server<figref>301</figref> is with the caching proxy server <figref>401</figref> via a standard communication device such about a fiber optic wire connection, radio frequency communication, Cable wire o. The like. Connected. For the average skilled artisan would to be understandable, that the type of communication device for the data transfer operation according to the present invention is not essential, and that these communications devices are interchangeable. It should be understood that it is in the communication devices it is essential that they, a two-way communication ie from the server <figref>301</figref> the caching proxy <figref>402</figref> or from Cache Proxy <figref>402</figref> to the server <figref>301</figref>, enable.
The Communication between a caching proxy server <figref>401</figref> and the originating server <figref>301</figref> can be a direct communication link, or it can also other devices such as routers exist on the Internet, which act as intermediate members, to a streaming media data transfer to support. Typically there is a caching proxy server <figref>401</figref> closer to the client <figref>302</figref> as the origin server <figref>301</figref>, These size nearby can within a company, or on a given local area network (LAN) or be present in a same geographic area, during the Caching proxy server and the original system Server <figref>301</figref> are further apart.
Of the Caching proxy server <figref>401</figref> a memory device <figref>601</figref> to the Storing the streaming media data <figref>603</figref> and / or the associated RTP extensions <figref>602</figref> exhibit. The memory device <figref>601</figref> may be local to the caching proxy server <figref>401</figref> or from the caching proxy server <figref>401</figref> nearby, but is storing in any case by the caching proxy server <figref>401</figref> controlled. The caching proxy server<figref>401</figref> can have established a connection to the server <figref>301</figref> received data for a period of time in said storage means <figref>601</figref> save, and then to be able, the stored data at a later time retrieve them to the client <figref>302</figref> to send. In the example of <figref idrefs="S60">6</figref> are the streaming media data <figref>603</figref> and its associated RTP extension (in this case, the transmission time) together on a storage device <figref>601</figref> stored. Groups of streaming media data (Eg a package or set of packages) be a corresponding Designation of a transmission time assigned, so that each group has a transmission time that indicating when the respective group to be transferred. It is Note that the streaming media data and the associated RTP extensions can be stored separately (but associated with one another stay - eg packet No. xxx to transfer at the time ABC. transfer xxy. Packet # at time ABD, etc.).
in the example of <figref idrefs="S60">6</figref> are the streaming media data from the server <figref>401</figref> received, and the caching proxy server <figref>401</figref> receives the transmission time data from the server <figref>301</figref> and stores them in the storage means <figref>601</figref>, The transfer time data can be associated with streaming media data to each track. For example in a case the time of transmission 0 sec <figref>602</figref> match<?page 17?>the streaming media data <figref>603</figref> assigned be. In operation, the streaming media data 0 will be in this exemplary embodiment, the transmission time 0 sent to a client.
<figref idrefs="S61">7</figref> shows an exemplary method of using the transmission time as an RTP extension according to a embodiment of the present invention. In operation, the can in<figref idrefs="S61">7</figref> proposed The method, the system architecture as proposed in one of the in <figref idrefs="S60">6</figref> shown embodiments of the present use the invention.
in an example for the procedure of <figref idrefs="S61">7</figref> receives a caching proxy server <figref>401</figref> a Request from Streamng media data from the client <figref>302</figref> and then requests an RTP extension which transmission time information specifies and calls the server <figref>301</figref> on, the transmit time sub-extension RTP <figref>701</figref> and the associated streaming media data to send. The operation<figref>701</figref> shows the requirement of Streaming media data and the transmission time by the caching proxy server, which results from this request. The server receives the request in the operation <figref>702</figref> as shown in <figref idrefs="S61">7</figref>, It may also be a case in which a Caching proxy server <figref>401</figref> the requested streaming media data and their associated transmission time information from the server <figref>301</figref> has already received and the streaming media data and the associated RTP extensions in a memory device <figref>601</figref> has stored. then , the caching proxy server <figref>401</figref> begin on the request the client <figref>302</figref> answer to ant without the origin server <figref>301</figref> to communicate, and thus the operations <figref>707</figref> and <figref>708</figref> of <figref idrefs="S61">7</figref> omit.
Takes one for illustration of this example that the origin server <figref>301</figref> the transmission time information supports, so the server responds <figref>301</figref> the caching proxy server by he his support for the requested sub-extension in the operation <figref>703</figref> indicates. If the transmission time Under extension but the origin server <figref>301</figref> not supports is, can the origin server <figref>301</figref> the caching proxy server <figref>401</figref> reply or may not respond to indicate its support for the requested sub-extension, as in the operation <figref>709</figref> is shown. In case of non-supported sub-extension may the caching proxy <figref>402</figref> the Negotiation process with the server <figref>301</figref> end, as in surgery <figref>710</figref> is shown, and would typically the client <figref>302</figref> inform about, that he is not capable of the streaming media data available to put. Here, the caching proxy server<figref>401</figref> first assess whether the lack of transmission time information for the Execution of its processes are required. If the determination shows that the transmission timing information in this particular case is a required element, can the caching proxy server to decide whether the transfer operation continued or is to be terminated.
Of the server <figref>301</figref> sends in surgery <figref>704</figref> the transmission time-RTP in an extended header format according to the RTP protocol to the Caching proxy server. The bias may be made to the normal bias fields, Under the extension character name and a sub-extension ID <figref>704</figref> consist. The sub-extension character name for transmission time data, a with "trti" specified 4-character code be. This code can move the contents of the sub-extension clearly identify transit time data and describe. The sub-extension ID , the sub-extension identify in the RTP packet.
A transmit time sub-extension may of a single unsigned, there are 64-bit integer, which the recommended transmission time of the RTP packet in milliseconds indicates how in the operational <figref>704</figref> shown is. The transmission time can from the start of a media presentation be deposed. For example, in a sub-cycle of operation a session descriptor protocol document for a URL ( "Uniform Resource Locator ") a Range from 0 to 729.45 include seconds. The client<figref>302</figref> , a PLAY request <figref>706</figref> after make the data type video, audio, text, graphics, images and so on.
Of the Caching proxy server <figref>401</figref> , the streaming media data assigned to RTP data packet with the transmit time sub-extension received, as in <figref idrefs="S60">6</figref> is shown in more detail. The caching proxy server <figref>401</figref> then the RTP transmission time data save locally, as in <figref idrefs="S60">6</figref> is shown. The caching proxy server<figref>401</figref> can then the bias-ID in the operation <figref>705</figref> remove and the associated streaming media data in the operation <figref>707</figref> With a spaced-apart transmission time individually to the client <figref>302</figref> Send, which allows the client <figref>302</figref> allows PLAY operation <figref>708</figref> continue. Knowledge and Delayed local storing of transit time at the caching proxy server has the advantage that it the caching proxy server <figref>401</figref> now to be possible can, data selectively in different time periods again to the client <figref>302</figref> transferred to or to respond to a request of the client, data in correspondence to send with any time slot.
<figref idrefs="S62">8</figref> shows an exemplary method for a Stream thinning operation by a caching proxy server according to an embodiment of the present invention. communicate In operation<?page 18?>a client <figref>302</figref> and a caching proxy server <figref>301</figref> with each other to send and to support receiving streaming media data and the traffic flow on client <figref>302</figref> to support. according to In one method<figref idrefs="S62">8</figref> communicates a client <figref>302</figref> with the caching proxy server <figref>401</figref> and indicates that it is overloaded is, or the caching proxy server <figref>401</figref> detects that the client is overloaded is. As part of this communication, the caching proxy server provides<figref>401</figref> for sure, that the client <figref>302</figref> No amount of data obtained, the exceeds its data handling capacity. The caching proxy server further prevented that due to a congested client <figref>302</figref> at least selected frames "dropped" to be or missing.
On <figref idrefs="S62">8</figref> basis lying principle is that an overloaded client <figref>302</figref> the Caching proxy server can set thereof, that it its capacity limit reached for receiving RTP data (such as streaming media data) has. The client<figref>302</figref> can be overloaded for several reasons have been, such as that a caching proxy server RTP data very quickly send and the client <figref>302</figref> has difficulty with a data to receive such a rate. The client<figref>302</figref> can inform the caching proxy server to send streaming media data total cancel, or the data at a slower speed to send. The client<figref>302</figref> can the caching proxy server also inform, only a selected Order of frames and frames of a lower order to send. The caching proxy server<figref>401</figref> uses the frame type data to determine which frames to the client <figref>302</figref> transfer to be; typically frames are transmitted to a higher priority, while Frames with a lower priority are not transmitted.
On method of <figref idrefs="S62">8</figref> begins with surgery <figref>801</figref>. in which a caching proxy server <figref>402</figref> with the origin server <figref>301</figref> communicate and from the server <figref>301</figref> Streaming media data and its assigned frame type can request information. The frame type identifies various types of data (such as frames) in streaming media data and allows a "thinning" which may be defined can be used as a reducing frames, a sending frames with a lower speed, or no transmission of specific frames. It is noted that thinning is applicable to various types of data and that "frames" as such various Data types can be adopted. The server <figref>301</figref> , the requirement in the operation <figref>802</figref> receive and in the operation <figref>803</figref> the caching proxy server <figref>401</figref> reply, by indicating whether the server <figref>301</figref> the streaming media data from the requested frame-type support. If the server <figref>301</figref> this support includes the answer the server <figref>301</figref> in the operation <figref>803</figref> the sending the associated RTP frame type sub-extension in a format that in block <figref>804</figref> is described, together with an identification code, which of the operation <figref>801</figref> notably requested Frame type extension matches.
If the server <figref>301</figref> the unsupported frame type sub-extension, can the caching proxy server in the operation <figref>807</figref> and <figref>808</figref> the Communicate with the server <figref>301</figref> break up. The server<figref>301</figref> can See that he does not support the requested frame-type streaming media data by he either answers or at all no response to the Caching Proxy Server <figref>401</figref> send what also the absence of support for the requested RTP extension for the would display streaming media data. If the server <figref>301</figref> However, the frame type sub-extension supports, , the caching proxy <figref>402</figref> the server <figref>301</figref> inform, the frame type information associated with streaming media to send. In one embodiment, the server <figref>301</figref> supported streaming media, since th sub-extensions without any further requests from the caching proxy server <figref>401</figref> send. at Alternatively, , the server <figref>301</figref> a further request from the caching proxy server <figref>401</figref> waiting, supported to send streaming media data sub-extensions.
Of the server <figref>301</figref> Thereupon, the RTP sub-extension in an Send extended header format. The frame type sub-extension may consist of a single unsigned 16-bit integer value with some exist well-known values, which for different frame types to stand. The well-known values may be "1" for one Key-frame, "2" for a p-frame, or "3" for a b-frame, wherein the key-frame of the highest Procedure and most importantly, the b-frame of the lowest order and the least important, and b-frame in its importance between key-frame and b-frame can be located. There may also be other frames, which added to this format can be.
Of the Caching proxy server <figref>401</figref> Thereupon, the streaming media data and its associated frame type sub-extension after its receipt by the Origin server <figref>301</figref> in its storage device <figref>601</figref> save. This is in operation <figref>805</figref> of <figref idrefs="S62">8</figref> shown. The caching proxy server <figref>401</figref> can then in a negotiation process with the client <figref>302</figref> occur, in which he ability to the client for processing streaming media data traffic <figref>809</figref> to evaluated at this time. On the basis of the result of negotiation process <figref>809</figref> , the caching proxy server <figref>401</figref> frames thin out (And only selected, above certain frames to send) and selected frames <figref>806</figref> associated with streaming media data to the client <figref>302</figref> send.
<?page 19?>
For example can in a cycle of operation a client <figref>302</figref> the caching proxy server inform that it overloaded is. The client<figref>302</figref> can the caching proxy server <figref>401</figref> inform, to reduce the sending frames total stop, or the bit rate, if the transmission lags. In reducing the bit rate and slowing down, the caching proxy server<figref>401</figref> the Sending frames of the lowest order of the streaming media data, b-frames to the client <figref>302</figref> cancel. The caching proxy server<figref>401</figref> and the client <figref>302</figref> can continue to communicate to assess whether the client <figref>302</figref> always still overloaded is. In one embodiment, , the caching proxy server, when the client <figref>302</figref> after this thin out of B-frames is able to handle the load, the client <figref>302</figref> Key frames and send p frames. If the client <figref>302</figref> but is still overloaded, the caching proxy server <figref>401</figref> the Traffic to the client <figref>302</figref> further reduce and sending Cancel of p frames. The caching proxy server<figref>401</figref> can continue data handling capability the client <figref>302</figref> evaluate and determine whether another thin out of necessary frames is to reduce the burden of the client <figref>302</figref> to reduce. at Alternatively, the client can <figref>302</figref> the caching proxy server <figref>401</figref> directly specify which frames to send and which frames it does not send is, until a subsequent request to the caching proxy server <figref>401</figref> Posted is to change the transmission conditions.
After this a client <figref>302</figref> its ability has achieved for caching frames again, the caching proxy server <figref>401</figref> again begin to frame the low order to the client <figref>302</figref> to send. It may come back all frames at a high speed send the frames according to requirements by the client <figref>302</figref> send. If the client<figref>302</figref> overloaded again is, the caching proxy server <figref>401</figref> the thinning process repeat until the client <figref>302</figref> again for caching of data in the location is. <figref idrefs="S64">10</figref> shows an example for, as a caching proxy server <figref>401</figref> Streaming media data, and their associated frame type (FT) -RTP extension data from a Origin server <figref>301</figref> and receives streaming media data and associated frame type extension data on a storage device (Eg a local hard disk of the caching proxy server <figref>401</figref>) stores and then uses the frame type information to selectively Frames the streaming media data, which to a client <figref>302</figref> transmitted to thin.
The Communication between a caching proxy server <figref>401</figref> and an originating server <figref>301</figref> or between a caching proxy server <figref>401</figref> and a client <figref>302</figref> shall using real-time transfer protocol (RTP) and Real-Time Streaming Protocol (RTSP) made for sending / receiving streaming media data. On Origin server <figref>301</figref> sends streaming media data packets in a streaming media format using RTP always to a caching proxy server <figref>401</figref>. when a transmission takes place of streaming media data. One of the embodiments of the present invention is the currently existing RTP headers to be able to modify, by possible is to extend the biasing with sub-extensions and also To make the bias variable format. An extension of the Header is useful, because a caching proxy server <figref>401</figref> together with a RTP packet may need more information to help him, the client <figref>302</figref> a good quality streaming media data packet and a smooth delivery available deliver. The possibly required additional information can to disposal be provided by being attached to the existing bias, because it is possible is to expand the bias field. It should also be clear that the possibility of varying the extended header, therefore, is important because the additional Information from the caching proxy <figref>402</figref> needed each time can be different. To account for this variation, can read the extended biasing have the ability to use different to change types of information and as required, the caching proxy server <figref>401</figref> available to put.
According to a embodiment the invention is in operation, an extended biasing from normal Biasing fields. The average person skilled in the different Biasing fields trusts, which are normally used in the operation. Immediately to the normal header fields follow biasing extension fields. The extension field consists of several sub-extensions. it can more biasing sub-extensions are present that are not together related and depending on the requirement of the caching proxy server <figref>401</figref> different could be. The lower extensions an extension type "se" exhibit. The length of the RTP extension, the overall length be all sub-extensions and can be defined in 32-bit words be such that they completely with the RTP protocol are compatible.
The Under the expansion format "se" may be such that a sub-extension ID immediately to the normal RTP header field follows. The ID may identify the sub-extension within the RTP packet. This ID can be a one octet ID by the server <figref>301</figref> individually for each named RTP sub-extension is produced. Each sub-extension may also have a unique name by a 4-character name code is defined. This identifies the name and code be<?page 20?>writes the Data type in each sub-extension in a unique way. For example , the 4-character code for the name be a transmit time sub-extension "trti", the frame type sub-extension "frty", and the packet position sub-extension "Papo". This name code is (from the server <figref>301</figref> generated) associated with one octet ID, so that the caching proxy server <figref>401</figref> appropriate from the octet ID RTP extension data can identify when streaming media data receives.
at one embodiment the present invention, the unique name of the streaming media data for frame type information be associated with, "frty". The unique Name "frty" can also be an unsigned have integer that is assigned to each different type of frame. In one embodiment, be, the unsigned integer "1" for a Key-frame, "2" for a p-frame, and "3" for a b-frame. A user can in future also any additional Frames depending on the additional Add demand and technological progress and this biasing format without the need for greater modifications apply.
at Alternatively, the present invention, the unique name of the streaming media data for transmission time type information is assigned to be "trti".
at Alternatively, the present invention, the unique name of the streaming media data for packet position type information is assigned to be "Papo".
<figref idrefs="S63">9</figref> shows an exemplary method of several aspects of the present Invention. In a section<figref>901</figref> Calls for a caching proxy server <figref>401</figref> Streaming media data from a Origin server <figref>301</figref> and furthermore, calls in particular one or more RTP extensions. This request is under Using the RTSP protocol made. In operation<figref>903</figref> gives the server typically (for example if it is in response an echo is) a response that its support for the requested RTP extensions indicating back to the caching proxy server <figref>401</figref>, The server<figref>301</figref> transmits to the Caching proxy server <figref>401</figref> an identification such as a number code which represents each name of the requested RTP extensions equivalent. Typically used, the caching proxy server<figref>401</figref> the Numerical code later in identifying received extended RTP data. The numerical code allows the caching proxy server <figref>401</figref>, The different types of to identify RTP extension data in the streaming media, it receives, because the server <figref>301</figref> possibly the name is not used to designate the RTP extension type. In operation <figref>905</figref> receives the caching proxy server <figref>401</figref> the Server response <figref>301</figref>, And then determines the CP server <figref>401</figref> in surgery <figref>907</figref>Whether the server <figref>301</figref> to all requested RTP extensions replied.
If the server <figref>301</figref> not all of the requested RTP extensions has responded, the processing proceeds to the operation <figref>909</figref>. followed by the operation <figref>911</figref>, Is in determining whether any of the missing RTP extensions for processing by the Caching proxy server <figref>401</figref> are of crucial importance. If they are not of crucial importance, the processing proceeds to the operation <figref>921</figref>, If it is of crucial importance are determined, the caching proxy server <figref>401</figref> in surgery <figref>913</figref>Whether the operation / communication with the Origin server <figref>301</figref> should be ended or not. how in the operations <figref>915</figref> or <figref>917</figref> is shown, the caching proxy server <figref>401</figref> the Operationer / Communications with the server <figref>301</figref> for these respective streaming media data which was requested, quit, or they are changing over the streaming media and any supported extensions to made available can be, to recieve.
in surgery <figref>921</figref> asks the CP server <figref>401</figref> the Origin server <figref>301</figref> on the requested streaming media data and to send their associated RTP extensions. At a Embodiment transmits the CP server <figref>401</figref> a "PLAY" request under Using RTSP what the server <figref>301</figref> causes, in surgery <figref>923</figref> Reply to by the streaming media data and the associated RTP extensions transfers. In operation<figref>925</figref> stores the CP server <figref>401</figref> the ones from server <figref>301</figref> received streaming media data, and stores also the associated RTP extension data. In operation<figref>927</figref> can the CP server <figref>401</figref> certain RTP extension data such as the transmission time or the frame type data Remove from streaming media file. This is done to prevent the transmission time or Frame type information to the client <figref>302</figref> are sent, the streaming media data requests. The out of the streaming media data remote RTP extension data is stored separately, but associated with the streaming media data. For example, transfer times for different Packages separately from the packets stored, but from the server <figref>301</figref> received data present association between the transmission time and the corresponding packages will be maintained even when the transmission times are stored separately so that the caching proxy server <figref>401</figref> the adequate transfer time for each the packages in the streaming media data may determine. In operation<figref>929</figref> rated, the caching proxy server <figref>401</figref> the Requirement <?page 21?>of streaming media data by a client <figref>302</figref> and rea giert accordingly. It is noted that a client<figref>302</figref> Negotiation of streaming media data performs using the RTSP protocol and the CP server <figref>401</figref> With the streaming media data responds by the he client data <figref>302</figref> transfers. Furthermore the client can <figref>302</figref> the frame thinning Request. furthermore , the caching proxy server <figref>401</figref> use the transmission times, to determine when various packets in the streaming media data to the client <figref>302</figref> transfer to be.
<figref idrefs="S65">11</figref> shows one type of exemplary machine readable media (eg RAM or hard drive, or a combination thereof) for storing executable Computer program instructions for a Caching proxy server <figref>401</figref>Which according to the present invention can be used. The caching proxy server<figref>401</figref> has typically its own operating system (OS) software <figref>1101</figref>, This software <figref>1101</figref> may be the Macintosh OS, or Windows NT or Unix, or other well-known operating systems.
The control software <figref>1102</figref> is for transmitting or receiving of Streaming media data eg using the RTP and RTSP protocol. The software<figref>1102</figref> is normally in a position to various types of streaming media data packets retrieve or send commands and for storing the received Media in a memory device <figref>601</figref> to judge. Thus leads the software <figref>1102</figref> the negotiation process with an origin server <figref>301</figref> by and receives Streaming media data, and its associated RTP extensions and causes the streaming media data and its associated RTP extensions to one of the caching proxy server <figref>401</figref> controlled Storage device are stored. <figref idrefs="S65">11</figref> shows storing of two streaming media data files <figref>1103</figref> and <figref>1104</figref>,
The Streaming media data file <figref>1103</figref> can streaming media data 1 in streaming media format <figref>1105</figref>, A streaming-media 1 assigned transmission time (<figref>1106</figref>), And the streaming media 1 associated frame type (<figref>1107</figref>) contain. In one embodiment, the operating system <figref>1101</figref> and the control software <figref>1102</figref> the ability possess, the streaming media data in packet 1 by other packages to separate and separately in a storage device <figref>601</figref> to Save and the RTP extensions (eg Transmit Time data or Frame Type data) from the stored streaming media packets to extract and to store them separately so that these packets the RTP extensions do not include.
The Streaming media data file of <figref>1104</figref> can streaming media data 2 in streaming media format <figref>1108</figref>, A streaming media data 2 assigned transmission time (<figref>1109</figref>), And the streaming media data associated 2 Frame type (<figref>1110</figref>) contain.
The Streaming media data <figref>1105</figref> and <figref>1108</figref> customarily not the same original format, as the data on Media Origin server <figref>301</figref> were. The streaming media data<figref>1105</figref> and <figref>1108</figref> but can a complete "pristine" copy of the original Media data, since the extension "Papo" from Caching proxy server <figref>401</figref> can be used in the Streaming media data <figref>1105</figref> and <figref>1108</figref> after all the missing To search for packages, these packages (again) from the origin server request.
<figref idrefs="S66">12</figref> shows one type of exemplary machine readable media (eg RAM or hard drive, or a combination thereof) for storing executable Computer program instructions for a Origin server <figref>301</figref>Which according to the present invention can be used. The server <figref>301</figref> typically has its own operating system <figref>1201</figref>,
The control software <figref>1202</figref> is for transmitting streaming media data to a caching proxy server <figref>401</figref> or to a client <figref>302</figref> among Using the RTP and RTSP protocol and the RTP extensions the invention is provided. Furthermore, the software receives<figref>1202</figref> requirements streaming media from a client <figref>302</figref> or a caching proxy server <figref>401</figref> and negotiates with a caching proxy server <figref>401</figref> through various Types of streaming media data and associated RTP extensions, and responding to various requests by caching proxy server <figref>401</figref> or clients <figref>302</figref>,
The software <figref>1204</figref> converts original Media <figref>1203</figref>. usually are not present in a packet format, in a streaming media data format (Eg packet format) for the transfer to the caching proxy server <figref>401</figref> or the client <figref>302</figref>, After the conversion, the converted streaming media data is a Representation of the original Media <figref>1203</figref> with a format other than the format the original Media <figref>1203</figref>,
The software <figref>1206</figref> creates RTP extension headers, the various Types are associated with streaming media data. The system can different ID names and codes <figref>1205</figref>assigned to the various RTP extensions assign are various types of streaming media data before it to a caching proxy <figref>401</figref> or a client <figref>301</figref> Posted will. The software<figref>1206</figref> in conjunction with the software <figref>1202</figref> leads the <?page 22?>negotiation process with a caching proxy server <figref>401</figref> by (Or in some cases, in which the client requests an RTP extension, such as a Security or encryption or verification extension, with the client) to RTP extension data Mapped to transmit streaming media data, and leads also the operation of transferring Streaming media data with its associated RTP extension through.
<figref idrefs="S67">13</figref> shows one type of exemplary machine readable media (eg RAM or hard drive, or a combination thereof) for storing executable Computer program instructions for a Client-Server <figref>302</figref>Which according to the present invention can be used. The client-server<figref>302</figref> has typically its own operating system <figref>1301</figref> such as a Macintosh OS, or Windows NT, or Unix, or other well-known operating systems. The medium of the client can also Web browser software <figref>1303</figref> as about Navigator from Netscape or Microsoft Internet Explorer include.
The Streaming media data player software <figref>1302</figref> is for receiving and play streaming media data determined that the using transmitted RTP protocol to the client will. The streaming media data player software<figref>1302</figref> can QuickTime software from Apple Computer or RealPlayer from Real its Networks. The streaming media data player software<figref>1302</figref> is typically capable, requests for different types of Streaming media data to a caching proxy server <figref>401</figref> or a server <figref>301</figref> and to send a representation of streaming media data to receive and present (See example photos to produce sound).
at yet another embodiment, the streaming media data player software <figref>1302</figref> in be able with a caching proxy server <figref>401</figref> to communicate and negotiate to regulate incoming traffic and better manage its load (For example, the software <figref>1302</figref> a CP server <figref>401</figref> call, thinning conduct of frames).
Contents5
13 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13
32 members in 4 offices
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 60310800 | United States of America | A | |
| 60310800 | United States of America | A | |
| 60310800 | United States of America | – | |
| 0120044 | United States of America | W | |
| 0120044 | United States of America | W | |
| 0120044 | United States of America | – | |
| 603108 | – | – | – |
| PCTUS0120044 | – | – | – |
| US20000603108 | – | – | – |
| WO2001US20044 | – | – | – |
Members32
| Document | Office | Kind | |
|---|---|---|---|
| WO0199374A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO0199374A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1297676A2 | European Patent Office (EPO) | A2 | |
| EP1411698A1 | European Patent Office (EPO) | A1 | |
| EP1297676B1 | European Patent Office (EPO) | B1 | |
| DE60112759D1 | Germany | D1 | |
| US7007062B1 | United States of America | B1 | |
| EP1635532A2 | European Patent Office (EPO) | A2 | |
| EP1411698B1 | European Patent Office (EPO) | B1 | |
| DE60112759T2This record | Germany | T2 | |
| DE60119589D1 | Germany | D1 | |
| US2006143303A1 | United States of America | A1 | |
| EP1635532A3 | European Patent Office (EPO) | A3 | |
| DE60119589T2 | Germany | T2 | |
| US7191242B1 | United States of America | B1 | |
| US2007094407A1 | United States of America | A1 | |
| US2007143468A1 | United States of America | A1 | |
| EP1916820A1 | European Patent Office (EPO) | A1 | |
| EP1635532B1 | European Patent Office (EPO) | B1 | |
| DE60136302D1 | Germany | D1 | |
| US7653685B2 | United States of America | B2 | |
| US2010125629A1 | United States of America | A1 | |
| US8037132B2 | United States of America | B2 | |
| US8078747B2 | United States of America | B2 | |
| US2012079072A1 | United States of America | A1 | |
| US2012089667A1 | United States of America | A1 | |
| US8307107B2 | United States of America | B2 | |
| US8549070B2 | United States of America | B2 | |
| US2014006566A1 | United States of America | A1 | |
| US8732269B2 | United States of America | B2 | |
| EP1916820B1 | European Patent Office (EPO) | B1 | |
| US9077781B2 | United States of America | B2 |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Change in the person/name/address of the agent8328 | 8328 | |
| Change in the person/name/address of the patent owner8327 | 8327 | |
| No opposition during term of oppositionOpposition8364 | 8364 |
Numbers
- Publication
- 60112759
- Publication, DOCDB
- 60112759
- Publication, EPODOC
- DE60112759T
- Application
- 60112759
- Application, DOCDB
- 60112759
- Application, EPODOC
- DE2001612759T
Titles2
- German
- VORRICHTUNGEN UND VERFAHREN ZUR DATENÃBERTRAGUNG
- English
- DEVICES AND METHOD FOR DATA TRANSMISSION
Classification
- CPC, 16
- H04N21/23106
- H04N21/6437
- H04N21/6587
- H04L65/104
- H04L65/103
- H04L69/22
- H04L69/329
- H04L65/612
- H04L65/765
- H04L65/65
- H04L67/535
- H04L67/568
- H04L65/1108
- H04L9/40
- H04L65/1101
- H04L65/60
- IPC, 2
- H04L29 06
- H04L29 08
