Patents by Inventor Anders Klemets

Anders Klemets has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20060168295
    Abstract: Systems and methods for midstream determination of varying available bandwidth for streaming content between two network entities are described. During content streaming, a client requests a server to surge the content transmission rate. One or more bandwidth measurements are taken during the surge to determine if the increased transmission rate can be adequately managed. If the increased transmission rate can be adequately managed, the client may request the server to transmit remaining content at a transmission rate that is not greater than the increased, or surged, transmission rate. In a multi-bitrate file scenario, the surge rate may be higher than the rate of the fastest useable stream. In such a case, the fastest useable stream is selected. If the increased transmission rate is not suitable for future transmission, then the rate may remain at the original transmission rate.
    Type: Application
    Filed: March 21, 2006
    Publication date: July 27, 2006
    Applicant: Microsoft Corporation
    Inventors: Troy Batterberry, Alexandre Grigorovitch, Anders Klemets, James Stewart, Yejin Choi
  • Publication number: 20060143678
    Abstract: A system and process for controlling the coding bit rate of streaming media data is presented. This coding bit rate control involves dynamically adjusting the coding bit rate to control client buffer duration to prevent the buffer from underflowing, while keeping the average coding bit rate close to the average transmission bit rate of the network (an thus maximizing the quality of the data playback). Using the theory of optimal linear quadratic control, the client buffer duration is kept as close as possible to a target level while still keeping the coding bit rate (and hence the quality) as constant as possible. In addition, a leaky bucket model is incorporated into the control loop so that the changes in buffer duration due to natural variation in the instantaneous coding bit rate are not mistaken for changes in buffer duration due to network congestion.
    Type: Application
    Filed: December 10, 2004
    Publication date: June 29, 2006
    Applicant: Microsoft Corporation
    Inventors: Philip Chou, Anders Klemets, Cheng Huang
  • Publication number: 20060126713
    Abstract: A system and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate of data units is presented. In general, the system or process computes, on a unit-by-unit basis, the product of the moving average bit rate computed for a data unit immediately prior to a unit under consideration and a first fractional weighting factor, added to the product of the instantaneous bit rate of the data unit under consideration and a second fractional weighting factor, wherein at least one fractional weighting factor is not a constant but instead based on the time between data units.
    Type: Application
    Filed: December 10, 2004
    Publication date: June 15, 2006
    Applicant: Microsoft Corporation
    Inventors: Philip Chou, Anders Klemets, Cheng Huang
  • Publication number: 20060092822
    Abstract: Session description message extensions include information describing a multimedia presentation or a single media presentation. The session description message is typically sent from one device to another device to which the multimedia or single media presentation will be streamed. Several extensions are described that extend the information that can be included in the session description message.
    Type: Application
    Filed: December 13, 2005
    Publication date: May 4, 2006
    Applicant: Microsoft Corporation
    Inventor: Anders Klemets
  • Publication number: 20060075446
    Abstract: An implementation, as described herein, facilitates fast start-up of a new media stream while mitigating and in some implementations, avoiding temporal interruption (i.e., “stutter”) of the presentation of that new media stream. At least one implementation, described herein, measures a rate at which a multimedia stream is received at a downstream component configured to present the multimedia to a user; and, ascertains a duration of time to buffer the received multimedia before presentation thereof, at least in part utilizing the measured rate.
    Type: Application
    Filed: September 24, 2004
    Publication date: April 6, 2006
    Applicant: Microsoft Corporation
    Inventors: Anders Klemets, James Stewart, Geqiang Zhang
  • Publication number: 20060064500
    Abstract: Improved caching control for streaming media includes one or more cache control directives associated with streaming media content that can be used by a source of the streaming media content to identify how caching proxy servers are to handle the streaming media content. Upon receipt of the streaming media content, the caching proxy servers handle the content as indicated by the cache control directive(s).
    Type: Application
    Filed: November 1, 2005
    Publication date: March 23, 2006
    Applicant: Microsoft Corporation
    Inventors: David Roth, Eduardo Oliveira, Anders Klemets
  • Publication number: 20060059223
    Abstract: Various functionality with respect to streaming media content is made available to users. Such functionality includes one or more of: streaming media content at a rate independent of the encoded bit rate of the content, allowing streaming of content to continue even when the user has selected various shuttle control options (e.g., pause, stop, fast forward, seek, rewind, etc.), allowing streaming content to be recorded for playback at a later time, and allowing streaming content to be time-shifted.
    Type: Application
    Filed: November 4, 2005
    Publication date: March 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Anders Klemets, Troy Batterberry, Eduardo Oliveira
  • Publication number: 20060053253
    Abstract: Improved caching control for streaming media includes one or more cache control directives associated with streaming media content that can be used by a source of the streaming media content to identify how caching proxy servers are to handle the streaming media content. Upon receipt of the streaming media content, the caching proxy servers handle the content as indicated by the cache control directive(s).
    Type: Application
    Filed: November 1, 2005
    Publication date: March 9, 2006
    Applicant: Microsoft Corporation
    Inventors: David Roth, Eduardo Oliveira, Anders Klemets
  • Publication number: 20060041917
    Abstract: A method in a computer network for automatically detecting a most advantageous protocol for communication by a client computer, said client computer being configured to be coupled to a server computer via a computer network. The method includes initiating a plurality of protocol threads for sending from the client computer to the server computer, a plurality of data requests. Each of the data requests employs a different protocol and a different connection. The data requests are configured to solicit, responsive to the data request, a set of responses from the server computer. Each of the responses employs a protocol associated with a respective one of the data requests. The method further includes receiving at the client computer at least a subset of the responses. The method also includes initiating a control thread at the client computer.
    Type: Application
    Filed: October 6, 2005
    Publication date: February 23, 2006
    Applicant: Microsoft Corporation
    Inventors: Srinivas Vellanki, Anthony Cannon, Hemanth Ravi, Anders Klemets
  • Publication number: 20060036551
    Abstract: Protecting elementary stream media content is described. In one aspect, data segments within elementary stream media content are identified. Each data segment includes a single video or audio frame. Encryption boundaries for protecting the payload packets are selected to correspond to data segment boundaries. The elementary stream media content is then protected using the selected encryption boundaries.
    Type: Application
    Filed: August 12, 2005
    Publication date: February 16, 2006
    Applicant: Microsoft Corporation
    Inventors: Eduardo Oliveira, Anders Klemets, Gurpratap Virdi, Thaddeus Pritchett
  • Publication number: 20050262187
    Abstract: Session description message extensions include information describing a multimedia presentation or a single media presentation. The session description message is typically sent from one device to another device to which the multimedia or single media presentation will be streamed. Several extensions are described that extend the information that can be included in the session description message.
    Type: Application
    Filed: April 30, 2004
    Publication date: November 24, 2005
    Inventor: Anders Klemets
  • Publication number: 20050262251
    Abstract: Fast startup for streaming media includes one or both of a technique for predictive start and a technique for switching delivery channel(s) during streaming. Predictive start allows a media content source to predict which media stream(s) are desired by the requesting client device and begin streaming those predicted media stream(s) to the client device. The delivery channel switching technique allows the media content source to begin streaming the media stream(s) using one delivery channel (e.g., using the Transmission Control Protocol (TCP)), and then check whether another delivery channel (e.g., using the User Datagram Protocol (UDP)) will work and switch to that other delivery channel if it will work.
    Type: Application
    Filed: May 3, 2004
    Publication date: November 24, 2005
    Applicant: Microsoft Corporation
    Inventors: Anders Klemets, Eduardo Oliveira, Sanjay Bhatt, Tong Wynn
  • Publication number: 20050198364
    Abstract: A method for employing a Hypertext Transfer Protocol (HTTP protocol) for transmitting streamed digital media data from a server. The server is configured for coupling to a client computer via a computer network. The method includes receiving at the server from the client an HTTP POST request. The POST request requests a first portion of the digital media data and includes a request header and a request entity-body. The request entity body includes a media command for causing the first portion of the digital media data to be sent from the server to the client. The method further includes sending an HTTP response to the client from the server. The HTTP response includes a response header and a response entity body. The response entity body includes at least a portion of the fast portion of the digital media data.
    Type: Application
    Filed: February 28, 2005
    Publication date: September 8, 2005
    Applicant: Microsoft Corporation
    Inventors: David Val, Anders Klemets
  • Publication number: 20050108420
    Abstract: The fast dynamic measurement of bandwidth in a TCP network environment utilizes a single pair of packets to calculate bandwidth between two entities on a network (such as the Internet). This calculation is based upon the packet-pair technique. This bandwidth measurement is extremely quick. On its journey across a network, communication devices may delay the packet pairs. In particular, TCP networks have two algorithms designed to delay some packets with the goal of increasing the overall throughput of the network. However, these algorithms effectively delay a packet pair designed to measure bandwidth. Therefore, they distort the measurement. These algorithms are Nagle and Slow Start. The fast dynamic measurement of bandwidth implements countermeasures to overcome the delays imposed by these algorithms.
    Type: Application
    Filed: December 17, 2004
    Publication date: May 19, 2005
    Applicant: Microsoft Corporation
    Inventors: Thomas Brown, David del Val, Anders Klemets
  • Publication number: 20050100014
    Abstract: The fast dynamic measurement of bandwidth in a TCP network environment utilizes a single pair of packets to calculate bandwidth between two entities on a network (such as the Internet). This calculation is based upon the packet-pair technique. This bandwidth measurement is extremely quick. On its journey across a network, communication devices may delay the packet pairs. In particular, TCP networks have two algorithms designed to delay some packets with the goal of increasing the overall throughput of the network. However, these algorithms effectively delay a packet pair designed to measure bandwidth. Therefore, they distort the measurement. These algorithms are Nagle and Slow Start. The fast dynamic measurement of bandwidth implements countermeasures to overcome the delays imposed by these algorithms.
    Type: Application
    Filed: December 17, 2004
    Publication date: May 12, 2005
    Applicant: Microsoft Corporation
    Inventors: Thomas Brown, David del Val, Anders Klemets
  • Publication number: 20050091190
    Abstract: Embedded within at least some Real-Time Control Protocol (RTCP) messages sent from a media content source to a recipient is a session description message that describes a media presentation being streamed to the recipient. The session description message can be associated, for example, with one of a plurality of pieces of media content in a play list of media content being streamed from the device to the recipient. In accordance with certain aspects, an RTCP message that embeds a session description message includes at least three fields: a first field containing data identifying the RTCP message as being a type that embeds a session description message; a second field containing data that is the session description message for a media presentation; and a third field containing data identifying a length of the RTCP message, generated by summing the length of the first, second, and third fields.
    Type: Application
    Filed: April 30, 2004
    Publication date: April 28, 2005
    Inventor: Anders Klemets
  • Publication number: 20050089035
    Abstract: Multimedia presentations are multicast using an announcement channel that includes presentation description information along with multiple channels for multiple streams of multimedia data to accommodate clients of different multimedia resources. Clients can use the announcement channel to select channel(s) appropriate for their multimedia resources. The channels are created in a predetermined manner (e.g., preselected logical addresses, preselected ports of an IP address, etc.) so that clients can immediately join a channel without (or concurrently with) joining the announcement channel to reduce startup latency. An acceleration channel may be created that provides blocks of data containing a preselected number of previous units, which may be transmitted at at a bit rate that is “faster than real-time”. This feature allows clients with suitable resources to more quickly buffer sufficient data to begin presenting the multimedia data to users.
    Type: Application
    Filed: October 24, 2003
    Publication date: April 28, 2005
    Inventors: Anders Klemets, Eduardo Oliveira, James Alkove
  • Publication number: 20050044166
    Abstract: Methods and apparatuses are provided for use with a client and server device connected through a communication link. The client device sends a startup request to the server device. The startup request identifies a streamable media content that is to be provided to the client device, a communication link bandwidth associated with the communication link, and an amount of the desired streamable media content that is to be provided at a bitrate greater than the encoded bitrate but no greater than about the communication link bandwidth. The server device buffers at least the amount of the streamable media content, and transmits the amount of the buffered streamable media content at the higher bitrate. The server device locates a discrete rendering point in the amount of the buffered streamable media content and initiates transmission beginning with the discrete rendering point.
    Type: Application
    Filed: August 30, 2004
    Publication date: February 24, 2005
    Applicant: Microsoft Corporation
    Inventors: Scott Colville, Sanjay Bhatt, Anders Klemets, Troy Batterberry
  • Publication number: 20050002525
    Abstract: A data stream is encrypted to form encryption units that are packetized into RTP packets. Each RTP packet includes an RTP packet header, one or more payloads of a common data stream, and a RTP payload format header for each payload and including, for the corresponding encryption units, a boundary for the payload. The payload can be one or more of the encryption units or a fragment of one of the encryption units. The encryption units are reassembled the using the payloads in the RTP packets and the respective boundary in the respective RTP payload format header. The reassembled of encryption units are decrypted for rendering. Each RTP payload format header can have attributes for the corresponding payload that can be used to render the payload. The RTP packets can be sent server-to-client or peer-to-peer.
    Type: Application
    Filed: July 3, 2003
    Publication date: January 6, 2005
    Applicant: Microsoft Corporation
    Inventors: James Alkove, Anders Klemets
  • Patent number: 6754715
    Abstract: A method for displaying streamed digital video data on a client computer. The client computer is configured to receive the streamed digital video data from a server computer via a computer network. The streamed digital video data is transmitted from the server computer to the client computer as a stream of video frames. The method includes receiving a first plurality of video frames at the client computer. The plurality of video frames represents a subset of the stream of video frames. The stream of video frames comprises independent playable video frames and dependent playable video frames. The method further includes displaying the first plurality of video frames on a video display terminal associated with the client computer. There is further included issuing a rewind command from the client computer to the server.
    Type: Grant
    Filed: November 9, 1999
    Date of Patent: June 22, 2004
    Assignee: Microsoft Corporation
    Inventors: Anthony Cannon, David del Val, Anders Klemets