Patents by Inventor Marcus Felipe Fontoura
Marcus Felipe Fontoura 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: 10542085Abstract: A method and system for selecting servers for storage of replicas of a block of data is provided. The system selects a first server for storage of the data. The first server has a first processor utilization classification and a first reimaging rate classification. The system then selects a second server for storage of the data. The second server has a second processor utilization classification and a second reimaging rate classification. The system selects the second server so that the second processor utilization classification is different from the first processor utilization classification and the second reimaging rate classification is different from the first reimaging rate classification.Type: GrantFiled: June 22, 2016Date of Patent: January 21, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Ricardo Bianchini, Inigo Goiri Presa, Marcus Felipe Fontoura, Georgios Prekas
-
Publication number: 20200012526Abstract: A system receives a request to deploy a virtual machine on one of a plurality of nodes running a plurality of virtual machines in a cloud computing system. The system receives a predicted lifetime for the virtual machine and an indication of an average lifetime of virtual machines running on each of the plurality of nodes. The system allocates the virtual machine to a first node when a first policy of collocating virtual machines with similar lifetimes on a node is adopted and the predicted lifetime is within a predetermined range of the average lifetime of virtual machines running on the first node. The system allocates the virtual machine to a second node when a second policy of collocating virtual machines with dissimilar lifetimes on a node is adopted and the predicted lifetime is not within the predetermined range of the average lifetime of virtual machines running on the second node.Type: ApplicationFiled: September 19, 2019Publication date: January 9, 2020Inventors: Ricardo BIANCHINI, Eli CORTEZ, Marcus Felipe FONTOURA, Anand BONDE
-
Patent number: 10423455Abstract: A system receives a request to deploy a virtual machine on one of a plurality of nodes running a plurality of virtual machines in a cloud computing system. The system receives a predicted lifetime for the virtual machine and an indication of an average lifetime of virtual machines running on each of the plurality of nodes. The system allocates the virtual machine to a first node when a first policy of collocating virtual machines with similar lifetimes on a node is adopted and the predicted lifetime is within a predetermined range of the average lifetime of virtual machines running on the first node. The system allocates the virtual machine to a second node when a second policy of collocating virtual machines with dissimilar lifetimes on a node is adopted and the predicted lifetime is not within the predetermined range of the average lifetime of virtual machines running on the second node.Type: GrantFiled: February 3, 2017Date of Patent: September 24, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Ricardo Bianchini, Eli Cortez, Marcus Felipe Fontoura, Anand Bonde
-
Publication number: 20190205157Abstract: A system receives a request to deploy a virtual machine on a node from a plurality of nodes running a plurality of virtual machines in a cloud computing system. The system selects one of the plurality of nodes having a hard disk drive (HDD) input output operations per second (IOPS) value less than an observed HDD IOPS value for the plurality of nodes running the plurality of virtual machines. The system receives a predicted HDD IOPS value for the virtual machine and determines a new HDD IOPS value for the selected node based on the HDD IOPS value for the selected node and the predicted HDD IOPS value for the virtual machine. The system instantiates the virtual machine on the selected node when the new HDD IOPS value for the selected node is less than or equal to the observed HDD IOPS value for the plurality of nodes.Type: ApplicationFiled: March 8, 2019Publication date: July 4, 2019Inventors: Ricardo BIANCHINI, Eli CORTEZ, Marcus Felipe FONTOURA, Anand BONDE
-
Publication number: 20190163517Abstract: Various embodiments, methods, and systems for implementing a predictive rightsizing system are provided. Predicted rightsized deployment configurations are generated for virtual machine “VM” deployments having deployment configurations that are modified to predicted rightsized deployment configurations based on a prediction engine. In operation, a VM deployment, associated with a request to deploy one or more VMs on a node, is accessed at a predictive rightsizing controller. A predicted resource utilization for the VM deployment is generated at the prediction engine and accessed at the predictive rightsizing controller. The predicted resource utilization is generated based on a prediction engine that uses past behaviors and features associated with previous VM deployments. Based on the predicted resource utilization, a predicted rightsized deployment configuration is generated for the VM deployment.Type: ApplicationFiled: August 28, 2018Publication date: May 30, 2019Inventors: Marcus Felipe FONTOURA, Ricardo Gouvea BIANCHINI, Girish BABLANI
-
Patent number: 10296367Abstract: A system receives a request to deploy a virtual machine on a node from a plurality of nodes running a plurality of virtual machines in a cloud computing system. The system selects one of the plurality of nodes having a hard disk drive (HDD) input output operations per second (IOPS) value less than an observed HDD IOPS value for the plurality of nodes running the plurality of virtual machines. The system receives a predicted HDD IOPS value for the virtual machine and determines a new HDD IOPS value for the selected node based on the HDD IOPS value for the selected node and the predicted HDD IOPS value for the virtual machine. The system instantiates the virtual machine on the selected node when the new HDD IOPS value for the selected node is less than or equal to the observed HDD IOPS value for the plurality of nodes.Type: GrantFiled: February 3, 2017Date of Patent: May 21, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Ricardo Bianchini, Eli Cortez, Marcus Felipe Fontoura, Anand Bonde
-
Patent number: 10261822Abstract: A system receives a request to deploy a virtual machine on a node from a plurality of nodes running a plurality of virtual machines in a cloud computing system. The system selects one of the plurality of nodes having a hard disk drive (HDD) input output operations per second (IOPS) value less than an observed HDD IOPS value for the plurality of nodes running the plurality of virtual machines. The system receives a predicted HDD IOPS value for the virtual machine and determines a new HDD IOPS value for the selected node based on the HDD IOPS value for the selected node and the predicted HDD IOPS value for the virtual machine. The system instantiates the virtual machine on the selected node when the new HDD IOPS value for the selected node is less than or equal to the observed HDD IOPS value for the plurality of nodes.Type: GrantFiled: February 3, 2017Date of Patent: April 16, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Ricardo Bianchini, Eli Cortez, Marcus Felipe Fontoura, Anand Bonde
-
Publication number: 20180260261Abstract: Various methods and systems for implementing an availability management system for implementing an availability management, in distributed computing systems, are provided. An availability management system implements an availability manager and an availability configuration interface to meet availability guarantees for tenant infrastructure. The availability management systems operates with availability zones, computing clusters, fault and upgrade domains to allocate and de-allocate virtual machine sets of virtual machine instances to a distributed computing system based on tenant-defined availability parameters. The availability manager is configured to: based on an availability profile, allocate the virtual machine sets across the availability zones using an allocation scheme.Type: ApplicationFiled: March 7, 2017Publication date: September 13, 2018Inventors: YUNUS MOHAMMED, JUN WANG, MARCUS FELIPE FONTOURA, MARK EUGENE RUSSINOVICH, MOHAMMAD ZEESHAN SIDDIQUI, PRITESH PATWA, SEAN DAVID ZIMMERMAN, XIAOXIONG TIAN
-
Publication number: 20180260262Abstract: Various methods and systems for implementing an availability management system for implementing an availability management, in distributed computing systems, are provided. An availability management system implements an availability manager and an availability configuration interface to meet availability guarantees for tenant infrastructure. The availability management systems operates with availability zones, computing clusters, fault and upgrade domains to allocate and de-allocate virtual machine sets of virtual machine instances to a distributed computing system based on tenant-defined availability parameters. The availability configuration interface of the availability management system supports receiving availability parameters that are used to generate an availability profile.Type: ApplicationFiled: March 7, 2017Publication date: September 13, 2018Inventors: YUNUS MOHAMMED, JUN WANG, MARCUS FELIPE FONTOURA, MARK EUGENE RUSSINOVICH, MOHAMMAD ZEESHAN SIDDIQUI, PRITESH PATWA, SEAN DAVID ZIMMERMAN, XIAOXIONG TIAN
-
Publication number: 20180262563Abstract: Various methods and systems for implementing an availability management system for implementing an availability management, in distributed computing systems, are provided. An availability management system implements an availability manager and an availability configuration interface to meet availability guarantees for tenant infrastructure. The availability management systems operates with availability zones, computing clusters, fault and upgrade domains to allocate and de-allocate virtual machine sets of virtual machine instances to a distributed computing system based on tenant-defined availability parameters. The availability parameters are used to generate an availability profile. The availability manager is configured to, based on an availability profile, allocate the virtual machine sets based an allocation scheme. The availability manager specifically performs scaling-out, scaling-in and rebalancing operations for allocating and de-allocating the virtual machine sets.Type: ApplicationFiled: March 7, 2017Publication date: September 13, 2018Inventors: YUNUS MOHAMMED, JUN WANG, MARCUS FELIPE FONTOURA, MARK EUGENE RUSSINOVICH, MOHAMMAD ZEESHAN SIDDIQUI, PRITESH PATWA, SEAN DAVID ZIMMERMAN, XIAOXIONG TIAN
-
Publication number: 20180225137Abstract: A system receives a request to deploy a virtual machine on a node from a plurality of nodes running a plurality of virtual machines in a cloud computing system. The system selects one of the plurality of nodes having a hard disk drive (HDD) input output operations per second (IOPS) value less than an observed HDD IOPS value for the plurality of nodes running the plurality of virtual machines. The system receives a predicted HDD IOPS value for the virtual machine and determines a new HDD IOPS value for the selected node based on the HDD IOPS value for the selected node and the predicted HDD IOPS value for the virtual machine. The system instantiates the virtual machine on the selected node when the new HDD IOPS value for the selected node is less than or equal to the observed HDD IOPS value for the plurality of nodes.Type: ApplicationFiled: February 3, 2017Publication date: August 9, 2018Inventors: Ricardo BIANCHINI, Eli Cortez, Marcus Felipe Fontoura, Anand Bonde
-
Publication number: 20180225149Abstract: A system receives a request to deploy a virtual machine on one of a plurality of nodes running a plurality of virtual machines in a cloud computing system. The system receives a predicted lifetime for the virtual machine and an indication of an average lifetime of virtual machines running on each of the plurality of nodes. The system allocates the virtual machine to a first node when a first policy of collocating virtual machines with similar lifetimes on a node is adopted and the predicted lifetime is within a predetermined range of the average lifetime of virtual machines running on the first node. The system allocates the virtual machine to a second node when a second policy of collocating virtual machines with dissimilar lifetimes on a node is adopted and the predicted lifetime is not within the predetermined range of the average lifetime of virtual machines running on the second node.Type: ApplicationFiled: February 3, 2017Publication date: August 9, 2018Inventors: Ricardo BIANCHINI, Eli CORTEZ, Marcus Felipe FONTOURA, Anand BONDE
-
Publication number: 20170374144Abstract: A method and system for selecting servers for storage of replicas of a block of data is provided. The system selects a first server for storage of the data. The first server has a first processor utilization classification and a first reimaging rate classification. The system then selects a second server for storage of the data. The second server has a second processor utilization classification and a second reimaging rate classification. The system selects the second server so that the second processor utilization classification is different from the first processor utilization classification and the second reimaging rate classification is different from the first reimaging rate classification.Type: ApplicationFiled: June 22, 2016Publication date: December 28, 2017Inventors: Ricardo Bianchini, Inigo Goiri Presa, Marcus Felipe Fontoura, Georgios Prekas
-
Publication number: 20140310100Abstract: Advertising is used to generate awareness of commercial Internet web sites. To greatly simplify the marketing of a commercial Internet web site, the automatic creation of an advertising campaign would be desirable. A method of automatically creating an Internet web site may be performed by first crawling through the Internet web site to identify products and services offered by the Internet web site. Information about the identified products and services is stored. The system then creates advertisements for the identified products and services. The advertisements may include images, text, a link to the web page where the product or service was found, and keywords associated with the product or service. The automatically created advertisements may then be placed into an advertisement pool for use with advertising supported web sites. The automatic Internet advertisement campaign creations system of the present invention may be used to create free trial advertisement campaigns for potential advertising clients.Type: ApplicationFiled: June 27, 2014Publication date: October 16, 2014Applicant: Yahoo! Inc.Inventors: Andrei Zary Broder, Marcus Felipe Fontoura, Vanja Josifovski
-
Patent number: 8688521Abstract: A system and method to facilitate matching of content to advertising information in a network are described. A request for advertising information is received over a network, the advertising information to be displayed for a user entity in association with content information within a web page requested by the user entity. Advertising information related to one or more themes of the content information on the web page is further determined, the themes representing subject matter contextually related to the content information. Advertisements are further selected from the advertising information based on keywords and metadata stored within the web page and based on a set of predetermined parameters stored within the data storage module. The selected advertisements are further ranked to obtain a ranked list of advertisements.Type: GrantFiled: July 20, 2007Date of Patent: April 1, 2014Assignee: Yahoo! Inc.Inventors: Andrei Zary Broder, Marcus Felipe Fontoura, Vanja Josifovski, Lance Alan Riedel
-
Patent number: 8666819Abstract: A system and method to facilitate classification and storage of events in a network are described. An event and associated content information are received from an entity over a network. The content information is further analyzed to determine one or more themes representing subject matter related to the content information. The event is further classified according to the themes into one or more corresponding categories. Finally, the event is stored into one or more corresponding databases of a data storage module according to the one or more corresponding categories.Type: GrantFiled: July 20, 2007Date of Patent: March 4, 2014Assignee: Yahoo! OvertureInventors: Andrei Zary Broder, Marcus Felipe Fontoura, Vanja Josifovski, Lance Alan Riedel
-
Patent number: 8650265Abstract: The World Wide Web portion of the Internet is largely supported by advertising. To deliver the most effective advertising, a system for dynamically creating customized advertisements is introduced. The behavior and any demographic information known about web viewers is used to select an advertising template that will be used to create an advertisement. The advertisement template comprises an incomplete advertisement with certain missing information along with identifiers for functions that may be used to complete the advertisement. In one embodiment, the functions may specify how the advertiser associated with the advertisement template may be contacted with the demographic information known about the user in order to fill in the missing portions of advertisement template. For example, the advertisement may concern flights to Hawaii and the advertiser may fill in the price of a flight to Hawaii based upon being provided with the user's location. The complete advertisement may then be displayed to the user.Type: GrantFiled: February 20, 2007Date of Patent: February 11, 2014Assignee: Yahoo! Inc.Inventors: Andrei Zary Broder, Marcus Felipe Fontoura, Vanja Josifovski
-
Patent number: 8346759Abstract: Provided are a system and article of manufacture for searching documents for ranges of numeric values. A number of posting lists is generated, wherein each posting list is associated with a range of consecutive values within the set of values and includes document identifiers for documents including at least one value within the range of consecutive values associated with the posting list, and wherein each document identifier is associated with one value in the set of values included in the document identified by the document identifier. The generated posting lists are stored. A query on a query range of values within the set of values is received and a determination is made of a minimum number of posting lists associated with consecutive values that together include the query range of values. The determined posting lists are merged.Type: GrantFiled: August 6, 2008Date of Patent: January 1, 2013Assignee: International Business Machines CorporationInventors: Marcus Felipe Fontoura, Ronny Lempel, Runping Qi, Jason Yeong Zien
-
Patent number: 8271498Abstract: Provided are a method, system, and article of manufacture for searching documents for ranges of numeric values. Document identifiers for documents are accessed, wherein the documents include at least one value that is a member of a set of values. A number of posting lists are generated. Each posting list is associated with a range of consecutive values within the set of values and includes document identifiers for documents including at least one value within the range of consecutive values associated with the posting list, and wherein each document identifier is associated with one value in the set of values included in the document identified by the document identifier. The generated posting lists are stored, wherein the posting lists are used to process a query on a range of values within the set of values.Type: GrantFiled: August 12, 2008Date of Patent: September 18, 2012Assignee: International Business Machines CorporationInventors: Marcus Felipe Fontoura, Ronny Lempel, Runping Qi, Jason Yeong Zien
-
Publication number: 20120096016Abstract: Provided are a method, system, and article of manufacture for searching documents for ranges of numeric values. Document identifiers for documents are accessed, wherein the documents include at least one value that is a member of a set of values. A number of posting lists are generated. Each posting list is associated with a range of consecutive values within the set of values and includes document identifiers for documents including at least one value within the range of consecutive values associated with the posting list, and wherein each document identifier is associated with one value in the set of values included in the document identified by the document identifier. The generated posting lists are stored, wherein the posting lists are used to process a query on a range of values within the set of values.Type: ApplicationFiled: December 22, 2011Publication date: April 19, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Marcus Felipe Fontoura, Ronny Lempel, Runping Qi, Jason Yeong Zien