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: 10546319
    Abstract: 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: Grant
    Filed: May 31, 2013
    Date of Patent: January 28, 2020
    Assignee: Intuit Inc.
    Inventors: Houtao Deng, John A. Bocharov, S. Satishkumar, Sean Arnold Pudney, Jaspreet Singh
  • Patent number: 10257587
    Abstract: 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: Grant
    Filed: August 22, 2016
    Date of Patent: April 9, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Anirban Roy, Jack E. Freelander, Vishal Sood
  • Publication number: 20160360297
    Abstract: 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: Application
    Filed: August 22, 2016
    Publication date: December 8, 2016
    Inventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Anirban Roy, Jack E. Freelander, Vishal Sood
  • Patent number: 9438861
    Abstract: 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: Grant
    Filed: November 5, 2009
    Date of Patent: September 6, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Anirban Roy, Jack E. Freelander, Vishal Sood
  • Patent number: 9237387
    Abstract: 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: Grant
    Filed: November 3, 2009
    Date of Patent: January 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John A. Bocharov, Krishna Prakash Duggaraju, Lin Liu, Jack E. Freelander, Ning Lin, Anirban Roy
  • Patent number: 9002881
    Abstract: 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: Grant
    Filed: October 29, 2009
    Date of Patent: April 7, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John A. Bocharov, John C. Simmons, Robert K. Hughes, Sudheer Sirivara, Charles A. Finkelstein
  • Patent number: 8996547
    Abstract: 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: Grant
    Filed: October 31, 2008
    Date of Patent: March 31, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: John A. Bocharov, Geqiang Zhang, Gurpratap Virdi, Vishal Sood
  • 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: 8869289
    Abstract: 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: Grant
    Filed: January 28, 2009
    Date of Patent: October 21, 2014
    Assignee: Microsoft Corporation
    Inventors: Kedarnath A. Dubhashi, John Bocharov, Hany Farag, Gilles Khouzam, Kiran Kumar
  • Patent number: 8621044
    Abstract: 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: Grant
    Filed: March 16, 2009
    Date of Patent: December 31, 2013
    Assignee: Microsoft Corporation
    Inventors: Vishal Sood, Jack E. Freelander, Anirban Roy, Lin Liu, Geqiang (Sam) Zhang, Krishna Duggaraju, Sudheer Sirivara, John A. Bocharov
  • Patent number: 8555324
    Abstract: 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: Grant
    Filed: February 2, 2010
    Date of Patent: October 8, 2013
    Assignee: Microsoft Corporation
    Inventors: Daniel P. Cory, John A. Bocharov, Thomas D. Taylor
  • Patent number: 8555163
    Abstract: 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: Grant
    Filed: June 9, 2010
    Date of Patent: October 8, 2013
    Assignee: Microsoft Corporation
    Inventors: 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: 8392748
    Abstract: 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: Grant
    Filed: November 3, 2009
    Date of Patent: March 5, 2013
    Assignee: Microsoft Corporation
    Inventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Jimin Gao
  • Publication number: 20110307623
    Abstract: 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: Application
    Filed: June 9, 2010
    Publication date: December 15, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: 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: 8046432
    Abstract: 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: Grant
    Filed: April 17, 2009
    Date of Patent: October 25, 2011
    Assignee: Microsoft Corporation
    Inventors: Won Suk Yoo, Anil K. Ruia, Himanshu Patel, John A. Bocharov, Ning Lin
  • Publication number: 20110191812
    Abstract: 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: Application
    Filed: February 2, 2010
    Publication date: August 4, 2011
    Applicant: Microsoft Corporation
    Inventors: Daniel P. Cory, John A. Bocharov, Thomas D. Taylor
  • Publication number: 20110106847
    Abstract: 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: Application
    Filed: October 29, 2009
    Publication date: May 5, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: John A. Bocharov, John C. Simmons, Robert K. Hughes, Sudheer Sirivara, Charles A. Finkelstein
  • Publication number: 20110083144
    Abstract: 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: Application
    Filed: November 5, 2009
    Publication date: April 7, 2011
    Inventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Anirban Roy, Jack E. Freelander, Vishal Sood
  • Publication number: 20110083037
    Abstract: 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: Application
    Filed: November 3, 2009
    Publication date: April 7, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: John A. Bocharov, Geqiang (Sam) Zhang, Krishna Prakash Duggaraju, Lin Liu, Jimin Gao
  • Publication number: 20110080940
    Abstract: 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: Application
    Filed: November 3, 2009
    Publication date: April 7, 2011
    Applicant: Microsoft Corporation
    Inventors: John A. Bocharov, Krishna Prakash Duggaraju, Lin Liu, Jack E. Freelander, Ning Lin, Anirban Roy