Patents by Inventor Matthew Ian Ronald WILLIAMS

Matthew Ian Ronald WILLIAMS 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: 11916789
    Abstract: A method performed by a packet processor comprises retrieving a first prefix length for a first lookup stage and a shorter second prefix length for a second lookup stage. The packet processor can receive instructions to program an action entry. The length of the action entry prefix is compared to the first prefix and second prefix length. If it is determined that the length of the action entry prefix is shorter than the second prefix length, the second prefix length is selected as an expanded prefix length. If it is determined that the length of the action entry prefix is longer than the second prefix length and shorter than the first prefix length, then the first prefix length is selected as the expanded prefix length. Expanded action entries are generated with expanded prefixes of the expanded prefix length and stored at the lookup stage associated with the expanded prefix length.
    Type: Grant
    Filed: June 9, 2021
    Date of Patent: February 27, 2024
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Steven Balls, Matthew Ian Ronald Williams, Abhishek Pandey, Daniel Thomas O'Brien
  • Patent number: 11893395
    Abstract: A native restart controller restarts services in a controlled manner. The services run in a cloud computing environment comprising a plurality of computing devices executing a plurality of Kubernetes pods comprising one or more containers. An indication is received of a deployment defining a service to be implemented in the cloud computing environment, the deployment including a desired number of instances of the service. An API is instantiated that is operable to provide a first state indicative of whether restarts are to be controlled by the restart controller and a second state indicating that a restart is required. In response to receiving an indication that restarts for the cluster are to be controlled by the restart controller and that a restart is required, the instances are restarted in a sequence in accordance with restart criteria associated with the service.
    Type: Grant
    Filed: April 18, 2023
    Date of Patent: February 6, 2024
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Charles Hotham, Murray William Rogers, Sophie Stratton, Joseph Ellis Darracott Powell, Matthew Ian Ronald Williams
  • Publication number: 20240031226
    Abstract: A service orchestrator receives a definition of a change to a network service to be deployed over a plurality of sites of a communications network. The definition comprises a configuration schema with a plurality of fields, which are partitioned into a plurality of different configuration group types. The service orchestrator receives an instance of the configuration group type. The service orchestrator receives conditional convergence logic specifying the received instance each site is to use conditional on a current state instance of the configuration group type used at the site. The service orchestrator sends instructions to each of the sites based on the conditional convergence logic, the instructions comprising the received instance. The instructions are configured to trigger a site convergence agent at each site to deploy the change to the network service according to the received instance of the configuration group type and the conditional convergence logic.
    Type: Application
    Filed: September 22, 2022
    Publication date: January 25, 2024
    Inventors: Calum Sutherland LOUDON, Matthew Ian Ronald WILLIAMS, Peter Louis WHITE, Colin Michael TREGENZA DANCER
  • Publication number: 20240022651
    Abstract: In operation, packets traverse the packet processing data structure, and the network processing represented by each object in the data structure is applied to each packet. From time to time, the packet processing data structure may need to be updated. Embodiments of the present disclosure provide for lock-free updating of a packet processing data structure by means of epoch-based garbage collection. In embodiments, a particular past packet processing epoch is considered to be no longer referenced by any cores when the sequence numbers recorded in each said memory location are different to the sequence number of that particular past packet processing epoch. The deletion thread checks both whether a past epoch is being referenced by any packets and whether it is being reference by any cores. Thus memory is safely freed without having any impact on any packet processing which may be occurring in parallel to the deletion thread.
    Type: Application
    Filed: April 14, 2023
    Publication date: January 18, 2024
    Inventors: Matthew Ian Ronald WILLIAMS, Richard John WHITEHOUSE, Christopher Neil SWINDLE, Colin REYNOLDS
  • Publication number: 20240020289
    Abstract: Key data is processed using a hash table data structure. Control data storage locations have a write-availability indicated by a first write-availability state indicating that the location is available to be written to, and a second write-availability state indicating that the location is not available to be written to. A temporary label value is stored in a selected control data storage location to render the selected location and a corresponding key data storage location inactive for read-out. The write-availability of the control data storage location is changed to the second write-availability state in association with the storage of the processed label value in the selected location. A read-out label value is obtained and the temporary label value stored in the selected control data storage location is over-written with the obtained read-out label value, to render the selected control data storage location and corresponding key data storage location active for read-out.
    Type: Application
    Filed: October 8, 2021
    Publication date: January 18, 2024
    Inventors: Michael Jeffrey EVANS, Matthew Ian Ronald WILLIAMS
  • Publication number: 20230254914
    Abstract: Network slicing allows a network operator to divide up their network into different network slices. The operator can assign specific users or classes of users to 5 each slice. Network functions (NFs) comprising a network slice may be placed in different locations in a network (for example, nearer the network edge), may be configured or tuned for different traffic profiles, and/or may be implemented by different vendors from those in other slices. A network, configured to perform network slicing, receives information from a Session Management Function, SMF, relating to a 10 given packet data session belonging to a given network slice. Based on the information received from the SMF, the network signals to a UPF instance that the given packet data session belongs to the given network slice.
    Type: Application
    Filed: October 29, 2021
    Publication date: August 10, 2023
    Inventors: Matthew Ian Ronald WILLIAMS, Colin TREGENZA DANCER, Martin TAYLOR, David REEKIE, Richard HEWITT
  • Publication number: 20230251874
    Abstract: A native restart controller restarts services in a controlled manner. The services run in a cloud computing environment comprising a plurality of computing devices executing a plurality of Kubernetes pods comprising one or more containers. An indication is received of a deployment defining a service to be implemented in the cloud computing environment, the deployment including a desired number of instances of the service. An API is instantiated that is operable to provide a first state indicative of whether restarts are to be controlled by the restart controller and a second state indicating that a restart is required. In response to receiving an indication that restarts for the cluster are to be controlled by the restart controller and that a restart is required, the instances are restarted in a sequence in accordance with restart criteria associated with the service.
    Type: Application
    Filed: April 18, 2023
    Publication date: August 10, 2023
    Inventors: David Charles HOTHAM, Murray William ROGERS, Sophie STRATTON, Joseph Ellis Darracott POWELL, Matthew Ian Ronald WILLIAMS
  • Patent number: 11700170
    Abstract: The techniques disclosed herein improve existing systems by receiving, by a packet processor from a control node of the communications network, a request to program operations for processing data packets, the request received with opaque data comprising a state of the control node. The packet processor stores the operations and the opaque data in a data store of the packet processor. The packet processor receives from the control node a subsequent request to retrieve the opaque data. The packet processor sends to the control node the operations and the opaque data that were stored in the data store of the packet processor. The opaque data is not stored in the control node.
    Type: Grant
    Filed: May 18, 2022
    Date of Patent: July 11, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jonathan Eric Hardwick, Matthew Ian Ronald Williams
  • Patent number: 11665098
    Abstract: User traffic is processed in a virtualised network. First and second VNFs are initialised in the same network namespace as each other in user space in a host and have access to a shared memory region of the host. The first VNF processes user traffic and the second VNF provides a user plane service in relation to user traffic processed by the first VNF. The first VNF is used to establish a point-to-point, shared-memory interface between the first and second VNFs and is used to classify incoming user traffic. In response to the first VNF determining based on the classifying, that the incoming user traffic is to be subject to the user plane service, the first VNF is used to store the incoming user traffic in the shared memory region of the host to enable the second VNF to provide the user plane service in relation to the incoming trier traffic.
    Type: Grant
    Filed: April 28, 2021
    Date of Patent: May 30, 2023
    Assignee: METASWITCH NETWORKS LTD.
    Inventors: Martin Taylor, James Robert Andrew, Matthew Ian Ronald Williams
  • Patent number: 11663019
    Abstract: A native restart controller restarts services in a controlled manner. The services run in a cloud computing environment comprising a plurality of computing devices executing a plurality of Kubernetes pods comprising one or more containers. An indication is received of a deployment defining a service to be implemented in the cloud computing environment, the deployment including a desired number of instances of the service. An API is instantiated that is operable to provide a first state indicative of whether restarts are to be controlled by the restart controller and a second state indicating that a restart is required. In response to receiving an indication that restarts for the cluster are to be controlled by the restart controller and that a restart is required, the instances are restarted in a sequence in accordance with restart criteria associated with the service.
    Type: Grant
    Filed: April 29, 2021
    Date of Patent: May 30, 2023
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Charles Hotham, Murray William Rogers, Sophie Stratton, Joseph Ellis Darracott Powell, Matthew Ian Ronald Williams
  • Patent number: 11659071
    Abstract: In operation, packets traverse the packet processing data structure, and the network processing represented by each object in the data structure is applied to each packet. From time to time, the packet processing data structure may need to be updated. Embodiments of the present disclosure provide for lock-free updating of a packet processing data structure by means of epoch-based garbage collection. In embodiments, a particular past packet processing epoch is considered to be no longer referenced by any cores when the sequence numbers recorded in each said memory location are different to the sequence number of that particular past packet processing epoch. The deletion thread checks both whether a past epoch is being referenced by any packets and whether it is being reference by any cores. Thus memory is safely freed without having any impact on any packet processing which may be occurring in parallel to the deletion thread.
    Type: Grant
    Filed: November 24, 2021
    Date of Patent: May 23, 2023
    Assignee: MetaSwitch Networks Ltd.
    Inventors: Matthew Ian Ronald Williams, Richard John Whitehouse, Christopher Neil Swindle, Colin Reynolds
  • Publication number: 20220350617
    Abstract: A native restart controller restarts services in a controlled manner. The services run in a cloud computing environment comprising a plurality of computing devices executing a plurality of Kubernetes pods comprising one or more containers. An indication is received of a deployment defining a service to be implemented in the cloud computing environment, the deployment including a desired number of instances of the service. An API is instantiated that is operable to provide a first state indicative of whether restarts are to be controlled by the restart controller and a second state indicating that a restart is required. In response to receiving an indication that restarts for the cluster are to be controlled by the restart controller and that a restart is required, the instances are restarted in a sequence in accordance with restart criteria associated with the service.
    Type: Application
    Filed: April 29, 2021
    Publication date: November 3, 2022
    Inventors: David Charles HOTHAM, Murray William ROGERS, Sophie STRATTON, Joseph Ellis Darracott POWELL, Matthew Ian Ronald WILLIAMS
  • Publication number: 20220337520
    Abstract: A method performed by a packet processor comprises retrieving a first prefix length for a first lookup stage and a shorter second prefix length for a second lookup stage. The packet processor can receive instructions to program an action entry. The length of the action entry prefix is compared to the first prefix and second prefix length. If it is determined that the length of the action entry prefix is shorter than the second prefix length, the second prefix length is selected as an expanded prefix length. If it is determined that the length of the action entry prefix is longer than the second prefix length and shorter than the first prefix length, then the first prefix length is selected as the expanded prefix length. Expanded action entries are generated with expanded prefixes of the expanded prefix length and stored at the lookup stage associated with the expanded prefix length.
    Type: Application
    Filed: June 9, 2021
    Publication date: October 20, 2022
    Inventors: Steven BALLS, Matthew Ian Ronald WILLIAMS, Abhishek PANDEY, Daniel Thomas O'BRIEN
  • Publication number: 20220303178
    Abstract: The techniques disclosed herein improve existing systems by receiving, by a packet processor from a control node of the communications network, a request to program operations for processing data packets, the request received with opaque data comprising a state of the control node. The packet processor stores the operations and the opaque data in a data store of the packet processor. The packet processor receives from the control node a subsequent request to retrieve the opaque data. The packet processor sends to the control node the operations and the opaque data that were stored in the data store of the packet processor. The opaque data is not stored in the control node.
    Type: Application
    Filed: May 18, 2022
    Publication date: September 22, 2022
    Inventors: Jonathan Eric HARDWICK, Matthew Ian Ronald WILLIAMS
  • Publication number: 20220261283
    Abstract: The techniques disclosed herein improve existing systems by receiving a packet to process and determining an associated packet processing graph for the packet. In response to determining that the associated packet processing graph contains an action comprising a set of rules for modifying the packet processing graph, a table to modify in the packet processing graph is accessed based on a table identifier in the action. The accessed table is modified by inserting one or more table rows into the packet processing graph and for each inserted table row, inserting a set of template actions containing prepopulated fields. The modified table is used to process subsequent packets.
    Type: Application
    Filed: May 11, 2021
    Publication date: August 18, 2022
    Inventors: Jonathan Eric HARDWICK, Christopher Neil SWINDLE, Matthew Ian Ronald WILLIAMS, Michael Jeffrey EVANS
  • Patent number: 11398977
    Abstract: A packet classifier and methods of processing data packets in a data communications network can include receiving a data packet comprising packet header data; performing rule-based classification of the received data packet to generate rule-based classification data; and processing the data packet in accordance with the rule-based classification data.
    Type: Grant
    Filed: January 22, 2020
    Date of Patent: July 26, 2022
    Assignee: Metaswitch Networks Ltd.
    Inventors: Matthew Ian Ronald Williams, Michael Jeffrey Evans
  • Patent number: 11388047
    Abstract: The techniques disclosed herein improve existing systems by receiving, by a packet processor from a control node of the communications network, a request to program operations for processing data packets, the request received with opaque data comprising a state of the control node. The packet processor stores the operations and the opaque data in a data store of the packet processor. The packet processor receives from the control node a subsequent request to retrieve the opaque data. The packet processor sends to the control node the operations and the opaque data that were stored in the data store of the packet processor. The opaque data is not stored in the control node.
    Type: Grant
    Filed: March 17, 2021
    Date of Patent: July 12, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jonathan Eric Hardwick, Matthew Ian Ronald Williams
  • Publication number: 20220183085
    Abstract: In one aspect, a control plane Interworking Function (IWF-C) is used to establish a Packet Data Unit (PDU) session in a data communications network. A create session request is received, for example from a Mobile Management Entity (MME). A create session management context request is generated by the IWF-C and transmitted to a Session Management Function (SMF). A create session management context request response is received from the SMF. A create session request response is generated by the IWF-C and sent, for example to the MME. In other aspects, control plane policy interworking and user plane interworking is provided between components of 4G and 5G networks.
    Type: Application
    Filed: November 15, 2021
    Publication date: June 9, 2022
    Inventors: Leland Douglas BENSON, David REEKIE, Benjamin Thomas WRIGHT, Matthew Ian Ronald WILLIAMS, Richard HEWITT
  • Publication number: 20220166856
    Abstract: In operation, packets traverse the packet processing data structure, and the network processing represented by each object in the data structure is applied to each packet. From time to time, the packet processing data structure may need to be updated. Embodiments of the present disclosure provide for lock-free updating of a packet processing data structure by means of epoch-based garbage collection. In embodiments, a particular past packet processing epoch is considered to be no longer referenced by any cores when the sequence numbers recorded in each said memory location are different to the sequence number of that particular past packet processing epoch. The deletion thread checks both whether a past epoch is being referenced by any packets and whether it is being reference by any cores. Thus memory is safely freed without having any impact on any packet processing which may be occurring in parallel to the deletion thread.
    Type: Application
    Filed: November 24, 2021
    Publication date: May 26, 2022
    Inventors: Matthew Ian Ronald WILLIAMS, Richard John WHITEHOUSE, Christopher Neil SWINDLE, Colin REYNOLDS
  • Patent number: 11206698
    Abstract: In one aspect, a control plane Interworking Function (IWF-C) is used to establish a Packet Data Unit (PDU) session in a data communications network. A create session request is received, for example from a Mobile Management Entity (MME). A create session management context request is generated by the IWF-C and transmitted to a Session Management Function (SMF). A create session management context request response is received from the SMF. A create session request response is generated by the IWF-C and sent, for example to the MME. In other aspects, control plane policy interworking and user plane interworking is provided between components of 4G and 5G networks.
    Type: Grant
    Filed: July 8, 2020
    Date of Patent: December 21, 2021
    Assignee: METASWITCH NETWORKS LTD.
    Inventors: Leland Douglas Benson, David Reekie, Benjamin Thomas Wright, Matthew Ian Ronald Williams, Richard Hewitt