Patents by Inventor Krishnan Menon

Krishnan Menon 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: 10564739
    Abstract: Embodiments relate to a computing device having storage, a processor, a display, a first human input device, and a second human input device, where the first human input device is in a first category of human input devices and the second human input device is in a second category of human input devices. The computing device may perform a process involving executing a windowing environment that manages windows of applications executing on the computing device. The windowing environment may receive raw inputs from the first and second human input devices and in turn generate input pointers for the raw inputs, respectively. The input pointers may be or include instances of an input pointer class implemented by the windowing environment, the pointer class used by the windowing environment for arbitrary different types of human input pointer devices including the first human input device and the second human input device.
    Type: Grant
    Filed: August 23, 2016
    Date of Patent: February 18, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Reed Townsend, Mariel Young, Joyce Wu, Krishnan Menon, Olumuyiwa Durojaiye, Uros Batricevic, Vipul Aneja, Todd Torset
  • Patent number: 10146409
    Abstract: User interface (UI) manipulations may be performed by eliminating noticeable process boundaries associated with or generated by different applications. The techniques herein describe dynamically splitting manipulations across multiple pieces of content without regard to various types and/or states of the user interface manipulations and/or without regard to whether the multiple pieces of content are associated with different individual processes. In at least one example, the techniques described herein enable quick, responsive, and seamless UI manipulations with complex configurations of content on a UI and/or with multiple pieces of content associated with more than one application. Additionally, the techniques described herein further enable content on a UI to “stick” to the user input manipulation or move with the user input manipulation such that the content appears to stay directly in contact with the user input manipulation.
    Type: Grant
    Filed: August 29, 2014
    Date of Patent: December 4, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nathan Pollock, Lindsay Kubasik, Peter Benjamin Freiling, Nicolas Brun, Krishnan Menon
  • Patent number: 10089291
    Abstract: A platform-level container configured to hold natively-supported ink stroke data structures is maintained. The platform-level container is accessible to a plurality of different applications. An ink stroke visual corresponding to each ink stroke data structure held by the platform-level container is rendered via a display. An ink stroke change event corresponding to an ink stroke data structure held by the platform-level container is recognized. The ink stroke data structure is changed to an updated ink stroke data structure in accordance with the ink stroke change event. An ink stroke visual corresponding to the updated ink stroke data structure is rendered via the display without re-rendering ink stroke visuals corresponding to unchanged ink stroke data structures.
    Type: Grant
    Filed: October 19, 2015
    Date of Patent: October 2, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Xiao Tu, Krishnan Menon, Fei Xiong, Connor Lawrence Weins, Patrick Jee-An Poon
  • Patent number: 9950542
    Abstract: A facility for processing ink input is described. In one example facility, the facility receives ink input from an input device. The facility generates and renders ink stroke data structures in response to received ink input in accordance with an ink input processing pipeline. The facility provides to an executing application access to information traversing the ink input processing pipeline at a selected point in the ink input processing pipeline.
    Type: Grant
    Filed: August 19, 2015
    Date of Patent: April 24, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Yibo Sun, Krishnan Menon, Connor Weins, Xiao Tu, Olumuyiwa Durojaiye
  • Patent number: 9633466
    Abstract: Systems and methods are provided for improving the latency for display of ink during user creation of ink content with a stylus, mouse, finger (or other touch input), or other drawing device for tracing a desired location for ink content in a display area. In order to reduce or minimize the time for display of ink content created by a user using a stylus/mouse/touch input/other device, a separate ink rendering process thread can be used that operates within the operating system and in parallel to other application threads. When it is desired to create ink content within an application, user interactions corresponding to creation of ink content can be handled by the separate ink rendering process thread. This can avoid potential delays in displaying ink content due to an application handling other events in a process flow.
    Type: Grant
    Filed: September 29, 2014
    Date of Patent: April 25, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Xiao Tu, Krishnan Menon, Fei Xiong, Sung Hong, David Walker Duhon
  • Publication number: 20160370878
    Abstract: Embodiments relate to a computing device having storage, a processor, a display, a first human input device, and a second human input device, where the first human input device is in a first category of human input devices and the second human input device is in a second category of human input devices. The computing device may perform a process involving executing a windowing environment that manages windows of applications executing on the computing device. The windowing environment may receive raw inputs from the first and second human input devices and in turn generate input pointers for the raw inputs, respectively. The input pointers may be or include instances of an input pointer class implemented by the windowing environment, the pointer class used by the windowing environment for arbitrary different types of human input pointer devices including the first human input device and the second human input device.
    Type: Application
    Filed: August 23, 2016
    Publication date: December 22, 2016
    Inventors: Reed Townsend, Mariel Young, Joyce Wu, Krishnan Menon, Olumuyiwa Durojaiye, Uros Batricevic, Vipul Aneja, Todd Torset
  • Patent number: 9483155
    Abstract: Embodiments relate to a computing device having storage, a processor, a display, a first human input device, and a second human input device, where the first human input device is in a first category of human input devices and the second human input device is in a second category of human input devices. The computing device may perform a process involving executing a windowing environment that manages windows of applications executing on the computing device. The windowing environment may receive raw inputs from the first and second human input devices and in turn generate input pointers for the raw inputs, respectively. The input pointers may be or include instances of an input pointer class implemented by the windowing environment, the pointer class used by the windowing environment for arbitrary different types of human input pointer devices including the first human input device and the second human input device.
    Type: Grant
    Filed: September 13, 2012
    Date of Patent: November 1, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Joyce Wu, Krishnan Menon, Mariel Young, Olumuyiwa Durojaiye, Reed Townsend, Todd Torset, Uros Batricevic, Vipul Aneja
  • Publication number: 20160263911
    Abstract: A facility for processing ink input is described. In one example facility, the facility receives ink input from an input device. The facility generates and renders ink stroke data structures in response to received ink input in accordance with an ink input processing pipeline. The facility provides to an executing application access to information traversing the ink input processing pipeline at a selected point in the ink input processing pipeline.
    Type: Application
    Filed: August 19, 2015
    Publication date: September 15, 2016
    Inventors: Yibo Sun, Krishnan Menon, Connor Weins, Xiao Tu, Olumuyiwa Durojaiye
  • Publication number: 20160253300
    Abstract: A platform-level container configured to hold natively-supported ink stroke data structures is maintained. The platform-level container is accessible to a plurality of different applications. An ink stroke visual corresponding to each ink stroke data structure held by the platform-level container is rendered via a display. An ink stroke change event corresponding to an ink stroke data structure held by the platform-level container is recognized. The ink stroke data structure is changed to an updated ink stroke data structure in accordance with the ink stroke change event. An ink stroke visual corresponding to the updated ink stroke data structure is rendered via the display without re-rendering ink stroke visuals corresponding to unchanged ink stroke data structures.
    Type: Application
    Filed: October 19, 2015
    Publication date: September 1, 2016
    Inventors: Xiao Tu, Krishnan Menon, Fei Xiong, Connor Lawrence Weins, Patrick Jee-An Poon
  • Publication number: 20160210038
    Abstract: A facility for handling input relating to electronic ink is described. In a first thread, the facility produces ink in response to at least a portion of the input. In a second thread distinct from the first thread, the facility manipulates at least a portion of the ink produced in the first thread.
    Type: Application
    Filed: March 10, 2015
    Publication date: July 21, 2016
    Inventors: Krishnan Menon, Francis Zhou, Xiao Tu, Aleksandr Klimov, Fei Xiong
  • Publication number: 20160093087
    Abstract: Systems and methods are provided for improving the latency for display of ink during user creation of ink content with a stylus, mouse, finger (or other touch input), or other drawing device for tracing a desired location for ink content in a display area. In order to reduce or minimize the time for display of ink content created by a user using a stylus/mouse/touch input/other device, a separate ink rendering process thread can be used that operates within the operating system and in parallel to other application threads. When it is desired to create ink content within an application, user interactions corresponding to creation of ink content can be handled by the separate ink rendering process thread. This can avoid potential delays in displaying ink content due to an application handling other events in a process flow.
    Type: Application
    Filed: September 29, 2014
    Publication date: March 31, 2016
    Inventors: XIAO TU, KRISHNAN MENON, FEI XIONG, SUNG HONG, David Walker DUHON
  • Publication number: 20160062580
    Abstract: User interface (UI) manipulations may be performed by eliminating noticeable process boundaries associated with or generated by different applications. The techniques herein describe dynamically splitting manipulations across multiple pieces of content without regard to various types and/or states of the user interface manipulations and/or without regard to whether the multiple pieces of content are associated with different individual processes. In at least one example, the techniques described herein enable quick, responsive, and seamless UI manipulations with complex configurations of content on a UI and/or with multiple pieces of content associated with more than one application. Additionally, the techniques described herein further enable content on a UI to “stick” to the user input manipulation or move with the user input manipulation such that the content appears to stay directly in contact with the user input manipulation.
    Type: Application
    Filed: August 29, 2014
    Publication date: March 3, 2016
    Inventors: Nathan Pollock, Lindsay Kubasik, Peter Benjamin Freiling, Nicolas Brun, Krishnan Menon
  • Patent number: 9274622
    Abstract: In one embodiment, a unified pointer message 300 may describe in a single type of pointer message a coordinate input from a user via multiple types of pointer devices. An input device interface 150 may receive a coordinate input 350 from an input device. A processor 120 may execute an application programming interface layer 430 that creates a unified pointer message 300 for the coordinate input 350. The processor 120 may send the unified pointer message 300 to an application. The processor 120 may process a device specific data set 244 unhandled by the application.
    Type: Grant
    Filed: September 11, 2012
    Date of Patent: March 1, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Stephen Wright, Hirofumi Yamamoto, Pak Kiu Chung, Raju Ramanathan, Krishnan Menon, Lawrence Osterman, Alan Stephenson, Reed Townsend, Jacob Rossi
  • Patent number: 9024950
    Abstract: A device for use in monitoring operation of a system includes a display device and a processor coupled to the display device. The processor is configured to display, on the display device, a three-dimensional plot of a first operational characteristic of a system asset as a function of a second operational characteristic and as a function of a third operational characteristic of the system asset. The processor is also configured to receive a selection of the second operational characteristic, transform the three-dimensional plot into a two-dimensional plot of the first operational characteristic as a function of the third operational characteristic at the selected second characteristic, and display the two-dimensional plot on the display device.
    Type: Grant
    Filed: August 20, 2012
    Date of Patent: May 5, 2015
    Assignee: General Electric Company
    Inventors: Mandar Sadashiv Joshi, Ajith Krishnan Menon
  • Publication number: 20140372903
    Abstract: In one or more embodiments, a hit test thread which is separate from the main thread, e.g. the user interface thread, is utilized for hit testing on web content. Using a separate thread for hit testing can allow targets to be quickly ascertained. In cases where the appropriate response is handled by a separate thread, such as a manipulation thread that can be used for touch manipulations such as panning and pinch zooming, manipulation can occur without blocking on the main thread. This results in the response time that is consistently quick even on low-end hardware over a variety of scenarios.
    Type: Application
    Filed: June 14, 2013
    Publication date: December 18, 2014
    Inventors: Matthew Allen Rakow, Krishnan Menon, Michael J. Ens, Jonathan Wills
  • Publication number: 20140075372
    Abstract: Embodiments relate to a computing device having storage, a processor, a display, a first human input device, and a second human input device, where the first human input device is in a first category of human input devices and the second human input device is in a second category of human input devices. The computing device may perform a process involving executing a windowing environment that manages windows of applications executing on the computing device. The windowing environment may receive raw inputs from the first and second human input devices and in turn generate input pointers for the raw inputs, respectively. The input pointers may be or include instances of an input pointer class implemented by the windowing environment, the pointer class used by the windowing environment for arbitrary different types of human input pointer devices including the first human input device and the second human input device.
    Type: Application
    Filed: September 13, 2012
    Publication date: March 13, 2014
    Inventors: Joyce Wu, Krishnan Menon, Mariel Young, Olumuyiwa Durojaiye, Reed Townsend, Todd Torset, Uros Batricevic, Vipul Aneja
  • Publication number: 20140075458
    Abstract: In one embodiment, a unified pointer message 300 may describe in a single type of pointer message a coordinate input from a user via multiple types of pointer devices. An input device interface 150 may receive a coordinate input 350 from an input device. A processor 120 may execute an application programming interface layer 430 that creates a unified pointer message 300 for the coordinate input 350. The processor 120 may send the unified pointer message 300 to an application. The processor 120 may process a device specific data set 244 unhandled by the application.
    Type: Application
    Filed: September 11, 2012
    Publication date: March 13, 2014
    Applicant: Microsoft Corporation
    Inventors: Stephen Wright, Hirofumi Yamamoto, Pak Kiu Chung, Raju Ramanathan, Krishnan Menon, Lawrence Osterman, Alan Stephenson, Reed Townsend, Jacob Rossi
  • Publication number: 20140049543
    Abstract: A device for use in monitoring operation of a system includes a display device and a processor coupled to the display device. The processor is configured to display, on the display device, a three-dimensional plot of a first operational characteristic of a system asset as a function of a second operational characteristic and as a function of a third operational characteristic of the system asset. The processor is also configured to receive a selection of the second operational characteristic, transform the three-dimensional plot into a two-dimensional plot of the first operational characteristic as a function of the third operational characteristic at the selected second characteristic, and display the two-dimensional plot on the display device.
    Type: Application
    Filed: August 20, 2012
    Publication date: February 20, 2014
    Inventors: Mandar Sadashiv Joshi, Ajith Krishnan Menon