Patents by Inventor Sam J. George

Sam J. George 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: 10244022
    Abstract: Described is a technology by which code, such as an untrusted web application hosted in a browser, provides content through an interface for playback by an application environment, such as an application environment running in a browser plug-in. Content may be in the form of elementary video, audio and/or script streams. The content is in a container that is unpackaged by the application code, whereby the content may be packaged in any format that the application understands, and/or or come from any source from which the application can download the container. An application environment component such as a platform-level media element receives information from an application that informs the application environment that the application is to provide media stream data for playback. The application environment requests media stream data (e.g., samples) from the application, receives them as processed by the application, and provides the requested media stream data for playback.
    Type: Grant
    Filed: July 22, 2014
    Date of Patent: March 26, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sam J George, Gilles Khouzam, Michael R Harsh, Gurpratap Virdi, John Gossman, Michael John Hillberg, Greg D Schechler, Donald D Karlov, Eldar A Musayev, Wenbo Zhang, Serge Smimov, Federico Schliemann, Lawrence Wayne Olson, Akshay Johar
  • Patent number: 10116724
    Abstract: A coordinated adaptive streaming system provides a level of intelligence between adaptive streaming heuristics applied to multiple multi-bitrate streams playing on a client computer at the same time. The system receives a media event that includes multiple multi-bitrate streams and plays two or more of the streams. Each stream registers with the coordinated adaptive streaming system so that the system is aware of each of the streams. The system receives a priority indication from each stream that indicates the priority of the stream relative to other streams associated with the media event. The system uses the received priority indications to make adaptive streaming decisions. Thus, the coordinated adaptive streaming system provides playback that more closely aligns with a user's priorities and provides a higher quality experience to a user viewing multiple concurrent media streams.
    Type: Grant
    Filed: February 15, 2016
    Date of Patent: October 30, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sam J. George, Shane C. Guillet, Sudheer Sirivara, Vishal Sood, Jack E. Freelander
  • Publication number: 20160294915
    Abstract: A coordinated adaptive streaming system provides a level of intelligence between adaptive streaming heuristics applied to multiple multi-bitrate streams playing on a client computer at the same time. The system receives a media event that includes multiple multi-bitrate streams and plays two or more of the streams. Each stream registers with the coordinated adaptive streaming system so that the system is aware of each of the streams. The system receives a priority indication from each stream that indicates the priority of the stream relative to other streams associated with the media event. The system uses the received priority indications to make adaptive streaming decisions. Thus, the coordinated adaptive streaming system provides playback that more closely aligns with a user's priorities and provides a higher quality experience to a user viewing multiple concurrent media streams.
    Type: Application
    Filed: February 15, 2016
    Publication date: October 6, 2016
    Inventors: Sam J. George, Shane C. Guillet, Sudheer Sirivara, Vishal Sood, Jack E. Freelander
  • Patent number: 9294526
    Abstract: A coordinated adaptive streaming system provides a level of intelligence between adaptive streaming heuristics applied to multiple multi-bitrate streams playing on a client computer at the same time. The system receives a media event that includes multiple multi-bitrate streams and plays two or more of the streams. Each stream registers with the coordinated adaptive streaming system so that the system is aware of each of the streams. The system receives a priority indication from each stream that indicates the priority of the stream relative to other streams associated with the media event. The system uses the received priority indications to make adaptive streaming decisions. Thus, the coordinated adaptive streaming system provides playback that more closely aligns with a user's priorities and provides a higher quality experience to a user viewing multiple concurrent media streams.
    Type: Grant
    Filed: December 28, 2009
    Date of Patent: March 22, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sam J. George, Shane C. Guillet, Sudheer Sirivara, Vishal Sood, Jack E. Freelander
  • Publication number: 20140337433
    Abstract: Described is a technology by which code, such as an untrusted web application hosted in a browser, provides content through an interface for playback by an application environment, such as an application environment running in a browser plug-in. Content may be in the form of elementary video, audio and/or script streams. The content is in a container that is unpackaged by the application code, whereby the content may be packaged in any format that the application understands, and/or or come from any source from which the application can download the container. An application environment component such as a platform-level media element receives information from an application that informs the application environment that the application is to provide media stream data for playback. The application environment requests media stream data (e.g., samples) from the application, receives them as processed by the application, and provides the requested media stream data for playback.
    Type: Application
    Filed: July 22, 2014
    Publication date: November 13, 2014
    Applicant: Microsoft Corporation
    Inventors: Sam J. George, Gilles Khouzam, Michael R Harsh, Gurpratap Virdi, John Gossman, Michael John Hillberg, Greg D Schechler, Donald D Karlov, Eldar A Musayev, Wenbo Zhang, Serge Smimov, Federico Schliemann, Lawrence Wayne Olson, Akshay Johar
  • Patent number: 8789168
    Abstract: Described is a technology by which code, such as an untrusted web application hosted in a browser, provides content through an interface for playback by an application environment, such as an application environment running in a browser plug-in. Content may be in the form of elementary video, audio and/or script streams. The content is in a container that is unpackaged by the application code, whereby the content may be packaged in any format that the application understands, and/or or come from any source from which the application can download the container. An application environment component such as a platform-level media element receives information from an application that informs the application environment that the application is to provide media stream data for playback. The application environment requests media stream data (e.g., samples) from the application, receives them as processed by the application, and provides the requested media stream data for playback.
    Type: Grant
    Filed: May 12, 2008
    Date of Patent: July 22, 2014
    Assignee: Microsoft Corporation
    Inventors: Sam J George, Gilles Khouzam, Michael R Harsh, Gurpratap Virdi, John Gossman, Michael John Hillberg, Greg D Schechter, Donald D Karlov, Eldar A Musayev, Wenbo Zhang, Serge Smirnov, Federico Schliemann, Lawrence Wayne Olson, Akshay Johar, Weibing Zhan
  • Patent number: 8640097
    Abstract: A media interaction system is described herein that allows hosted applications to consume and/or produce rich media content independent of the format of the media content, while still maintaining the security of the host. The media interaction system accepts raw, uncompressed media data from a hosted application, and allows the hosted application to provide its own codec through a sandboxed API that restricts the actions the codec can perform to a set of trusted actions. Then, the application provides the uncompressed data to the system for playback. Thus, the media interaction system provides rich media content in any format that the application developer supports, and maintains the security of the user's computer system.
    Type: Grant
    Filed: March 16, 2009
    Date of Patent: January 28, 2014
    Assignee: Microsoft Corporation
    Inventors: Gilles Khouzam, Sam J. George, Brian J. Ewanchuk, Lawrence W. Olson, Michael R. Harsh
  • Patent number: 8633902
    Abstract: A multi-touch plug-in system is described herein that exposes multi-touch data for web application developers to consume in a platform independent way. The multi-touch plug-in system receives platform-specific touch data from an operating system or touch hardware, interprets the platform-specific touch data to convert the platform-specific touch data to generic touch data, and provides the generic touch data to a hosted application running within a plug-in sandbox. Often, sandboxed environments only allow identified, trusted plug-ins to execute. By managing multi-touch data within a trusted plug-in, the plug-in can ensure that hosted applications are properly restricted to well-defined behavior, while still allowing rich features such as multi-touch interaction. Thus, the multi-touch plug-in system brings rich multi-touch interaction to a web browsing environment.
    Type: Grant
    Filed: November 23, 2009
    Date of Patent: January 21, 2014
    Assignee: Microsoft Corporation
    Inventors: Joseph Smith, Sam J. George, Stefan Wick, Todd A. Torset, Jesse Bishop
  • Patent number: 8589862
    Abstract: Extensions or additional software programs that are requested by a computer application running on an application platform are handled in an efficient manner by, among other things, regulating and tracking extensions that are downloaded. This allows the size of the application platform upon which the application is running to remain relatively small so as to mitigate strain on resources when the platform is initially deployed over a network (e.g., the Internet), thus making it easier and more likely for a user to install the application platform (and/or updates thereto). Requested extensions are subsequently added to and/or removed from the (already deployed) application platform based on, among other things, download metrics.
    Type: Grant
    Filed: June 2, 2008
    Date of Patent: November 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Sam J. George, Akhilesh Kaza, Thomas D. Taylor, Michael R. Harsh
  • 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: 8510753
    Abstract: In a computing environment, one may wish to have interoperability between trusted and untrusted controls/plug-ins allowing for richer expression of content and control within a platform. This can be accomplished by allowing an untrusted plug-in to communicate with a trusted plug-in, while having the trusted plug-in exercise control over the platform. This allows for the creation of a layered secure approach of communication with a platform, thus allowing for increased application richness in untrusted third party applications.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: August 13, 2013
    Assignee: Microsoft Corporation
    Inventors: Ashraf A. Michail, Akhilesh Kaza, Kevin T. Gallo, Sam J. George, Joseph P. Stegman, Michael R. Harsh, Mark Alcazar
  • Patent number: 8347206
    Abstract: Techniques are described for performing automatic generation of one or more tags associated with an image file. One or more ink annotations for a displayed image are received. Handwriting recognition processing of the one or more ink annotations is performed. A string is generated and the string includes one or more recognized words used to form the one or more tags associated with the image file. The handwriting recognition processing and generating the string are performed in response to receiving the ink annotations.
    Type: Grant
    Filed: March 15, 2007
    Date of Patent: January 1, 2013
    Assignee: Microsoft Corporation
    Inventors: Gavin M. Gear, Sam J. George, Richard L. Spencer
  • 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
  • Publication number: 20110161485
    Abstract: A coordinated adaptive streaming system provides a level of intelligence between adaptive streaming heuristics applied to multiple multi-bitrate streams playing on a client computer at the same time. The system receives a media event that includes multiple multi-bitrate streams and plays two or more of the streams. Each stream registers with the coordinated adaptive streaming system so that the system is aware of each of the streams. The system receives a priority indication from each stream that indicates the priority of the stream relative to other streams associated with the media event. The system uses the received priority indications to make adaptive streaming decisions. Thus, the coordinated adaptive streaming system provides playback that more closely aligns with a user's priorities and provides a higher quality experience to a user viewing multiple concurrent media streams.
    Type: Application
    Filed: December 28, 2009
    Publication date: June 30, 2011
    Applicant: Microsoft Corporation
    Inventors: Sam J. George, Shane C. Guillet, Sudheer Sirivara, Vishal Sood, Jack E. Freelander
  • Publication number: 20110122070
    Abstract: A multi-touch plug-in system is described herein that exposes multi-touch data for web application developers to consume in a platform independent way. The multi-touch plug-in system receives platform-specific touch data from an operating system or touch hardware, interprets the platform-specific touch data to convert the platform-specific touch data to generic touch data, and provides the generic touch data to a hosted application running within a plug-in sandbox. Often, sandboxed environments only allow identified, trusted plug-ins to execute. By managing multi-touch data within a trusted plug-in, the plug-in can ensure that hosted applications are properly restricted to well-defined behavior, while still allowing rich features such as multi-touch interaction. Thus, the multi-touch plug-in system brings rich multi-touch interaction to a web browsing environment.
    Type: Application
    Filed: November 23, 2009
    Publication date: May 26, 2011
    Inventors: Joseph Smith, Sam J. George, Stefan Wick, Todd A. Torset, Jesse Bishop
  • Patent number: 7924284
    Abstract: A process for rendering highlighter ink strokes and non-highlighter ink strokes in a non-rastering environment is described. Strokes may be grouped under a node having a predefined opacity. The strokes inherit the opacity from the node. Additionally, visuals containing highlighter strokes of the same color are grouped into collections of visuals (one collection per each highlighter color), and change the opacity of the collection (parent) visual to semi-transparent (or any other transparency value defined for the highlighter effect).
    Type: Grant
    Filed: August 29, 2005
    Date of Patent: April 12, 2011
    Assignee: Microsoft Corporation
    Inventors: Brian J. Ewanchuk, Koji Kato, Stefan Wick, Vladimir V. Smirnov, Sam J. George, Shawn Van Ness
  • Publication number: 20100235820
    Abstract: A media interaction system is described herein that allows hosted applications to consume and/or produce rich media content independent of the format of the media content, while still maintaining the security of the host. The media interaction system accepts raw, uncompressed media data from a hosted application, and allows the hosted application to provide its own codec through a sandboxed API that restricts the actions the codec can perform to a set of trusted actions. Then, the application provides the uncompressed data to the system for playback. Thus, the media interaction system provides rich media content in any format that the application developer supports, and maintains the security of the user's computer system.
    Type: Application
    Filed: March 16, 2009
    Publication date: September 16, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Gilles Khouzam, Sam J. George, Brian J. Ewanchuk, Lawrence W. Olson, Michael R. Harsh
  • Publication number: 20090328066
    Abstract: In a computing environment, one may wish to have interoperability between trusted and untrusted controls/plug-ins allowing for richer expression of content and control within a platform. This can be accomplished by allowing an untrusted plug-in to communicate with a trusted plug-in, while having the trusted plug-in exercise control over the platform. This allows for the creation of a layered secure approach of communication with a platform, thus allowing for increased application richness in untrusted third party applications.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Ashraf A. Michail, Akhilesh Kaza, Kevin T. Gallo, Sam J. George, Joseph P. Stegman, Michael R. Harsh, Mark Alcazar
  • Publication number: 20090300597
    Abstract: Extensions or additional software programs that are requested by a computer application running on an application platform are handled in an efficient manner by, among other things, regulating and tracking extensions that are downloaded. This allows the size of the application platform upon which the application is running to remain relatively small so as to mitigate strain on resources when the platform is initially deployed over a network (e.g., the Internet), thus making it easier and more likely for a user to install the application platform (and/or updates thereto). Requested extensions are subsequently added to and/or removed from the (already deployed) application platform based on, among other things, download metrics.
    Type: Application
    Filed: June 2, 2008
    Publication date: December 3, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Sam J. George, Akhilesh Kaza, Thomas D. Taylor, Michael R. Harsh
  • Publication number: 20090282475
    Abstract: Described is a technology by which code, such as an untrusted web application hosted in a browser, provides content through an interface for playback by an application environment, such as an application environment running in a browser plug-in. Content may be in the form of elementary video, audio and/or script streams. The content is in a container that is unpackaged by the application code, whereby the content may be packaged in any format that the application understands, and/or or come from any source from which the application can download the container. An application environment component such as a platform-level media element receives information from an application that informs the application environment that the application is to provide media stream data for playback. The application environment requests media stream data (e.g., samples) from the application, receives them as processed by the application, and provides the requested media stream data for playback.
    Type: Application
    Filed: May 12, 2008
    Publication date: November 12, 2009
    Applicant: Microsoft Corporation
    Inventors: Sam J. George, Gilles Khouzam, Michael R. Harsh, Gurpratap Virdi, John Gossman, Michael John Hillberg, Greg D. Schechter, Donald D. Karlov, Eldar A. Musayev, Wenbo Zhang, Serge Smirnov, Federico Schliemann, Lawrence Wayne Olson, Akshay Johar, Weibing Zhan