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: 11010212Abstract: 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: GrantFiled: June 13, 2019Date of Patent: May 18, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Tony E. Schreiner, Michael J. Ens, Clifton J. Hebert, Corey M. Bloodstein, Christian Fortini
-
Publication number: 20200394082Abstract: 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: ApplicationFiled: June 13, 2019Publication date: December 17, 2020Inventors: Tony E. Schreiner, Michael J. Ens, Clifton J. Hebert, Corey M. Bloodstein, Christian Fortini
-
Patent number: 9633408Abstract: 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: GrantFiled: June 14, 2013Date of Patent: April 25, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Christian Fortini, Rico Mariani, Anjali S. Parikh, Matthew P. Kotsenas, Jason J. Weber
-
Patent number: 9588679Abstract: 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: GrantFiled: September 12, 2011Date of Patent: March 7, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Matthew A. Rakow, Sergey Z. Malkin, Michael J. Ens, Yining Chen, Christian Fortini, Sandra G. Roberts, Michael J. Patten, Nicholas R. Waggoner
-
Patent number: 9430808Abstract: 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: GrantFiled: June 19, 2013Date of Patent: August 30, 2016Assignee: Microsoft Technology Licensing, LLCInventors: 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: 9383908Abstract: 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: GrantFiled: October 2, 2014Date of Patent: July 5, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Matthew A. Rakow, Tony E. Schreiner, Bradley J. Litterell, Kevin M. Babbitt, Praveen Kumar Muralidhar Rao, Christian Fortini
-
Patent number: 9152476Abstract: 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: GrantFiled: March 15, 2013Date of Patent: October 6, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Benjamin C. Constable, Cenk Ergan, Christian Fortini
-
Publication number: 20150026689Abstract: 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: ApplicationFiled: October 2, 2014Publication date: January 22, 2015Inventors: Matthew A. Rakow, Tony E. Schreiner, Bradley J. Litterell, Kevin M. Babbitt, Praveen Kumar Muralidhar Rao, Christian Fortini
-
Publication number: 20140375657Abstract: 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: ApplicationFiled: June 19, 2013Publication date: December 25, 2014Inventors: 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: 8918729Abstract: 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: GrantFiled: April 2, 2008Date of Patent: December 23, 2014Assignee: Microsoft CorporationInventors: Christian Fortini, Jean D. Paoli, Laurent Mollicone, Bulusu Krishna Mohan, Alessandro Catorcini
-
Publication number: 20140368515Abstract: 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: ApplicationFiled: June 14, 2013Publication date: December 18, 2014Inventors: Christian Fortini, Rico Mariani, Anjali S. Parikh, Matthew P. Kotsenas, Jason J. Weber
-
Patent number: 8874969Abstract: 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: GrantFiled: July 9, 2012Date of Patent: October 28, 2014Assignee: Microsoft CorporationInventors: Matthew A. Rakow, Tony E. Schreiner, Bradley J. Litterell, Kevin M. Babbitt, Praveen Kumar Muralidhar Rao, Christian Fortini
-
Publication number: 20140013160Abstract: 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: ApplicationFiled: July 9, 2012Publication date: January 9, 2014Applicant: MICROSOFT CORPORATIONInventors: Matthew A. Rakow, Tony E. Schreiner, Bradley J. Litterell, Kevin M. Babbitt, Praveen Kumar Muralidhar Rao, Christian Fortini
-
Patent number: 8424025Abstract: 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: GrantFiled: February 22, 2011Date of Patent: April 16, 2013Assignee: Microsoft CorporationInventors: Benjamin C. Constable, Cenk Ergan, Christian Fortini
-
Publication number: 20130067315Abstract: 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: ApplicationFiled: September 12, 2011Publication date: March 14, 2013Inventors: Matthew A. Rakow, Sergey Z. Malkin, Michael J. Ens, Yining Chen, Christian Fortini, Sandra G. Roberts, Michael J. Patten, Nicholas R. Waggoner
-
Publication number: 20120216217Abstract: 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: ApplicationFiled: February 22, 2011Publication date: August 23, 2012Applicant: MICROSOFT CORPORATIONInventors: Benjamin C. Constable, Cenk Ergan, Christian Fortini
-
Patent number: 8225196Abstract: 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: GrantFiled: September 18, 2009Date of Patent: July 17, 2012Assignee: Microsoft CorporationInventors: Anand Ramakrishna, Christian Fortini, Alexander J. Zotov, Roderick Chavez, David H. Massy, Richard J. Gardner
-
Patent number: 8112444Abstract: 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: GrantFiled: May 7, 2010Date of Patent: February 7, 2012Assignee: Microsoft CorporationInventors: Eyal Schwartz, Christian Fortini, Walter Von Koch, Adam C. Czeisler, Cesare J. Saretto, Ranjib S. Badh, Ryan Hurst
-
Publication number: 20100218260Abstract: 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: ApplicationFiled: May 7, 2010Publication date: August 26, 2010Applicant: Microsoft CorporationInventors: Eyal Schwartz, Cesare J. Saretto, Ranjib S. Badh, Walter V. von Koch, Adam C. Czeisler, Christian Fortini, Ryan M. Hurst
-
Patent number: 7716243Abstract: 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: GrantFiled: February 25, 2005Date of Patent: May 11, 2010Assignee: Microsoft CorporationInventors: Eyal Schwartz, Cesare J. Saretto, Ranjib S. Badh, Walter V. von Koch, Adam C. Czeisler, Christian Fortini, Ryan M. Hurst