Patents by Inventor Christian Fortini

Christian Fortini 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: 11010212
    Abstract: Methods, systems, and computer program products are described herein for supporting and negotiating multiple (e.g. static) application programming interface (API) versions across multiple products. Interoperable programs, such as different web browser applications, may provide simultaneous support for multiple versions of an API. An API and program-API adapters may be versioned to manage compatibility for asynchronously developed programs and APIs that may be asynchronously installed and updated in many computing environments. An adapter may comprise a versioned portion of program source code. In-development program code and APIs may be forked to create versioned snapshots of stable interfaces. An “in-development” version of an API and adapters may coexist with versioned APIs and adapters. Compatible version negotiation may occur, for example, during process launch. Negotiation may activate the highest API version supported by both programs.
    Type: Grant
    Filed: June 13, 2019
    Date of Patent: May 18, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Tony E. Schreiner, Michael J. Ens, Clifton J. Hebert, Corey M. Bloodstein, Christian Fortini
  • Publication number: 20200394082
    Abstract: Methods, systems, and computer program products are described herein for supporting and negotiating multiple (e.g. static) application programming interface (API) versions across multiple products. Interoperable programs, such as different web browser applications, may provide simultaneous support for multiple versions of an API. An API and program-API adapters may be versioned to manage compatibility for asynchronously developed programs and APIs that may be asynchronously installed and updated in many computing environments. An adapter may comprise a versioned portion of program source code. In-development program code and APIs may be forked to create versioned snapshots of stable interfaces. An “in-development” version of an API and adapters may coexist with versioned APIs and adapters. Compatible version negotiation may occur, for example, during process launch. Negotiation may activate the highest API version supported by both programs.
    Type: Application
    Filed: June 13, 2019
    Publication date: December 17, 2020
    Inventors: Tony E. Schreiner, Michael J. Ens, Clifton J. Hebert, Corey M. Bloodstein, Christian Fortini
  • Patent number: 9633408
    Abstract: Techniques for coalescing graphics operations are described. In at least some embodiments, multiple graphics operations can be generated to be applied to a graphical element, such as a graphical user interface (GUI). The graphics operations can be coalesced into a single renderable graphics operation that can be processed and rendered.
    Type: Grant
    Filed: June 14, 2013
    Date of Patent: April 25, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christian Fortini, Rico Mariani, Anjali S. Parikh, Matthew P. Kotsenas, Jason J. Weber
  • Patent number: 9588679
    Abstract: Various embodiments utilize a layout viewport and a visual viewport separate from the layout viewport. The layout viewport is utilized for such things as page layout operations and reporting Document Object Model values to script. The layout viewport can be thought of as an initial rectangle which is equivalent in size to the initial containing block. The initial containing block is a containing block that contains web content that is initially visible to the user. The visual viewport is separate from the layout viewport and is allowed to be freely manipulated relative to the layout viewport. For example, the visual viewport may “push” the layout viewport around when it collides with the layout viewport boundaries. The visual viewport can be thought of as the rectangle that is visible to the user.
    Type: Grant
    Filed: September 12, 2011
    Date of Patent: March 7, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthew A. Rakow, Sergey Z. Malkin, Michael J. Ens, Yining Chen, Christian Fortini, Sandra G. Roberts, Michael J. Patten, Nicholas R. Waggoner
  • Patent number: 9430808
    Abstract: Techniques for synchronization points for state information are described. In at least some embodiments, synchronization points are employed to propagate state information among different processing threads. A synchronization point, for example, can be employed to propagate state information among different independently-executing threads. Accordingly, in at least some embodiments, synchronization points serve as inter-thread communications among different independently-executing threads.
    Type: Grant
    Filed: June 19, 2013
    Date of Patent: August 30, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christian Fortini, Brian E. Manthos, Grant A. Watters, Li-Hsin Huang, Richard K. James, Samuel R. Fortiner, R. Scott Briggs, Sergey Z. Malkin, Yuanzhe Wang, Rico Mariani, Justin E. Rogers, Anjali S. Parikh, Praveen Kumar Muralidhar Rao, Matthew P. Kotsenas, Jason J. Weber, Nirankush Panchbhai, Rossen Atanassov, Peter Salas
  • Patent number: 9383908
    Abstract: In one or more embodiments, a hit test thread which is separate from the main thread, e.g. the user interface thread, is utilized for hit testing on web content. Using a separate thread for hit testing can allow targets to be quickly ascertained. In cases where the appropriate response is handled by a separate thread, such as a manipulation thread that can be used for touch manipulations such as panning and pinch zooming, manipulation can occur without blocking on the main thread. This results in the response time that is consistently quick even on low-end hardware over a variety of scenarios.
    Type: Grant
    Filed: October 2, 2014
    Date of Patent: July 5, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Matthew A. Rakow, Tony E. Schreiner, Bradley J. Litterell, Kevin M. Babbitt, Praveen Kumar Muralidhar Rao, Christian Fortini
  • Patent number: 9152476
    Abstract: One or more application programming interfaces (APIs) are exposed by a host program running on a device to facilitate a control program displaying content in a window in which the host program displays content. As part of an API, a method is exposed that the control program can invoke to pass to the host program a definition of a surface presenter to be created by the host program. Additionally, the control program can store content that the control program desires to have presented in a buffer of the surface presenter, and invoke another method exposed as part of an API to pass to the host program an indication of the content that the control program desires to have displayed in the window in which the host program displays content.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: October 6, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Benjamin C. Constable, Cenk Ergan, Christian Fortini
  • Publication number: 20150026689
    Abstract: In one or more embodiments, a hit test thread which is separate from the main thread, e.g. the user interface thread, is utilized for hit testing on web content. Using a separate thread for hit testing can allow targets to be quickly ascertained. In cases where the appropriate response is handled by a separate thread, such as a manipulation thread that can be used for touch manipulations such as panning and pinch zooming, manipulation can occur without blocking on the main thread. This results in the response time that is consistently quick even on low-end hardware over a variety of scenarios.
    Type: Application
    Filed: October 2, 2014
    Publication date: January 22, 2015
    Inventors: Matthew A. Rakow, Tony E. Schreiner, Bradley J. Litterell, Kevin M. Babbitt, Praveen Kumar Muralidhar Rao, Christian Fortini
  • Publication number: 20140375657
    Abstract: Techniques for synchronization points for state information are described. In at least some embodiments, synchronization points are employed to propagate state information among different processing threads. A synchronization point, for example, can be employed to propagate state information among different independently-executing threads. Accordingly, in at least some embodiments, synchronization points serve as inter-thread communications among different independently-executing threads.
    Type: Application
    Filed: June 19, 2013
    Publication date: December 25, 2014
    Inventors: Christian Fortini, Brian E. Manthos, Grant A. Watters, Li-Hsin Huang, Richard K. James, Samuel R. Fortiner, R. Scott Briggs, Sergey Z. Malkin, Yuanzhe Wang, Rico Mariani, Justin E. Rogers, Anjali S. Parikh, Praveen Kumar Muralidhar Rao, Matthew P. Kotsenas, Jason J. Weber, Nirankush Panchbhai, Rossen Atanassov, Peter Salas
  • Patent number: 8918729
    Abstract: A system and method enabling a designer to build electronic forms from hierarchical data is described. Displays of hierarchical data, facilitation of selection of a portion of the hierarchical data, and displays of one or more transformation-language components associated with a selected portion of hierarchical data are described. From the transformation-language components selected by a designer, generation of an electronic form is also described.
    Type: Grant
    Filed: April 2, 2008
    Date of Patent: December 23, 2014
    Assignee: Microsoft Corporation
    Inventors: Christian Fortini, Jean D. Paoli, Laurent Mollicone, Bulusu Krishna Mohan, Alessandro Catorcini
  • Publication number: 20140368515
    Abstract: Techniques for coalescing graphics operations are described. In at least some embodiments, multiple graphics operations can be generated to be applied to a graphical element, such as a graphical user interface (GUI). The graphics operations can be coalesced into a single renderable graphics operation that can be processed and rendered.
    Type: Application
    Filed: June 14, 2013
    Publication date: December 18, 2014
    Inventors: Christian Fortini, Rico Mariani, Anjali S. Parikh, Matthew P. Kotsenas, Jason J. Weber
  • Patent number: 8874969
    Abstract: In one or more embodiments, a hit test thread which is separate from the main thread, e.g. the user interface thread, is utilized for hit testing on web content. Using a separate thread for hit testing can allow targets to be quickly ascertained. In cases where the appropriate response is handled by a separate thread, such as a manipulation thread that can be used for touch manipulations such as panning and pinch zooming, manipulation can occur without blocking on the main thread. This results in the response time that is consistently quick even on low-end hardware over a variety of scenarios.
    Type: Grant
    Filed: July 9, 2012
    Date of Patent: October 28, 2014
    Assignee: Microsoft Corporation
    Inventors: Matthew A. Rakow, Tony E. Schreiner, Bradley J. Litterell, Kevin M. Babbitt, Praveen Kumar Muralidhar Rao, Christian Fortini
  • Publication number: 20140013160
    Abstract: In one or more embodiments, a hit test thread which is separate from the main thread, e.g. the user interface thread, is utilized for hit testing on web content. Using a separate thread for hit testing can allow targets to be quickly ascertained. In cases where the appropriate response is handled by a separate thread, such as a manipulation thread that can be used for touch manipulations such as panning and pinch zooming, manipulation can occur without blocking on the main thread. This results in the response time that is consistently quick even on low-end hardware over a variety of scenarios.
    Type: Application
    Filed: July 9, 2012
    Publication date: January 9, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Matthew A. Rakow, Tony E. Schreiner, Bradley J. Litterell, Kevin M. Babbitt, Praveen Kumar Muralidhar Rao, Christian Fortini
  • Patent number: 8424025
    Abstract: One or more application programming interfaces (APIs) are exposed by a host program running on a device to facilitate a control program displaying content in a window in which the host program displays content. As part of an API, a method is exposed that the control program can invoke to pass to the host program a definition of a surface presenter to be created by the host program. Additionally, the control program can store content that the control program desires to have presented in a buffer of the surface presenter, and invoke another method exposed as part of an API to pass to the host program an indication of the content that the control program desires to have displayed in the window in which the host program displays content.
    Type: Grant
    Filed: February 22, 2011
    Date of Patent: April 16, 2013
    Assignee: Microsoft Corporation
    Inventors: Benjamin C. Constable, Cenk Ergan, Christian Fortini
  • Publication number: 20130067315
    Abstract: Various embodiments utilize a layout viewport and a visual viewport separate from the layout viewport. The layout viewport is utilized for such things as page layout operations and reporting Document Object Model values to script. The layout viewport can be thought of as an initial rectangle which is equivalent in size to the initial containing block. The initial containing block is a containing block that contains web content that is initially visible to the user. The visual viewport is separate from the layout viewport and is allowed to be freely manipulated relative to the layout viewport. For example, the visual viewport may “push” the layout viewport around when it collides with the layout viewport boundaries. The visual viewport can be thought of as the rectangle that is visible to the user.
    Type: Application
    Filed: September 12, 2011
    Publication date: March 14, 2013
    Inventors: Matthew A. Rakow, Sergey Z. Malkin, Michael J. Ens, Yining Chen, Christian Fortini, Sandra G. Roberts, Michael J. Patten, Nicholas R. Waggoner
  • Publication number: 20120216217
    Abstract: One or more application programming interfaces (APIs) are exposed by a host program running on a device to facilitate a control program displaying content in a window in which the host program displays content. As part of an API, a method is exposed that the control program can invoke to pass to the host program a definition of a surface presenter to be created by the host program. Additionally, the control program can store content that the control program desires to have presented in a buffer of the surface presenter, and invoke another method exposed as part of an API to pass to the host program an indication of the content that the control program desires to have displayed in the window in which the host program displays content.
    Type: Application
    Filed: February 22, 2011
    Publication date: August 23, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Benjamin C. Constable, Cenk Ergan, Christian Fortini
  • Patent number: 8225196
    Abstract: In some embodiments, code can be encapsulated in an external behavior component for affecting the behavior of an element inserted into an HTML document. A reference can be attached to the element in the document to associate the element with the external behavior component. A renderer can parse the element in the HTML document and access the external component to modify a behavior of a page image. For example, the properties or location of a displayed element associated with the external behavior component may be changed on an event, the external behavior component can control user data input, or the external behavior component can draw on the page image. Multiple documents can reuse external behavior components, and an element can be associated with multiple external behavior components. The associations between elements and external behavior components may be maintained in cascading style sheets, inline with the elements, and in various formats.
    Type: Grant
    Filed: September 18, 2009
    Date of Patent: July 17, 2012
    Assignee: Microsoft Corporation
    Inventors: Anand Ramakrishna, Christian Fortini, Alexander J. Zotov, Roderick Chavez, David H. Massy, Richard J. Gardner
  • Patent number: 8112444
    Abstract: Strategies are described for validating content transferred over a communication channel using a more effective approach than heretofore provided in the art. A content registration authority is provided which registers the content disseminated by one or more content providers to one or more client devices. A client device which receives content that has been registered can securely consume the content, based on an assumption that a content provider which furnishes the content is entrusted by the content registration authority to provide the content, and without prompting a user of the client device to expressly approve the content provider. In a first solution, the content registration authority registers the content by issuing a certification stamp; in a second solution, the content registration authority registers the content by storing registration information in a central repository. The content may contain instructions which perform operations in the context of an instant messenger application.
    Type: Grant
    Filed: May 7, 2010
    Date of Patent: February 7, 2012
    Assignee: Microsoft Corporation
    Inventors: Eyal Schwartz, Christian Fortini, Walter Von Koch, Adam C. Czeisler, Cesare J. Saretto, Ranjib S. Badh, Ryan Hurst
  • Publication number: 20100218260
    Abstract: Strategies are described for validating content transferred over a communication channel using a more effective approach than heretofore provided in the art. A content registration authority is provided which registers the content disseminated by one or more content providers to one or more client devices. A client device which receives content that has been registered can securely consume the content, based on an assumption that a content provider which furnishes the content is entrusted by the content registration authority to provide the content, and without prompting a user of the client device to expressly approve the content provider. In a first solution, the content registration authority registers the content by issuing a certification stamp; in a second solution, the content registration authority registers the content by storing registration information in a central repository. The content may contain instructions which perform operations in the context of an instant messenger application.
    Type: Application
    Filed: May 7, 2010
    Publication date: August 26, 2010
    Applicant: Microsoft Corporation
    Inventors: Eyal Schwartz, Cesare J. Saretto, Ranjib S. Badh, Walter V. von Koch, Adam C. Czeisler, Christian Fortini, Ryan M. Hurst
  • Patent number: 7716243
    Abstract: Strategies are described for validating content transferred over a communication channel using a more effective approach than heretofore provided in the art. A content registration authority is provided which registers the content disseminated by one or more content providers to one or more client devices. A client device which receives content that has been registered can securely consume the content, based on an assumption that a content provider which furnishes the content is entrusted by the content registration authority to provide the content, and without prompting a user of the client device to expressly approve the content provider. In a first solution, the content registration authority registers the content by issuing a certification stamp; in a second solution, the content registration authority registers the content by storing registration information in a central repository. The content may contain instructions which perform operations in the context of an instant messenger application.
    Type: Grant
    Filed: February 25, 2005
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Eyal Schwartz, Cesare J. Saretto, Ranjib S. Badh, Walter V. von Koch, Adam C. Czeisler, Christian Fortini, Ryan M. Hurst