Patents by Inventor Nicholas A. Banks
Nicholas A. Banks 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: 11870877Abstract: A system having scalable sockets to support User Datagram Protocol (UDP) connections identifies a plurality of UDP connections, wherein a plurality of remote clients connect to corresponding ones of the plurality of UDP connections. Each one of a plurality of UDP sockets is associated with a corresponding one of the plurality of UDP connections. A network stack lookup for UDP packets in network traffic is performed using a network stack to identify the UDP socket corresponding to the remote client associated with each of the UDP packet. The UDP packets are buffered with a send buffer and a receive buffer for the UDP socket corresponding to the remote client associated with the UDP packets as determined by the network stack lookup to support communication over the plurality of UDP connections using the plurality of UDP sockets. The system thereby operates more efficiently and/or is more scalable.Type: GrantFiled: January 3, 2022Date of Patent: January 9, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Praveen Balasubramanian, Matthew A. Olson, Nicholas A. Banks, Sourav Das, Nicholas J. Grifka
-
Publication number: 20220124180Abstract: A system having scalable sockets to support User Datagram Protocol (UDP) connections identifies a plurality of UDP connections, wherein a plurality of remote clients connect to corresponding ones of the plurality of UDP connections. Each one of a plurality of UDP sockets is associated with a corresponding one of the plurality of UDP connections. A network stack lookup for UDP packets in network traffic is performed using a network stack to identify the UDP socket corresponding to the remote client associated with each of the UDP packet. The UDP packets are buffered with a send buffer and a receive buffer for the UDP socket corresponding to the remote client associated with the UDP packets as determined by the network stack lookup to support communication over the plurality of UDP connections using the plurality of UDP sockets. The system thereby operates more efficiently and/or is more scalable.Type: ApplicationFiled: January 3, 2022Publication date: April 21, 2022Inventors: Praveen BALASUBRAMANIAN, Matthew A. OLSON, Nicholas A. BANKS, Sourav DAS, Nicholas J. GRIFKA
-
Patent number: 11223708Abstract: A system having scalable sockets to support User Datagram Protocol (UDP) connections identifies a plurality of UDP connections, wherein a plurality of remote clients connect to corresponding ones of the plurality of UDP connections. Each one of a plurality of UDP sockets is associated with a corresponding one of the plurality of UDP connections. A network stack lookup for UDP packets in network traffic is performed using a network stack to identify the UDP socket corresponding to the remote client associated with each of the UDP packet. The UDP packets are buffered with a send buffer and a receive buffer for the UDP socket corresponding to the remote client associated with the UDP packets as determined by the network stack lookup to support communication over the plurality of UDP connections using the plurality of UDP sockets. The system thereby operates more efficiently and/or is more scalable.Type: GrantFiled: December 11, 2018Date of Patent: January 11, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Praveen Balasubramanian, Matthew A. Olson, Nicholas A. Banks, Sourav Das, Nicholas J. Grifka
-
Patent number: 11115504Abstract: A system for batched User Datagram Protocol (UDP) processing, on a send operation, combines multiple UDP packets into a plurality of packet batches to indicate on a plurality of sockets based at least in part on a packet batch size. Each packet batch is to be indicated to a corresponding one of the plurality of sockets to convey the plurality of packet batches to a network stack. One call is performed for each indicated socket of the plurality of sockets based on the packet batch size to convey each packet batch to the network stack. The network stack performs a single look up operation and a single network security inspection operation once per packet batch. In response to performing the one call, the plurality of packet batches are then sent to a network adapter or an application. The system thereby operates more efficiently and/or is more scalable.Type: GrantFiled: December 11, 2018Date of Patent: September 7, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Praveen Balasubramanian, Matthew A. Olson, Nicholas A. Banks, Sourav Das, Nicholas J. Grifka
-
Patent number: 10785020Abstract: A system for hardware offloading programs a network interface card with a mapping between (i) a connection identification (CID) for one or more Quick User Datagram Protocol Internet Connections (QUIC) data packets and (ii) a symmetric key and a crypto algorithm. When one or more data packets are received over a network, the one or more data packets are parsed to identify the one or more data packets as QUIC data packets and then obtain the CID for the QUIC data packets. The CID is sent to the network interface card that identifies the symmetric key and the crypto algorithm based on the CID to perform a crypto decrypt operation on the QUIC data packets, and reassembles the QUIC data packets, and an encrypt and large send offload (LSO) on transmit. A software control complexity and processing burden is thereby reduced.Type: GrantFiled: January 19, 2018Date of Patent: September 22, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Praveen Balasubramanian, Nicholas A. Banks
-
Patent number: 10582550Abstract: Embodiments produce a set of instructions for connecting to a network through a network access point based on data crowdsourced from mobile computing devices. The crowdsourced data describes interactions between the mobile computing devices and the network access point when establishing a connection to the network. A cloud service analyzes the crowdsourced data to identify a set of instructions for association with the network access point. The mobile computing devices replay the set of instructions when subsequently attempting to connect to the network access point.Type: GrantFiled: December 7, 2016Date of Patent: March 3, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Nicholas A. Banks, Piyush Goyal, Shai Guday, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Christopher R. Rice, Saumaya Sharma
-
Publication number: 20190394307Abstract: A system for batched User Datagram Protocol (UDP) processing, on a send operation, combines multiple UDP packets into a plurality of packet batches to indicate on a plurality of sockets based at least in part on a packet batch size. Each packet batch is to be indicated to a corresponding one of the plurality of sockets to convey the plurality of packet batches to a network stack. One call is performed for each indicated socket of the plurality of sockets based on the packet batch size to convey each packet batch to the network stack. The network stack performs a single look up operation and a single network security inspection operation once per packet batch. In response to performing the one call, the plurality of packet batches are then sent to a network adapter or an application. The system thereby operates more efficiently and/or is more scalable.Type: ApplicationFiled: December 11, 2018Publication date: December 26, 2019Inventors: Praveen BALASUBRAMANIAN, Matthew A. OLSON, Nicholas A. BANKS, Sourav DAS, Nicholas J. GRIFKA
-
Publication number: 20190394308Abstract: A system having scalable sockets to support User Datagram Protocol (UDP) connections identifies a plurality of UDP connections, wherein a plurality of remote clients connect to corresponding ones of the plurality of UDP connections. Each one of a plurality of UDP sockets is associated with a corresponding one of the plurality of UDP connections. A network stack lookup for UDP packets in network traffic is performed using a network stack to identify the UDP socket corresponding to the remote client associated with each of the UDP packet. The UDP packets are buffered with a send buffer and a receive buffer for the UDP socket corresponding to the remote client associated with the UDP packets as determined by the network stack lookup to support communication over the plurality of UDP connections using the plurality of UDP sockets. The system thereby operates more efficiently and/or is more scalable.Type: ApplicationFiled: December 11, 2018Publication date: December 26, 2019Inventors: Praveen BALASUBRAMANIAN, Matthew A. OLSON, Nicholas A. BANKS, Sourav DAS, Nicholas J. GRIFKA
-
Patent number: 10506646Abstract: Embodiments produce a set of instructions for connecting to a network through a network access point based on data crowdsourced from mobile computing devices. The crowdsourced data describes interactions between the mobile computing devices and the network access point when establishing a connection to the network. A cloud service analyzes the crowdsourced data to identify a set of instructions for association with the network access point. The mobile computing devices replay the set of instructions when subsequently attempting to connect to the network access point.Type: GrantFiled: December 7, 2016Date of Patent: December 10, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Nicholas A. Banks, Piyush Goyal, Shai Guday, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Christopher R. Rice, Saumaya Sharma
-
Patent number: 10382305Abstract: Embodiments apply a set of sequenced instructions to connect to a network through a captive portal. A computing device detects a network access point and obtains the instruction set corresponding to the network access point. The instruction set is derived by a cloud service from crowdsourced data describing interactions between mobile computing devices and the network access point. Applying the instruction set includes performing actions such as navigating web pages to accept terms and conditions, provide user or device information, and more.Type: GrantFiled: November 15, 2013Date of Patent: August 13, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Mohammad Shabbir Alam, Javier Flores Assad, Nicholas A. Banks, Piyush Goyal, James Christopher Gray, Shai Guday, Thomas W. Kuehnel, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Sidharth Uday Nabar, Christopher R. Rice, Saumaya Sharma, Douglas E. Stamper
-
Publication number: 20190229903Abstract: A system for hardware offloading programs a network interface card with a mapping between (i) a connection identification (CID) for one or more Quick User Datagram Protocol Internet Connections (QUIC) data packets and (ii) a symmetric key and a crypto algorithm. When one or more data packets are received over a network, the one or more data packets are parsed to identify the one or more data packets as QUIC data packets and then obtain the CID for the QUIC data packets. The CID is sent to the network interface card that identifies the symmetric key and the crypto algorithm based on the CID to perform a crypto decrypt operation on the QUIC data packets, and reassembles the QUIC data packets, and an encrypt and large send offload (LSO) on transmit. A software control complexity and processing burden is thereby reduced.Type: ApplicationFiled: January 19, 2018Publication date: July 25, 2019Inventors: Praveen BALASUBRAMANIAN, Nicholas A. BANKS
-
Publication number: 20170094698Abstract: Embodiments produce a set of instructions for connecting to a network through a network access point based on data crowdsourced from mobile computing devices. The crowdsourced data describes interactions between the mobile computing devices and the network access point when establishing a connection to the network. A cloud service analyzes the crowdsourced data to identify a set of instructions for association with the network access point. The mobile computing devices replay the set of instructions when subsequently attempting to connect to the network access point.Type: ApplicationFiled: December 7, 2016Publication date: March 30, 2017Inventors: Nicholas A. Banks, Piyush Goyal, Shai Guday, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Christopher R. Rice, Saumaya Sharma
-
Patent number: 9554323Abstract: Embodiments produce a set of instructions for connecting to a network through a network access point based on data crowdsourced from mobile computing devices. The crowdsourced data describes interactions between the mobile computing devices and the network access point when establishing a connection to the network. A cloud service analyzes the crowdsourced data to identify a set of instructions for association with the network access point. The mobile computing devices replay the set of instructions when subsequently attempting to connect to the network access point.Type: GrantFiled: November 15, 2013Date of Patent: January 24, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Nicholas A. Banks, Piyush Goyal, Shai Guday, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Christopher R. Rice, Saumaya Sharma
-
Publication number: 20150142946Abstract: Embodiments apply a set of sequenced instructions to connect to a network through a captive portal. A computing device detects a network access point and obtains the instruction set corresponding to the network access point. The instruction set is derived by a cloud service from crowdsourced data describing interactions between mobile computing devices and the network access point. Applying the instruction set includes performing actions such as navigating web pages to accept terms and conditions, provide user or device information, and more.Type: ApplicationFiled: November 15, 2013Publication date: May 21, 2015Inventors: Mohammad Shabbir Alam, Javier Flores Assad, Nicholas A. Banks, Piyush Goyal, James Christopher Gray, Shai Guday, Thomas W. Kuehnel, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Sidharth Uday Nabar, Christopher R. Rice, Saumaya Sharma, Douglas E. Stamper
-
Publication number: 20150139082Abstract: Embodiments produce a set of instructions for connecting to a network through a network access point based on data crowdsourced from mobile computing devices. The crowdsourced data describes interactions between the mobile computing devices and the network access point when establishing a connection to the network. A cloud service analyzes the crowdsourced data to identify a set of instructions for association with the network access point. The mobile computing devices replay the set of instructions when subsequently attempting to connect to the network access point.Type: ApplicationFiled: November 15, 2013Publication date: May 21, 2015Inventors: Nicholas A. Banks, Piyush Goyal, Shai Guday, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Christopher R. Rice, Saumaya Sharma
-
Patent number: 6028645Abstract: A digital video effects apparatus has a graphical user interface having a display upon which is produced a video image within a predetermined shape, the video Image being rotated in time and space to represent a 3-dimensional effect. Control points are set by a user together with rotation angles and x-y scaling parameters of the video image. The apparatus interpolates between the control points to provide a smooth transition from control point to control point. The video image is zoomed in and out as the video image changes orientation and/or size so that the video image substantially fills an image area of the graphical user interface display. In the invention the video image is tracked on the GUI display even when it is outside the normally visible screen area.Type: GrantFiled: April 4, 1997Date of Patent: February 22, 2000Assignee: Tektronix, Inc.Inventors: Paul J. Reid, Nicholas Banks
-
Patent number: 5830770Abstract: Novel generic antibodies are provided that are specific to groups of organophosphates, particularly to a class of organophosphate pesticides in common usage. Further provided are compounds and methods for raising these antibodies, test kits containing them and methods for their use. The antibodies targeted at low molecular weight (i.e. below MW 1000) organophosphorous pesticides methacrifos, pirimphos methyl, etrimfos, fenitrothion, chlopyrifos methyl, dichlorovos and malathion. Preferred conjugates of the invention are of the formula (RO).sub.2 --P(S)--Z--?Y!-Protein wherein R is lower alkyl and Z is as O, S or --NH--, Y is a spacer group and "Protein" indicates a protein suitable for use in hapten protein conjugates for the purpose of raising antibodies and antisera. Typical and preferred proteins are bovine serum albumin, ovalbumin from chicken egg, keyhole limpet hemocyananin and mixtures of these.Type: GrantFiled: April 26, 1996Date of Patent: November 3, 1998Assignee: The Minister of Agriculture Fisheries and Food in Her Britannic Majesty's Government of the U.K. of Gt. Britain & N. IrelandInventors: Wendy Alison Matthews, John Nicholas Banks, Mohamed Qasim Chaudhry