Patents by Inventor Sujal S. Parikh
Sujal S. Parikh 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: 9785549Abstract: A system that manages lifetime of an object is provided. The system analyzes references on multiple objects to determine reachability of a native peer and dynamically transitions between native and managed object lifetime management systems based on the analysis. When a native peer is not reachable by a native application reference, the system weakens references to a managed peer avoiding memory leaks and clones the native references to the managed side to avoid premature collection. The system performs an optimized cleanup during object system shutdown wherein the references between managed and native peers are released and SafeHandles are suppressed from finalization. The system employs a pending remove list that stores a reference to a weak reference of a managed peer to eliminate race conditions that occur during finalization.Type: GrantFiled: April 27, 2007Date of Patent: October 10, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
-
Patent number: 8613104Abstract: An outer COM object can be provided with privileged access to protected functionality in an inner COM object. An inner COM object can offer a custom protected interface to an outer COM object by creating a new inner internals COM object that is not available to a calling application or by creating a new extension IUnknown interface that can be used to access the protected content. An outer COM object can override behavior in an inner COM object. An inner COM object can offer access to custom behavior to an outer COM object by creating a new inner internals COM object that is not available to a calling application. The new inner internals COM object can implement a new interface that provides access to the customized (override) content or can create a new extension IUnknown interface that can be used to provide access to the customized (override) content.Type: GrantFiled: December 23, 2010Date of Patent: December 17, 2013Assignee: Microsoft CorporationInventors: Michael John Hillberg, Sujal S. Parikh
-
Publication number: 20120167224Abstract: An outer COM object can be provided with privileged access to protected functionality in an inner COM object. An inner COM object can offer a custom protected interface to an outer COM object by creating a new inner internals COM object that is not available to a calling application or by creating a new extension IUnknown interface that can be used to access the protected content. An outer COM object can override behavior in an inner COM object. An inner COM object can offer access to custom behavior to an outer COM object by creating a new inner internals COM object that is not available to a calling application. The new inner internals COM object can implement a new interface that provides access to the customized (override) content or can create a new extension IUnknown interface that can be used to provide access to the customized (override) content.Type: ApplicationFiled: December 23, 2010Publication date: June 28, 2012Applicant: Microsoft CorporationInventors: Michael John Hillberg, Sujal S. Parikh
-
Patent number: 8145996Abstract: Methods and systems are provided for controlling pagination in computer software applications. Abstract classes and methods are provided with programming interfaces to improve the ease with which developers can create applications that allow for co-pagination with arbitrary object types, and can create arbitrary object types that can co-paginate with arbitrary applications.Type: GrantFiled: June 30, 2008Date of Patent: March 27, 2012Assignee: Microsoft CorporationInventors: Sujal S. Parikh, Grzegorz Zygmunt
-
Patent number: 8095865Abstract: Various technologies and techniques are disclosed for managing layout updates to user interface elements. A dirty state of user interface elements is tracked in a tree with multiple nodes of user interface elements. The dirty state allows dirty subtrees of the nodes to be identified. A root node is identified for each of the dirty subtrees. Affected portions of the tree are updated, starting with the root node that was identified for each of the dirty subtrees. As part of the update process, changes to ancestor nodes are detected and used to make a layout process more efficient. For example, any layout processes that are currently being performed on any descendant nodes of a changed ancestor are abandoned, and the layout process is resumed at the changed ancestor. After updating affected portions of the tree, the updated user interface elements are then rendered on an output device.Type: GrantFiled: November 21, 2007Date of Patent: January 10, 2012Assignee: Microsoft CorporationInventors: Sujal S. Parikh, David P. Relyea
-
Patent number: 7814498Abstract: Described is a technology by which application-related resources are differentiated from other types of resources via a uniform resource identifier (URI) associated with each resource. Application-related resources may include a resource embedded in the application program, at least one content file associated with (e.g., distributed with) the application program, or a resource located on a site from which the application program was deployed. Because of the URI, a creating/loading mechanism may be called using substantially similar calling code to that which is used to call the mechanism for loading another type of resource, thereby providing a consistent programming model. In one example, the URI includes a packaging scheme and authority, or a relative path which may be converted to an absolute URI. The mechanism creates an object corresponding to the application-related resource, and loads the resource or a stream of a compound resource.Type: GrantFiled: June 30, 2006Date of Patent: October 12, 2010Assignee: Microsoft CorporationInventors: David P. Relyea, Lauren B. Lavoie, Martha M. Rotter, Sujal S. Parikh, Eric W. Harding
-
Patent number: 7802176Abstract: Navigating through pages of content. In aspects, a state machine is provided that simplifies navigating. The state machine allows multiple navigation services to work together in a hierarchical manner to obtain content. The state machine also provides a mechanism for stopping navigation and responding to errors.Type: GrantFiled: July 1, 2005Date of Patent: September 21, 2010Assignee: Microsoft CorporationInventors: Sujal S. Parikh, Kusuma P. Vellanki, Lauren B. Lavoie, David P. Relyea, Martha M. Rotter
-
Patent number: 7730418Abstract: Described is a method and system by which a computer program window is sized based on the content to display. The window may automatically resize itself as content changes. When laying out an element tree of elements that contain the content, the elements provide desired size information to a parent container, and so on, up to the root element (e.g., a window). If a window property is set to size to the content, a window size is computed during layout, having a height and/or width based on the child elements plus X and Y deltas for a window non-client area and borders. Logic attached to window message handling controls changes to the content/window, such as to automatically resize for changed content, and to selectively turn off or persist the size to content property. Sizing to content may be programmatically limited to one dimension, with the other dimension fixed.Type: GrantFiled: May 4, 2005Date of Patent: June 1, 2010Assignee: Workman NydeggerInventors: Hua Wang, Anup R. Manandhar, Julia H. Farago, Mark A. Alcazar, Sujal S. Parikh, Hamid Mahmood
-
Patent number: 7664865Abstract: Described is a technology by which a managed web browser control hosts an unmanaged web OLE control to control navigation requests by the unmanaged web OLE control on behalf of partially trusted code. Site locking may be performed to constrain a site to navigation only to other pages within its site, thereby preventing navigation to an undesirable location. In one example, the unmanaged web OLE control communicates information corresponding to a navigation request to the managed web browser control, and the managed web browser control processes the information to establish whether the navigation is to be allowed or blocked. The benefits of site-locking with respect to privacy are also described, as is z-order management to protect against site spoofing.Type: GrantFiled: February 15, 2006Date of Patent: February 16, 2010Assignee: Microsoft CorporationInventors: Sujal S. Parikh, Lauren B. Lavoie, Karen Elizabeth Corby, Mark Alcazar, Hua Wang, Kusuma P. Vellanki
-
Publication number: 20090172637Abstract: Applications are deployed with manifests authored in a markup-based language to leverage the benefits afforded thereby. Application manifests are simple and easily expressible without requiring a complex implementation. Markup elements or tags can be mapped directly to objects or an object hierarchy visible to programmers to enable fine grain control. Programmers can subsequently interact with these objects in a predictable and consistent manner.Type: ApplicationFiled: December 28, 2007Publication date: July 2, 2009Applicant: Microsoft CorporationInventor: Sujal S. Parikh
-
Publication number: 20090132578Abstract: Various technologies and techniques are disclosed for managing layout updates to user interface elements. A dirty state of user interface elements is tracked in a tree with multiple nodes of user interface elements. The dirty state allows dirty subtrees of the nodes to be identified. A root node is identified for each of the dirty subtrees. Affected portions of the tree are updated, starting with the root node that was identified for each of the dirty subtrees. As part of the update process, changes to ancestor nodes are detected and used to make a layout process more efficient. For example, any layout processes that are currently being performed on any descendant nodes of a changed ancestor are abandoned, and the layout process is resumed at the changed ancestor. After updating affected portions of the tree, the updated user interface elements are then rendered on an output device.Type: ApplicationFiled: November 21, 2007Publication date: May 21, 2009Applicant: MICROSOFT CORPORATIONInventors: Sujal S. Parikh, David P. Relyea
-
Patent number: 7478340Abstract: Methods and systems are provided for managing the preparation of graphical elements in computer application programs for presentation. The methods independently identify and measure, and identify and arrange, sets of elements. A computer-readable medium is also provided for facilitating the management of the preparation for presentation of graphical elements in computer application programs.Type: GrantFiled: October 22, 2003Date of Patent: January 13, 2009Assignee: Microsoft CorporationInventors: Sujal S. Parikh, Dmitry Titov
-
Publication number: 20080270893Abstract: Methods and systems are provided for controlling pagination in computer software applications. Abstract classes and methods are provided with programming interfaces to improve the ease with which developers can create applications that allow for co-pagination with arbitrary object types, and can create arbitrary object types that can co-paginate with arbitrary applications.Type: ApplicationFiled: June 30, 2008Publication date: October 30, 2008Applicant: Microsoft CorporationInventors: Sujal S. Parikh, Grzegorz Zygmunt
-
Publication number: 20080270482Abstract: A system that manages lifetime of an object is provided. The system analyzes references on multiple objects to determine reachability of a native peer and dynamically transitions between native and managed object lifetime management systems based on the analysis. When a native peer is not reachable by a native application reference, the system weakens references to a managed peer avoiding memory leaks and clones the native references to the managed side to avoid premature collection. The system performs an optimized cleanup during object system shutdown wherein the references between managed and native peers are released and SafeHandles are suppressed from finalization. The system employs a pending remove list that stores a reference to a weak reference of a managed peer to eliminate race conditions that occur during finalization.Type: ApplicationFiled: April 27, 2007Publication date: October 30, 2008Applicant: MICROSOFT CORPORATIONInventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
-
Patent number: 7430739Abstract: Described is a method and system by which document servers/applications (document objects) hosted by the browser may integrate with the browser's travel log. As a result, the user can use browser navigation commands, particularly forward and back commands, as well as a drop-down list of entries, to navigate among a hosted document's pages. Integration also allows the document object to add travel entries, persist relevant state, delete travel entries and update existing travel entries with new state. The browser and document object may communicate to update the browser's address bar, and to communicate various navigation events to keep each other synchronized. In one implementation, the browser limits navigation to top-level travel entries and the sub-navigation entries of the currently hosted document object, by filtering out sub-navigation entries that do not correspond to the currently-hosted document object. Frames no longer valid are also filtered from those available for navigation.Type: GrantFiled: April 27, 2005Date of Patent: September 30, 2008Assignee: Microsoft CorporationInventors: Kusuma P. Vellanki, Sujal S. Parikh, Lauren B. Lavoie, Shankar Ganesh
-
Patent number: 7412646Abstract: Methods and systems are provided for controlling pagination in computer software applications. Abstract classes and methods are provided with programming interfaces to improve the ease with which developers can create applications that allow for co-pagination with arbitrary object types, and can create arbitrary object types that can co-paginate with arbitrary applications.Type: GrantFiled: October 23, 2003Date of Patent: August 12, 2008Assignee: Microsoft CorporationInventors: Sujal S. Parikh, Grzegorz Zygmunt
-
Publication number: 20070256048Abstract: Described is a technology by which application-related resources are differentiated from other types of resources via a uniform resource identifier (URI) associated with each resource. Application-related resources may include a resource embedded in the application program, at least one content file associated with (e.g., distributed with) the application program, or a resource located on a site from which the application program was deployed. Because of the URI, a creating/loading mechanism may be called using substantially similar calling code to that which is used to call the mechanism for loading another type of resource, thereby providing a consistent programming model. In one example, the URI includes a packaging scheme and authority, or a relative path which may be converted to an absolute URI. The mechanism creates an object corresponding to the application-related resource, and loads the resource or a stream of a compound resource.Type: ApplicationFiled: June 30, 2006Publication date: November 1, 2007Applicant: Microsoft CorporationInventors: David P. Relyea, Lauren B. Lavoie, Martha Montgomery Rotter, Sujal S. Parikh, Eric W. Harding
-
Patent number: 6981209Abstract: The method uses an HTML table cell sizing method designed to measure and layout horizontal HTML table cell elements, and implements a logical view and a search algorithm to layout table cells with the vertical character flow property. The method is also readily adaptable to layout other HTML elements with the vertical character flow property.Type: GrantFiled: September 26, 2000Date of Patent: December 27, 2005Assignee: Microsoft CorporationInventors: Sujal S. Parikh, Grzegorz A. Zygmunt, Michel L. Suignard
-
Publication number: 20040225960Abstract: A presenter system framework and methods performed by such framework are described for hosting a set of presenters that facilitate maintaining layouts for application views assigned a set of graphical elements. The presenter system provides a base presenter class and a set of interface methods, performed by a presentation engine, for creating and integrating an extensible set of presenter classes for handling various graphical element data types during a layout operation within a specified view. The presenter system enables application user interface developers to implement complex display layout operations through calls to the presentation engine. Examples of such complex display layout operations include: pagination, partial calculation, incremental calculation, multiple tries, chaining of layout features/operations.Type: ApplicationFiled: May 9, 2003Publication date: November 11, 2004Applicant: Microsoft CorporationInventors: Sujal S. Parikh, Dmitry Titov, Oleg Ovetchkine, Gregory Lett, Grzegorz Zygmunt, Debbie A. Newman