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: 11916789Abstract: 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: GrantFiled: June 9, 2021Date of Patent: February 27, 2024Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Steven Balls, Matthew Ian Ronald Williams, Abhishek Pandey, Daniel Thomas O'Brien
-
Patent number: 11893395Abstract: 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: GrantFiled: April 18, 2023Date of Patent: February 6, 2024Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Charles Hotham, Murray William Rogers, Sophie Stratton, Joseph Ellis Darracott Powell, Matthew Ian Ronald Williams
-
Publication number: 20240031226Abstract: 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: ApplicationFiled: September 22, 2022Publication date: January 25, 2024Inventors: Calum Sutherland LOUDON, Matthew Ian Ronald WILLIAMS, Peter Louis WHITE, Colin Michael TREGENZA DANCER
-
Publication number: 20240022651Abstract: 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: ApplicationFiled: April 14, 2023Publication date: January 18, 2024Inventors: Matthew Ian Ronald WILLIAMS, Richard John WHITEHOUSE, Christopher Neil SWINDLE, Colin REYNOLDS
-
Publication number: 20240020289Abstract: 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: ApplicationFiled: October 8, 2021Publication date: January 18, 2024Inventors: Michael Jeffrey EVANS, Matthew Ian Ronald WILLIAMS
-
Publication number: 20230254914Abstract: 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: ApplicationFiled: October 29, 2021Publication date: August 10, 2023Inventors: Matthew Ian Ronald WILLIAMS, Colin TREGENZA DANCER, Martin TAYLOR, David REEKIE, Richard HEWITT
-
Publication number: 20230251874Abstract: 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: ApplicationFiled: April 18, 2023Publication date: August 10, 2023Inventors: David Charles HOTHAM, Murray William ROGERS, Sophie STRATTON, Joseph Ellis Darracott POWELL, Matthew Ian Ronald WILLIAMS
-
Patent number: 11700170Abstract: 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: GrantFiled: May 18, 2022Date of Patent: July 11, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jonathan Eric Hardwick, Matthew Ian Ronald Williams
-
Patent number: 11665098Abstract: 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: GrantFiled: April 28, 2021Date of Patent: May 30, 2023Assignee: METASWITCH NETWORKS LTD.Inventors: Martin Taylor, James Robert Andrew, Matthew Ian Ronald Williams
-
Patent number: 11663019Abstract: 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: GrantFiled: April 29, 2021Date of Patent: May 30, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Charles Hotham, Murray William Rogers, Sophie Stratton, Joseph Ellis Darracott Powell, Matthew Ian Ronald Williams
-
Patent number: 11659071Abstract: 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: GrantFiled: November 24, 2021Date of Patent: May 23, 2023Assignee: MetaSwitch Networks Ltd.Inventors: Matthew Ian Ronald Williams, Richard John Whitehouse, Christopher Neil Swindle, Colin Reynolds
-
Publication number: 20220350617Abstract: 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: ApplicationFiled: April 29, 2021Publication date: November 3, 2022Inventors: David Charles HOTHAM, Murray William ROGERS, Sophie STRATTON, Joseph Ellis Darracott POWELL, Matthew Ian Ronald WILLIAMS
-
Publication number: 20220337520Abstract: 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: ApplicationFiled: June 9, 2021Publication date: October 20, 2022Inventors: Steven BALLS, Matthew Ian Ronald WILLIAMS, Abhishek PANDEY, Daniel Thomas O'BRIEN
-
Publication number: 20220303178Abstract: 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: ApplicationFiled: May 18, 2022Publication date: September 22, 2022Inventors: Jonathan Eric HARDWICK, Matthew Ian Ronald WILLIAMS
-
Publication number: 20220261283Abstract: 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: ApplicationFiled: May 11, 2021Publication date: August 18, 2022Inventors: Jonathan Eric HARDWICK, Christopher Neil SWINDLE, Matthew Ian Ronald WILLIAMS, Michael Jeffrey EVANS
-
Patent number: 11398977Abstract: 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: GrantFiled: January 22, 2020Date of Patent: July 26, 2022Assignee: Metaswitch Networks Ltd.Inventors: Matthew Ian Ronald Williams, Michael Jeffrey Evans
-
Patent number: 11388047Abstract: 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: GrantFiled: March 17, 2021Date of Patent: July 12, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jonathan Eric Hardwick, Matthew Ian Ronald Williams
-
Publication number: 20220183085Abstract: 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: ApplicationFiled: November 15, 2021Publication date: June 9, 2022Inventors: Leland Douglas BENSON, David REEKIE, Benjamin Thomas WRIGHT, Matthew Ian Ronald WILLIAMS, Richard HEWITT
-
Publication number: 20220166856Abstract: 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: ApplicationFiled: November 24, 2021Publication date: May 26, 2022Inventors: Matthew Ian Ronald WILLIAMS, Richard John WHITEHOUSE, Christopher Neil SWINDLE, Colin REYNOLDS
-
Patent number: 11206698Abstract: 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: GrantFiled: July 8, 2020Date of Patent: December 21, 2021Assignee: METASWITCH NETWORKS LTD.Inventors: Leland Douglas Benson, David Reekie, Benjamin Thomas Wright, Matthew Ian Ronald Williams, Richard Hewitt