Patents by Inventor Omid Fatemieh
Omid Fatemieh 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: 20220358142Abstract: An example method includes receiving a data load request requesting loading and partitioning of an unknown quantity of user data for storage at a data storage system. The user data including a partitioning key; a total data size of the user data; a plurality of rows, each row of the plurality of rows associated with a value defined by the partitioning key; and one or more columns. The method also includes identifying one or more storage constraints for the data storage system. The method further includes, after receiving the user data, determining a plurality of partitioning quantiles defining respective ranges of values of the partitioning key based on the user data and the one or more storage constraints for the data storage system; and range partitioning each row of the user data into files based on the value associated with the row defined by the partitioning key, and the respective ranges of the values of the partitioning key defined by the plurality of partitioning quantiles.Type: ApplicationFiled: July 25, 2022Publication date: November 10, 2022Applicant: Google LLCInventors: Seyed Omid Fatemieh, Mikhail Entin, Adrian Baras, Pavan Edara, Aleksandras Surna
-
Patent number: 11423049Abstract: A method for execution-time dynamic range partitioning includes receiving user data including a partitioning key and a clustering key. The user data includes a respective number of total rows defining a total data size for the user data. The method also includes identifying storage constraints for the data storage system. The storage constraints include a target file size and a target number of rows per file. The method further includes determining a plurality of split points for the user data based on the storage constraints. The method also includes generating partitioning quantiles from the plurality of split points that define a range between each split point of the plurality of split points. The method further includes range partitioning each row of the user data into files using the partitioning quantiles.Type: GrantFiled: May 11, 2020Date of Patent: August 23, 2022Assignee: Google LLCInventors: Seyed Omid Fatemieh, Mikhail Entin, Adrian Baras, Pavan Edara, Aleksandras Surna
-
Publication number: 20210349648Abstract: A method for execution-time dynamic range partitioning includes receiving user data including a partitioning key and a clustering key. The user data includes a respective number of total rows defining a total data size for the user data. The method also includes identifying storage constraints for the data storage system. The storage constraints include a target file size and a target number of rows per file. The method further includes determining a plurality of split points for the user data based on the storage constraints. The method also includes generating partitioning quantiles from the plurality of split points that define a range between each split point of the plurality of split points. The method further includes range partitioning each row of the user data into files using the partitioning quantiles.Type: ApplicationFiled: May 11, 2020Publication date: November 11, 2021Applicant: Google LLCInventors: Seyed Omid Fatemieh, Mikhail Entin, Adrian Baras, Pavan Edara, Aleksandras Surna
-
Patent number: 10157155Abstract: An operating system includes an interrupt router that dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. These assignments can be changed given current operating conditions of the system.Type: GrantFiled: August 19, 2016Date of Patent: December 18, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Patent number: 10098069Abstract: Mobile devices periodically send resource usage reports to an energy server. The reports include information such as an amount of energy used during a time interval, and identify processes that are executed on the mobile devices during the time interval. These reports are analyzed by the energy server and are used to generate statistics regarding the energy used by the mobile devices and the processes that are executed by the mobile devices. When a mobile device experiences a suspected energy spike, the mobile device generates and sends a report to the energy server. After confirming the energy spike, the energy server uses the statistics and the received report to identify one or more causes of the energy spike. The causes can include one or more processes, or the mobile device itself. The mobile device can reduce the amount of energy used based on the identified causes.Type: GrantFiled: February 6, 2014Date of Patent: October 9, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Ranveer Chandra, Omid Fatemieh, Parya Moinzadeh, Chandramohan A. Thekkath, Yinglian Xie
-
Publication number: 20160357689Abstract: An operating system includes an interrupt router that dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. These assignments can be changed given current operating conditions of the system.Type: ApplicationFiled: August 19, 2016Publication date: December 8, 2016Inventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Patent number: 9424212Abstract: An operating system is provided in which an interrupt router dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. On a regular basis, these assignments can be changed given current operating conditions of the system.Type: GrantFiled: June 13, 2013Date of Patent: August 23, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Patent number: 9411755Abstract: Systems and methods for debouncing a signal line within a computer device are provided. The mechanical nature of physical buttons and switches oftentimes present irregular or noisy signals on a signal line when depressed by a user. Thus, noise and/or irregular waveforms may be present on a signal line that is monitored to produce interrupt signals, when deemed valid and genuine. In many embodiments given herein, debounce modules and techniques set a debounce interval timer and/or a noise filtering interval timer in which debounce modules and/or techniques may note whether the signal line is still asserted (e.g., possibly a genuine interrupt signal) during the debounce interval timer and stable (e.g., no further interrupts have fired) during the noise filtering interval timer.Type: GrantFiled: April 21, 2013Date of Patent: August 9, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Murali Ravirala, Omid Fatemieh, Gabriel Knezek, Youssef Barakat
-
Publication number: 20150223172Abstract: Mobile devices periodically send resource usage reports to an energy server. The reports include information such as an amount of energy used during a time interval, and identify processes that are executed on the mobile devices during the time interval. These reports are analyzed by the energy server and are used to generate statistics regarding the energy used by the mobile devices and the processes that are executed by the mobile devices. When a mobile device experiences a suspected energy spike, the mobile device generates and sends a report to the energy server. After confirming the energy spike, the energy server uses the statistics and the received report to identify one or more causes of the energy spike. The causes can include one or more processes, or the mobile device itself. The mobile device can reduce the amount of energy used based on the identified causes.Type: ApplicationFiled: February 6, 2014Publication date: August 6, 2015Applicant: Microsoft CorporationInventors: Ranveer Chandra, Omid Fatemieh, Parya Moinzadeh, Chandramohan A. Thekkath, Yinglian Xie
-
Publication number: 20140372649Abstract: An operating system is provided in which an interrupt router dynamically steers each interrupt to one or more processors within set of processors based on overall load information from the set of processors. An interrupt source is assigned to a processor based on the load imposed by the interrupt source and the target overall load for the processor. For example, each processor can maintain information about each interrupt it processes over time. The operating system receives this historical load information to determine an expected load for interrupts of a given type from a given device, an overall load on the system, and a target load for each processor. Given a set of interrupt sources, their expected loads, and target load for each processor, each interrupt source can be assigned dynamically to a processor during runtime of the system. On a regular basis, these assignments can be changed given current operating conditions of the system.Type: ApplicationFiled: June 13, 2013Publication date: December 18, 2014Inventors: Andrew Raffman, Minsang Kim, Jason Wohlgemuth, Tristan Brown, Youssef Barakat, Omid Fatemieh
-
Publication number: 20140317327Abstract: Systems and methods for debouncing a signal line within a computer device are provided. The mechanical nature of physical buttons and switches oftentimes present irregular or noisy signals on a signal line when depressed by a user. Thus, noise and/or irregular waveforms may be present on a signal line that is monitored to produce interrupt signals, when deemed valid and genuine. In many embodiments given herein, debounce modules and techniques set a debounce interval timer and/or a noise filtering interval timer in which debounce modules and/or techniques may note whether the signal line is still asserted (e.g., possibly a genuine interrupt signal) during the debounce interval timer and stable (e.g., no further interrupts have fired) during the noise filtering interval timer.Type: ApplicationFiled: April 21, 2013Publication date: October 23, 2014Applicant: Microsoft CorporationInventors: Murali Ravirala, Omid Fatemieh, Gabriel Knezek, Youssef Barakat