Patents by Inventor Omar Cardona

Omar Cardona 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: 20210260489
    Abstract: Session participation in online content streams or activities like multiplayer games is enhanced through management of session tracking and automated queuing of players via a central system between host/streamer client device and guest player client devices. Spectators viewing a content stream or waiting to join a multiplayer activity over a network via a game/streaming service request to be placed in a queue to participate in a session of the content stream or activity as guest players with the host/streaming user. Sessions are tracked to determine start and end events. Sets of prior guest players are removed from sessions when the sessions end, and sets of queued spectators are automatically added to the start of a new session of the content stream or activity as guest players. Queuing may be automatically prioritized for users based on user characteristics, and guest players removed at the end of sessions may be automatically re-queued.
    Type: Application
    Filed: April 26, 2021
    Publication date: August 26, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Ruben Omar Cardona Cruz, Keith R. Kline, Warren Alpert
  • Patent number: 11102119
    Abstract: Various systems, processes, and products may be used to filter multicast messages in virtual environments. In one implementation, a multicast filtering address is received by a network adapter from at least one of a number of virtual machines of a computer system. Responsive to receiving the multicast filtering address, a determination is made whether a multicast filtering store of the network adapter is full. Responsive to determining that the multicast filtering store of the network adapter is full, the multicast filtering address is stored in a local filtering store of the at least one virtual machine.
    Type: Grant
    Filed: July 27, 2019
    Date of Patent: August 24, 2021
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, James B. Cunningham, Baltazar De Leon, III, Matthew R. Ochs
  • Patent number: 11088949
    Abstract: Various systems, processes, and products may be used to filter multicast messages in virtual environments. In one implementation, hardware resources are virtualized to provide a plurality of virtual machines where a number of the virtual machines are configured to receive multicast messages. A network adapter is configured to receive a multicast filtering address from at least one of the number of virtual machines and hash the multicast filtering address to create a hash value. The hash value is linked to the virtual machine via a memory entry.
    Type: Grant
    Filed: July 27, 2019
    Date of Patent: August 10, 2021
    Assignee: International Business Machines Corporation
    Inventors: Omar Cardona, James B. Cunningham, Baltazar De Leon, III, Matthew R. Ochs
  • Patent number: 11082399
    Abstract: A method of communicating data traffic including data packets through a virtual switch on a host device is provided. The data traffic flowing through the virtual switch is monitored. The data traffic includes at least virtual machine data traffic flowing to and from virtual machine processes on the host device and host data traffic flowing to and from host operating system processes on the host device. Each of the data packets are designated as virtual machine data traffic or host data traffic based on an evaluation of the Media Access Controller (MAC) address of each of the one or more data packets of the monitored data traffic. Virtual machine data traffic is directed through a packet processor as the virtual machine data traffic traverses the virtual switch. Host data traffic is directed to bypass the packet processor as the host data traffic traverses the virtual switch.
    Type: Grant
    Filed: August 10, 2018
    Date of Patent: August 3, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Alexander Malysh, Omar Cardona, Madhan Sivakumar, Alireza Dabagh
  • Patent number: 11020671
    Abstract: Session participation in online content streams or activities like multiplayer games is enhanced through management of session tracking and automated queuing of players via a central system between host/streamer client device and guest player client devices. Spectators viewing a content stream or waiting to join a multiplayer activity over a network via a game/streaming service request to be placed in a queue to participate in a session of the content stream or activity as guest players with the host/streaming user. Sessions are tracked to determine start and end events. Sets of prior guest players are removed from sessions when the sessions end, and sets of queued spectators are automatically added to the start of a new session of the content stream or activity as guest players. Queuing may be automatically prioritized for users based on user characteristics, and guest players removed at the end of sessions may be automatically re-queued.
    Type: Grant
    Filed: July 12, 2018
    Date of Patent: June 1, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ruben Omar Cardona Cruz, Keith R. Kline, Warren Alpert
  • Publication number: 20210105221
    Abstract: Embodiments of network processing resource management in computing devices are disclosed therein. In one embodiment, a method includes receiving a request from a network interface controller to perform network processing operations at a first core of a main processor for packets assigned by the network interface controller to a queue of a virtual port of the network interface controller. The method also includes determining whether the first core has a utilization level higher than a threshold when performing the network processing operations to effect processing and transmission of the packets. If the first core has a utilization level higher than the threshold, the method includes issuing a command to the network interface to modify affinitization of the queue from the first core to a second core having a utilization level lower than the threshold.
    Type: Application
    Filed: September 25, 2020
    Publication date: April 8, 2021
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Patent number: 10860358
    Abstract: Methods and devices for determining settings for a virtual machine may include partitioning a physical network into a plurality of traffic classes. The methods and devices may include determining at least one virtual enhanced transmission selection (ETS) setting for one or more virtual machines, wherein the virtual ETS setting includes at least one virtual traffic class that corresponds to one of the plurality of traffic classes. The methods and devices may include transmitting a notification to the one or more virtual machines identifying the virtual ETS setting.
    Type: Grant
    Filed: September 21, 2017
    Date of Patent: December 8, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Khoa Anh To, Omar Cardona, Daniel Firestone, Alireza Dabagh
  • Patent number: 10826841
    Abstract: Embodiments of network processing resource management in computing devices are disclosed therein. An example method includes receiving a request from a network interface controller to perform network processing operations at a first core of a main processor for packets assigned by the network interface controller to a queue of a virtual port of the network interface controller. The method also includes determining whether the first core has a utilization level higher than a threshold when performing the network processing operations to effect processing and transmission of the packets. If the first core has a utilization level higher than the threshold, the method includes issuing a command to the network interface to modify affinitization of the queue from the first core to a second core having a utilization level lower than the threshold.
    Type: Grant
    Filed: March 15, 2017
    Date of Patent: November 3, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Publication number: 20200322242
    Abstract: A packet monitoring application instantiated on a server hosting a virtualized network stack is utilized to track data packet propagations and drops at each component within the network stack to reduce the amount of time to identify a root cause for latency issues. The packet monitoring application can be selectively enabled or disabled by an administrator. Components within the virtualized network stack report packet drops and successful packet propagations to the packet monitoring application, which can filter the packets based on input parameters. Thus, a user can select at what level of granularity to filter packets within the virtualized network stack while being able to assess each packet's traversal through each component within the network stack. The packet monitoring application can also perform post-processing of on the filtered data packets to determine latency among components or sections of the virtualized network stack.
    Type: Application
    Filed: May 31, 2019
    Publication date: October 8, 2020
    Inventors: Alexander MALYSH, Thomas Edward MOLENHOUSE, Omar CARDONA, Kamran REYPOUR, Gregory CUSANZA
  • Patent number: 10795717
    Abstract: Embodiments relate to hypervisors that provide hardware isolated virtualization environments (HIVEs) such as containers and virtual machines (VMs). A first HIVE includes a first virtual network interface card (NIC) and a second HIVE includes a second virtual NIC. Both virtual NICs are backed by the same physical NIC. The physical NIC has an Internet Protocol (IP) address. The virtual NICs are assigned the same IP address as the physical NIC. A networking stack of the hypervisor receives inbound packets addressed to the IP address. The networking stack steers the inbound packets to the virtual NICs according to tuples of the inbound packets. Packets emitted by the virtual NICs comprise the IP address, pass through the network stack, and are transmitted by the physical NIC with headers comprising the IP address.
    Type: Grant
    Filed: September 18, 2018
    Date of Patent: October 6, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Anirban Paul, Poornananda Gaddehosur Ramachandra, Gerardo Diaz-Cuellar, Osman Nuri Ertugay, Keith Edgar Horton, Omar Cardona, Nicholas David Wood, Shankar Seal, Dinesh Kumar Govindasamy
  • Patent number: 10715424
    Abstract: Techniques of network traffic management in a computing device are disclosed. One example method includes receiving, at a main processor, a request from a network interface controller to perform network processing operations for packets assigned by the network interface controller to a queue of a virtual port of the network interface controller. The method also includes, in response to receiving the request, causing one of multiple cores of the main processor with which the queue of the virtual port is affinitized to perform the network processing operations to effect processing and transmission of the packets to an application executing in a virtual machine hosted on the computing device.
    Type: Grant
    Filed: March 15, 2017
    Date of Patent: July 14, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Patent number: 10666560
    Abstract: Various innovations for servicing of a virtual switch in a virtual networking layer are presented. The innovations include new architectures for a virtual networking layer and new operations performed when servicing a virtual switch. In some example implementations, during virtual switch servicing, interruption to actual network connectivity is minimal—below a timeout threshold that signifies failure of a network connection. Connections for a host, VMs, and physical network adapter can be maintained while the virtual switch is serviced. Although some interruption to actual network connectivity happens, apparent connectivity (for a VM) over a connection between the VM and the virtual switch can be maintained during the servicing of the virtual switch. Similarly, apparent connectivity (for a host) over a connection between the host and the virtual switch can be maintained during the servicing of the virtual switch.
    Type: Grant
    Filed: May 11, 2018
    Date of Patent: May 26, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Omar Cardona, Alexander Malysh, Sze K. Li
  • Publication number: 20200127922
    Abstract: Embodiments of hybrid network processing load distribution in a computing device are disclosed therein. In one embodiment, a method includes receiving, at a main processor, an indication from the network interface controller to perform network processing operations for first and second packets in a queue of a virtual port of the network interface controller, and in response to receiving the request, assigning multiple cores for performing the network processing operations for the first and second packets, respectively. The method also includes performing the network processing operations at the multiple cores to effect processing and transmission of the first and second packets to first and second applications, respectively, both the first and second applications executing in a virtual machine hosted on the computing device.
    Type: Application
    Filed: December 17, 2019
    Publication date: April 23, 2020
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Publication number: 20200089517
    Abstract: Embodiments relate to hypervisors that provide hardware isolated virtualization environments (HIVEs) such as containers and virtual machines (VMs). A first HIVE includes a first virtual network interface card (NIC) and a second HIVE includes a second virtual NIC. Both virtual NICs are backed by the same physical NIC. The physical NIC has an Internet Protocol (IP) address. The virtual NICs are assigned the same IP address as the physical NIC. A networking stack of the hypervisor receives inbound packets addressed to the IP address. The networking stack steers the inbound packets to the virtual NICs according to tuples of the inbound packets. Packets emitted by the virtual NICs comprise the IP address, pass through the network stack, and are transmitted by the physical NIC with headers comprising the IP address.
    Type: Application
    Filed: September 18, 2018
    Publication date: March 19, 2020
    Inventors: Anirban Paul, Poornananda Gaddehosur Ramachandra, Gerardo Diaz-Cuellar, Osman Nuri Ertugay, Keith Edgar Horton, Omar Cardona, Nicholas David Wood, Shankar Seal, Dinesh Kumar Govindasamy
  • Publication number: 20200053050
    Abstract: A method of communicating data traffic including data packets through a virtual switch on a host device is provided. The data traffic flowing through the virtual switch is monitored. The data traffic includes at least virtual machine data traffic flowing to and from virtual machine processes on the host device and host data traffic flowing to and from host operating system processes on the host device. Each of the data packets are designated as virtual machine data traffic or host data traffic based on an evaluation of the Media Access Controller (MAC) address of each of the one or more data packets of the monitored data traffic. Virtual machine data traffic is directed through a packet processor as the virtual machine data traffic traverses the virtual switch. Host data traffic is directed to bypass the packet processor as the host data traffic traverses the virtual switch.
    Type: Application
    Filed: August 10, 2018
    Publication date: February 13, 2020
    Inventors: Alexander MALYSH, Omar CARDONA, Madhan SIVAKUMAR, Alireza DABAGH
  • Patent number: 10554554
    Abstract: Embodiments of hybrid network processing load distribution in a computing device are disclosed therein. In one embodiment, a method includes receiving, at a main processor, an indication from the network interface controller to perform network processing operations for first and second packets in a queue of a virtual port of the network interface controller, and in response to receiving the request, assigning first and second cores for performing the network processing operations for the first and second packets, respectively. The method also includes performing the network processing operations at the first and second cores to effect processing and transmission of the first and second packets to first and second applications, respectively, both the first and second applications executing in a virtual machine hosted on the computing device.
    Type: Grant
    Filed: March 15, 2017
    Date of Patent: February 4, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dmitry Malloy, Alireza Dabagh, Gabriel Silva, Khoa To, Omar Cardona, Donald Stanwyck
  • Publication number: 20200016495
    Abstract: Session participation in online content streams or activities like multiplayer games is enhanced through management of session tracking and automated queuing of players via a central system between host/streamer client device and guest player client devices. Spectators viewing a content stream or waiting to join a multiplayer activity over a network via a game/streaming service request to be placed in a queue to participate in a session of the content stream or activity as guest players with the host/streaming user. Sessions are tracked to determine start and end events. Sets of prior guest players are removed from sessions when the sessions end, and sets of queued spectators are automatically added to the start of a new session of the content stream or activity as guest players. Queuing may be automatically prioritized for users based on user characteristics, and guest players removed at the end of sessions may be automatically re-queued.
    Type: Application
    Filed: July 12, 2018
    Publication date: January 16, 2020
    Inventors: Ruben Omar Cardona Cruz, Keith R. Kline, Warren Alpert
  • Publication number: 20190349302
    Abstract: Various systems, processes, and products may be used to filter multicast messages in virtual environments. In one implementation, hardware resources are virtualized to provide a plurality of virtual machines where a number of the virtual machines are configured to receive multicast messages. A network adapter is configured to receive a multicast filtering address from at least one of the number of virtual machines and hash the multicast filtering address to create a hash value. The hash value is linked to the virtual machine via a memory entry.
    Type: Application
    Filed: July 27, 2019
    Publication date: November 14, 2019
    Inventors: Omar Cardona, James B. Cunningham, Baltazar De Leon, III, Matthew R. Ochs
  • Publication number: 20190349300
    Abstract: Various systems, processes, and products may be used to filter multicast messages in virtual environments. In one implementation, a multicast filtering address is received by a network adapter from at least one of a number of virtual machines. An amount of filtering data is determined corresponding to the at least one virtual machine and, based on the amount of the filtering data corresponding to the at least one virtual machine, the multicast filtering address is stored in either a multicast filtering store of the network adapter or a local filtering store of the at least one virtual machine.
    Type: Application
    Filed: July 27, 2019
    Publication date: November 14, 2019
    Inventors: Omar Cardona, James B. Cunningham, Baltazar De Leon, III, Matthew R. Ochs
  • Publication number: 20190349298
    Abstract: Various systems, processes, and products may be used to filter multicast messages in virtual environments. In one implementation, a multicast filtering address is received by a network adapter from at least one of a number of virtual machines of a computer system. Responsive to receiving the multicast filtering address, a determination is made whether a multicast filtering store of the network adapter is full. Responsive to determining that the multicast filtering store of the network adapter is full, the multicast filtering address is stored in a local filtering store of the at least one virtual machine.
    Type: Application
    Filed: July 27, 2019
    Publication date: November 14, 2019
    Inventors: Omar Cardona, James B. Cunningham, Baltazar De Leon, III, Matthew R. Ochs