Patents by Inventor Shoumeng Yan
Shoumeng Yan 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).
-
Publication number: 20170286048Abstract: Technologies for framework-level audio device virtualization include a computing device that executes multiple application framework instances. The computing device monitors for an application framework instance switch and, in response to an application framework instance switch, determines whether the current application framework instance is in the foreground. If in the foreground, the computing device selects a physical audio output device. The computing device may output audio data associated with the current application framework instance using a kernel audio driver associated with the physical audio output device. If not in the foreground, the computing device selects a null audio output device using a null audio hardware abstraction layer (HAL). The null audio HAL may sleep for the duration of audio data associated with the current application framework instance. The null audio HAL may be an operating-system- and device-independent shared library of the computing device.Type: ApplicationFiled: March 29, 2016Publication date: October 5, 2017Inventors: Shoumeng Yan, Yuan Wu, Dahai Stephen Kou
-
Publication number: 20170262624Abstract: Various systems and methods for providing access control are described herein. A system comprises a display; a processor; and a memory, including instructions, which when executed on the processor, cause the processor to: present a limited lock screen on a display of the user device, wherein the limited lock screen only provides a non-personalized access mechanism; receive user input via the limited lock screen; correlate the user input with an operating context, wherein the user input is uniquely correlated with the operating context; and unlock the user device with access to the operating context.Type: ApplicationFiled: September 25, 2015Publication date: September 14, 2017Inventor: Shoumeng Yan
-
Patent number: 9710396Abstract: A computer system may comprise a computer platform and input-output devices. The computer platform may include a plurality of heterogeneous processors comprising a central processing unit (CPU) and a graphics processing unit (GPU) and a shared virtual memory supported by a physical private memory space of at least one heterogeneous processor or a physical shared memory shared by the heterogeneous processor. The CPU (producer) may create shared multi-version data and store such shared multi-version data in the physical private memory space or the physical shared memory. The GPU (consumer) may acquire or access the shared multi-version data.Type: GrantFiled: October 1, 2014Date of Patent: July 18, 2017Assignee: Intel CorporationInventors: Ying Gao, Hu Chen, Shoumeng Yan, Xiaocheng Zhou, Sai Luo, Bratin Saha
-
Patent number: 9588826Abstract: Embodiments of the invention provide a programming model for CPU-GPU platforms. In particular, embodiments of the invention provide a uniform programming model for both integrated and discrete devices. The model also works uniformly for multiple GPU cards and hybrid GPU systems (discrete and integrated). This allows software vendors to write a single application stack and target it to all the different platforms. Additionally, embodiments of the invention provide a shared memory model between the CPU and GPU. Instead of sharing the entire virtual address space, only a part of the virtual address space needs to be shared. This allows efficient implementation in both discrete and integrated settings.Type: GrantFiled: December 10, 2014Date of Patent: March 7, 2017Assignee: Intel CorporationInventors: Hu Chen, Ying Gao, Xiaocheng Zhou, Shoumeng Yan, Peinan Zhang, Mohan Rajagopalan, Jesse Fang, Avi Mendelson, Bratin Saha
-
Publication number: 20170052811Abstract: Disclosed is a method that may include hosting, by a virtual machine manager of a local machine, a virtual machine having a device driver. The method may include obtaining, by the virtual machine manager, from a stub driver on the remote machine, information about the I/O device on the remote machine. The I/O device on the remote machine may be bound to the stub driver on the remote machine. The method may include instantiating, by the virtual machine manager, a virtual I/O device on the local machine corresponding to the I/O device on the remote machine. The method may include collaborating, by the virtual machine manager, with the stub driver on the remote machine to effectuate a real access to the I/O device on the remote machine for an access to the virtual I/O device by the device driver on behalf of a program on the local machine. Other embodiments may be described and claimed.Type: ApplicationFiled: October 7, 2016Publication date: February 23, 2017Inventors: Zhefu Jiang, Shoumeng Yan, Gansha Wu
-
Patent number: 9465674Abstract: Hosting, by a virtual machine manager of a local machine, a virtual machine having a device driver. The method may include obtaining, by the virtual machine manager, from a stub driver on the remote machine, information about the I/O device on the remote machine. The I/O device on the remote machine may be bound to the stub driver on the remote machine. The method may include instantiating, by the virtual machine manager, a virtual I/O device on the local machine corresponding to the I/O device on the remote machine. The method may include collaborating, by the virtual machine manager, with the stub driver on the remote machine to effectuate a real access to the I/O device on the remote machine for an access to the virtual I/O device by the device driver on behalf of a program on the local machine. Other embodiments may be described and claimed.Type: GrantFiled: March 30, 2012Date of Patent: October 11, 2016Assignee: Intel CorporationInventors: Zhefu Jiang, Shoumeng Yan, Gansha Wu
-
Publication number: 20160239334Abstract: Various embodiments are generally directed to providing virtualization using relatively minimal processing and storage resources to enable concurrent isolated execution of multiple application routines in which one of the application routines is made visible at a time. An apparatus to virtualize an operating system includes a processor component, a visibility checker for execution by the processor component to make a visibility check call to a kernel routine to request an indication of whether an instance of a framework routine that comprises the visibility checker is visible, and resource access code of the instance for execution by the processor component to perform a resource access operation to access a hardware component based on the indication and on receipt of an application programming interface (API) call from an application routine that specifies an API function to access the hardware component. Other embodiments are described and claimed.Type: ApplicationFiled: December 17, 2013Publication date: August 18, 2016Inventor: Shoumeng YAN
-
Patent number: 9400702Abstract: Embodiments of the invention provide a programming model for CPU-GPU platforms. In particular, embodiments of the invention provide a uniform programming model for both integrated and discrete devices. The model also works uniformly for multiple GPU cards and hybrid GPU systems (discrete and integrated). This allows software vendors to write a single application stack and target it to all the different platforms. Additionally, embodiments of the invention provide a shared memory model between the CPU and GPU. Instead of sharing the entire virtual address space, only a part of the virtual address space needs to be shared. This allows efficient implementation in both discrete and integrated settings.Type: GrantFiled: July 1, 2014Date of Patent: July 26, 2016Assignee: Intel CorporationInventors: Hu Chen, Ying Gao, Xiaocheng Zhou, Shoumeng Yan, Peinan Zhang, Mohan Rajagopalan, Jesse Fang, Avi Mendelson, Bratin Saha
-
Patent number: 9384015Abstract: Various embodiments are generally directed an apparatus and method for configuring an execution environment in a user space for device driver operations and redirecting a device driver operation for execution in the execution environment in the user space including copying instructions of the device driver operation from the kernel space to a user process in the user space. In addition, the redirected device driver operation may be executed in the execution environment in the user space.Type: GrantFiled: July 16, 2013Date of Patent: July 5, 2016Assignee: INTEL CORPORATIONInventors: Xiaocheng Zhou, Hu Chen, Shoumeng Yan, Ying Gao
-
Patent number: 9236054Abstract: An audio accelerator includes a decoder to decode first and second sets of data blocks, a processor to process the first and second sets of decoded data blocks, a storage area to store the first and second sets of processed data blocks, and a controller to generate interrupt signals for controlling operation of the decoder. The controller may control a rate at which data blocks are to be decoded by the decoder to reduce a time gap between outputting adjacent ones of the data blocks from the first and second sets in the storage area.Type: GrantFiled: September 29, 2012Date of Patent: January 12, 2016Assignee: Intel CorporationInventors: Xiaocheng Zhou, Shoumeng Yan
-
Patent number: 9218068Abstract: An apparatus may include a processor arranged to receive an input signal from an input device and a first event conversion module. The first event conversion module may receive an input event from the input device as an operating system (OS)-specific event arranged in a format operable by a first operating system, convert the OS-specific event into a converted event having an OS-independent format, and dispatch the converted event for processing. Other embodiments are disclosed and claimed.Type: GrantFiled: November 3, 2011Date of Patent: December 22, 2015Assignee: INTEL CORPORATIONInventors: Dan Zhang, Shoumeng Yan, Peng Guo, Gansha Wu
-
Patent number: 9128866Abstract: Systems and methods may provide for using audio output device driver logic to maintain one or more states of an audio accelerator in a memory store, detect a suspend event, and deactivate the audio accelerator in response to the suspend event. In addition, firmware logic of the audio accelerator may be used to detect a resume event with respect to the audio output accelerator, and retrieve one or more states of the audio accelerator directly from the memory store in response to the resume. Thus, the retrieval of the one or more states can bypass the driver logic.Type: GrantFiled: December 30, 2011Date of Patent: September 8, 2015Assignee: Intel CorporationInventors: Shoumeng Yan, Xiaocheng Zhou, Lomesh Agarwal
-
Publication number: 20150212832Abstract: Various embodiments are generally directed an apparatus and method for configuring an execution environment in a user space for device driver operations and redirecting a device driver operation for execution in the execution environment in the user space including copying instructions of the device driver operation from the kernel space to a user process in the user space. In addition, the redirected device driver operation may be executed in the execution environment in the user space.Type: ApplicationFiled: July 16, 2013Publication date: July 30, 2015Inventors: Xiacheng Zhou, Hu Chen, Shoumeng Yan, Ying Gao
-
Publication number: 20150123978Abstract: Embodiments of the invention provide a programming model for CPU-GPU platforms. In particular, embodiments of the invention provide a uniform programming model for both integrated and discrete devices. The model also works uniformly for multiple GPU cards and hybrid GPU systems (discrete and integrated). This allows software vendors to write a single application stack and target it to all the different platforms. Additionally, embodiments of the invention provide a shared memory model between the CPU and GPU. Instead of sharing the entire virtual address space, only a part of the virtual address space needs to be shared. This allows efficient implementation in both discrete and integrated settings.Type: ApplicationFiled: December 10, 2014Publication date: May 7, 2015Inventors: Hu Chen, Ying Gao, Xiaocheng Zhou, Shoumeng Yan, Peinan Zhang, Mohan Rajagopalan, Jesse Fang, Avi Mendelson, Bratin Saha
-
Publication number: 20150113255Abstract: A computing platform may include heterogeneous processors (e.g., CPU and a GPU) to support sharing of virtual functions between such processors. In one embodiment, a CPU side vtable pointer used to access a shared object from the CPU 110 may be used to determine a GPU vtable if a GPU-side table exists. In another embodiment, a shared non-coherent region, which may not maintain data consistency, may be created within the shared virtual memory. The CPU and the GPU side data stored within the shared non-coherent region may have a same address as seen from the CPU and the GPU side. However, the contents of the CPU-side data may be different from that of GPU-side data as shared virtual memory may not maintain coherency during the run-time. In one embodiment, the vptr may be modified to point to the CPU vtable and GPU vtable stored in the shared virtual memory.Type: ApplicationFiled: December 12, 2014Publication date: April 23, 2015Inventors: Shoumeng Yan, Xiaocheng Zhou, Hu Chen, Ying Gao, Sai Luo, Bratin Saha
-
Patent number: 8997114Abstract: Embodiments of the invention provide language support for CPU-GPU platforms. In one embodiment, code can be flexibly executed on both the CPU and GPU. CPU code can offload a kernel to the GPU. That kernel may in turn call preexisting libraries on the CPU, or make other calls into CPU functions. This allows an application to be built without requiring the entire call chain to be recompiled. Additionally, in one embodiment data may be shared seamlessly between CPU and GPU. This includes sharing objects that may have virtual functions. Embodiments thus ensure the right virtual function gets invoked on the CPU or the GPU if a virtual function is called by either the CPU or GPU.Type: GrantFiled: February 5, 2014Date of Patent: March 31, 2015Assignee: Intel CorporationInventors: Xiaocheng Zhou, Shoumeng Yan, Ying Gao, Hu Chen, Peinan Zhang, Mohan Rajagopalan, Avi Mendelson, Bratin Saha
-
Patent number: 8997113Abstract: A computing platform may include heterogeneous processors (e.g., CPU and a GPU) to support sharing of virtual functions between such processors. In one embodiment, a CPU side vtable pointer used to access a shared object from the CPU 110 may be used to determine a GPU vtable if a GPU-side table exists. In other embodiment, a shared non-coherent region, which may not maintain data consistency, may be created within the shared virtual memory. The CPU and the GPU side data stored within the shared non-coherent region may have a same address as seen from the CPU and the GPU side. However, the contents of the CPU-side data may be different from that of GPU-side data as shared virtual memory may not maintain coherency during the run-time. In one embodiment, the vptr may be modified to point to the CPU vtable and GPU vtable stored in the shared virtual memory.Type: GrantFiled: September 24, 2010Date of Patent: March 31, 2015Assignee: Intel CorporationInventors: Shoumeng Yan, Sai Luo, Xiaocheng Zhou, Ying Gao, Hu Chen, Bratin Saha
-
Publication number: 20150019825Abstract: A computer system may comprise a computer platform and input-output devices. The computer platform may include a plurality of heterogeneous processors comprising a central processing unit (CPU) and a graphics processing unit (GPU) and a shared virtual memory supported by a physical private memory space of at least one heterogeneous processor or a physical shared memory shared by the heterogeneous processor. The CPU (producer) may create shared multi-version data and store such shared multi-version data in the physical private memory space or the physical shared memory. The GPU (consumer) may acquire or access the shared multi-version data.Type: ApplicationFiled: October 1, 2014Publication date: January 15, 2015Inventors: Ying GAO, Hu CHEN, Shoumeng YAN, Xiaocheng ZHOU, Sai LUO, Bratin SAHA
-
Publication number: 20150012281Abstract: An audio accelerator includes a decoder to decode first and second sets of data blocks, a processor to process the first and second sets of decoded data blocks, a storage area to store the first and second sets of processed data blocks, and a controller to generate interrupt signals for controlling operation of the decoder. The controller may control a rate at which data blocks are to be decoded by the decoder to reduce a time gap between outputting adjacent ones of the data blocks from the first and second sets in the storage area.Type: ApplicationFiled: September 29, 2012Publication date: January 8, 2015Inventors: Xiaocheng Zhou, Shoumeng Yan
-
Publication number: 20140375662Abstract: Embodiments of the invention provide a programming model for CPU-GPU platforms. In particular, embodiments of the invention provide a uniform programming model for both integrated and discrete devices. The model also works uniformly for multiple GPU cards and hybrid GPU systems (discrete and integrated). This allows software vendors to write a single application stack and target it to all the different platforms. Additionally, embodiments of the invention provide a shared memory model between the CPU and GPU. Instead of sharing the entire virtual address space, only a part of the virtual address space needs to be shared. This allows efficient implementation in both discrete and integrated settings.Type: ApplicationFiled: July 1, 2014Publication date: December 25, 2014Inventors: HU CHEN, YING GAO, XIAOCHENG ZHOU, SHOUMENG YAN, PEINAN ZHANG, MOHAN RAJAGOPALAN, JESSE FANG, AVI MENDELSON, Bratin Saha