Patents by Inventor Peter Bodik
Peter Bodik 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: 11354902Abstract: A method can include classifying, using a compressed and specialized convolutional neural network (CNN), an object of a video frame into classes, clustering the object based on a distance of a feature vector of the object to a feature vector of a centroid object of the cluster, storing top-k classes, a centroid identification, and a cluster identification, in response to receiving a query for objects of class X from a specific video stream, retrieving image data for each centroid of each cluster that includes the class X as one of the top-k classes, classifying, using a ground truth CNN (GT-CNN), the retrieved image data for each centroid, and for each centroid determined to be classified as a member of the class X providing image data for each object in each cluster associated with the centroid.Type: GrantFiled: May 15, 2020Date of Patent: June 7, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Ganesh Ananthanarayanan, Paramvir Bahl, Peter Bodik, Tsuwang Hsieh, Matthai Philipose
-
Patent number: 11170819Abstract: Described herein is a mechanism for creating a dynamic video highlight from a plurality of video segments. A metadata collection agent collects metadata comprising attributes about a video, segments within the video where one or more events occur, attributes about the creator of the video and so forth. The metadata is collected and used to create highlight video definitions comprising a set of metadata attribute-value pairs. The highlight video definitions can be created in an interactive fashion by presenting a user interface allowing selection of a combination of attribute-value pairs to include/exclude segments from the definition and/or manual selection of custom segments. The highlight video definitions can be stored and/or shared among users. The video highlight definitions are utilized to instantiate one or more video players to play the video segments in an identified order without assembling the video segments into a separate video.Type: GrantFiled: May 14, 2019Date of Patent: November 9, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Donald Frank Brinkman, Jr., Suvamsh Shivaprasad, Max Artemov, Lenin Ravindranath Sivalingam, Matthai Philipose, Peter Bodik
-
Publication number: 20200365188Abstract: Described herein is a mechanism for creating a dynamic video highlight from a plurality of video segments. A metadata collection agent collects metadata comprising attributes about a video, segments within the video where one or more events occur, attributes about the creator of the video and so forth. The metadata is collected and used to create highlight video definitions comprising a set of metadata attribute-value pairs. The highlight video definitions can be created in an interactive fashion by presenting a user interface allowing selection of a combination of attribute-value pairs to include/exclude segments from the definition and/or manual selection of custom segments. The highlight video definitions can be stored and/or shared among users. The video highlight definitions are utilized to instantiate one or more video players to play the video segments in an identified order without assembling the video segments into a separate video.Type: ApplicationFiled: May 14, 2019Publication date: November 19, 2020Inventors: Donald Frank Brinkman, JR., Suvamsh Shivaprasad, Max Artemov, Lenin Ravindranath Sivalingam, Matthai Philipose, Peter Bodik
-
Publication number: 20200334465Abstract: A method can include classifying, using a compressed and specialized convolutional neural network (CNN), an object of a video frame into classes, clustering the object based on a distance of a feature vector of the object to a feature vector of a centroid object of the cluster, storing top-k classes, a centroid identification, and a cluster identification, in response to receiving a query for objects of class X from a specific video stream, retrieving image data for each centroid of each cluster that includes the class X as one of the top-k classes, classifying, using a ground truth CNN (GT-CNN), the retrieved image data for each centroid, and for each centroid determined to be classified as a member of the class X providing image data for each object in each cluster associated with the centroid.Type: ApplicationFiled: May 15, 2020Publication date: October 22, 2020Inventors: Ganesh Ananthanarayanan, Paramvir Bahl, Peter Bodik, Tsuwang Hsieh, Matthai Philipose
-
Patent number: 10747665Abstract: In an embodiment, a partition cost of one or more of the plurality of partitions and a data block cost for one or more data blocks that may be subjected to a garbage collection operation are determined. The partition cost and the data block cost are combined into an overall reclaim cost by specifying both the partition cost and the data block cost in terms of a computing system latency. A byte constant multiplier that is configured to modify the overall reclaim cost to account for the amount of data objects that may be rewritten during the garbage collection operation may be applied. The one or more partitions and/or one or more data blocks that have the lowest overall reclaim cost while reclaiming an acceptable amount of data block space may be determined and be included in a garbage collection schedule.Type: GrantFiled: April 1, 2019Date of Patent: August 18, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Shane Kumar Mainali, Rushi Srinivas Surla, Peter Bodik, Ishai Menache, Yang Lu
-
Patent number: 10685235Abstract: A method can include classifying, using a compressed and specialized convolutional neural network (CNN), an object of a video frame into classes, clustering the object based on a distance of a feature vector of the object to a feature vector of a centroid object of the cluster, storing top-k classes, a centroid identification, and a cluster identification, in response to receiving a query for objects of class X from a specific video stream, retrieving image data for each centroid of each cluster that includes the class X as one of the top-k classes, classifying, using a ground truth CNN (GT-CNN), the retrieved image data for each centroid, and for each centroid determined to be classified as a member of the class X providing image data for each object in each cluster associated with the centroid.Type: GrantFiled: May 4, 2018Date of Patent: June 16, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Ganesh Ananthanarayanan, Paramvir Bahl, Peter Bodik, Tsuwang Hsieh, Matthai Philipose
-
Patent number: 10637797Abstract: Latency in responding to queries directed to geographically distributed data can be reduced by allocating individual steps, of a multi-step compute operation requested by the query, among the geographically distributed computing devices so as to reduce the duration of shuffling of intermediate data among such devices, and, additionally, by pre-moving, prior to the receipt of the query, portions of the distributed data that are input to a first step of the multistep compute operation, to, again, reduce the duration of the exchange of intermediate data. The pre-moving of input data occurring, and the adaptive allocation of intermediate steps, are prioritized for high-value data sets. Additionally, a threshold increase in a quantity of data exchanged across network communications can be established to avoid incurring network communication usage without an attendant gain in latency reduction.Type: GrantFiled: May 22, 2019Date of Patent: April 28, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Paramvir Bahl, Ganesh Ananthanarayanan, Srikanth Kandula, Peter Bodik, Qifan Pu, Srinivasa Aditya Akella
-
Publication number: 20190273695Abstract: Latency in responding to queries directed to geographically distributed data can be reduced by allocating individual steps, of a multi-step compute operation requested by the query, among the geographically distributed computing devices so as to reduce the duration of shuffling of intermediate data among such devices, and, additionally, by pre-moving, prior to the receipt of the query, portions of the distributed data that are input to a first step of the multistep compute operation, to, again, reduce the duration of the exchange of intermediate data. The pre-moving of input data occurring, and the adaptive allocation of intermediate steps, are prioritized for high-value data sets. Additionally, a threshold increase in a quantity of data exchanged across network communications can be established to avoid incurring network communication usage without an attendant gain in latency reduction.Type: ApplicationFiled: May 22, 2019Publication date: September 5, 2019Inventors: Paramvir Bahl, Ganesh Ananthanarayanan, Srikanth Kandula, Peter Bodik, Qifan Pu, Srinivasa Aditya Akella
-
Publication number: 20190227928Abstract: In an embodiment, a partition cost of one or more of the plurality of partitions and a data block cost for one or more data blocks that may be subjected to a garbage collection operation are determined. The partition cost and the data block cost are combined into an overall reclaim cost by specifying both the partition cost and the data block cost in terms of a computing system latency. A byte constant multiplier that is configured to modify the overall reclaim cost to account for the amount of data objects that may be rewritten during the garbage collection operation may be applied. The one or more partitions and/or one or more data blocks that have the lowest overall reclaim cost while reclaiming an acceptable amount of data block space may be determined and be included in a garbage collection schedule.Type: ApplicationFiled: April 1, 2019Publication date: July 25, 2019Inventors: Shane Kumar MAINALI, Rushi Srinivas SURLA, Peter BODIK, Ishai MENACHE, Yang LU
-
Publication number: 20190205649Abstract: A method can include classifying, using a compressed and specialized convolutional neural network (CNN), an object of a video frame into classes, clustering the object based on a distance of a feature vector of the object to a feature vector of a centroid object of the cluster, storing top-k classes, a centroid identification, and a cluster identification, in response to receiving a query for objects of class X from a specific video stream, retrieving image data for each centroid of each cluster that includes the class X as one of the top-k classes, classifying, using a ground truth CNN (GT-CNN), the retrieved image data for each centroid, and for each centroid determined to be classified as a member of the class X providing image data for each object in each cluster associated with the centroid.Type: ApplicationFiled: May 4, 2018Publication date: July 4, 2019Inventors: Ganesh Ananthanarayanan, Paramvir Bahl, Peter Bodik, Tsuwang Hsieh, Matthai Philipose
-
Patent number: 10320708Abstract: Latency in responding to queries directed to geographically distributed data can be reduced by allocating individual steps, of a multi-step compute operation requested by the query, among the geographically distributed computing devices so as to reduce the duration of shuffling of intermediate data among such devices, and, additionally, by pre-moving, prior to the receipt of the query, portions of the distributed data that are input to a first step of the multistep compute operation, to, again, reduce the duration of the exchange of intermediate data. The pre-moving of input data occurring, and the adaptive allocation of intermediate steps, are prioritized for high-value data sets. Additionally, a threshold increase in a quantity of data exchanged across network communications can be established to avoid incurring network communication usage without an attendant gain in latency reduction.Type: GrantFiled: November 20, 2015Date of Patent: June 11, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Paramvir Bahl, Ganesh Ananthanarayanan, Srikanth Kandula, Peter Bodik, Qifan Pu, Srinivasa Aditya Akella
-
Patent number: 10248562Abstract: In an embodiment, a partition cost of one or more of the plurality of partitions and a data block cost for one or more data blocks that may be subjected to a garbage collection operation are determined. The partition cost and the data block cost are combined into an overall reclaim cost by specifying both the partition cost and the data block cost in terms of a computing system latency. A byte constant multiplier that is configured to modify the overall reclaim cost to account for the amount of data objects that may be rewritten during the garbage collection operation may be applied. The one or more partitions and/or one or more data blocks that have the lowest overall reclaim cost while reclaiming an acceptable amount of data block space may be determined and be included in a garbage collection schedule.Type: GrantFiled: June 30, 2017Date of Patent: April 2, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Shane Kumar Mainali, Rushi Srinivas Surla, Peter Bodik, Ishai Menache, Yang Lu
-
Patent number: 10225582Abstract: A global manager communicates with various local managers to receive and process video queries. The video queries identify components that process live video streams, placement options for where the components of the video query may be executed, and various video query plans. The video query plans include options such as framerate and video quality. As the global manager processes the video queries, the global manager determines an initial set of video query configurations that identify a video query plan and placement option for each component of a given video query. Using the initial set of video query configurations, the global manager then determines an optimal set of video query configurations for the received set of video queries. The global manager communications instructions to the local managers to execute the components of the video queries using the video query plans and placement options from the optimal set of video query configurations.Type: GrantFiled: December 15, 2017Date of Patent: March 5, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Ganesh Ananthanarayanan, Matthai Philipose, Peter Bodik, Chien-Chun Hung, Paramvir Bahl
-
Patent number: 10223604Abstract: Various technologies described herein pertain to performing video analytics. The approaches set forth herein support live video analytics at scale with approximate and delay-tolerant processing. Video streams can be captured by multiple cameras and continuously streamed to a video analytics computing system; the video streams can be received at the video analytics computing system. Multiple video analytics queries can be executed on the video streams. The multiple video analytics queries can be concurrently executed by the video analytics computing system on the video streams as the video streams are continuously streamed to the video analytics computing system. The multiple video analytics queries can be executed utilizing resources of the video analytics computing system allocated between the multiple video analytics queries. Execution of the multiple video analytics queries can return respective results for the multiple video analytics queries.Type: GrantFiled: December 8, 2016Date of Patent: March 5, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Paramvir Bahl, Peter Bodik, Matthai Philipose, Ganesh Ananthanarayanan, Haoyu Zhang
-
Publication number: 20190068996Abstract: A global manager communicates with various local managers to receive and process video queries. The video queries identify components that process live video streams, placement options for where the components of the video query may be executed, and various video query plans. The video query plans include options such as framerate and video quality. As the global manager processes the video queries, the global manager determines an initial set of video query configurations that identify a video query plan and placement option for each component of a given video query. Using the initial set of video query configurations, the global manager then determines an optimal set of video query configurations for the received set of video queries. The global manager communications instructions to the local managers to execute the components of the video queries using the video query plans and placement options from the optimal set of video query configurations.Type: ApplicationFiled: December 15, 2017Publication date: February 28, 2019Inventors: Ganesh Ananthanarayanan, Matthai Philipose, Peter Bodik, Chien-Chun Hung, Paramvir Bahl
-
Publication number: 20190004943Abstract: In an embodiment, a partition cost of one or more of the plurality of partitions and a data block cost for one or more data blocks that may be subjected to a garbage collection operation are determined. The partition cost and the data block cost are combined into an overall reclaim cost by specifying both the partition cost and the data block cost in terms of a computing system latency. A byte constant multiplier that is configured to modify the overall reclaim cost to account for the amount of data objects that may be rewritten during the garbage collection operation may be applied. The one or more partitions and/or one or more data blocks that have the lowest overall reclaim cost while reclaiming an acceptable amount of data block space may be determined and be included in a garbage collection schedule.Type: ApplicationFiled: June 30, 2017Publication date: January 3, 2019Inventors: Shane Kumar MAINALI, Rushi Srinivas SURLA, Peter BODIK, Ishai MENACHE, Yang LU
-
Publication number: 20180129892Abstract: Various technologies described herein pertain to performing video analytics. The approaches set forth herein support live video analytics at scale with approximate and delay-tolerant processing. Video streams can be captured by multiple cameras and continuously streamed to a video analytics computing system; the video streams can be received at the video analytics computing system. Multiple video analytics queries can be executed on the video streams. The multiple video analytics queries can be concurrently executed by the video analytics computing system on the video streams as the video streams are continuously streamed to the video analytics computing system. The multiple video analytics queries can be executed utilizing resources of the video analytics computing system allocated between the multiple video analytics queries. Execution of the multiple video analytics queries can return respective results for the multiple video analytics queries.Type: ApplicationFiled: December 8, 2016Publication date: May 10, 2018Inventors: Paramvir Bahl, Peter Bodik, Matthai Philipose, Ganesh Ananthanarayanan, Haoyu Zhang
-
Publication number: 20170149691Abstract: Latency in responding to queries directed to geographically distributed data can be reduced by allocating individual steps, of a multi-step compute operation requested by the query, among the geographically distributed computing devices so as to reduce the duration of shuffling of intermediate data among such devices, and, additionally, by pre-moving, prior to the receipt of the query, portions of the distributed data that are input to a first step of the multistep compute operation, to, again, reduce the duration of the exchange of intermediate data. The pre-moving of input data occurring, and the adaptive allocation of intermediate steps, are prioritized for high-value data sets. Additionally, a threshold increase in a quantity of data exchanged across network communications can be established to avoid incurring network communication usage without an attendant gain in latency reduction.Type: ApplicationFiled: November 20, 2015Publication date: May 25, 2017Inventors: Paramvir Bahl, Ganesh Ananthanarayanan, Srikanth Kandula, Peter Bodik, Qifan Pu, Srinivasa Aditya Akella
-
Patent number: 9262216Abstract: A computing cluster operated according to a resource allocation policy based on a predictive model of completion time. The predictive model may be applied in a resource control loop that iteratively updates resources assigned to an executing job. At each iteration, the amount of resources allocated to the job may be updated based on of the predictive model so that the job will be scheduled to complete execution at a target completion time. The target completion time may be derived from a utility function determined for the job. The utility function, in turn, may be derived from a service level agreement with service guarantees and penalties for late completion of a job. Allocating resources in this way may maximize utility for an operator of the computing cluster while minimizing disruption to other jobs that may be concurrently executing.Type: GrantFiled: February 14, 2012Date of Patent: February 16, 2016Assignee: Microsoft Technologies Licensing, LLCInventors: Peter Bodik, Andrew D. Ferguson, Srikanth Kandula, Eric Boutin
-
Publication number: 20130326038Abstract: Upon receiving a request to improve one or more conditions of a datacenter network, a fault management system may analyze information of the datacenter network including communication patterns among services provided in the network. The fault management system determines one or more logical machines associated with one or more services to be moved from one or more devices to one or more other devices of the network. The fault management system may select these one or more logical machines for migration based on a cost function including factors for fault tolerance, bandwidth usage, number of moves and/or response time latency. The fault management system may improve the fault tolerance of the network without significantly affecting the bandwidth usage of the network.Type: ApplicationFiled: June 5, 2012Publication date: December 5, 2013Applicant: Microsoft CorporationInventors: Peter Bodik, Ishai Menache, Peter Winkler, Gregory M. Foxman, N. M. Mosharaf Kabir Chowdhury