Patents by Inventor Jinsong Yu

Jinsong Yu 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: 9323693
    Abstract: Caching of an immutable buffer that has its data and address prevented from changing during the lifetime of the immutable buffer. A first computing entity maintains a cache of the immutable buffer and has a strong reference to the immutable buffer. So long as any entity has a strong reference to the immutable buffer, the immutable buffer is guaranteed to continue to exist for the duration of the strong reference. A second computing entity communicates with the first computing entity to obtain a strong reference to the immutable buffer and thereafter read data from the immutable buffer. Upon reading the data from the cache, the second computing entity demotes the strong reference to a weak reference to the immutable buffer. A weak reference to the immutable buffer does not guarantee that the immutable buffer will continue to exist for the duration of the weak reference.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: April 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jinsong Yu, Andrew E. Goodsell, F. Soner Terek, Christopher Wellington Brumme, Ahmed Hassan Mohamed
  • Patent number: 9323543
    Abstract: Enforcing limitations on hardware drivers. The method includes from a system kernel, assigning I/O resources to the system's root bus. From the root bus, the method further includes assigning a subset of the I/O resources to a device bus. Assigning a subset of the I/O resources to a device bus includes limiting the device bus to only be able to assign I/O resources that are assigned to it by the root bus. From the device bus, the method includes assigning I/O resources to a device through a device interface.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: April 26, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yaron Weinsberg, Jinsong Yu, John Richardson, Christopher Wellington Brumme, Martin Taillefer
  • Patent number: 9311225
    Abstract: Communicating between an application and a hardware device. A method includes an application writing data to host physical memory using an application view of the memory. The method further includes mapping the data in the physical memory to a hardware driver view, usable by a hardware driver, without needing to copy the data to a different physical storage location. The method further includes mapping the data to a hardware accessible view accessible by a hardware device without needing to copy the data to a different physical storage location.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: April 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Shaun David Cox, Fehim Soner Terek, Jinsong Yu, Christopher Wellington Brumme, Gregory Michael Neverov
  • Patent number: 9235382
    Abstract: Input filters correlate to target components. For a given target component, the input filter defines input validation information. The input filter might also define conversions or transformations to be applied to valid input prior to being provided to the target component. At build time, code is accessed that contains the input validation, conversion and transformation and that identifies the associated target component. The information is then used to construct an input filter. At run time, when an input processing component receives an input, the input processing component identifies the target component, accesses the associated input filter, and uses the information contained in the input filter to determine whether the input is valid, and whether and how to convert and transform the value.
    Type: Grant
    Filed: September 20, 2013
    Date of Patent: January 12, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Wen-Ke Chen, Jinsong Yu, Alexander P. Riemann
  • Patent number: 9189446
    Abstract: The environment and use of an immutable buffer. A computing entity acquires data or generates data and populates the data into the buffer, after which the buffer is classified as immutable. The classification protects the data populated within the immutable buffer from changing during the lifetime of the immutable buffer, and also protects the immutable buffer from having its physical address changed during the lifetime of the immutable buffer. As different computing entities consume data from the immutable buffer, they do so through views provided by a view providing entity. The immutable buffer architecture may also be used for streaming data in which each component of the streaming data uses an immutable buffer. Accordingly, different computing entities may view the immutable data differently without having to actually copy the data.
    Type: Grant
    Filed: January 4, 2013
    Date of Patent: November 17, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jason Todd Hunter, Jinsong Yu, Martin Taillefer, Gregory Michael Neverov, Dmitry Kakurin, Ahmed Hassan Mohamed, John J. Duffy, Christopher Wellington Brumme, F. Soner Terek
  • Publication number: 20150158659
    Abstract: An attachment mechanism for a container includes a housing with a locking element extending therefrom. At least one opening extends through the locking element to selectively receive a portion of the container. A resilient member is disposed within the locking element.
    Type: Application
    Filed: February 13, 2015
    Publication date: June 11, 2015
    Applicant: S.C. Johnson & Son, Inc.
    Inventors: Scott W. Demarest, Donald J. Schumacher, Christine D. Beilstein, Dirk K. Nickel, Jinsong Yu, Gang Liu, Xiaogang Tan, Yuanheng Liu
  • Publication number: 20150100947
    Abstract: Build-time resolution and type-enforcing of corresponding references in different code that references the same value. In response to detecting a directive within the code itself that a first reference in first code is to be correlated with a second reference in second code, and in response to detection that the types of the references are the same, a code generation tool generates correlation code that is interpretable to a compiler as allowing a value of a type of the first reference of a compiled-form of the first code to be passed as the same value of the same type of the second reference of a compiled-form of the second code. The first code, the second code, and the generated correlation code may then be compiled. If compilation is successful, this means that the first and second references are already properly resolved as referring to the same value and type-enforced.
    Type: Application
    Filed: October 4, 2013
    Publication date: April 9, 2015
    Applicant: Microsoft Corporation
    Inventors: Wen-Ke Chen, Jinsong Yu, Alexander P. Riemann
  • Publication number: 20150089471
    Abstract: Input filters correlate to target components. For a given target component, the input filter defines input validation information. The input filter might also define conversions or transformations to be applied to valid input prior to being provided to the target component. At build time, code is accessed that contains the input validation, conversion and transformation and that identifies the associated target component. The information is then used to construct an input filter. At run time, when an input processing component receives an input, the input processing component identifies the target component, accesses the associated input filter, and uses the information contained in the input filter to determine whether the input is valid, and whether and how to convert and transform the value.
    Type: Application
    Filed: September 20, 2013
    Publication date: March 26, 2015
    Applicant: Microsoft Corporation
    Inventors: Wen-Ke Chen, Jinsong Yu, Alexander P. Riemann
  • Patent number: 8985398
    Abstract: A product dispensing system includes an overcap that has a locking element extending therefrom. A container has a product disposed therein. A bracket is attached to the container. The bracket includes at least one flange and at least one slot. The at least one flange extends toward the at least one slot. A resilient member is disposed within the locking element.
    Type: Grant
    Filed: February 4, 2011
    Date of Patent: March 24, 2015
    Assignee: S.C. Johnson & Son, Inc.
    Inventors: Scott W. Demarest, Donald J. Schumacher, Christine D. Beilstein, Dirk K. Nickel, Jinsong Yu, Gang Liu, Xiaogang Tan, Yuanheng Liu
  • Publication number: 20140195862
    Abstract: Handing errors in program execution. The method includes identifying a set including a plurality of explicitly identified failure conditions. The method further includes determining that one or more of the explicitly identified failure conditions has occurred. As a result, the method further includes halting a predetermined first execution scope of computing, and notifying another scope of computing of the failure condition. An alternative embodiment may be practiced in a computing environment, and includes a method handing errors. The method includes identifying a set including a plurality of explicitly identified failure conditions. The method further includes determining that an error condition has occurred that is not in the set including a plurality of explicitly identified failure conditions. As a result, the method further includes halting a predetermined first execution scope of computing, and notifying another scope of computing of the failure condition.
    Type: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Martin Taillefer, Jinsong Yu, John J. Duffy, Sean E. Trowbridge, Alexander D. Bromfield
  • Publication number: 20140195739
    Abstract: Caching of an immutable buffer that has its data and address prevented from changing during the lifetime of the immutable buffer. A first computing entity maintains a cache of the immutable buffer and has a strong reference to the immutable buffer. So long as any entity has a strong reference to the immutable buffer, the immutable buffer is guaranteed to continue to exist for the duration of the strong reference. A second computing entity communicates with the first computing entity to obtain a strong reference to the immutable buffer and thereafter read data from the immutable buffer. Upon reading the data from the cache, the second computing entity demotes the strong reference to a weak reference to the immutable buffer. A weak reference to the immutable buffer does not guarantee that the immutable buffer will continue to exist for the duration of the weak reference.
    Type: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: Microsoft Corporation
    Inventors: Jinsong Yu, Andrew E. Goodsell, F. Soner Terek, Christopher Wellington Brumme, Ahmed Hassan Mohamed
  • Publication number: 20140195834
    Abstract: Implementing a safe driver that can support high throughput and low latency devices. The method includes receiving a hardware message from a hardware device. The method further includes delivering the hardware message to one or more driver processes executing in user mode using a zero-copy to allow the one or more driver processes to support high throughput and low latency hardware devices.
    Type: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: Microsoft Corporation
    Inventors: Yaron Weinsberg, Jinsong Yu, Shaun David Cox, Stanislav Oks, Galen C. Hunt, Christopher Wellington Brumme, John Richardson
  • Publication number: 20140195746
    Abstract: Communicating between an application and a hardware device. A method includes an application writing data to host physical memory using an application view of the memory. The method further includes mapping the data in the physical memory to a hardware driver view, usable by a hardware driver, without needing to copy the data to a different physical storage location.
    Type: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Shaun David Cox, Fehim Soner Terek, Jinsong Yu, Christopher Wellington Brumme, Gregory Michael Neverov
  • Publication number: 20140196059
    Abstract: Enforcing limitations on hardware drivers. The method includes from a system kernel, assigning I/O resources to the system's root bus. From the root bus, the method further includes assigning a subset of the I/O resources to a device bus. Assigning a subset of the I/O resources to a device bus includes limiting the device bus to only be able to assign I/O resources that are assigned to it by the root bus. From the device bus, the method includes assigning I/O resources to a device through a device interface.
    Type: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: Microsoft Corporation
    Inventors: Yaron Weinsberg, Jinsong Yu, John Richardson, Christopher Wellington Brumme, Martin Taillefer
  • Publication number: 20140195632
    Abstract: The environment and use of an immutable buffer. A computing entity acquires data or generates data and populates the data into the buffer, after which the buffer is classified as immutable. The classification protects the data populated within the immutable buffer from changing during the lifetime of the immutable buffer, and also protects the immutable buffer from having its physical address changed during the lifetime of the immutable buffer. As different computing entities consume data from the immutable buffer, they do so through views provided by a view providing entity. The immutable buffer architecture may also be used for streaming data in which each component of the streaming data uses an immutable buffer. Accordingly, different computing entities may view the immutable data differently without having to actually copy the data.
    Type: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Jason Todd Hunter, Jinsong Yu, Martin Taillefer, Gregory Michael Neverov, Dmitry Kakurin, Ahmed Hassan Mohamed, John J. Duffy, Christopher Wellington Brumme, F. Soner Terek
  • Publication number: 20140196004
    Abstract: Automatically generating code used with device drivers for interfacing with hardware. The method includes receiving a machine readable description of a hardware device, including at least one of hardware registers or shared memory structures of the hardware device. The method further includes determining an operating system with which the hardware device is to be used. The method further includes processing the machine readable description on a code generation tool to automatically generate code for a hardware driver for the hardware device specific to the determined operating system.
    Type: Application
    Filed: January 4, 2013
    Publication date: July 10, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Yaron Weinsberg, Jinsong Yu, Maxim Grabarnik, Davide Massarenti
  • Patent number: 8276145
    Abstract: The present invention extends to methods, systems, and computer program products for protected mode scheduling of operations. Protected mode (e.g., user mode) scheduling can facilitate the development of programming frameworks that better reflect the requirements of the workloads through the use of workload-specific execution abstractions. In addition, the ability to define scheduling policies tuned to the characteristics of the hardware resources available and the workload requirements has the potential of better system scaling characteristics. Further, protected mode scheduling decentralizes the scheduling responsibility by moving significant portions of scheduling functionality from supervisor mode (e.g., kernel mode) to an application.
    Type: Grant
    Filed: June 27, 2008
    Date of Patent: September 25, 2012
    Assignee: Microsoft Corporation
    Inventors: Efstathios Papaefstathiou, Jinsong Yu, Stanislav A. Oks
  • Publication number: 20120199613
    Abstract: A product dispensing system includes an overcap that has a locking element extending therefrom. A container has a product disposed therein. A bracket is attached to the container. The bracket includes at least one flange and at least one slot. The at least one flange extends toward the at least one slot. A resilient member is disposed within the locking element.
    Type: Application
    Filed: February 4, 2011
    Publication date: August 9, 2012
    Inventors: Scott W. Demarest, Donald J. Schumacher, Christine D. Beilstein, Dirk K. Nickel, Jinsong Yu, Gang Liu, Xiaogang Tan, Yuanheng Liu
  • Patent number: 8078953
    Abstract: Architecture for a word processing application that facilitates operating on mathematical symbols, expressions, and/or equations input to a word processing document, and returning results back to the document. User input to the document in the form of math symbols, expressions or equations is transformed into a format for processing by a math engine. The engine returns one or more operations to the user that can be performed on the input, including calculating mathematical solutions, graphing equations and viewing steps to solving math problems. A user interface allows the user choose from the possible operations and to interactively manipulate input and graphs in the word application. The results can be inserted directly into the document and also be graded automatically.
    Type: Grant
    Filed: July 12, 2007
    Date of Patent: December 13, 2011
    Assignee: Microsoft Corporation
    Inventors: William B Kunz, Xin Li, Luke Kelly, Jinsong Yu, Seth R Atkinson, Murray Sargent
  • Patent number: 8073258
    Abstract: Systems and methods for use in handwriting recognition in computer algebra are provided. One disclosed method includes receiving handwriting input from a user via a handwriting input device, the handwriting input representing a mathematical expression. The method further includes, at a recognizer, processing the handwriting input to recognize a plurality of candidates and ranking the plurality of candidates to form initial candidate data. The method may further include, at an application program, scanning the plurality of candidates for segments that match application-level criteria, and adjusting a rank of one or more of the plurality of candidates based on the matching, to form a processed candidate list. The method may further include displaying the processed candidate list via a graphical user interface.
    Type: Grant
    Filed: August 22, 2007
    Date of Patent: December 6, 2011
    Assignee: Microsoft Corporation
    Inventors: Jinsong Yu, Seth Atkinson, Xin Li, Luke Kelly, Larry Israel