System and method for sharing a network port among multiple applications
First Claim
1. A method for sharing a network port among multiple applications, comprising the following steps:
- establishing a primary application responsible for listening to data packets received over the network port;
registering one or more secondary applications with the primary application, the secondary applications being interested in receiving the data packets delivered over the network port, the registering step additionally comprising submitting a registration request from each of the secondary applications to the primary application, the registration request containing an address of said each secondary application and an identity of the network port; and
when a data packet is received over the network port, delivering a copy of the data packet from the primary application to the secondary applications that are registered with the primary application.
3 Assignments
0 Petitions
Accused Products
Abstract
In a computer network system, data packets are transmitted to a designated network port. A port sharing protocol enables multiple applications to listen to the same port. Each interested application attempts to bind to the port. The first application to successfully bind to the port is deemed the “primary” application, and all remaining applications are deemed “secondary” applications. The secondary applications register themselves with the primary application by submitting their IP addresses and a port number of the port. The primary application adds the secondary applications to a distribution list. The primary application listens for incoming packets delivered over the port. When a packet is received, the primary application sends a copy of the packet to each secondary application on the distribution list. The primary and secondary applications are then free to consume the packets for their own purposes. As a result, multiple applications are able to receive the same data packets received over one port.
86 Citations
42 Claims
-
1. A method for sharing a network port among multiple applications, comprising the following steps:
-
establishing a primary application responsible for listening to data packets received over the network port;
registering one or more secondary applications with the primary application, the secondary applications being interested in receiving the data packets delivered over the network port, the registering step additionally comprising submitting a registration request from each of the secondary applications to the primary application, the registration request containing an address of said each secondary application and an identity of the network port; and
when a data packet is received over the network port, delivering a copy of the data packet from the primary application to the secondary applications that are registered with the primary application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
designating a registration port in association with the network port; and
using the registration port to register the secondary applications.
-
-
5. A method as recited in claim 1, further comprising the step of processing the data packets at the primary application and the secondary applications.
-
6. A method as recited in claim 1, wherein:
-
the establishing step comprises the step of establishing multiple primary applications in conjunction with multiple corresponding network ports;
the registering step comprises the step of registering one secondary application with the multiple primary applications; and
monitoring, at the secondary application, the data packets received over the multiple network ports.
-
-
7. A method as recited in claim 1, wherein:
-
the establishing step comprises the step of establishing a root application for listening to data packets received over a root-level network port; and
the registering step comprises the step of registering one or more non-root applications with the root application.
-
-
8. A method as recited in claim 1, wherein the primary application is executed on a first computer and the one or more secondary applications are executed on one or more computers separate from the first computer.
-
9. A method as recited in claim 1, wherein the data packet is received over the network port using a first network protocol, and the delivering step comprises the step of sending the data packet to the secondary applications using a second network protocol different from the first network protocol.
-
10. A method as recited in claim 1, further comprising the following steps:
-
terminating the primary application; and
negotiating among the secondary applications to determine a new primary application.
-
-
11. A method as recited in claim 1, further comprising the following steps:
-
terminating a secondary application; and
unregistering the secondary application from the primary application.
-
-
12. A method for sharing a network port among multiple applications, comprising the following steps:
-
establishing multiple primary applications in conjunction with multiple corresponding network ports responsible for listening to data packets received over the network port;
registering one or more secondary applications with the multiple primary applications, the one or more secondary applications being interested in receiving the data packets delivered over the network port;
when a data packet is received over the network port, delivering a copy of the data packet from at least one of the primary applications to the secondary applications that are registered with the primary applications; and
monitoring, at the secondary applications, the data packets received over the multiple network ports. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
designating a registration port in association with the network port; and
using the registration port to register the secondary applications.
-
-
17. A method as recited in claim 12, further comprising the step of processing the data packets at the primary applications and the secondary applications.
-
18. A method as recited in claim 12, wherein:
-
the establishing step comprises the step of establishing a root application for listening to data packets received over a root-level network port; and
the registering step comprises the step of registering one or more non-root applications with the root application.
-
-
19. A method as recited in claim 12, wherein the primary applications are executed on a first computer and the one or more secondary applications are executed on one or more computers separate from the first computer.
-
20. A method as recited in claim 12, wherein the data packet is received over the network port using a first network protocol, and the delivering step comprises the step of sending the data packet to the secondary applications using a second network protocol different from the first network protocol.
-
21. A method as recited in claim 12, further comprising the following steps:
-
terminating the primary applications; and
negotiating among the secondary applications to determine new primary applications.
-
-
22. A method as recited in claim 12, further comprising the following steps:
-
terminating a secondary application; and
unregistering the secondary application from the primary applications.
-
-
23. A method for sharing a network port among multiple applications, comprising the following steps:
-
establishing a primary application responsible for listening to data packets received over the network port;
registering one or more secondary applications with the primary application, the secondary applications being interested in receiving the data packets delivered over the network port;
when a data packet is received over the network port, delivering a copy of the data packet from the primary application to the secondary applications that are registered with the primary application;
terminating a secondary application; and
unregistering the secondary application from the primary application. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
designating a registration port in association with the network port; and
using the registration port to register the secondary applications.
-
-
28. A method as recited in claim 23, further comprising the step of processing the data packets at the primary application and the secondary applications.
-
29. A method as recited in claim 23, wherein:
-
the establishing step comprises the step of establishing multiple primary applications in conjunction with multiple corresponding network ports; and
the registering step comprises the step of registering one secondary application with the multiple primary applications; and
monitoring, at the secondary application, the data packets received over the multiple network ports.
-
-
30. A method as recited in claim 23, wherein:
-
the establishing step comprises the step of establishing a root application for listening to data packets received over a root-level network port; and
the registering step comprises the step of registering one or more non-root applications with the root application.
-
-
31. A method as recited in claim 23, wherein the primary application is executed on a first computer and the one or more secondary applications are executed on one or more computers separate from the first computer.
-
32. A method as recited in claim 23, wherein the data packet is received over the network port using a first network protocol, and the delivering step comprises the step of sending the data packet to the secondary applications using a second network protocol different from the first network protocol.
-
33. A method as recited in claim 23, further comprising the following steps:
-
terminating the primary application; and
negotiating among the secondary applications to determine a new primary application.
-
-
34. A secondary application embodied in software stored on a computer-readable medium, comprising:
-
code means for submitting a registration request over a registration port to a primary application, the registration request from the secondary application to the primary application containing an address of said each secondary application and an identity of the network port, the primary application being responsible for listening for packets received over a contested port that is separate from, but associated with, the registration port, the registration request containing information used by the primary application to send the packets received over the contested port to the secondary application;
code means for receiving the packets over the registration port from the primary application; and
code means for processing the packets; and
code means for terminating the secondary application. - View Dependent Claims (35)
-
-
36. A port sharing architecture for a networked computer system in which multiple applications are interested in using a contested port to receive data packets, comprising:
-
multiple primary applications to listen for the data packets received over multiple corresponding contested ports, the primary applications also listening for messages received over a registration port associated with the contested port;
a secondary application to communicate with the primary application via the registration port, the secondary application registering with the multiple primary applications to receive copies of the data packets received over the multiple contested ports; and
when a data packet is received over the contested port, the primary application delivers a copy of the data packet to the secondary application over the registration port. - View Dependent Claims (37, 38, 39)
-
-
40. A primary application embodied in software stored on a computer-readable medium, comprising:
-
code means for binding to a contested port;
code means for binding to a registration port separate from, but associated with, the contested port;
code means for listening for packets received over the contested and registration ports;
code means for registering a secondary application that sends over the registration port a registration packet containing a request to receive copies of the packets received over the contested port;
code means for copying the packets received over the contested port; and
code means for delivering the copy of the packets over the registration port to the registered secondary application. - View Dependent Claims (41, 42)
-
Specification