Patents by Inventor Marios Zikos

Marios Zikos 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: 9667543
    Abstract: Embodiments are directed to routing requests with different protocols to the same destination. In one scenario, a computer system receives a request that uses a specified protocol. The request includes a request source identifier and a request destination identifier. The computer system identifies, based on both the request source identifier and the request destination identifier, a destination to send the request to and generates a routing entry for the request that indicates which destination the first request was sent to. The computer system receives another request that uses a different protocol. This request includes a request source identifier and a request destination identifier of its own. The computer system determines that the request source identifier and request destination identifier of the subsequent request match those of the generated routing entry, and routes the subsequent request to the destination indicated in the routing entry.
    Type: Grant
    Filed: August 8, 2014
    Date of Patent: May 30, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nelamangala Krishnaswamy Srinivas, Narayanan Annamalai, Parveen Kumar Patel, Marios Zikos, Narasimhan Agrahara Venkataramaiah
  • Patent number: 9438520
    Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.
    Type: Grant
    Filed: November 18, 2014
    Date of Patent: September 6, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Patent number: 9354941
    Abstract: When a load balancer detects that a virtual address is associated with a single destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a plurality of destination addresses. The load balancer instructs the router to bypass the load balancer for network packets that are addressed to the virtual address, and refrains from storing subsequent flow state for the virtual address. When the virtual address is to be scaled up with an additional destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a single destination addresses. The load balancer instructs the router to route network packets that are addressed to the virtual address through the load balancer, instead of bypassing the load balancer, and starts storing flow state for the virtual address.
    Type: Grant
    Filed: July 21, 2015
    Date of Patent: May 31, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ashwin Murthy, Parveen Kumar Patel, Deepak Bansal, Marios Zikos
  • Publication number: 20160043951
    Abstract: Embodiments are directed to routing requests with different protocols to the same destination. In one scenario, a computer system receives a request that uses a specified protocol. The request includes a request source identifier and a request destination identifier. The computer system identifies, based on both the request source identifier and the request destination identifier, a destination to send the request to and generates a routing entry for the request that indicates which destination the first request was sent to. The computer system receives another request that uses a different protocol. This request includes a request source identifier and a request destination identifier of its own. The computer system determines that the request source identifier and request destination identifier of the subsequent request match those of the generated routing entry, and routes the subsequent request to the destination indicated in the routing entry.
    Type: Application
    Filed: August 8, 2014
    Publication date: February 11, 2016
    Inventors: Nelamangala Krishnaswamy Srinivas, Narayanan Annamalai, Parveen Kumar Patel, Marios Zikos, Narasimhan Agrahara Venkataramaiah
  • Publication number: 20160026505
    Abstract: When a load balancer detects that a virtual address is associated with a single destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a plurality of destination addresses. The load balancer instructs the router to bypass the load balancer for network packets that are addressed to the virtual address, and refrains from storing subsequent flow state for the virtual address. When the virtual address is to be scaled up with an additional destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a single destination addresses. The load balancer instructs the router to route network packets that are addressed to the virtual address through the load balancer, instead of bypassing the load balancer, and starts storing flow state for the virtual address.
    Type: Application
    Filed: July 21, 2015
    Publication date: January 28, 2016
    Inventors: Ashwin Murthy, Parveen Kumar Patel, Deepak Bansal, Marios Zikos
  • Patent number: 9092271
    Abstract: When a load balancer detects that a virtual address is associated with a single destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a plurality of destination addresses. The load balancer instructs the router to bypass the load balancer for network packets that are addressed to the virtual address, and refrains from storing subsequent flow state for the virtual address. When the virtual address is to be scaled up with an additional destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a single destination addresses. The load balancer instructs the router to route network packets that are addressed to the virtual address through the load balancer, instead of bypassing the load balancer, and starts storing flow state for the virtual address.
    Type: Grant
    Filed: August 5, 2014
    Date of Patent: July 28, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ashwin Murthy, Parveen Kumar Patel, Deepak Bansal, Marios Zikos
  • Patent number: 9055095
    Abstract: A load balancer that is able to detect and mitigate a Denial of Service (DOS) attack. The load balancer is placed in the flow path of network data packets that are destined for one or more tenant addresses. The load balancer analyzes performance parameters regarding the network data packets that are destined for the one or more tenant addresses and are received at the load balancer. The performance parameters describe network data packet flow to the tenant addresses. The load balancer detects, based on the analysis of the performance parameters, that one or more of the tenant addresses are being subjected to a DOS attack. The load balancer performs a mitigation operation to isolate the one or more tenant addresses being subjected to the DOS attack.
    Type: Grant
    Filed: June 14, 2013
    Date of Patent: June 9, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ashwin Murthy, Naveen Reddy Karri, Parveen Kumar Patel, HongYu Wu, Marios Zikos, Yagya Narayanan Sethuraman, Deepak Bansal
  • Publication number: 20150063115
    Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.
    Type: Application
    Filed: November 18, 2014
    Publication date: March 5, 2015
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Publication number: 20140373146
    Abstract: A load balancer that is able to detect and mitigate a Denial of Service (DOS) attack. The load balancer is placed in the flow path of network data packets that are destined for one or more tenant addresses. The load balancer analyzes performance parameters regarding the network data packets that are destined for the one or more tenant addresses and are received at the load balancer. The performance parameters describe network data packet flow to the tenant addresses. The load balancer detects, based on the analysis of the performance parameters, that one or more of the tenant addresses are being subjected to a DOS attack. The load balancer performs a mitigation operation to isolate the one or more tenant addresses being subjected to the DOS attack.
    Type: Application
    Filed: June 14, 2013
    Publication date: December 18, 2014
    Inventors: Ashwin Murthy, Naveen Reddy Karri, Parveen Kumar Patel, HongYu Wu, Marios Zikos, Yagya Narayanan Sethuraman, Deepak Bansal
  • Publication number: 20140351395
    Abstract: When a load balancer detects that a virtual address is associated with a single destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a plurality of destination addresses. The load balancer instructs the router to bypass the load balancer for network packets that are addressed to the virtual address, and refrains from storing subsequent flow state for the virtual address. When the virtual address is to be scaled up with an additional destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a single destination addresses. The load balancer instructs the router to route network packets that are addressed to the virtual address through the load balancer, instead of bypassing the load balancer, and starts storing flow state for the virtual address.
    Type: Application
    Filed: August 5, 2014
    Publication date: November 27, 2014
    Inventors: Ashwin Murthy, Parveen Kumar Patel, Deepak Bansal, Marios Zikos
  • Patent number: 8805990
    Abstract: When a load balancer detects that a virtual address is associated with a single destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a plurality of destination addresses. The load balancer instructs the router to bypass the load balancer for network packets that are addressed to the virtual address, and refrains from storing subsequent flow state for the virtual address. When the virtual address is to be scaled up with an additional destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a single destination addresses. The load balancer instructs the router to route network packets that are addressed to the virtual address through the load balancer, instead of bypassing the load balancer, and starts storing flow state for the virtual address.
    Type: Grant
    Filed: July 12, 2012
    Date of Patent: August 12, 2014
    Assignee: Microsoft Corporation
    Inventors: Ashwin Murthy, Parveen Kumar Patel, Deepak Bansal, Marios Zikos
  • Publication number: 20140185446
    Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.
    Type: Application
    Filed: March 5, 2014
    Publication date: July 3, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Patent number: 8755283
    Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.
    Type: Grant
    Filed: December 17, 2010
    Date of Patent: June 17, 2014
    Assignee: Microsoft Corporation
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Publication number: 20140019602
    Abstract: Load balancing for single-address tenants. When a load balancer detects that a virtual address is associated with a single destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a plurality of destination addresses. The load balancer instructs the router to bypass the load balancer for network packets that are addressed to the virtual address, and refrains from storing subsequent flow state for the virtual address. When the virtual address is to be scaled up with an additional destination address, the load balancer sets a flag to distinguish the virtual address from virtual addresses that are associated with a single destination addresses. The load balancer instructs the router to route network packets that are addressed to the virtual address through the load balancer, instead of bypassing the load balancer, and starts storing flow state for the virtual address.
    Type: Application
    Filed: July 12, 2012
    Publication date: January 16, 2014
    Applicant: Microsoft Corporation
    Inventors: Ashwin Murthy, Parveen Kumar Patel, Deepak Bansal, Marios Zikos
  • Publication number: 20120303809
    Abstract: The present invention extends to methods, systems, and computer program products for off loading load balancing packet modification. Embodiments of the invention can be used to offload the load of forwarding packets back to packet senders. Load balancers and/or the NAT devices can handle the first few packets of a connection to formulate connection mappings and then are removed from further communication for the connections. For example, a load balancer or NAT device makes the corresponding load balancing or the NAT decision based on a first packet and then informs the sender of the data of the decision. From then on, the sender can directly send the data to the receiver without having to go through the load balancer or NAT.
    Type: Application
    Filed: May 25, 2011
    Publication date: November 29, 2012
    Applicant: Microsoft Corporation
    Inventors: Parveen Patel, Deepak Bansal, Changhoon Kim, Marios Zikos, Volodymyr Ivanov
  • Publication number: 20120155266
    Abstract: The present invention extends to methods, systems, and computer program products for synchronizing state among load balancer components. Embodiments of the invention include load balancers using a consistent hashing algorithm to decide how new connections should be load balanced. Use of consistent hashing algorithm permits load balancers to work in a stateless manner in steady state. Load balancers start keeping flow state information (destination address for a given flow) about incoming packets when it is needed, i.e. such as, for example, when a change in destination host configuration is detected. State information is shared across load balancers in a deterministic way, which allows knowing which load balancer is authoritative (e.g., is the owner) for a given flow. Each load balancer can reach the authoritative load balancer to learn about a flow that cannot be determined locally.
    Type: Application
    Filed: December 17, 2010
    Publication date: June 21, 2012
    Applicant: Microsoft Corporation
    Inventors: Parveen Patel, Volodymyr Ivanov, Marios Zikos, Vladimir Petter, Vyacheslav Kuznetsov, David Allen Dion
  • Patent number: 7831820
    Abstract: A system and method for converting a target computing device to a virtual machine are provided. A conversion event is detected to initiate a conversion of a target computing device to a virtual machine. An assessment of the physical and software assets of a target computing device are obtained. A data image of the target computing device is deployed on an instance of a virtual machine. The virtual machine adjusted to correspond to the physical and software assets of the target computing device.
    Type: Grant
    Filed: June 23, 2005
    Date of Patent: November 9, 2010
    Assignee: Microsoft Corporation
    Inventors: Eric Joseph Winner, Marios Zikos
  • Publication number: 20070006225
    Abstract: A system and method for converting a target computing device to a virtual machine are provided. An assessment of the physical and software assets of a target computing device are obtained. A data image of the target computing device is deployed on an instance of a virtual machine. The virtual machine adjusted to correspond to the physical and software assets of the target computing device.
    Type: Application
    Filed: June 23, 2005
    Publication date: January 4, 2007
    Applicant: Microsoft Corporation
    Inventors: Brittney McAlister, Eric Winner, Marios Zikos
  • Publication number: 20060294516
    Abstract: A system and method for converting a target computing device to a virtual machine are provided. A conversion event is detected to initiate a conversion of a target computing device to a virtual machine. An assessment of the physical and software assets of a target computing device are obtained. A data image of the target computing device is deployed on an instance of a virtual machine. The virtual machine adjusted to correspond to the physical and software assets of the target computing device.
    Type: Application
    Filed: June 23, 2005
    Publication date: December 28, 2006
    Applicant: Microsoft Corporation
    Inventors: Eric Winner, Marios Zikos