Multiplexed data transmissions through a communication link
First Claim
1. A method of transmitting data through a communication link having a bandwidth using a plurality of communication connections via the communication link, the method comprising the steps of:
- associating each one of a plurality of worker objects for each one of the plurality of communication connections, wherein each worker object comprises an abstraction that represents collections of methods or processes and each worker object is encapsulated along with data needed to carry out the method or process of the worker object;
distributing the data amongst the worker objects;
forming messages using the distributed data within each respective worker object of the plurality of worker objects, based on a parameter of the respective worker object;
wherein a first worker object has a first parameter value configured to establish a first respective predetermined portion of the bandwidth and a second worker object has a second parameter value configured to establish a second respective predetermined portion of the bandwidth which is different from the first respective predetermined portion of the bandwidth;
delivering the messages formed within each worker object to an underlying layer of the plurality of communication connections so that each communication connection uses no more than the respective predetermined portion of the bandwidth; and
allocating the predetermined portion of the bandwidth to each of the plurality of communication connections.
1 Assignment
0 Petitions
Accused Products
Abstract
A communication technique enables the efficient transmission of data through a communication link having a large delay bandwidth product and/or a high bit error rate. The communication technique multiplexes data from one or more data sources through a plurality of communication connections to increase the overall throughput and to reduce the average data transfer delay of the communication link. Each communication connection has a set of communication connection parameters that may be uniquely configured so that each connection carries a particular type of data at a particular effective priority level. Each communication connection may be uniquely configured to have a particular sending buffer size, to deliver messages having a particular length to an underlying layer and to send the messages into the link at a particular rate to orchestrate the manner in which the communication connections send data through the link.
-
Citations
55 Claims
-
1. A method of transmitting data through a communication link having a bandwidth using a plurality of communication connections via the communication link, the method comprising the steps of:
-
associating each one of a plurality of worker objects for each one of the plurality of communication connections, wherein each worker object comprises an abstraction that represents collections of methods or processes and each worker object is encapsulated along with data needed to carry out the method or process of the worker object; distributing the data amongst the worker objects; forming messages using the distributed data within each respective worker object of the plurality of worker objects, based on a parameter of the respective worker object; wherein a first worker object has a first parameter value configured to establish a first respective predetermined portion of the bandwidth and a second worker object has a second parameter value configured to establish a second respective predetermined portion of the bandwidth which is different from the first respective predetermined portion of the bandwidth; delivering the messages formed within each worker object to an underlying layer of the plurality of communication connections so that each communication connection uses no more than the respective predetermined portion of the bandwidth; and allocating the predetermined portion of the bandwidth to each of the plurality of communication connections. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for transmitting data through a communication link having a bandwidth using a plurality of communication connections via a communication link, the system comprising:
-
a communication object that distributes the data amongst the plurality of communication connections; and a plurality of worker objects, wherein each worker object is associated with one of the plurality of communication connections and is configured to form messages using the data distributed to the communication connection associated with that worker object based on a parameter of that worker object, and wherein each worker object comprises an abstraction that represents collections of methods or processes and each worker object is encapsulated along with data needed to carry out the method or process of the worker object, wherein a first worker object has a first parameter value configured to establish a first respective predetermined portion of the bandwidth and a second worker object has a second parameter value configured to establish a second respective predetermined portion of the bandwidth which is different from the first respective predetermined portion of the bandwidth, and wherein each worker object is configured to deliver the messages formed within that worker object to an underlying layer of the plurality of communication connections so that each communication connection uses no more than the respective predetermined portion of the bandwidth allocated to that communication connection. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A system for transmitting data through a communication link using a plurality of communication connections via the communication link having a bandwidth, the system comprising:
-
a communication process configured to partition the data to form a plurality of partitioned data streams; and a plurality of worker processes, wherein each one of the plurality of worker processes is configured to have a set of uniquely configurable communication parameters, is configured to receive the partitioned data from the communication process, is configured to form messages using the partitioned data, is configured to deliver the messages containing the partitioned data to an underlying layer of the plurality of communication connections based on the set of uniquely configurable communication parameters for that worker process, and is configured as an abstraction that represents collections of methods or processes, each worker process encapsulated along with data needed to carry out the method or process of the worker process, wherein a first worker object has a first parameter value configured to establish a first respective predetermined portion of the bandwidth and a second worker object has a second parameter value configured to establish a second respective predetermined portion of the bandwidth which is different from the first respective predetermined portion of the bandwidth. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A system for transmitting, data through a communication link having a bandwidth, comprising:
-
a communication station having a processor and a memory communicatively coupled to the processor, wherein the processor is programmed to provide a plurality of worker objects, wherein each one of the plurality of worker objects is configured to form messages using one of a plurality of partitioned data streams, to produce a separate communication connection through the communication link, and configured as an abstraction that represents collections of methods or processes, each worker object encapsulated along with data needed to carry out the method or process of the worker object, wherein a first worker object has a first parameter value configured to establish a first respective predetermined portion of the bandwidth and a second worker object has a second parameter value configured to establish a second respective predetermined portion of the bandwidth which is different from the first respective predetermined portion of the bandwidth, and wherein each of the plurality of worker objects includes a set of communication connection parameters that are uniquely configurable to determine the manner in which the messages are sent by each of the plurality of worker objects to an underlying layer of the communication link. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A method of transmitting data through a communication link by a communication gateway device, comprising the steps of:
-
associating each one of a plurality of worker processes to each one of a plurality of communication connections, wherein each one of the plurality of worker processes is configured to receive data, messages of the data, to send the messages containing the data to an underlying layer of the communication link having a bandwidth, and configured as an abstraction that represents collections of methods or processes, each worker process encapsulated along with data needed to carry out the method or process of the worker process; uniquely configuring a set of communication connection parameters uniquely associated with each of the plurality of worker processes; producing a separate communication connection for each one of the plurality of worker processes, wherein a first worker object has a first parameter value configured to establish a first respective predetermined portion of the bandwidth and a second worker object has a second parameter value configured to establish a second respective predetermined portion of the bandwidth which is different from the first respective predetermined portion of the bandwidth; and delivering the messages from at least one of the plurality of worker processes to the underlying layer for transmission through the communication link based on the respective set of communication connection parameters uniquely associated with the at least one of the plurality of worker process. - View Dependent Claims (49, 50, 51, 52, 53, 54, 55)
-
Specification