Patents by Inventor Mikhail V. Leonov

Mikhail V. Leonov 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: 8032900
    Abstract: A computer system that is configured to conduct communications between a client process and a server process is disclosed. To conduct such communications, an inter-process communication thread is initiated that is separate from a main client inter-process communication thread and operates to establish a connection with a server. A client communication port is created during the establishment of the connection with the server. One or more non-blocking asynchronous communications are transmitted to a server communication port. Responses to the one or more non-blocking asynchronous communications are awaited for receipt by the client communication port.
    Type: Grant
    Filed: August 2, 2006
    Date of Patent: October 4, 2011
    Assignee: Microsoft Corporation
    Inventors: Mikhail V. Leonov, Eric H. Feiveson
  • Patent number: 7487448
    Abstract: Modular content framework and document format methods and systems are described. The described framework and format define a set of building blocks for composing, packaging, distributing, and rendering document-centered content. These building blocks define a platform-independent framework for document formats that enable software and hardware systems to generate, exchange, and display documents reliably and consistently. The framework and format have been designed in a flexible and extensible fashion. In addition to this general framework and format, a particular format, known as the reach package format, is defined using the general framework. The reach package format is a format for storing paginated documents. The contents of a reach package can be displayed or printed with full fidelity among devices and applications in a wide range of environments and across a wide range of scenarios.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: February 3, 2009
    Assignee: Microsoft Corporation
    Inventors: Daniel F. Emerson, David Ornstein, Greg Schechter, Jerry Dunietz, Joe King, Sriram Subramanian, Oliver H. Foehr, Wei Zhu, Michael J. Hillberg, David C. Brown, Mikhail V. Leonov, Joseph D. Ternasky
  • Patent number: 7478325
    Abstract: Methods and systems permit rendering a text element formatted using unavailable or restricted fonts. In one embodiment, when producing a document that contains a restricted font, text portions formatted with the restricted font are processed into an alternate representation. A textual representation for the text portions and the additional representation(s) are embedded in a document or container. A unique representation for the restricted font file allows a consuming computing system to attempt to find the restricted font locally. Each textual representation is rendered using its corresponding restricted font, if the restricted font file is found. Otherwise, the additional representation(s) are used.
    Type: Grant
    Filed: April 22, 2005
    Date of Patent: January 13, 2009
    Assignee: Microsoft Corporation
    Inventors: Oliver H. Foehr, Jerry Dunietz, Mikhail V. Leonov, David C. Brown, Simon Daniels
  • Patent number: 7386558
    Abstract: Methods for filtering a file written in Extensible Application Markup Language (XAML) and incrementally returning the logical content contained therein to the environment, e.g., a search engine, are provided. Additionally provided are methods for extracting logical content contained in a XAML file to facilitate searching and/or indexing thereof. The methods provided permit the filtering of files containing only flow-format elements, files containing only elements representing fixed-format pages, and/or files containing both flow-format and elements representing fixed-format pages.
    Type: Grant
    Filed: April 22, 2005
    Date of Patent: June 10, 2008
    Assignee: Microsoft Corporation
    Inventors: Jean-Marie H. Larcheveque, Andrey Shur, Young Gah Kim, David C. Brown, Mikhail V. Leonov, Robert A. Relyea, Zhenbin Xu, Jerry J. Dunietz
  • Publication number: 20080127206
    Abstract: Conducting client-server inter-process communications is disclosed. Such communications include initiating an inter-process communication thread that is separate from a main client inter-process communication thread, where the inter-process communication thread that is separate from the main client inter-process communication thread establishes a connection with a server. A client communication port is created during the establishment of the connection with the server. One or more non-blocking asynchronous communications are transmitted to a server communication port. Responses to the one or more non-blocking asynchronous communications are awaited for receipt by the client communication port.
    Type: Application
    Filed: August 2, 2006
    Publication date: May 29, 2008
    Applicant: Microsoft Corporation Microsoft Patent Group
    Inventors: Mikhail V. Leonov, Eric H. Feiveson
  • Patent number: 7191289
    Abstract: Disclosed is a central cache that is updated without the overhead of locking. Updates are “atomic” in that they cannot be interrupted part way through. Applications are always free to read data in the cache, accessing the data through a reference table. Applications do not directly update the cache, instead, they send update requests to a service routine. To update the cache, the service routine proceeds in two phases. In the first phase, the service routine prepares the new data and adds them to the cache, without updating the reference table. During the first phase, an application accessing the cache cannot “see” the new data because the reference table has not yet been updated. After the first phase is complete, the service routine performs the second phase of the update process: atomically updating the reference table. The two-phase update process leaves the cache, at all times, in a consistent state.
    Type: Grant
    Filed: January 27, 2006
    Date of Patent: March 13, 2007
    Assignee: Microsoft Corporation
    Inventors: David C. Brown, Mikhail V. Leonov, Michael M. Byrd
  • Patent number: 7089365
    Abstract: Disclosed is a central cache that is updated without the overhead of locking. Updates are “atomic” in that they cannot be interrupted part way through. Applications are always free to read data in the cache, accessing the data through a reference table. Applications do not directly update the cache, instead, they send update requests to a service routine. To update the cache, the service routine proceeds in two phases. In the first phase, the service routine prepares the new data and adds them to the cache, without updating the reference table. During the first phase, an application accessing the cache cannot “see” the new data because the reference table has not yet been updated. After the first phase is complete, the service routine performs the second phase of the update process: atomically updating the reference table. The two-phase update process leaves the cache, at all times, in a consistent state.
    Type: Grant
    Filed: July 19, 2005
    Date of Patent: August 8, 2006
    Assignee: Microsoft Corporation
    Inventors: David C. Brown, Mikhail V. Leonov, Michael M. Byrd
  • Patent number: 7020746
    Abstract: Disclosed is a central cache that is updated without the overhead of locking. Updates are “atomic” in that they cannot be interrupted part way through. Applications are always free to read data in the cache, accessing the data through a reference table. Applications do not directly update the cache, instead, they send update requests to a service routine. To update the cache, the service routine proceeds in two phases. In the first phase, the service routine prepares the new data and adds them to the cache, without updating the reference table. During the first phase, an application accessing the cache cannot “see” the new data because the reference table has not yet been updated. After the first phase is complete, the service routine performs the second phase of the update process: atomically updating the reference table. The two-phase update process leaves the cache, at all times, in a consistent state.
    Type: Grant
    Filed: January 28, 2003
    Date of Patent: March 28, 2006
    Assignee: Microsoft Corporation
    Inventors: David C. Brown, Mikhail V. Leonov, Michael M. Byrd
  • Patent number: 6897879
    Abstract: Hardware acceleration of the rending and animation of characters that treat each pixel sub-component as a distinct luminance intensity source. A bit-map representation of the sub-component-oriented character is generated by using a single image sample to generate each pixel sub-component. This may be accomplished by, for example overscaling a representation of the character, placing the overscaled representation of the character on grid, and then assigning a luminance and possibly a transparency value to each grid position based on the property of the overscaled character at the grid position. The, the character is rendered by interfacing with a hardware graphic unit that perform the final rendering and animation of the character.
    Type: Grant
    Filed: March 14, 2002
    Date of Patent: May 24, 2005
    Assignee: Microsoft Corporation
    Inventors: Mikhail M. Lyapunov, Mikhail V. Leonov, Claude Betrisey, David Colin Wilson Brown, Mohammed Gaber El-Gammal
  • Publication number: 20040148463
    Abstract: Disclosed is a central cache that is updated without the overhead of locking. Updates are “atomic” in that they cannot be interrupted part way through. Applications are always free to read data in the cache, accessing the data through a reference table. Applications do not directly update the cache, instead, they send update requests to a service routine. To update the cache, the service routine proceeds in two phases. In the first phase, the service routine prepares the new data and adds them to the cache, without updating the reference table. During the first phase, an application accessing the cache cannot “see” the new data because the reference table has not yet been updated. After the first phase is complete, the service routine performs the second phase of the update process: atomically updating the reference table. The two-phase update process leaves the cache, at all times, in a consistent state.
    Type: Application
    Filed: January 28, 2003
    Publication date: July 29, 2004
    Applicant: Microsoft Corporation
    Inventors: David C. Brown, Mikhail V. Leonov, Michael M. Byrd
  • Publication number: 20030174145
    Abstract: Hardware acceleration of the rendering and animation of characters that treat each pixel sub-component as a distinct luminance intensity source. A bit-map representation of the sub-component-oriented character is generated by using a single image sample to generate each pixel sub-component. This may be accomplished by, for example, overscaling a representation of the character, placing the overscaled representation of the character on a grid, and then assigning a luminance and possibly a transparency value to each grid position based on the properties of the overscaled character at that grid position. Then, the character is rendered by interfacing with a hardware graphics unit that performs the final rendering and animation of the character.
    Type: Application
    Filed: March 14, 2002
    Publication date: September 18, 2003
    Inventors: Mikhail M. Lyapunov, Mikhail V. Leonov, Claude Betrisey, David Colin Wilson Brown, Mohammed Gaber El-Gammal