Patents by Inventor Anders E. Klemets

Anders E. 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).

  • Patent number: 7594025
    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: Grant
    Filed: August 30, 2004
    Date of Patent: September 22, 2009
    Assignee: Microsoft Corporation
    Inventors: Scott E. Colville, Sanjay Bhatt, Anders E. Klemets, Troy Batterberry
  • Patent number: 7586938
    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: Grant
    Filed: October 24, 2003
    Date of Patent: September 8, 2009
    Assignee: Microsoft Corporation
    Inventors: Anders E. Klemets, Eduardo P. Oliveira, James M. Alkove
  • Patent number: 7561696
    Abstract: Various embodiments permit policy updates, such as DRM policy updates, to be delivered and updated for a given piece of protected content. In at least some embodiments, various protocols can be extended to permit policy updates to be represented and carried by the protocol. In one embodiment, Hypertext Transport Protocol or HTTP is utilized to carry the policy updates. In another embodiment, Real Time Streaming Protocol or RTSP is used to carry policy updates.
    Type: Grant
    Filed: July 12, 2005
    Date of Patent: July 14, 2009
    Assignee: Microsoft Corporation
    Inventors: Eduardo P. Oliveira, James M. Alkove, Anders E. Klemets
  • Patent number: 7548948
    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: Grant
    Filed: November 4, 2005
    Date of Patent: June 16, 2009
    Assignee: Microsoft Corporation
    Inventors: Anders E. Klemets, Troy D. Batterberry, Eduardo P. Oliveira
  • Publication number: 20090135849
    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: January 26, 2009
    Publication date: May 28, 2009
    Applicant: Microsoft Corporation
    Inventors: James M. Alkove, Anders E. Klemets
  • Publication number: 20090138486
    Abstract: The invention describes a control node for a content distribution network and a method of automatically verifying content distributed over a network at a node in the network. In the method, a content description is received which comprises a content identifier, a publisher identifier, publisher authorisation information and content checking information. The integrity and validity of this information are checked and if both the checks are passed, the content description is stored.
    Type: Application
    Filed: February 8, 2007
    Publication date: May 28, 2009
    Applicant: Microsoft Corporation
    Inventors: Aamer Hydrie, John Miller, Anders E. Klemets, Christos Gkantsidis, Pablo Rodriguez Rodriguez, Rebecca C. Weiss
  • Publication number: 20090106443
    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: December 30, 2008
    Publication date: April 23, 2009
    Applicant: Microsoft Corporation
    Inventor: Anders E. Klemets
  • Patent number: 7492769
    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: Grant
    Filed: April 30, 2004
    Date of Patent: February 17, 2009
    Assignee: Microsoft Corporation
    Inventor: Anders E. Klemets
  • Patent number: 7483532
    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: Grant
    Filed: July 3, 2003
    Date of Patent: January 27, 2009
    Assignee: Microsoft Corporation
    Inventors: James M. Alkove, Anders E. Klemets
  • Publication number: 20080189430
    Abstract: Systems and methods are described for streaming multimedia data from a client to a server using HyperText Transfer Protocol (HTTP). A session is initiated with a header that identifies a content length header that is a maximum allowed by the server, regardless of the actual length of the data to be streamed. If a firewall or proxy server limits access to the server, the content length of the data is specified to be about an amount of data that can be streamed to the server in one minute. If more data remains to be streamed when an amount of data approximating the content length has been streamed, a continuing streaming session is requested and subsequent data is streamed to the server in the continuing streaming session. The process repeats until all data has been streamed.
    Type: Application
    Filed: April 2, 2008
    Publication date: August 7, 2008
    Applicant: Microsoft Corporation
    Inventor: Anders E. Klemets
  • Patent number: 7409454
    Abstract: Automatic detection of intermediate network device capabilities includes analyzing requests received, at a particular device, from a remote device. The analyzing is performed to determine, based on the content of the requests, whether an intermediate device on the network situated between the device and the remote device does not support streaming of data from the device to the remote device using the pipelining feature of Hypertext Transport Protocol (HTTP) 1.1. In one implementation, a test is performed by sending two back to back requests from the remote device to the particular device. The test is determined to be a success if the requests are received within a threshold amount of time of one another, and a failure if the requests are not received within the threshold amount of time of one another.
    Type: Grant
    Filed: June 2, 2003
    Date of Patent: August 5, 2008
    Assignee: Microsoft Corporation
    Inventors: Tong L. Wynn, Anders E. Klemets
  • Publication number: 20080183888
    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: March 31, 2008
    Publication date: July 31, 2008
    Applicant: Microsoft Corporation
    Inventors: Thomas B. Brown, David del Val, Anders E. Klemets
  • Publication number: 20080183887
    Abstract: Systems and methods are described for streaming multimedia data from a client to a server using HyperText Transfer Protocol (HTTP). A session is initiated with a header that identifies a content length header that is a maximum allowed by the server, regardless of the actual length of the data to be streamed. If a firewall or proxy server limits access to the server, the content length of the data is specified to be about an amount of data that can be streamed to the server in one minute. If more data remains to be streamed when an amount of data approximating the content length has been streamed, a continuing streaming session is requested and subsequent data is streamed to the server in the continuing streaming session. The process repeats until all data has been streamed.
    Type: Application
    Filed: April 2, 2008
    Publication date: July 31, 2008
    Applicant: Microsoft Corporation
    Inventor: Anders E. Klemets
  • Patent number: 7392316
    Abstract: Systems and methods are described for streaming multimedia data from a client to a server using HyperText Transfer Protocol (HTTP). A session is initiated with a header that identifies a content length header that is a maximum allowed by the server, regardless of the actual length of the data to be streamed. If a firewall or proxy server limits access to the server, the content length of the data is specified to be about an amount of data that can be streamed to the server in one minute. If more data remains to be streamed when an amount of data approximating the content length has been streamed, a continuing streaming session is requested and subsequent data is streamed to the server in the continuing streaming session. The process repeats until all data has been streamed.
    Type: Grant
    Filed: June 30, 2003
    Date of Patent: June 24, 2008
    Assignee: Microsoft Corporation
    Inventor: Anders E. Klemets
  • Patent number: 7391717
    Abstract: Systems and methods for improved streaming of variable bit rate multimedia content are described. The described systems and methods solve some streaming problems by streaming the variable bit rate content at a constant bit rate that is negotiated between a server and a client. As a result, a transmission channel from server to client is utilized in an efficient manner. If the client is able to buffer the streamed content (to a hard drive, for example) the content can be streamed at a rate that is significantly less than its peak bit rate, even at a rate that is less than its average bit rate.
    Type: Grant
    Filed: June 30, 2003
    Date of Patent: June 24, 2008
    Assignee: Microsoft Corporation
    Inventors: Anders E. Klemets, Rebecca C. Weiss, Jordi Ribas-Corbera, Philip A. Chou
  • Publication number: 20080147877
    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: February 8, 2008
    Publication date: June 19, 2008
    Applicant: Microsoft Corporation
    Inventors: Thomas B. Brown, David del Val, Anders E. Klemets
  • Publication number: 20080098123
    Abstract: Implementation of hybrid peer-to-peer streaming with server assistance is described. In one implementation, a media source is selected from amongst a plurality of media sources for retrieval of streaming media content. The selection might be based, for example, on an amount of the streaming media content received at respective time units. In one scenario, if the amount received at a time unit is less than a target amount, the streaming media content is retrieved from at least one streaming media server. Conversely, if the amount received at a time unit is more than the target amount, the streaming media content is retrieved from at least one peer-to-peer network. In another embodiment, a playback buffer is monitored to determine an amount of streaming media content at the respective time units. The media source is then selected based on the amount of the streaming media content in the playback buffer.
    Type: Application
    Filed: October 24, 2006
    Publication date: April 24, 2008
    Applicant: Microsoft Corporation
    Inventors: Cheng Huang, Philip A. Chou, Jin Li, Anders E. Klemets
  • Patent number: 7353286
    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: Grant
    Filed: December 17, 2004
    Date of Patent: April 1, 2008
    Assignee: Microsoft Corporation
    Inventors: Thomas B. Brown, David del Val, Anders E. Klemets
  • Patent number: 7349977
    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: Grant
    Filed: December 17, 2004
    Date of Patent: March 25, 2008
    Assignee: Microsoft Corporation
    Inventors: Thomas B. Brown, David del Val, Anders E. Klemets
  • Patent number: 7266613
    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: Grant
    Filed: August 9, 2000
    Date of Patent: September 4, 2007
    Assignee: Microsoft Corporation
    Inventors: Thomas B. Brown, David del Val, Anders E. Klemets