Patents by Inventor Evgeny N. Veselov

Evgeny N. Veselov 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: 9990336
    Abstract: Various embodiments introduce the notion of a flow contour that is utilized to conduct layout processing. Flow contours are utilized to organize layout space in the presence of floating objects or geometries. In at least some embodiments, objects can float to the left and/or right in the layout space. Flow contours are abstractions that then represent collections of left-floating and/or right-floating objects.
    Type: Grant
    Filed: June 21, 2013
    Date of Patent: June 5, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Rossen Petkov Atanassov, Evgeny N. Veselov
  • Patent number: 9239821
    Abstract: A data processing application uses a translation file to render a visual surface based on underlying structured data. The data processing application provides mapping between nodes associated with the visual surface and nodes associated with the structured data. The mapping is generated in two phases. In a first phase, the data processing application adds mapping functions to the translation file. In the second phase, the data processing application renders the visual surface on the basis of a specific instance of the structured data, and, in the process, executes the mapping functions within the translation file to provide specific pointer information that is embedded amongst the nodes associated with the visual surface. The pointer information points back to specific locations in the structured data, thus providing mapping between the visual surface and the structured data. The structured data can be formed using Extensible Markup Language (XML).
    Type: Grant
    Filed: October 31, 2014
    Date of Patent: January 19, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Prakash Sikchi, Evgeny N. Veselov, Stephen J. Mooney
  • Patent number: 8977955
    Abstract: Layout processing techniques have been described that allow processing of structured documents to be conducted, and for associated layout to be accomplished in a sequential manner. The layout process is split into multiple, smaller steps that can be executed sequentially. In at least some embodiments, a layout builder is utilized in conjunction with a stack to control layout execution on respective levels of the structural hierarchy of a structured document. Immutable data structures are utilized and allow for parallel execution of sequential layout operations. In at least some embodiments, partial execution of the layout sequence can be performed to produce usable data.
    Type: Grant
    Filed: March 25, 2010
    Date of Patent: March 10, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Evgeny N. Veselov, Rossen Petkov Atanassov, Michael Jacob Jolson
  • Publication number: 20150052424
    Abstract: A data processing application uses a translation file to render a visual surface based on underlying structured data. The data processing application provides mapping between nodes associated with the visual surface and nodes associated with the structured data. The mapping is generated in two phases. In a first phase, the data processing application adds mapping functions to the translation file. In the second phase, the data processing application renders the visual surface on the basis of a specific instance of the structured data, and, in the process, executes the mapping functions within the translation file to provide specific pointer information that is embedded amongst the nodes associated with the visual surface. The pointer information points back to specific locations in the structured data, thus providing mapping between the visual surface and the structured data. The structured data can be formed using Extensible Markup Language (XML).
    Type: Application
    Filed: October 31, 2014
    Publication date: February 19, 2015
    Inventors: Prakash Sikchi, Evgeny N. Veselov, Stephen J. Mooney
  • Patent number: 8949711
    Abstract: Layout processing techniques have been described that allow processing of structured documents to be conducted, and for associated layout to be accomplished in a sequential manner. The layout process is split into multiple, smaller steps that can be executed sequentially. In at least some embodiments, a layout builder is utilized in conjunction with a stack to control layout execution on respective levels of the structural hierarchy of a structured document. Immutable data structures are utilized and allow for parallel execution of sequential layout operations. In at least some embodiments, partial execution of the layout sequence can be performed to produce usable data.
    Type: Grant
    Filed: March 25, 2010
    Date of Patent: February 3, 2015
    Assignee: Microsoft Corporation
    Inventors: Evgeny N. Veselov, Rossen Petkov Atanassov, Michael Jacob Jolson
  • Patent number: 8892993
    Abstract: A data processing application uses a translation file to render a visual surface based on underlying structured data. The data processing application provides mapping between nodes associated with the visual surface and nodes associated with the structured data. The mapping is generated in two phases. In a first phase, the data processing application adds mapping functions to the translation file. In the second phase, the data processing application renders the visual surface on the basis of a specific instance of the structured data, and, in the process, executes the mapping functions within the translation file to provide specific pointer information that is embedded amongst the nodes associated with the visual surface. The pointer information points back to specific locations in the structured data, thus providing mapping between the visual surface and the structured data. The structured data can be formed using Extensible Markup Language (XML).
    Type: Grant
    Filed: February 8, 2008
    Date of Patent: November 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Prakash Sikchi, Evgeny N. Veselov, Stephen J. Mooney
  • Patent number: 8881002
    Abstract: A trial based layout builder generates multiple trial multi-column layouts for content until a multi-column layout that satisfies particular criteria for multi-column balancing is generated. Multiple trial multi-column layouts can be generated in parallel based on different boundaries until a layout that does satisfy the criteria is identified. Different elements of the content laid out in different trial multi-column layouts can be reused in subsequently generated trial multi-column layouts. The content can also optionally be separated into multiple different portions at various break points, and trial multi-column layouts for the different portions can be generated in parallel. Additionally, if a trial multi-column layout for one of the portions that satisfies the particular criteria is identified, the content in that portion can be displayed while continuing to attempt to identify a layout for the content of the other portion that satisfies the one or more criteria.
    Type: Grant
    Filed: September 15, 2011
    Date of Patent: November 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Evgeny N. Veselov, Peter G. Salas, Phillip F. Cupp, Michael Jacob Jolson, Markus W. Mielke, Veljko Miljanic
  • Publication number: 20130283153
    Abstract: Various embodiments introduce the notion of a flow contour that is utilized to conduct layout processing. Flow contours are utilized to organize layout space in the presence of floating objects or geometries. In at least some embodiments, objects can float to the left and/or right in the layout space. Flow contours are abstractions that then represent collections of left-floating and/or right-floating objects.
    Type: Application
    Filed: June 21, 2013
    Publication date: October 24, 2013
    Inventors: Rossen Petkov Atanassov, Evgeny N. Veselov
  • Patent number: 8473842
    Abstract: Various embodiments introduce the notion of a flow contour that is utilized to conduct layout processing. Flow contours are utilized to organize layout space in the presence of floating objects or geometries. In at least some embodiments, objects can float to the left and/or right in the layout space. Flow contours are abstractions that then represent collections of left-floating and/or right-floating objects.
    Type: Grant
    Filed: May 12, 2010
    Date of Patent: June 25, 2013
    Assignee: Microsoft Corporation
    Inventors: Rossen Petkov Atanassov, Evgeny N. Veselov
  • Publication number: 20130073943
    Abstract: A trial based layout builder generates multiple trial multi-column layouts for content until a multi-column layout that satisfies particular criteria for multi-column balancing is generated. Multiple trial multi-column layouts can be generated in parallel based on different boundaries until a layout that does satisfy the criteria is identified. Different elements of the content laid out in different trial multi-column layouts can be reused in subsequently generated trial multi-column layouts. The content can also optionally be separated into multiple different portions at various break points, and trial multi-column layouts for the different portions can be generated in parallel. Additionally, if a trial multi-column layout for one of the portions that satisfies the particular criteria is identified, the content in that portion can be displayed while continuing to attempt to identify a layout for the content of the other portion that satisfies the one or more criteria.
    Type: Application
    Filed: September 15, 2011
    Publication date: March 21, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Evgeny N. Veselov, Peter G. Salas, Phillip F. Cupp, Michael Jacob Jolson, Markus W. Mielke, Veljko Miljanic
  • Publication number: 20130067314
    Abstract: In one or more embodiments, processing efficiencies are gained within the web browser by utilizing the display refresh notifications to drive layout processing within a web browser's layout pipeline. By doing so, the browser can ensure that layout computation is performed when the computed layout is actually to be displayed by the computing device. This can enable the web browser to defer and batch numerous changes into a single layout update, thereby reducing overall CPU utilization while maintaining user responsiveness.
    Type: Application
    Filed: September 10, 2011
    Publication date: March 14, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Justin E. Rogers, Nathan J.E. Furtwangler, Venkatraman V. Kudallur, Evgeny N. Veselov, Amritam Sarcar, Christian Stockwell
  • Patent number: 8250528
    Abstract: The subject invention pertains to a system and method of extending programming languages to enable static inheritance. In particular, static subclasses can be defined which extend class functionality and/or behaviors without extending base class state. The subclasses can be specified to include static fields as well as static or instance methods and/or properties that provide a more specific interpretation of an object without extending the state thereof. Furthermore, a static subclass can be specified to provide for type aliasing. Casting is also enabled in both directions between base class type and derived class type in a convenient manner without run-time performance penalties. According to one aspect of the invention, the disclosed systems and methods can be employed to create specific programmatic context, for instance for accessing, manipulating, and type checking external data (e.g., XML).
    Type: Grant
    Filed: December 15, 2004
    Date of Patent: August 21, 2012
    Assignee: Microsoft Corporation
    Inventors: Henricus Johannes Maria Meijer, Sergey Dubinets, Yan V. Leshinsky, Evgeny N. Veselov
  • Publication number: 20110283184
    Abstract: Various embodiments introduce the notion of a flow contour that is utilized to conduct layout processing. Flow contours are utilized to organize layout space in the presence of floating objects or geometries. In at least some embodiments, objects can float to the left and/or right in the layout space. Flow contours are abstractions that then represent collections of left-floating and/or right-floating objects.
    Type: Application
    Filed: May 12, 2010
    Publication date: November 17, 2011
    Applicant: Microsoft Corporation
    Inventors: Rossen Petkov Atanassov, Evgeny N. Veselov
  • Publication number: 20110239106
    Abstract: Layout processing techniques have been described that allow processing of structured documents to be conducted, and for associated layout to be accomplished in a sequential manner. The layout process is split into multiple, smaller steps that can be executed sequentially. In at least some embodiments, a layout builder is utilized in conjunction with a stack to control layout execution on respective levels of the structural hierarchy of a structured document. Immutable data structures are utilized and allow for parallel execution of sequential layout operations. In at least some embodiments, partial execution of the layout sequence can be performed to produce usable data.
    Type: Application
    Filed: March 25, 2010
    Publication date: September 29, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Evgeny N. Veselov, Rossen Petkov Atanassov, Michael Jacob Jolson
  • Publication number: 20110239105
    Abstract: Layout processing techniques have been described that allow processing of structured documents to be conducted, and for associated layout to be accomplished in a sequential manner. The layout process is split into multiple, smaller steps that can be executed sequentially. In at least some embodiments, a layout builder is utilized in conjunction with a stack to control layout execution on respective levels of the structural hierarchy of a structured document Immutable data structures are utilized and allow for parallel execution of sequential layout operations. In at least some embodiments, partial execution of the layout sequence can be performed to produce usable data.
    Type: Application
    Filed: March 25, 2010
    Publication date: September 29, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Evgeny N. Veselov, Rossen Petkov Atanassov, Michael Jacob Jolson
  • Patent number: 7689925
    Abstract: Described is technology allowing computer programs to participate in the copy and paste process at various times. A source program, from which data is requested to be copied to the clipboard, may participate as desired, including, for example, to cancel the copy, or to determine which data formats will be placed on the clipboard, including one or more custom data formats. A target program, to which data may be copied from the clipboard, may also participate as desired, including, for example, to cancel the paste, or to determine which data format will be pasted, which may be a custom data format. In one implementation, events provide notifications and APIs may be called to facilitate the communication.
    Type: Grant
    Filed: September 13, 2005
    Date of Patent: March 30, 2010
    Assignee: Microsoft Corporation
    Inventors: Henry D. Hahn, Evgeny N. Veselov, Sangil Jeon
  • Patent number: 7613709
    Abstract: An improved system and method for editing operations of a text object model is provided. To this end, a text object model and a text editing object model are employed. The text object model may have a data abstraction represented by a sequence of symbols and may provide a formatted text programming interface. The text editing object model may include a text editor for performing editing operations on the data abstraction using the formatted text programming interface. The editing operations may include splitting an element of the data abstraction into two elements, merging two elements of the data abstraction into one element, and copying a text range of the data abstraction, including a subelement within the text range.
    Type: Grant
    Filed: October 21, 2004
    Date of Patent: November 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Alex Mogilevsky, Evgeny N. Veselov, Benjamin M. Westbrook
  • Patent number: 7458081
    Abstract: An API and method for processing a user interface event is provided. The user interface event may take place in any environment of a software application, and may result from any type of user or software action. An embodiment also provides a framework for customizing the processing of a user interface event without the need to maintain accountability of computer states. In the method, an application process user interface event is processed using an operating system process. A user interface event is received by the application process by way of a user interface. A software component adapted to process the user interface event is pushed onto a memory stack by the operating system process. The operating system process processes the user interface event using the software component, and pops the software component from the memory stack.
    Type: Grant
    Filed: August 13, 2004
    Date of Patent: November 25, 2008
    Assignee: Microsoft Corporation
    Inventors: Evgeny N. Veselov, Alex Mogilevsky, Mikhail Y. Arkhipov, Mark Harper
  • Patent number: 7406660
    Abstract: A data processing application uses a translation file to render a visual surface based on underlying structured data. The data processing application provides mapping between nodes associated with the visual surface and nodes associated with the structured data. The mapping is generated in two phases. In a first phase, the data processing application adds mapping functions to the translation file. In the second phase, the data processing application renders the visual surface on the basis of a specific instance of the structured data, and, in the process, executes the mapping functions within the translation file to provide specific pointer information that is embedded amongst the nodes associated with the visual surface.
    Type: Grant
    Filed: August 1, 2003
    Date of Patent: July 29, 2008
    Assignee: Microsoft Corporation
    Inventors: Prakash Sikchi, Evgeny N. Veselov, Stephen J. Mooney
  • Publication number: 20080126402
    Abstract: A data processing application uses a translation file to render a visual surface based on underlying structured data. The data processing application provides mapping between nodes associated with the visual surface and nodes associated with the structured data. The mapping is generated in two phases. In a first phase, the data processing application adds mapping functions to the translation file. In the second phase, the data processing application renders the visual surface on the basis of a specific instance of the structured data, and, in the process, executes the mapping functions within the translation file to provide specific pointer information that is embedded amongst the nodes associated with the visual surface. The pointer information points back to specific locations in the structured data, thus providing mapping between the visual surface and the structured data. The structured data can be formed using Extensible Markup Language (XML).
    Type: Application
    Filed: February 8, 2008
    Publication date: May 29, 2008
    Applicant: Microsoft Corporation
    Inventors: Prakash Sikchi, Evgeny N. Veselov, Stephen J. Mooney