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: 9990336Abstract: 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: GrantFiled: June 21, 2013Date of Patent: June 5, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Rossen Petkov Atanassov, Evgeny N. Veselov
-
Patent number: 9239821Abstract: 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: GrantFiled: October 31, 2014Date of Patent: January 19, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Prakash Sikchi, Evgeny N. Veselov, Stephen J. Mooney
-
Patent number: 8977955Abstract: 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: GrantFiled: March 25, 2010Date of Patent: March 10, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Evgeny N. Veselov, Rossen Petkov Atanassov, Michael Jacob Jolson
-
Publication number: 20150052424Abstract: 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: ApplicationFiled: October 31, 2014Publication date: February 19, 2015Inventors: Prakash Sikchi, Evgeny N. Veselov, Stephen J. Mooney
-
Patent number: 8949711Abstract: 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: GrantFiled: March 25, 2010Date of Patent: February 3, 2015Assignee: Microsoft CorporationInventors: Evgeny N. Veselov, Rossen Petkov Atanassov, Michael Jacob Jolson
-
Patent number: 8892993Abstract: 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: GrantFiled: February 8, 2008Date of Patent: November 18, 2014Assignee: Microsoft CorporationInventors: Prakash Sikchi, Evgeny N. Veselov, Stephen J. Mooney
-
Patent number: 8881002Abstract: 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: GrantFiled: September 15, 2011Date of Patent: November 4, 2014Assignee: Microsoft CorporationInventors: Evgeny N. Veselov, Peter G. Salas, Phillip F. Cupp, Michael Jacob Jolson, Markus W. Mielke, Veljko Miljanic
-
Publication number: 20130283153Abstract: 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: ApplicationFiled: June 21, 2013Publication date: October 24, 2013Inventors: Rossen Petkov Atanassov, Evgeny N. Veselov
-
Patent number: 8473842Abstract: 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: GrantFiled: May 12, 2010Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventors: Rossen Petkov Atanassov, Evgeny N. Veselov
-
Publication number: 20130073943Abstract: 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: ApplicationFiled: September 15, 2011Publication date: March 21, 2013Applicant: MICROSOFT CORPORATIONInventors: Evgeny N. Veselov, Peter G. Salas, Phillip F. Cupp, Michael Jacob Jolson, Markus W. Mielke, Veljko Miljanic
-
Publication number: 20130067314Abstract: 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: ApplicationFiled: September 10, 2011Publication date: March 14, 2013Applicant: MICROSOFT CORPORATIONInventors: Justin E. Rogers, Nathan J.E. Furtwangler, Venkatraman V. Kudallur, Evgeny N. Veselov, Amritam Sarcar, Christian Stockwell
-
Patent number: 8250528Abstract: 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: GrantFiled: December 15, 2004Date of Patent: August 21, 2012Assignee: Microsoft CorporationInventors: Henricus Johannes Maria Meijer, Sergey Dubinets, Yan V. Leshinsky, Evgeny N. Veselov
-
Publication number: 20110283184Abstract: 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: ApplicationFiled: May 12, 2010Publication date: November 17, 2011Applicant: Microsoft CorporationInventors: Rossen Petkov Atanassov, Evgeny N. Veselov
-
Publication number: 20110239106Abstract: 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: ApplicationFiled: March 25, 2010Publication date: September 29, 2011Applicant: MICROSOFT CORPORATIONInventors: Evgeny N. Veselov, Rossen Petkov Atanassov, Michael Jacob Jolson
-
Publication number: 20110239105Abstract: 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: ApplicationFiled: March 25, 2010Publication date: September 29, 2011Applicant: MICROSOFT CORPORATIONInventors: Evgeny N. Veselov, Rossen Petkov Atanassov, Michael Jacob Jolson
-
Patent number: 7689925Abstract: 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: GrantFiled: September 13, 2005Date of Patent: March 30, 2010Assignee: Microsoft CorporationInventors: Henry D. Hahn, Evgeny N. Veselov, Sangil Jeon
-
Patent number: 7613709Abstract: 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: GrantFiled: October 21, 2004Date of Patent: November 3, 2009Assignee: Microsoft CorporationInventors: Alex Mogilevsky, Evgeny N. Veselov, Benjamin M. Westbrook
-
Patent number: 7458081Abstract: 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: GrantFiled: August 13, 2004Date of Patent: November 25, 2008Assignee: Microsoft CorporationInventors: Evgeny N. Veselov, Alex Mogilevsky, Mikhail Y. Arkhipov, Mark Harper
-
Patent number: 7406660Abstract: 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: GrantFiled: August 1, 2003Date of Patent: July 29, 2008Assignee: Microsoft CorporationInventors: Prakash Sikchi, Evgeny N. Veselov, Stephen J. Mooney
-
Publication number: 20080126402Abstract: 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: ApplicationFiled: February 8, 2008Publication date: May 29, 2008Applicant: Microsoft CorporationInventors: Prakash Sikchi, Evgeny N. Veselov, Stephen J. Mooney