Patents by Inventor Stanko Novakovic
Stanko Novakovic 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: 20220405004Abstract: The present disclosure relates to systems, methods, and computer-readable media for tracking memory usage data on a memory controller system and providing a mechanism whereby one or multiple accessing agents (e.g., computing nodes, applications, virtual machines) can access memory usage data for a memory resource managed by a memory controller. Indeed, the systems described herein facilitate generation of and access to heatmaps having memory usage data thereon. The systems described herein describe features and functionality related to generating and maintaining the heatmaps as well as providing access to the heatmaps to a variety of accessing agents. This memory tracking and accessing is performed using low processing overhead while providing useful information to accessing agents in connection with memory resources managed by a memory controller.Type: ApplicationFiled: August 24, 2022Publication date: December 22, 2022Inventors: Lisa Ru-Feng HSU, Aninda MANOCHA, Ishwar AGARWAL, Daniel Sebastian BERGER, Stanko NOVAKOVIC, Janaina Barreiro GAMBARO BUENO, Vishal SONI
-
Patent number: 11442654Abstract: The present disclosure relates to systems, methods, and computer-readable media for tracking memory usage data on a memory controller system and providing a mechanism whereby one or multiple accessing agents (e.g., computing nodes, applications, virtual machines) can access memory usage data for a memory resource managed by a memory controller. Indeed, the systems described herein facilitate generation of and access to heatmaps having memory usage data thereon. The systems described herein describe features and functionality related to generating and maintaining the heatmaps as well as providing access to the heatmaps to a variety of accessing agents. This memory tracking and accessing is performed using low processing overhead while providing useful information to accessing agents in connection with memory resources managed by a memory controller.Type: GrantFiled: October 15, 2020Date of Patent: September 13, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Lisa Ru-Feng Hsu, Aninda Manocha, Ishwar Agarwal, Daniel Sebastian Berger, Stanko Novakovic, Janaina Barreiro Gambaro Bueno, Vishal Soni
-
Patent number: 11403141Abstract: Systems and methods related to harvesting of the unused resources in a distributed computing system are described. An example method, in a system including a host server, having a first instruction set architecture (ISA), and an interface card, having a second ISA is provided. The method includes designating at least one type of resource, associated with the host server for harvesting by compute entities configured for execution using the processor having the second ISA, where the host server is configured to execute compute entities requiring execution by the processor having the first ISA. The method further includes in response to a request for accessing the at least one type of resource by a compute entity, executing on the processor having the second ISA, automatically allowing the compute entity to access the at least one type of resource associated with the host server.Type: GrantFiled: May 4, 2020Date of Patent: August 2, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Stanko Novakovic, Íñigo Goiri Presa, Sameh Elnikety, Ricardo G. Bianchini
-
Publication number: 20220164118Abstract: The present disclosure relates to systems, methods, and computer-readable media for managing tracked memory usage data and performing various actions based on memory usage data tracked by a memory controller on a memory device. For example, systems described herein involve collecting and compiling data across one or more memory controllers to evaluate characteristics of the memory usage data to determine hotness metric(s) for segments of a memory resource. The systems described herein may perform a variety of segment actions based on the hotness metric(s). In addition, the systems described herein can compile the memory usage data according to one or more access granularities. This compiled data may further be shared with multiple accessing agents in accordance with access resolutions of the respective accessing agents.Type: ApplicationFiled: November 23, 2020Publication date: May 26, 2022Inventors: Lisa Ru-Feng HSU, Aninda MANOCHA, Ishwar AGARWAL, Daniel Sebastian BERGER, Stanko NOVAKOVIC, Janaina Barreiro GAMBARO BUENO, Vishal SONI
-
Publication number: 20220121386Abstract: The present disclosure relates to systems, methods, and computer-readable media for tracking memory usage data on a memory controller system and providing a mechanism whereby one or multiple accessing agents (e.g., computing nodes, applications, virtual machines) can access memory usage data for a memory resource managed by a memory controller. Indeed, the systems described herein facilitate generation of and access to heatmaps having memory usage data thereon. The systems described herein describe features and functionality related to generating and maintaining the heatmaps as well as providing access to the heatmaps to a variety of accessing agents. This memory tracking and accessing is performed using low processing overhead while providing useful information to accessing agents in connection with memory resources managed by a memory controller.Type: ApplicationFiled: October 15, 2020Publication date: April 21, 2022Inventors: Lisa Ru-Feng HSU, Aninda MANOCHA, Ishwar AGARWAL, Daniel Sebastian BERGER, Stanko NOVAKOVIC, Janaina Barreiro GAMBARO BUENO, Vishal SONI
-
Publication number: 20210342188Abstract: Systems and methods related to harvesting of the unused resources in a distributed computing system are described. An example method, in a system including a host server, having a first instruction set architecture (ISA), and an interface card, having a second ISA is provided. The method includes designating at least one type of resource, associated with the host server for harvesting by compute entities configured for execution using the processor having the second ISA, where the host server is configured to execute compute entities requiring execution by the processor having the first ISA. The method further includes in response to a request for accessing the at least one type of resource by a compute entity, executing on the processor having the second ISA, automatically allowing the compute entity to access the at least one type of resource associated with the host server.Type: ApplicationFiled: May 4, 2020Publication date: November 4, 2021Inventors: Stanko NOVAKOVIC, Íñigo GOIRI PRESA, Sameh ELNIKETY, Ricardo G. BIANCHINI
-
Patent number: 11157038Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.Type: GrantFiled: March 2, 2020Date of Patent: October 26, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
-
Patent number: 11089022Abstract: The present disclosure provides an approach for granting access to a resource located on a first server, the granting being done by a second server to a third server. The method results in a decentralized granting of access to a resource, preventing a bottleneck in the first server that could develop if the first server were to grant each access to each of its resources. The access is provided in the form of an encrypted capability, and transmitted through a secure channel. The code on the second server for granting access is located within an encrypted memory region, such that unauthorized processes cannot access the code or the data within the encrypted memory region.Type: GrantFiled: February 18, 2019Date of Patent: August 10, 2021Assignee: VMware, Inc.Inventors: Gerd Zellweger, Stanko Novakovic
-
Publication number: 20210092122Abstract: Embodiments described herein involve resource protection in a network. Embodiments include receiving, by a switch, a grant message from a first computing entity including a key and an indication of a first capability granted to a second computing entity to perform one or more operations with respect to a resource. Embodiments include generating, by the switch, an entry in a capability table based on the grant message. Embodiments include receiving, by the switch, a request from the second computing entity to perform an operation of the one or more operations with respect to the resource, wherein the request comprises the key. Embodiments include confirming, by the switch, that the second computing entity is permitted to perform the operation based on the key and the entry in the capability table. Embodiments include transmitting, by the switch, the request to the first computing entity in response to the confirming.Type: ApplicationFiled: September 23, 2019Publication date: March 25, 2021Inventors: Gerd ZELLWEGER, Stanko NOVAKOVIC
-
Patent number: 10929376Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes for performing transactions comprising one or more read operations and/or one or more write operations. The node comprises a local clock which is synchronized with a master clock and maintains a measure of uncertainty indicating current minimum and maximum values of the master clock. The method to perform transactions involving read operations generates a read timestamp representing a point in time which is earlier than a current minimum value of the master clock. The method then reads the objects and determines, for each of them, whether a timestamp associated with that object is later than the read timestamp. If so, an error handling procedure is performed for that object.Type: GrantFiled: March 22, 2018Date of Patent: February 23, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
-
Publication number: 20200267152Abstract: The present disclosure provides an approach for granting access to a resource located on a first server, the granting being done by a second server to a third server. The method results in a decentralized granting of access to a resource, preventing a bottleneck in the first server that could develop if the first server were to grant each access to each of its resources. The access is provided in the form of an encrypted capability, and transmitted through a secure channel. The code on the second server for granting access is located within an encrypted memory region, such that unauthorized processes cannot access the code or the data within the encrypted memory region.Type: ApplicationFiled: February 18, 2019Publication date: August 20, 2020Inventors: Gerd ZELLWEGER, Stanko NOVAKOVIC
-
Patent number: 10706005Abstract: Exemplary methods, apparatuses, and systems include a distributed memory agent within a first node intercepting an operating system request to open a file from an application running on the first node. The request includes a file identifier, which the distributed memory agent transmits to a remote memory manager. The distributed memory agent receives, from the remote memory manager, a memory location within a second node for the file identifier and information to establish a remote direct memory access channel between the first node and the second node. In response to the request to open the file, the distributed memory agent establishes the remote direct memory access channel between the first node and the second node. The remote direct memory access channel allows the first node to read directly from or write directly to the memory location within the second node while bypassing an operating system of the second node.Type: GrantFiled: December 8, 2017Date of Patent: July 7, 2020Assignee: VMware, Inc.Inventors: Michael Wei, Marcos Aguilera, Irina Calciu, Stanko Novakovic, Lalith Suresh, Jayneel Gandhi, Nadav Amit, Pratap Subrahmanyam, Xavier Deguillard, Kiran Tati, Rajesh Venkatasubramanian
-
Patent number: 10698878Abstract: In some examples, a graph processing server is communicatively linked to a shared memory. The shared memory may also be accessible to a different graph processing server. The graph processing server may compute an updated vertex value for a graph portion handled by the graph processing server and flush the updated vertex value to the shared memory, for retrieval by the different graph processing server. The graph processing server may also notify the different graph processing server indicating that the updated vertex value has been flushed to the shared memory.Type: GrantFiled: March 6, 2015Date of Patent: June 30, 2020Assignee: Hewlett Packard Enterprise Development LPInventors: Stanko Novakovic, Kimberly Keeton, Paolo Faraboschi, Robert Schreiber
-
Publication number: 20200201381Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.Type: ApplicationFiled: March 2, 2020Publication date: June 25, 2020Inventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
-
Patent number: 10613578Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.Type: GrantFiled: March 22, 2018Date of Patent: April 7, 2020Assignee: CLOCK SYNCHRONIZATIONInventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
-
Publication number: 20190294204Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.Type: ApplicationFiled: March 22, 2018Publication date: September 26, 2019Inventors: Miguel CASTRO, Dushyanth NARAYANAN, Aleksandar DRAGOJEVIC, Matthew RENZELMANN, Alexander SHAMIS, Richendra KHANNA, Stanko NOVAKOVIC, Anders GJERDRUM, Georgios CHATZOPOULOS
-
Publication number: 20190294711Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes for performing transactions comprising one or more read operations and/or one or more write operations. The node comprises a local clock which is synchronized with a master clock and maintains a measure of uncertainty indicating current minimum and maximum values of the master clock. The method to perform transactions involving read operations generates a read timestamp representing a point in time which is earlier than a current minimum value of the master clock. The method then reads the objects and determines, for each of them, whether a timestamp associated with that object is later than the read timestamp. If so, an error handling procedure is performed for that object.Type: ApplicationFiled: March 22, 2018Publication date: September 26, 2019Inventors: Miguel CASTRO, Dushyanth NARAYANAN, Aleksandar DRAGOJEVIC, Matthew James RENZELMANN, Alexander SHAMIS, Richendra KHANNA, Stanko NOVAKOVIC, Anders GJERDRUM, Georgios CHATZOPOULOS
-
Publication number: 20190179794Abstract: Exemplary methods, apparatuses, and systems include a distributed memory agent within a first node intercepting an operating system request to open a file from an application running on the first node. The request includes a file identifier, which the distributed memory agent transmits to a remote memory manager. The distributed memory agent receives, from the remote memory manager, a memory location within a second node for the file identifier and information to establish a remote direct memory access channel between the first node and the second node. In response to the request to open the file, the distributed memory agent establishes the remote direct memory access channel between the first node and the second node. The remote direct memory access channel allows the first node to read directly from or write directly to the memory location within the second node while bypassing an operating system of the second node.Type: ApplicationFiled: December 8, 2017Publication date: June 13, 2019Inventors: Michael Wei, Marcos Aguilera, Irina Calciu, Stanko Novakovic, Lalith Suresh, Jayneel Gandhi, Nadav Amit, Pratap Subrahmanyam, Xavier Deguillard, Kiran Tati, Rajesh Venkatasubramanian
-
Publication number: 20180025043Abstract: In some examples, a graph processing server is communicatively linked to a shared memory. The shared memory may also be accessible to a different graph processing server. The graph processing server may compute an updated vertex value for a graph portion handled by the graph processing server and flush the updated vertex value to the shared memory, for retrieval by the different graph processing server. The graph processing server may also notify the different graph processing server indicating that the updated vertex value has been flushed to the shared memory.Type: ApplicationFiled: March 6, 2015Publication date: January 25, 2018Inventors: Stanko Novakovic, Kimberly Keeton, Paolo Faraboschi, Robert Schreiber
-
Patent number: 9734063Abstract: A computing system that uses a Scale-Out NUMA (“soNUMA”) architecture, programming model, and/or communication protocol provides for low-latency, distributed in-memory processing. Using soNUMA, a programming model is layered directly on top of a NUMA memory fabric via a stateless messaging protocol. To facilitate interactions between the application, OS, and the fabric, soNUMA uses a remote memory controller—an architecturally-exposed hardware block integrated into the node's local coherence hierarchy.Type: GrantFiled: February 27, 2015Date of Patent: August 15, 2017Assignee: ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE (EPFL)Inventors: Stanko Novakovic, Alexandros Daglis, Boris Robert Grot, Edouard Bugnion, Babak Falsafi