Patents by Inventor Milan Vojnovic

Milan Vojnovic 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: 11361483
    Abstract: Graph partitioning for massive scale graphs is described, such as for graphs having vertices representing people and edges representing connections between people in a social networking system; or for graphs where the vertices represent other items and the edges represent relationships between the items. In various embodiments a graph data allocator receives a graph vertex and its edges and allocates the vertex to one of a plurality of clusters each associated with one or more computing devices. In various embodiments the allocation is made by optimizing an objective function which takes into account both a cost of edges between clusters and a cost related to sizes of the clusters. In some examples the cost related to sizes of the clusters comprises a convex function applied to each of the cluster sizes. In examples, computations on the graph data are carried out with reduced runtimes and communications cost.
    Type: Grant
    Filed: December 20, 2018
    Date of Patent: June 14, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Milan Vojnovic, Charalampos E. Tsourakakis, Christos Gkantsidis, Boz̆idar Radunovic
  • Publication number: 20220092176
    Abstract: Apparatuses and methods for determining if a computer program is malware and to which malware class it belongs to. In the method the behaviour of a computer program is traced by observing the activity of the program. Behaviour sequences comprising API-calls or similar activity of a computer program are then provided into a classifier for classifying the computer program. From the outcome of the classifier a classification result and the portions relevant to decision can be provided to a person for further confirmation.
    Type: Application
    Filed: November 30, 2021
    Publication date: March 24, 2022
    Inventors: Moez DRAIEF, Xiang CHEN, Konstantin KUTZKOV, Kevin SCAMAN, Milan VOJNOVIC
  • Patent number: 11010193
    Abstract: Embodiments for efficient queue management for cluster scheduling and managing task queues for tasks which are to be executed in a distributed computing environment. Both centralized and distributed scheduling is provided. Task queues may be bound by length-based bounding or delay-based bounding. Tasks may be prioritized and task queues may be dynamically reordered based on task priorities. Job completion times and cluster resource utilization may both be improved.
    Type: Grant
    Filed: April 16, 2018
    Date of Patent: May 18, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Konstantinos Karanasos, Sriram Rao, Srikanth Kandula, Milan Vojnovic, Jeffrey Thomas Rasley, Rodrigo Lopes Cancado Fonseca
  • Publication number: 20190385347
    Abstract: Graph partitioning for massive scale graphs is described, such as for graphs having vertices representing people and edges representing connections between people in a social networking system; or for graphs where the vertices represent other items and the edges represent relationships between the items. In various embodiments a graph data allocator receives a graph vertex and its edges and allocates the vertex to one of a plurality of clusters each associated with one or more computing devices. In various embodiments the allocation is made by optimizing an objective function which takes into account both a cost of edges between clusters and a cost related to sizes of the clusters. In some examples the cost related to sizes of the clusters comprises a convex function applied to each of the cluster sizes. In examples, computations on the graph data are carried out with reduced runtimes and communications cost.
    Type: Application
    Filed: December 20, 2018
    Publication date: December 19, 2019
    Inventors: Milan VOJNOVIC, Charalampos E. TSOURAKAKIS, Christos GKANTSIDIS, Bozidar RADUNOVIC
  • Patent number: 10198834
    Abstract: Graph partitioning for massive scale graphs is described, such as for graphs having vertices representing people and edges representing connections between people in a social networking system; or for graphs where the vertices represent other items and the edges represent relationships between the items. In various embodiments a graph data allocator receives a graph vertex and its edges and allocates the vertex to one of a plurality of clusters each associated with one or more computing devices. In various embodiments the allocation is made by optimizing an objective function which takes into account both a cost of edges between clusters and a cost related to sizes of the clusters. In some examples the cost related to sizes of the clusters comprises a convex function applied to each of the cluster sizes. In examples, computations on the graph data are carried out with reduced runtimes and communications cost.
    Type: Grant
    Filed: April 29, 2013
    Date of Patent: February 5, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Milan Vojnovic, Charalampos E. Tsourakakis, Christos Gkantsidis, Bo{hacek over (z)}idar Radunović
  • Publication number: 20180300174
    Abstract: Embodiments for efficient queue management for cluster scheduling and managing task queues for tasks which are to be executed in a distributed computing environment. Both centralized and distributed scheduling is provided. Task queues may be bound by length-based bounding or delay-based bounding. Tasks may be prioritized and task queues may be dynamically reordered based on task priorities. Job completion times and cluster resource utilization may both be improved.
    Type: Application
    Filed: April 16, 2018
    Publication date: October 18, 2018
    Inventors: Konstantinos KARANASOS, Sriram RAO, Srikanth KANDULA, Milan VOJNOVIC, Jeffrey Thomas RASLEY, Rodrigo Lopes Cancado FONSECA
  • Patent number: 10103949
    Abstract: Count tracking in distributed environments is described, for example, as in data centers where many sites receive data and a coordinator node estimates a sum of the data received across the sites. Count tracking may be used in database applications, search engines, social networking applications and others. In various embodiments sites and a coordinator node work together to implement a process for summing data received at sites, where the sum takes into account both increments and decrements. In examples, a site decides whether to notify the coordinator node of a new data item according to a sampling probability that is related to an estimate of the current global sum of the data input across sites. In some examples a multi-mode algorithm is implemented which increases or decreases communication between the sites and the coordinator node according to behavior of the estimated global sum such that communications costs are optimized.
    Type: Grant
    Filed: March 15, 2012
    Date of Patent: October 16, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Zhenming Liu, Bozidar Radunovic, Milan Vojnovic
  • Publication number: 20180075347
    Abstract: A computation node of a neural network training system is described. The node has a memory storing a plurality of gradients of a loss function of the neural network and an encoder. The encoder encodes the plurality of gradients by setting individual ones of the gradients either to zero or to a quantization level according to a probability related to at least the magnitude of the individual gradient. The node has a processor which sends the encoded plurality of gradients to one or more other computation nodes of the neural network training system over a communications network.
    Type: Application
    Filed: September 15, 2016
    Publication date: March 15, 2018
    Inventors: Dan Alistarh, Jerry Zheng Li, Ryota Tomioka, Milan Vojnovic
  • Patent number: 9819558
    Abstract: Streaming query resource control is described, for example, to allocate streaming queries to servers in a data center providing a streaming query platform. In various embodiments streaming queries are allocated to servers in a manner seeking to balance load between the servers and also to reduce network traffic costs between data stream sources and the servers. In various examples, query types are taken into account, where a query type is the identity of one or more data stream sources used by the query, and optionally also traffic rates of the data stream sources. In some examples, processes for allocating incoming queries in an online fashion are described and in some examples, processes for allocating queries in an offline fashion are described. In examples, a network traffic cost metric is used which takes into account an incremental network traffic cost of adding a given query at a server.
    Type: Grant
    Filed: March 3, 2014
    Date of Patent: November 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Milan Vojnovic, Christos Gkantsidis, Bo Zong
  • Publication number: 20150249583
    Abstract: Streaming query resource control is described, for example, to allocate streaming queries to servers in a data center providing a streaming query platform. In various embodiments streaming queries are allocated to servers in a manner seeking to balance load between the servers and also to reduce network traffic costs between data stream sources and the servers. In various examples, query types are taken into account, where a query type is the identity of one or more data stream sources used by the query, and optionally also traffic rates of the data stream sources. In some examples, processes for allocating incoming queries in an online fashion are described and in some examples, processes for allocating queries in an offline fashion are described. In examples, a network traffic cost metric is used which takes into account an incremental network traffic cost of adding a given query at a server.
    Type: Application
    Filed: March 3, 2014
    Publication date: September 3, 2015
    Applicant: Microsoft Corporation
    Inventors: Milan Vojnovic, Christos Gkantsidis, Bo Zong
  • Patent number: 8886731
    Abstract: A decentralized relaying algorithm for mobile devices is described. In an embodiment, a mobile device acts as a relay within a network of mobile devices and on contact with a source device downloads messages from the source according to a locally stored relaying probability for each channel of information within the network. These messages are subsequently downloaded to another device which is the end user of the message. Where the relay does not download the message from the source as a result of the decision made based on the relaying probability, a virtual message is downloaded which comprises metadata only and not the payload of the message. The relay updates the stored relaying probabilities for each channel based on locally observable information which includes feedback received from mobile devices to which the relay has downloaded messages. The feedback identifies unique paths for the payload of messages through the network.
    Type: Grant
    Filed: June 1, 2011
    Date of Patent: November 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Dinan Gunawardena, Thomas Karagiannis, Alexandre Proutiere, Milan Vojnovic
  • Publication number: 20140320497
    Abstract: Graph partitioning for massive scale graphs is described, such as for graphs having vertices representing people and edges representing connections between people in a social networking system; or for graphs where the vertices represent other items and the edges represent relationships between the items. In various embodiments a graph data allocator receives a graph vertex and its edges and allocates the vertex to one of a plurality of clusters each associated with one or more computing devices. In various embodiments the allocation is made by optimizing an objective function which takes into account both a cost of edges between clusters and a cost related to sizes of the clusters. In some examples the cost related to sizes of the clusters comprises a convex function applied to each of the cluster sizes. In examples, computations on the graph data are carried out with reduced runtimes and communications cost.
    Type: Application
    Filed: April 29, 2013
    Publication date: October 30, 2014
    Applicant: Microsoft Corporation
    Inventors: Milan Vojnovic, Charalampos E. Tsourakakis, Christos Gkantsidis, Bozidar Radunovic
  • Patent number: 8695009
    Abstract: Allocating tasks to machines in computing clusters is described. In an embodiment a set of tasks associated with a job are received at a scheduler. In an embodiment an index can be computed for each combination of tasks and processors and stored in a lookup table. In an example the index may be include an indication of the preference for the task to be processed on a particular processor, an indication of a waiting time for the task to be processed and an indication of how other tasks being processed in the computing cluster may be penalized by assigning a task to a particular processor. In an embodiment tasks are assigned to a processor by accessing the lookup table, selecting a task for processing using the index and scheduling the selected task for allocation to a processor.
    Type: Grant
    Filed: April 18, 2011
    Date of Patent: April 8, 2014
    Assignee: Microsoft Corporation
    Inventors: Milan Vojnovic, Amin Karbasi
  • Publication number: 20130246608
    Abstract: Count tracking in distributed environments is described, for example, as in data centers where many sites receive data and a coordinator node estimates a sum of the data received across the sites. Count tracking may be used in database applications, search engines, social networking applications and others. In various embodiments sites and a coordinator node work together to implement a process for summing data received at sites, where the sum takes into account both increments and decrements. In examples, a site decides whether to notify the coordinator node of a new data item according to a sampling probability that is related to an estimate of the current global sum of the data input across sites. In some examples a multi-mode algorithm is implemented which increases or decreases communication between the sites and the coordinator node according to behavior of the estimated global sum such that communications costs are optimized.
    Type: Application
    Filed: March 15, 2012
    Publication date: September 19, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Zhenming Liu, Bozidar Radunovic, Milan Vojnovic
  • Patent number: 8380554
    Abstract: Crowdsourcing is described, for example, where solutions to tasks such as designing a logo, writing a piece of code or answering a question are solicited by making open calls to large scale communities. In an example, a crowdsourcing node models a plurality of contests as all-pay auctions, each contest having a task and a reward. In examples, the crowdsourcing node is arranged to set rewards for the contests so that the optimal results are received for each contest owner, those owners having provided a budget and using a utility function for each of the contests.
    Type: Grant
    Filed: June 1, 2012
    Date of Patent: February 19, 2013
    Assignee: Microsoft Corporation
    Inventors: Milan Vojnovic, Dominic Daniel DiPalantino
  • Publication number: 20120309358
    Abstract: A decentralized relaying algorithm for mobile devices is described. In an embodiment, a mobile device acts as a relay within a network of mobile devices and on contact with a source device downloads messages from the source according to a locally stored relaying probability for each channel of information within the network. These messages are subsequently downloaded to another device which is the end user of the message. Where the relay does not download the message from the source as a result of the decision made based on the relaying probability, a virtual message is downloaded which comprises metadata only and not the payload of the message. The relay updates the stored relaying probabilities for each channel based on locally observable information which includes feedback received from mobile devices to which the relay has downloaded messages. The feedback identifies unique paths for the payload of messages through the network.
    Type: Application
    Filed: June 1, 2011
    Publication date: December 6, 2012
    Applicant: Microsoft Corporation
    Inventors: Dinan Gunawardena, Thomas Karagiannis, Alexandre Proutiere, Milan Vojnovic
  • Publication number: 20120266176
    Abstract: Allocating tasks to machines in computing clusters is described. In an embodiment a set of tasks associated with a job are received at a scheduler. In an embodiment an index can be computed for each combination of tasks and processors and stored in a lookup table. In an example the index may be include an indication of the preference for the task to be processed on a particular processor, an indication of a waiting time for the task to be processed and an indication of how other tasks being processed in the computing cluster may be penalized by assigning a task to a particular processor. In an embodiment tasks are assigned to a processor by accessing the lookup table, selecting a task for processing using the index and scheduling the selected task for allocation to a processor.
    Type: Application
    Filed: April 18, 2011
    Publication date: October 18, 2012
    Applicant: Microsoft Corporation
    Inventors: Milan Vojnovic, Amin Karbasi
  • Publication number: 20120239459
    Abstract: Crowdsourcing is described, for example, where solutions to tasks such as designing a logo, writing a piece of code or answering a question are solicited by making open calls to large scale communities. In an example, a crowdsourcing node models a plurality of contests as all-pay auctions, each contest having a task and a reward. In examples, the crowdsourcing node is arranged to set rewards for the contests so that the optimal results are received for each contest owner, those owners having provided a budget and using a utility function for each of the contests.
    Type: Application
    Filed: June 1, 2012
    Publication date: September 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Milan Vojnovic, Dominic Daniel DiPalantino
  • Patent number: 8195498
    Abstract: Crowdsourcing is described, for example, where solutions to tasks such as designing a logo, writing a piece of code or answering a question are solicited by making open calls to large scale communities. In an example, a crowdsourcing node models a plurality of contests as all-pay auctions, each contest having a task and a reward. In examples, the crowdsourcing node is arranged to set rewards for the contests so that the optimal results are received for each contest owner, those owners having provided a budget and using a utility function for each of the contests. In examples, the crowdsourcing node is arranged to recommend contests to potential participants so that those participants can more easily decide which tasks to take on next.
    Type: Grant
    Filed: May 18, 2009
    Date of Patent: June 5, 2012
    Assignee: Microsoft Corporation
    Inventors: Milan Vojnovic, Dominic Daniel DiPalantino
  • Patent number: 8081581
    Abstract: Sampling rules for information dissemination are described which may be applied in a system containing a number of nodes arranged into groups. A target address is selected using one of two methods: selection of an address from the entire address space of the system and selection of an address from a part of the address space which corresponds to set of groups of nodes. The set of groups of nodes is updated when information is successfully disseminated to a node at a target address selected using the first of the two methods. Rules to determine which of the two methods are used for any particular selection operation are also described.
    Type: Grant
    Filed: January 30, 2008
    Date of Patent: December 20, 2011
    Assignee: Microsoft Corporation
    Inventors: Milan Vojnovic, Varun Gupta, Thomas Karagiannis, Christos Gkantsidis