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: 10564739Abstract: 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: GrantFiled: August 23, 2016Date of Patent: February 18, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Reed Townsend, Mariel Young, Joyce Wu, Krishnan Menon, Olumuyiwa Durojaiye, Uros Batricevic, Vipul Aneja, Todd Torset
-
Patent number: 10146409Abstract: 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: GrantFiled: August 29, 2014Date of Patent: December 4, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Nathan Pollock, Lindsay Kubasik, Peter Benjamin Freiling, Nicolas Brun, Krishnan Menon
-
Patent number: 10089291Abstract: 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: GrantFiled: October 19, 2015Date of Patent: October 2, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Xiao Tu, Krishnan Menon, Fei Xiong, Connor Lawrence Weins, Patrick Jee-An Poon
-
Patent number: 9950542Abstract: 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: GrantFiled: August 19, 2015Date of Patent: April 24, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Yibo Sun, Krishnan Menon, Connor Weins, Xiao Tu, Olumuyiwa Durojaiye
-
Patent number: 9633466Abstract: 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: GrantFiled: September 29, 2014Date of Patent: April 25, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Xiao Tu, Krishnan Menon, Fei Xiong, Sung Hong, David Walker Duhon
-
Publication number: 20160370878Abstract: 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: ApplicationFiled: August 23, 2016Publication date: December 22, 2016Inventors: Reed Townsend, Mariel Young, Joyce Wu, Krishnan Menon, Olumuyiwa Durojaiye, Uros Batricevic, Vipul Aneja, Todd Torset
-
Patent number: 9483155Abstract: 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: GrantFiled: September 13, 2012Date of Patent: November 1, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Joyce Wu, Krishnan Menon, Mariel Young, Olumuyiwa Durojaiye, Reed Townsend, Todd Torset, Uros Batricevic, Vipul Aneja
-
Publication number: 20160263911Abstract: 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: ApplicationFiled: August 19, 2015Publication date: September 15, 2016Inventors: Yibo Sun, Krishnan Menon, Connor Weins, Xiao Tu, Olumuyiwa Durojaiye
-
Publication number: 20160253300Abstract: 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: ApplicationFiled: October 19, 2015Publication date: September 1, 2016Inventors: Xiao Tu, Krishnan Menon, Fei Xiong, Connor Lawrence Weins, Patrick Jee-An Poon
-
Publication number: 20160210038Abstract: 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: ApplicationFiled: March 10, 2015Publication date: July 21, 2016Inventors: Krishnan Menon, Francis Zhou, Xiao Tu, Aleksandr Klimov, Fei Xiong
-
Publication number: 20160093087Abstract: 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: ApplicationFiled: September 29, 2014Publication date: March 31, 2016Inventors: XIAO TU, KRISHNAN MENON, FEI XIONG, SUNG HONG, David Walker DUHON
-
Publication number: 20160062580Abstract: 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: ApplicationFiled: August 29, 2014Publication date: March 3, 2016Inventors: Nathan Pollock, Lindsay Kubasik, Peter Benjamin Freiling, Nicolas Brun, Krishnan Menon
-
Patent number: 9274622Abstract: 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: GrantFiled: September 11, 2012Date of Patent: March 1, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Stephen Wright, Hirofumi Yamamoto, Pak Kiu Chung, Raju Ramanathan, Krishnan Menon, Lawrence Osterman, Alan Stephenson, Reed Townsend, Jacob Rossi
-
Patent number: 9024950Abstract: 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: GrantFiled: August 20, 2012Date of Patent: May 5, 2015Assignee: General Electric CompanyInventors: Mandar Sadashiv Joshi, Ajith Krishnan Menon
-
Publication number: 20140372903Abstract: 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: ApplicationFiled: June 14, 2013Publication date: December 18, 2014Inventors: Matthew Allen Rakow, Krishnan Menon, Michael J. Ens, Jonathan Wills
-
Publication number: 20140075372Abstract: 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: ApplicationFiled: September 13, 2012Publication date: March 13, 2014Inventors: Joyce Wu, Krishnan Menon, Mariel Young, Olumuyiwa Durojaiye, Reed Townsend, Todd Torset, Uros Batricevic, Vipul Aneja
-
Publication number: 20140075458Abstract: 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: ApplicationFiled: September 11, 2012Publication date: March 13, 2014Applicant: Microsoft CorporationInventors: Stephen Wright, Hirofumi Yamamoto, Pak Kiu Chung, Raju Ramanathan, Krishnan Menon, Lawrence Osterman, Alan Stephenson, Reed Townsend, Jacob Rossi
-
Publication number: 20140049543Abstract: 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: ApplicationFiled: August 20, 2012Publication date: February 20, 2014Inventors: Mandar Sadashiv Joshi, Ajith Krishnan Menon