Patents by Inventor Christopher G. Knowlton

Christopher G. Knowlton 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: 8909806
    Abstract: A smooth streaming system provides a stateless protocol between a client and server in which the server embeds incremental control information in media fragments. The server provides uniform media fragment responses to media fragment requests that are cacheable by existing Internet cache infrastructure. The smooth streaming system receives media data in fragments from one or more encoders, creates an index of each fragment, and stores the fragments. The server provides fragments to clients that contain metadata information describing the encodings available on the server and the encoding of the fragment. The server may also provide information within each fragment that allows the client to determine whether the client is requesting data too fast or too slow, so that the client can adapt its request rate to a cadence in tune with the rate at which the server is receiving encoder data.
    Type: Grant
    Filed: March 16, 2009
    Date of Patent: December 9, 2014
    Assignee: Microsoft Corporation
    Inventors: John A. Bocharov, Gegiang (Sam) Zhang, Krishna Prakash (Prakash) Duggaraju, Sudheer Sirivara, Lin Liu, Anirban Roy, Jimin Gao, Jack E. Freelander, Christopher G. Knowlton, Vishal Sood
  • Patent number: 8438301
    Abstract: A computer system receives a request from a client computer system for data that is to be presented to a user, accesses a portion of the requested data and determines the encoded bit rate from the accessed portion of requested data. Based on the encoded bit rate for the requested data, the computer system determines an initial amount of data that is to be transferred to the client computer system to enable prompt access to that portion of data and determines the transfer rate for transferring the remaining data to the client computer system. The transfer rate for the remaining data is lower than the transfer rate for the initial amount. The computer system transfers the initial amount of data to the client computer system and transfers the remainder of the requested data to the client computer system at the determined lower transfer rate, subsequent to transferring the initial amount.
    Type: Grant
    Filed: April 7, 2008
    Date of Patent: May 7, 2013
    Assignee: Microsoft Corporation
    Inventors: Christopher G. Knowlton, William James Staples, Michael D. Volodarsky, Bryan Ethan Fleming, Geqiang Zhang
  • Patent number: 8239564
    Abstract: The dynamic management of download rates when downloading digital resources to clients. A server concurrently maintains download sessions with any number of clients, each download session for downloading a corresponding digital resource to a corresponding client. The download rates for the various download sessions are adjusted as download sessions are completed, and as new download sessions are added. As new download sessions are initiated, a minimum and target download rate may be calculated. The target download rate is the rate at which the server will attempt to download the requested digital resource to the client, and will depend on the total available bandwidth for use to download the digital resources.
    Type: Grant
    Filed: June 20, 2008
    Date of Patent: August 7, 2012
    Assignee: Microsoft Corporation
    Inventors: Jack E. Freelander, Christopher G. Knowlton, Geqiang Zhang, Vishal Sood
  • Publication number: 20100235528
    Abstract: A smooth streaming system provides a stateless protocol between a client and server in which the server embeds incremental control information in media fragments. The server provides uniform media fragment responses to media fragment requests that are cacheable by existing Internet cache infrastructure. The smooth streaming system receives media data in fragments from one or more encoders, creates an index of each fragment, and stores the fragments. The server provides fragments to clients that contain metadata information describing the encodings available on the server and the encoding of the fragment. The server may also provide information within each fragment that allows the client to determine whether the client is requesting data too fast or too slow, so that the client can adapt its request rate to a cadence in tune with the rate at which the server is receiving encoder data.
    Type: Application
    Filed: March 16, 2009
    Publication date: September 16, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Sudheer Sirivara, Lin Liu, Anirban Roy, Jimin Gao, Jack E. Freelander, Christopher G. Knowlton, Vishal Sood
  • Patent number: 7797720
    Abstract: An implementation of trick mode methodology receives a first request to stream media for presentation at a first normal playback rate; streams a first media stream configured to the first normal playback rate; receives a second request to stream the media for presentation at a second greater playback rate; and performs one of the following responsive to receiving the second request: switching from streaming the first media stream to streaming from an appropriate position in a second media stream that corresponds to the second greater playback rate; or in an event that a second media stream corresponding to the second greater playback rate is not available, then streaming the first media stream at a higher bit rate in an attempt to comply with the second request.
    Type: Grant
    Filed: October 22, 2004
    Date of Patent: September 14, 2010
    Assignee: Microsoft Corporation
    Inventors: Palamalai Gopalakrishnan, Christopher G. Knowlton, Bret P. O'Rourke, Ravi Raman
  • Publication number: 20100011119
    Abstract: A computer system receives a request from a client computer system for data that is to be presented to a user, accesses a portion of the requested data and determines the encoded bit rate from the accessed portion of requested data. Based on the encoded bit rate for the requested data, the computer system determines an initial amount of data that is to be transferred to the client computer system to enable prompt access to that portion of data and determines the transfer rate for transferring the remaining data to the client computer system. The transfer rate for the remaining data is lower than the transfer rate for the initial amount. The computer system transfers the initial amount of data to the client computer system and transfers the remainder of the requested data to the client computer system at the determined lower transfer rate, subsequent to transferring the initial amount.
    Type: Application
    Filed: April 7, 2008
    Publication date: January 14, 2010
    Applicant: Microsoft Corporation
    Inventors: Christopher G. Knowlton, Wiliam James Staples, Michael D. Volodarsky, Bryan Ethan Fleming, Geqiang Zhang
  • Publication number: 20090319681
    Abstract: The dynamic management of download rates when downloading digital resources to clients. A server concurrently maintains download sessions with any number of clients, each download session for downloading a corresponding digital resource to a corresponding client. The download rates for the various download sessions are adjusted as download sessions are completed, and as new download sessions are added. As new download sessions are initiated, a minimum and target download rate may be calculated. The target download rate is the rate at which the server will attempt to download the requested digital resource to the client, and will depend on the total available bandwidth for use to download the digital resources.
    Type: Application
    Filed: June 20, 2008
    Publication date: December 24, 2009
    Applicant: Microsoft Corporation
    Inventors: Jack E. Freelander, Christopher G. Knowlton, Geqiang Zhang, Vishal Sood
  • Publication number: 20090089401
    Abstract: Described is a technology in which media content is sent to clients in partial pieces, so that a server may control how clients view (and/or hear) the media content. A client requests partial content, and the server allows or disallows the request based upon one or more various conditions, as evaluated against a playlist provided (e.g., by a playlist provider) for that client. For example, the playlist may specify that the client cannot skip content, whereby the server disallows a request for a piece of content that skips over other content. Session related data may be kept to track the content sent to the client. Media content may be sent based on a dynamic condition, and/or the playlist may be dynamically adapted. A piece of media content may comprise an advertisement, which may be custom-selected for that client, such as based upon user profile data and/or client location information.
    Type: Application
    Filed: March 7, 2008
    Publication date: April 2, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Geqiang Zhang, Vishal Sood, Christopher G. Knowlton, William J. Staples