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: 9785549
    Abstract: 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: Grant
    Filed: April 27, 2007
    Date of Patent: October 10, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
  • Patent number: 8613104
    Abstract: 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: Grant
    Filed: December 23, 2010
    Date of Patent: December 17, 2013
    Assignee: Microsoft Corporation
    Inventors: Michael John Hillberg, Sujal S. Parikh
  • Publication number: 20120167224
    Abstract: 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: Application
    Filed: December 23, 2010
    Publication date: June 28, 2012
    Applicant: Microsoft Corporation
    Inventors: Michael John Hillberg, Sujal S. Parikh
  • Patent number: 8145996
    Abstract: 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: Grant
    Filed: June 30, 2008
    Date of Patent: March 27, 2012
    Assignee: Microsoft Corporation
    Inventors: Sujal S. Parikh, Grzegorz Zygmunt
  • Patent number: 8095865
    Abstract: 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: Grant
    Filed: November 21, 2007
    Date of Patent: January 10, 2012
    Assignee: Microsoft Corporation
    Inventors: Sujal S. Parikh, David P. Relyea
  • Patent number: 7814498
    Abstract: 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: Grant
    Filed: June 30, 2006
    Date of Patent: October 12, 2010
    Assignee: Microsoft Corporation
    Inventors: David P. Relyea, Lauren B. Lavoie, Martha M. Rotter, Sujal S. Parikh, Eric W. Harding
  • Patent number: 7802176
    Abstract: 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: Grant
    Filed: July 1, 2005
    Date of Patent: September 21, 2010
    Assignee: Microsoft Corporation
    Inventors: Sujal S. Parikh, Kusuma P. Vellanki, Lauren B. Lavoie, David P. Relyea, Martha M. Rotter
  • Patent number: 7730418
    Abstract: 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: Grant
    Filed: May 4, 2005
    Date of Patent: June 1, 2010
    Assignee: Workman Nydegger
    Inventors: Hua Wang, Anup R. Manandhar, Julia H. Farago, Mark A. Alcazar, Sujal S. Parikh, Hamid Mahmood
  • Patent number: 7664865
    Abstract: 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: Grant
    Filed: February 15, 2006
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Sujal S. Parikh, Lauren B. Lavoie, Karen Elizabeth Corby, Mark Alcazar, Hua Wang, Kusuma P. Vellanki
  • Publication number: 20090172637
    Abstract: 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: Application
    Filed: December 28, 2007
    Publication date: July 2, 2009
    Applicant: Microsoft Corporation
    Inventor: Sujal S. Parikh
  • Publication number: 20090132578
    Abstract: 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: Application
    Filed: November 21, 2007
    Publication date: May 21, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Sujal S. Parikh, David P. Relyea
  • Patent number: 7478340
    Abstract: 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: Grant
    Filed: October 22, 2003
    Date of Patent: January 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Sujal S. Parikh, Dmitry Titov
  • Publication number: 20080270893
    Abstract: 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: Application
    Filed: June 30, 2008
    Publication date: October 30, 2008
    Applicant: Microsoft Corporation
    Inventors: Sujal S. Parikh, Grzegorz Zygmunt
  • Publication number: 20080270482
    Abstract: 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: Application
    Filed: April 27, 2007
    Publication date: October 30, 2008
    Applicant: MICROSOFT CORPORATION
    Inventors: Michael J. Hillberg, Ashraf A. Michail, Sujal S. Parikh
  • Patent number: 7430739
    Abstract: 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: Grant
    Filed: April 27, 2005
    Date of Patent: September 30, 2008
    Assignee: Microsoft Corporation
    Inventors: Kusuma P. Vellanki, Sujal S. Parikh, Lauren B. Lavoie, Shankar Ganesh
  • Patent number: 7412646
    Abstract: 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: Grant
    Filed: October 23, 2003
    Date of Patent: August 12, 2008
    Assignee: Microsoft Corporation
    Inventors: Sujal S. Parikh, Grzegorz Zygmunt
  • Publication number: 20070256048
    Abstract: 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: Application
    Filed: June 30, 2006
    Publication date: November 1, 2007
    Applicant: Microsoft Corporation
    Inventors: David P. Relyea, Lauren B. Lavoie, Martha Montgomery Rotter, Sujal S. Parikh, Eric W. Harding
  • Patent number: 6981209
    Abstract: 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: Grant
    Filed: September 26, 2000
    Date of Patent: December 27, 2005
    Assignee: Microsoft Corporation
    Inventors: Sujal S. Parikh, Grzegorz A. Zygmunt, Michel L. Suignard
  • Publication number: 20040225960
    Abstract: 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: Application
    Filed: May 9, 2003
    Publication date: November 11, 2004
    Applicant: Microsoft Corporation
    Inventors: Sujal S. Parikh, Dmitry Titov, Oleg Ovetchkine, Gregory Lett, Grzegorz Zygmunt, Debbie A. Newman