Patents by Inventor John Bocharov
John Bocharov 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: 10546319Abstract: A method for selecting advertisements to embed in an online application, including detecting an access to the online application by a customer, determining, based on an impression tracker associated with the customer, and using an ad type selection model, an advertisement to embed in the online application. The advertisement is displayed to the user and the impression tracker associated with the customer is incremented. The method further includes receiving, from the user, a selection of the advertisement, storing a type of the advertisement and the value of the impression tracker as ad selection data, determining that the ad type selection model needs to be updated, and updating the ad type selection model based on the ad selection data to obtain an updated ad type selection model.Type: GrantFiled: May 31, 2013Date of Patent: January 28, 2020Assignee: Intuit Inc.Inventors: Houtao Deng, John A. Bocharov, S. Satishkumar, Sean Arnold Pudney, Jaspreet Singh
-
Patent number: 10257587Abstract: A sparse streaming system provides a first-class means for sparse metadata to be added to streaming media presentations and to be delivered using an integrated data channel that is cacheable using readily available HTTP-based Internet caching infrastructure for increased scalability. The sparse streaming system stores a reference to a sparse track within a continuous track. If a continuous fragment arrives at the client that refers to a sparse fragment that the client has not yet retrieved, then the client requests the sparse fragment. In addition, each sparse fragment may include a backwards reference to the sparse fragment created immediately prior. The references in the continuous fragments make the client aware of new sparse track fragments, and the backwards references in the sparse track fragments ensure that the client has not missed any intervening sparse track fragments.Type: GrantFiled: August 22, 2016Date of Patent: April 9, 2019Assignee: Microsoft Technology Licensing, LLCInventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Anirban Roy, Jack E. Freelander, Vishal Sood
-
Publication number: 20160360297Abstract: A sparse streaming system provides a first-class means for sparse metadata to be added to streaming media presentations and to be delivered using an integrated data channel that is cacheable using readily available HTTP-based Internet caching infrastructure for increased scalability. The sparse streaming system stores a reference to a sparse track within a continuous track. If a continuous fragment arrives at the client that refers to a sparse fragment that the client has not yet retrieved, then the client requests the sparse fragment. In addition, each sparse fragment may include a backwards reference to the sparse fragment created immediately prior. The references in the continuous fragments make the client aware of new sparse track fragments, and the backwards references in the sparse track fragments ensure that the client has not missed any intervening sparse track fragments.Type: ApplicationFiled: August 22, 2016Publication date: December 8, 2016Inventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Anirban Roy, Jack E. Freelander, Vishal Sood
-
Patent number: 9438861Abstract: A sparse streaming system provides a first-class means for sparse metadata to be added to streaming media presentations and to be delivered using an integrated data channel that is cacheable using readily available HTTP-based Internet caching infrastructure for increased scalability. The sparse streaming system stores a reference to a sparse track within a continuous track. If a continuous fragment arrives at the client that refers to a sparse fragment that the client has not yet retrieved, then the client requests the sparse fragment. In addition, each sparse fragment may include a backwards reference to the sparse fragment created immediately prior. The references in the continuous fragments make the client aware of new sparse track fragments, and the backwards references in the sparse track fragments ensure that the client has not missed any intervening sparse track fragments.Type: GrantFiled: November 5, 2009Date of Patent: September 6, 2016Assignee: Microsoft Technology Licensing, LLCInventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Anirban Roy, Jack E. Freelander, Vishal Sood
-
Patent number: 9237387Abstract: A low latency streaming system provides a stateless protocol between a client and server with reduced latency. The server embeds incremental information in media fragments that eliminates the usage of a typical control channel. In addition, the server provides uniform media fragment responses to media fragment requests, thereby allowing existing Internet cache infrastructure to cache streaming media data. Each fragment has a distinguished Uniform Resource Locator (URL) that allows the fragment to be identified and cached by both Internet cache servers and the client's browser cache. The system reduces latency using various techniques, such as sending fragments that contain less than a full group of pictures (GOP), encoding media without dependencies on subsequent frames, and by allowing clients to request subsequent frames with only information about previous frames.Type: GrantFiled: November 3, 2009Date of Patent: January 12, 2016Assignee: Microsoft Technology Licensing, LLCInventors: John A. Bocharov, Krishna Prakash Duggaraju, Lin Liu, Jack E. Freelander, Ning Lin, Anirban Roy
-
Patent number: 9002881Abstract: Assembling streamed content for on-demand presentation is described. In embodiments, a media asset can be requested from a content distributor, and cacheable segments of the media asset are streamed to the requesting client device. The cacheable segments are received in an initial quality display format for uninterrupted playback of the media asset at the client device while the cacheable segments are being received. An asset matrix that correlates a bit rate and a time position for each cacheable segment in the media asset is also received. The cacheable segments of the media asset can be assembled according to the asset matrix to generate an assembled asset data file of the media asset. The assembled asset data file can then be back-filled with selected ones of the cacheable segments that are replaced with a highest quality display format for on-demand presentation of the media asset when selected for viewing.Type: GrantFiled: October 29, 2009Date of Patent: April 7, 2015Assignee: Microsoft Technology Licensing, LLCInventors: John A. Bocharov, John C. Simmons, Robert K. Hughes, Sudheer Sirivara, Charles A. Finkelstein
-
Patent number: 8996547Abstract: Media fragmentation may be provided. First, a request for a manifest may be received from a client. Then, in response to the received request for the manifest, the manifest may be sent to the client. Next, a request may be received from the client for a file fragment. The request may indicate a start time and an end time corresponding to the file fragment. The request may be in a format defined by the manifest. Then a lookup table may be queried for a first byte location in a media file corresponding to the start time and a second byte location in the media file corresponding to the end time. Next, a portion of the media file between the first byte location and the second byte location may be extracted from the media file. The portion may comprise the file fragment. The file fragment may be sent to the client.Type: GrantFiled: October 31, 2008Date of Patent: March 31, 2015Assignee: Microsoft Technology Licensing, LLCInventors: John A. Bocharov, Geqiang Zhang, Gurpratap Virdi, Vishal Sood
-
Patent number: 8909806Abstract: 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: GrantFiled: March 16, 2009Date of Patent: December 9, 2014Assignee: Microsoft CorporationInventors: 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: 8869289Abstract: Various embodiments for software application verification are disclosed. Software application verification applies digital rights management to applications that run protected content on a playback device. In this way, protected content may be provided to approved applications and withheld from applications that have not been approved to run the protected content.Type: GrantFiled: January 28, 2009Date of Patent: October 21, 2014Assignee: Microsoft CorporationInventors: Kedarnath A. Dubhashi, John Bocharov, Hany Farag, Gilles Khouzam, Kiran Kumar
-
Patent number: 8621044Abstract: An adaptive streaming system is described herein that provides a stateless connection between the client and server for streaming media playback in which the data is formatted in a manner that allows the client to make decisions and react more quickly to changing network conditions. The client requests uniform chunks of media from the server that include a portion of the media. The adaptive streaming system requests portions of a media file or of a live streaming event in small-sized chunks each having a distinguished URL. This allows streaming media data to be cached by existing Internet cache infrastructure. Each chunk contains metadata information that describes the encoding of the chunk and media content for playback by the client. The server may provide chunks in multiple encodings so that the client can switch quickly to chunks of a different bit rate or playback speed.Type: GrantFiled: March 16, 2009Date of Patent: December 31, 2013Assignee: Microsoft CorporationInventors: Vishal Sood, Jack E. Freelander, Anirban Roy, Lin Liu, Geqiang (Sam) Zhang, Krishna Duggaraju, Sudheer Sirivara, John A. Bocharov
-
Patent number: 8555324Abstract: A content delivery system stores large content as frames of video that can be served by content servers already optimized for streaming video. Instead of storing image tiles in separate files, the system treats each tile as a frame of a video and stores the tiles in a video format. This allows transfer of large data from a publisher to a content server by transferring a single file or a small handful of files (rather than thousands or millions of files). Web servers such as MICROSOFT Internet Information Server (IIS) include smooth streaming support that can return individual images as video frames as though the images were stored in separate files. Thus, the content delivery system provides easier management of large data for publishers while continuing to provide a smooth experience consuming the data for clients.Type: GrantFiled: February 2, 2010Date of Patent: October 8, 2013Assignee: Microsoft CorporationInventors: Daniel P. Cory, John A. Bocharov, Thomas D. Taylor
-
Patent number: 8555163Abstract: A streaming abstraction system is described herein that provides application developers a client software development kit (SDK) on top of which to build smooth streaming solutions. The system reduces development time considerably and abstracts platform specific intricacies and protocol handling on the client. In addition, the streaming abstraction system makes it possible to monetize streaming content with advanced features like advertising and analytics and provides advanced capabilities like multiple camera angles, diagnostics, and error handling. In some embodiments, the streaming abstraction system provides an intermediate layer that operates between an application and an underlying client media platform. The intermediate layer manages smooth streaming protocol handling as well as interactions with the platform-specific runtime.Type: GrantFiled: June 9, 2010Date of Patent: October 8, 2013Assignee: Microsoft CorporationInventors: Vishal Sood, Geqiang (Sam) Zhang, Lin Liu, Krishna Prakash Duggaraju, Sam J. George, Jack E. Freelander, Anirban Roy, John A. Bocharov, Jeffrey M. Wilcox, Raymond Cheng
-
Patent number: 8392748Abstract: A reliable streaming system increases reliability of live and on-demand streaming media events through a robust server architecture that allows fast failover and recovery in the event of network, hardware, or other failures. The system provides for failover of encoders, ingest servers, which receive encoded media data from encoders, and origin servers, which serve as the retrieval point of last resort for connecting clients. The system also provides a push proxy mechanism that allows one copy of data to feed redundant servers and pre-warm caches, saving on provisioned bandwidth. In addition, the system provides a distribution server role that allows content to be automatically syndicated to a region when needed. Thus, the reliable streaming system provides a streaming solution with no single point of failure and redundancy and fast failover built into the content network architecture.Type: GrantFiled: November 3, 2009Date of Patent: March 5, 2013Assignee: Microsoft CorporationInventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Jimin Gao
-
Publication number: 20110307623Abstract: A streaming abstraction system is described herein that provides application developers a client software development kit (SDK) on top of which to build smooth streaming solutions. The system reduces development time considerably and abstracts platform specific intricacies and protocol handling on the client. In addition, the streaming abstraction system makes it possible to monetize streaming content with advanced features like advertising and analytics and provides advanced capabilities like multiple camera angles, diagnostics, and error handling. In some embodiments, the streaming abstraction system provides an intermediate layer that operates between an application and an underlying client media platform. The intermediate layer manages smooth streaming protocol handling as well as interactions with the platform-specific runtime.Type: ApplicationFiled: June 9, 2010Publication date: December 15, 2011Applicant: MICROSOFT CORPORATIONInventors: Sam J. George, Geqiang (Sam) Zhang, Lin Liu, Krishna Prakash Duggaraju, Vishal Sood, Jack E. Freelander, Anirban Roy, John A. Bocharov, Jeffrey M. Wilcox, Raymond Cheng
-
Patent number: 8046432Abstract: A live caching system is described herein that reduces the burden on origin servers for serving live content. In response to receiving a first request that results in a cache miss, the system forwards the first request to the next tier while “holding” other requests for the same content. If the system receives a second request while the first request is pending, the system will recognize that a similar request is outstanding and hold the second request by not forwarding the request to the origin server. After the response to the first request arrives from the next tier, the system shares the response with other held requests. Thus, the live caching system allows a content provider to prepare for very large events by adding more cache hardware and building out a cache server network rather than by increasing the capacity of the origin server.Type: GrantFiled: April 17, 2009Date of Patent: October 25, 2011Assignee: Microsoft CorporationInventors: Won Suk Yoo, Anil K. Ruia, Himanshu Patel, John A. Bocharov, Ning Lin
-
Publication number: 20110191812Abstract: A content delivery system stores large content as frames of video that can be served by content servers already optimized for streaming video. Instead of storing image tiles in separate files, the system treats each tile as a frame of a video and stores the tiles in a video format. This allows transfer of large data from a publisher to a content server by transferring a single file or a small handful of files (rather than thousands or millions of files). Web servers such as MICROSOFT Internet Information Server (IIS) include smooth streaming support that can return individual images as video frames as though the images were stored in separate files. Thus, the content delivery system provides easier management of large data for publishers while continuing to provide a smooth experience consuming the data for clients.Type: ApplicationFiled: February 2, 2010Publication date: August 4, 2011Applicant: Microsoft CorporationInventors: Daniel P. Cory, John A. Bocharov, Thomas D. Taylor
-
Publication number: 20110106847Abstract: Assembling streamed content for on-demand presentation is described. In embodiments, a media asset can be requested from a content distributor, and cacheable segments of the media asset are streamed to the requesting client device. The cacheable segments are received in an initial quality display format for uninterrupted playback of the media asset at the client device while the cacheable segments are being received. An asset matrix that correlates a bit rate and a time position for each cacheable segment in the media asset is also received. The cacheable segments of the media asset can be assembled according to the asset matrix to generate an assembled asset data file of the media asset. The assembled asset data file can then be back-filled with selected ones of the cacheable segments that are replaced with a highest quality display format for on-demand presentation of the media asset when selected for viewing.Type: ApplicationFiled: October 29, 2009Publication date: May 5, 2011Applicant: MICROSOFT CORPORATIONInventors: John A. Bocharov, John C. Simmons, Robert K. Hughes, Sudheer Sirivara, Charles A. Finkelstein
-
Publication number: 20110083144Abstract: A sparse streaming system provides a first-class means for sparse metadata to be added to streaming media presentations and to be delivered using an integrated data channel that is cacheable using readily available HTTP-based Internet caching infrastructure for increased scalability. The sparse streaming system stores a reference to a sparse track within a continuous track. If a continuous fragment arrives at the client that refers to a sparse fragment that the client has not yet retrieved, then the client requests the sparse fragment. In addition, each sparse fragment may include a backwards reference to the sparse fragment created immediately prior. The references in the continuous fragments make the client aware of new sparse track fragments, and the backwards references in the sparse track fragments ensure that the client has not missed any intervening sparse track fragments.Type: ApplicationFiled: November 5, 2009Publication date: April 7, 2011Inventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Anirban Roy, Jack E. Freelander, Vishal Sood
-
Publication number: 20110083037Abstract: A reliable streaming system increases reliability of live and on-demand streaming media events through a robust server architecture that allows fast failover and recovery in the event of network, hardware, or other failures. The system provides for failover of encoders, ingest servers, which receive encoded media data from encoders, and origin servers, which serve as the retrieval point of last resort for connecting clients. The system also provides a push proxy mechanism that allows one copy of data to feed redundant servers and pre-warm caches, saving on provisioned bandwidth. In addition, the system provides a distribution server role that allows content to be automatically syndicated to a region when needed. Thus, the reliable streaming system provides a streaming solution with no single point of failure and redundancy and fast failover built into the content network architecture.Type: ApplicationFiled: November 3, 2009Publication date: April 7, 2011Applicant: MICROSOFT CORPORATIONInventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Jimin Gao
-
Publication number: 20110080940Abstract: A low latency streaming system provides a stateless protocol between a client and server with reduced latency. The server embeds incremental information in media fragments that eliminates the usage of a typical control channel. In addition, the server provides uniform media fragment responses to media fragment requests, thereby allowing existing Internet cache infrastructure to cache streaming media data. Each fragment has a distinguished Uniform Resource Locator (URL) that allows the fragment to be identified and cached by both Internet cache servers and the client's browser cache. The system reduces latency using various techniques, such as sending fragments that contain less than a full group of pictures (GOP), encoding media without dependencies on subsequent frames, and by allowing clients to request subsequent frames with only information about previous frames.Type: ApplicationFiled: November 3, 2009Publication date: April 7, 2011Applicant: Microsoft CorporationInventors: John A. Bocharov, Krishna Prakash Duggaraju, Lin Liu, Jack E. Freelander, Ning Lin, Anirban Roy