CA2398080A1 - Multi-link transmission of data over a cellular network - Google Patents
Multi-link transmission of data over a cellular network Download PDFInfo
- Publication number
- CA2398080A1 CA2398080A1 CA002398080A CA2398080A CA2398080A1 CA 2398080 A1 CA2398080 A1 CA 2398080A1 CA 002398080 A CA002398080 A CA 002398080A CA 2398080 A CA2398080 A CA 2398080A CA 2398080 A1 CA2398080 A1 CA 2398080A1
- Authority
- CA
- Canada
- Prior art keywords
- data
- computer
- links
- over
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/12—Wireless traffic scheduling
- H04W72/1263—Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/14—Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/04—Large scale networks; Deep hierarchical networks
- H04W84/042—Public Land Mobile systems, e.g. cellular systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
- Automobile Manufacture Line, Endless Track Vehicle, Trailer (AREA)
- Radio Relay Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
A wireless data communication unit (28) includes a data interface, which receives data from a first computer (24) for transmission to a second computer (22) having a similar wireless data communication unit (30), and conveys data received from the second computer (22) to the first computer (24). The communication unit (28) further includes a plurality of wireless communication transceivers (36, 37, 38), which communicate over respective wireless links with corresponding transceivers (36, 37, 38) in the communication unit of the second computer (22). A multiplexer (34) distributes the data received by the data interface from the first computer (24) among the plurality of transceivers (36, 37, 38) for transmission thereby over the respective links, and assembles the data received from the second computer (22) over the links into a single, (24).
Description
MULTI-LINK TRANSMISSION OF DATA OVER A CELLULAR
NETWORK
BACKGROUND OF THE INVENTION
I. Field of the Invention The present invention relates generally to wireless communications, and specifically to data communications over cellular networks.
II. Background It frequently occurs that the rate at which data must be conveyed between two points exceeds the capacity of a single communication channel 1_5 between the points. It is known in the art to use multiple links in parallel to convey the data in such a case. For example, in place of the normal point-to-point (PPP) protocol that is commonly used in digital packet communications between computers, the PPP Multilink Protocol may be used. This protocol is described by Sklower et al., in Request for Comments (RFC) no. 1990 of the Internet Engineering Task Force (IETF) Network Working Group (August, 1996), which is incorporated herein by reference. It offers a method for splitting, recombining and sequencing datagrams across multiple logical data links, such as multiple Integrated Service Digital Network (ISDN) bearer channels. The Multilink Protocol requires a special, multi-link modem, however, and is not compatible with the standard telephone modems that are currently installed in most computers.
In the cellular field, the IS-95 standard for code division multiple access (CDMA) communications, promulgated by the Telecommunications Industry Association (TIA), offers features known as medium data rate (MDR) and high data rate (HDR) transmission for high-speed data services. When a user data rate between a mobile station (MS) and a base station subsystem (BSS) exceeds ordinary CDMA traffic channel rates, MDR and HDR allow multiple traffic channels to be opened simultaneously. Since there is frequently a greater volume of data being transported in one direction than in the other (most frequently in a forward direction, i.e., from the BSS to the MS) the number of channels opened in the two directions need not be equal. In MDR, for each direction there is typically one fundamental code traffic channel, which carries signaling along with data, and up to seven supplemental code traffic channels for high-speed data. The supplemental channels are activated as needed based on the total data rate at anv time.
J
A similar type of high-speed data service is offered in the Global System for Mobile (GSM) telecommunications Phase 2+ standard for high-speed circuit s switched data (HSCSD). In this case, a number of time division multiple access (TDMA) time slots are allocated to carry the high-speed data between the BSS
and the MS. Most currently-deployed cellular systems do not support standards such as HSCSD or MDR. Implementation of these high-speed standards will require substantial investments in infrastructure and new equipment.
SUMMARY OF THE INVENTION
It is an object of some aspects of the present invention to provide improved apparatus and methods for transmission of high-speed data over a cellular communications network.
It is a further object of some aspects of the present invention to provide apparatus and methods that enable application data to be conveyed between computers over multiple, parallel cellular links in a manner that is transparent to the applications and to the computer users.
It is still a further object of some aspects of the present invention to provide apparatus and methods for high-speed data communications over a cellular network that are fully compatible with currently-deployed network infrastructure and equipment.
In preferred embodiments of the present invention, a pair of computers are connected to respective wireless data communication units, which exchange data over multiple wireless links simultaneously. Preferably, the units communicate over a cellular network. The multiple links are established using two or more cellular transceivers in each of the units, which place multiple, parallel calls simultaneously between the units. Each unit has a data interface that couples to a data port of the respective computer, typically a serial port, in a manner that emulates a standard modem. Applications running on the computers exchange data via the wireless units, preferably using a standard point-to-point (PPP) protocol, unaware that multiple links are being used.
Multiplexers in the wireless units are responsible for distributing data frames from the respective computers for transmission among the multiple links and for reordering the frames upon receipt, so that the operation of the units is substantially transparent to the computers that use them.
NETWORK
BACKGROUND OF THE INVENTION
I. Field of the Invention The present invention relates generally to wireless communications, and specifically to data communications over cellular networks.
II. Background It frequently occurs that the rate at which data must be conveyed between two points exceeds the capacity of a single communication channel 1_5 between the points. It is known in the art to use multiple links in parallel to convey the data in such a case. For example, in place of the normal point-to-point (PPP) protocol that is commonly used in digital packet communications between computers, the PPP Multilink Protocol may be used. This protocol is described by Sklower et al., in Request for Comments (RFC) no. 1990 of the Internet Engineering Task Force (IETF) Network Working Group (August, 1996), which is incorporated herein by reference. It offers a method for splitting, recombining and sequencing datagrams across multiple logical data links, such as multiple Integrated Service Digital Network (ISDN) bearer channels. The Multilink Protocol requires a special, multi-link modem, however, and is not compatible with the standard telephone modems that are currently installed in most computers.
In the cellular field, the IS-95 standard for code division multiple access (CDMA) communications, promulgated by the Telecommunications Industry Association (TIA), offers features known as medium data rate (MDR) and high data rate (HDR) transmission for high-speed data services. When a user data rate between a mobile station (MS) and a base station subsystem (BSS) exceeds ordinary CDMA traffic channel rates, MDR and HDR allow multiple traffic channels to be opened simultaneously. Since there is frequently a greater volume of data being transported in one direction than in the other (most frequently in a forward direction, i.e., from the BSS to the MS) the number of channels opened in the two directions need not be equal. In MDR, for each direction there is typically one fundamental code traffic channel, which carries signaling along with data, and up to seven supplemental code traffic channels for high-speed data. The supplemental channels are activated as needed based on the total data rate at anv time.
J
A similar type of high-speed data service is offered in the Global System for Mobile (GSM) telecommunications Phase 2+ standard for high-speed circuit s switched data (HSCSD). In this case, a number of time division multiple access (TDMA) time slots are allocated to carry the high-speed data between the BSS
and the MS. Most currently-deployed cellular systems do not support standards such as HSCSD or MDR. Implementation of these high-speed standards will require substantial investments in infrastructure and new equipment.
SUMMARY OF THE INVENTION
It is an object of some aspects of the present invention to provide improved apparatus and methods for transmission of high-speed data over a cellular communications network.
It is a further object of some aspects of the present invention to provide apparatus and methods that enable application data to be conveyed between computers over multiple, parallel cellular links in a manner that is transparent to the applications and to the computer users.
It is still a further object of some aspects of the present invention to provide apparatus and methods for high-speed data communications over a cellular network that are fully compatible with currently-deployed network infrastructure and equipment.
In preferred embodiments of the present invention, a pair of computers are connected to respective wireless data communication units, which exchange data over multiple wireless links simultaneously. Preferably, the units communicate over a cellular network. The multiple links are established using two or more cellular transceivers in each of the units, which place multiple, parallel calls simultaneously between the units. Each unit has a data interface that couples to a data port of the respective computer, typically a serial port, in a manner that emulates a standard modem. Applications running on the computers exchange data via the wireless units, preferably using a standard point-to-point (PPP) protocol, unaware that multiple links are being used.
Multiplexers in the wireless units are responsible for distributing data frames from the respective computers for transmission among the multiple links and for reordering the frames upon receipt, so that the operation of the units is substantially transparent to the computers that use them.
The present invention thus enables data to be transmitted over wireless networks at data rates several times the rate that is available over a single channel. This feature is particularly important in cellular networks, in which bandwidth is limited and single-channel data transmission is therefore slow.
The increased data rate is attained using inexpensive hardware and without alteration to existing cellular infrastructure. There is similarly no modification required to the computers or to the software applications that use the wireless communication units of the present invention to exchange data.
There is therefore provided, in accordance with a preferred embodiment of the present invention, a wireless data communication unit, including:
a data interface, adapted to receive data from a first computer for transmission to a second computer having a similar wireless data communication unit, and to convey data received from the second computer to the first computer;
a plurality of wireless communication transceivers, adapted to communicate over respective wireless links with corresponding transceivers in the communication unit of the second computer; and a multiplexer, which is adapted to distribute the data received by the data interface from the first computer among the plurality of transceivers for transmission thereby over the respective links, and to assemble the data received from the second computer over the links into a single, ordered stream of data to be conveyed by the data interface to the first computer.
Preferably, the plurality of wireless communication transceivers include cellular transceivers, and the wireless links are made over a cellular communications network. Most preferably, to establish the wireless links, each of the transceivers places a call over the cellular communications network to the corresponding transceiver in the communication unit of the second computer.
Preferably, the data interface is adapted to be coupled to the first computer in a manner that emulates a standard data modem, wherein the data interface includes a RS-232 interface. Further preferably, the data are transmitted and received by an application running on the first computer using a standard point-to-point protocol, as though only a single link were operative between the first and second computers.
Preferably, the data received from the first computer are divided into frames, and the multiplexer adds a numbering layer to the frames, in accordance with which the frames transmitted over the links are assembled into the single, ordered stream.
There is further provided, in accordance with a preferred embodiment of the present invention, a method for wireless data communications, including:
The increased data rate is attained using inexpensive hardware and without alteration to existing cellular infrastructure. There is similarly no modification required to the computers or to the software applications that use the wireless communication units of the present invention to exchange data.
There is therefore provided, in accordance with a preferred embodiment of the present invention, a wireless data communication unit, including:
a data interface, adapted to receive data from a first computer for transmission to a second computer having a similar wireless data communication unit, and to convey data received from the second computer to the first computer;
a plurality of wireless communication transceivers, adapted to communicate over respective wireless links with corresponding transceivers in the communication unit of the second computer; and a multiplexer, which is adapted to distribute the data received by the data interface from the first computer among the plurality of transceivers for transmission thereby over the respective links, and to assemble the data received from the second computer over the links into a single, ordered stream of data to be conveyed by the data interface to the first computer.
Preferably, the plurality of wireless communication transceivers include cellular transceivers, and the wireless links are made over a cellular communications network. Most preferably, to establish the wireless links, each of the transceivers places a call over the cellular communications network to the corresponding transceiver in the communication unit of the second computer.
Preferably, the data interface is adapted to be coupled to the first computer in a manner that emulates a standard data modem, wherein the data interface includes a RS-232 interface. Further preferably, the data are transmitted and received by an application running on the first computer using a standard point-to-point protocol, as though only a single link were operative between the first and second computers.
Preferably, the data received from the first computer are divided into frames, and the multiplexer adds a numbering layer to the frames, in accordance with which the frames transmitted over the links are assembled into the single, ordered stream.
There is further provided, in accordance with a preferred embodiment of the present invention, a method for wireless data communications, including:
inputting data from a first computer for transmission to a second computer establishing a plurality of wireless communication links between a corresponding plurality of pairs of transceivers, each pair including a first transceiver coupled to the first computer and a second transceiver coupled to the second computer;
multiplexing the data received from the first computer so as to transmit respective portions of the data over the plurality of wireless communication links in parallel;
receiving the data transmitted over the plurality of wireless communication links; and assembling the received data into a single, ordered stream of data to be output to the second computer.
Preferably, establishing the plurality of wireless communication links includes establishing bidirectional links, such that data are also transmitted from the second computer to the first computer over the plurality of links.
Preferably, establishing the plurality of wireless commtmication links includes establishing the links over a cellular communications network, wherein establishing the links includes placing a plurality of calls over the cellular communications network. Most preferably, the method includes monitoring the calls so as to determine when one of the links becomes non-operational, wherein establishing the links includes placing a call to re-establish the non-operational link.
Preferably, inputting the data from the first computer includes emulating a standard data modem coupled to the first computer, wherein emulating the standard data modem includes receiving serial data input from the first computer. Most preferably, inputting the data includes receiving data from an application running on the first computer using a standard point-to-point protocol, as though only a single link were operative between the first and second computers.
Preferably, inputting the data includes receiving frames of data from the first computer, and multiplexing the data includes adding a numbering layer to the frames, in accordance with which the frames transmitted over the links are assembled into the single, ordered stream. Further preferably, assembling the received data includes reordering the received frames in accordance with the numbering layer and removing the numbering layer from the frames, so that an application running on the second computer receives the data as though only a single link were operative between the first and second computers.
WO 01/56190 PCT/USOl/03244 The present invention will be more fully understood from the following detailed description of the preferred embodiments thereof, taken together with the drawings in which:
multiplexing the data received from the first computer so as to transmit respective portions of the data over the plurality of wireless communication links in parallel;
receiving the data transmitted over the plurality of wireless communication links; and assembling the received data into a single, ordered stream of data to be output to the second computer.
Preferably, establishing the plurality of wireless communication links includes establishing bidirectional links, such that data are also transmitted from the second computer to the first computer over the plurality of links.
Preferably, establishing the plurality of wireless commtmication links includes establishing the links over a cellular communications network, wherein establishing the links includes placing a plurality of calls over the cellular communications network. Most preferably, the method includes monitoring the calls so as to determine when one of the links becomes non-operational, wherein establishing the links includes placing a call to re-establish the non-operational link.
Preferably, inputting the data from the first computer includes emulating a standard data modem coupled to the first computer, wherein emulating the standard data modem includes receiving serial data input from the first computer. Most preferably, inputting the data includes receiving data from an application running on the first computer using a standard point-to-point protocol, as though only a single link were operative between the first and second computers.
Preferably, inputting the data includes receiving frames of data from the first computer, and multiplexing the data includes adding a numbering layer to the frames, in accordance with which the frames transmitted over the links are assembled into the single, ordered stream. Further preferably, assembling the received data includes reordering the received frames in accordance with the numbering layer and removing the numbering layer from the frames, so that an application running on the second computer receives the data as though only a single link were operative between the first and second computers.
WO 01/56190 PCT/USOl/03244 The present invention will be more fully understood from the following detailed description of the preferred embodiments thereof, taken together with the drawings in which:
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram that schematically illustrates a mufti-link cellular data communications system, in accordance with a preferred embodiment of the present invention;
Fig. 2 is a flow chart that schematically illustrates a method for transmitting data in the system of Fig. 1, in accordance with a preferred embodiment of the present invention;
Fig. 3 is a flow chart that schematically illustrates a method for processing data received in the system of Fig. 1, in accordance with a preferred embodiment of the present invention; and Fig. 4 is a flow chart that schematically illustrates a method for reordering data frames received using the method of Fig. 3, in accordance with a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED
EMBODIMENTS
Fig. 1 is a block diagram that schematically illustrates a wireless data communications system 20, in accordance with a preferred embodiment of the present invention. System 20 comprises a pair of personal computers (PCs) 22 and 24, which are linked by respective cellular data communication units 28 and 30. Each of the computers is coupled to the respective cellular unit by a cable, typically a standard serial cable connected to a RS-232 port of the computer. Alternatively, substantially any wired data connection known in the art may be used between the computer and the wireless unit. Units 28 and 30 communicate over a cellular communications network, preferably a CDMA
network. Alternatively other types of networks and other cellular standards may be used.
In the embodiment of Fig. 1, computers 22 and 24 run an application 26 under which data are exchanged between the computers, preferably using a point-to-point (PPP) protocol, as is known in the art. On each computer, the PPP protocol encapsulates the data generated by the application in a sequence of data frames, which are then conveyed to the other computer. Alternatively, any other suitable communications protocol may be used between the computers, preferably a protocol that generates data frames or packets.
Cellular unit 28 (and similarly, cellular unit 30) comprises a modem emulator 32, which is connected by the cable to the above-mentioned port of computer 22. Data frames received by the modem emulator are distributed by a multiplexer 34 among a plurality of cellular telephone modules 36, 37, 38.
Each such module comprises a cellular transceiver with logic and control circuits, as are used in conventional cellular telephones known in the art.
The telephone modules are labeled PHONE 1, PHONE 2, ..., PHONE n, to indicate that substantially any desired number of modules may be used in the unit. The inventors have found that a convenient number of telephone modules to be used in unit 28 is between two and six, with an equal number to be used in unit 30. For convenience and robustness, the transceivers preferably share a common antenna (not shown). Each of the telephone modules has its own telephone number in the cellular network, wherein for ease of implementation, the numbers are preferably sequential.
Each telephone module 36, 37, 38 in unit 28 conveys data to a corresponding module in unit 30 over the cellular network in a full duplex mode. The data received by the telephone modules is demultiplexed by the corresponding multiplexer 34 and is then conveyed to the respective computer by modem emulator 32. Although the multiplexer and modem emulator are illustrated for clarity as separate functional blocks, these two functions are preferably carried out by the same processor, most preferably a general-purpose processor with suitable input/output connections and software.
Alternatively, modem emulator 32 and multiplexer 34 may be implemented in dedicated hardware or in a combination of hardware and software elements.
Fig. 2 is a flow chart that schematically illustrates a method for transmitting data between computers 22 and 24 using communication units 28 and 30, in accordance with a preferred embodiment of the present invention.
For the sake of clarity, the method is described hereinbelow with reference to transmission of data from computer 22 to computer 24, but it will be understood that ordinarily, the computers communicate via units 28 and 30 in full-duplex mode.
At a dial-up command step 50, a user of computer 22 makes a dial-up request, preferably using a standard Microsoft Dial-Up software routine.
Typically, The user is prompted by the software to input a telephone number.
In response, the user specifies the number of the first telephone module 36 (PHONE 1) in cellular unit 30. Alternatively, the telephone number is pre-programmed. Upon receiving the user input or pre-programmed number, computer 22 issues a dial-up command to unit 28.
In response to the dial-up command, unit 28 instructs telephone modules 36, 37, 38 to place calls to the corresponding modules in unit 30, at a call _5 initiation step 52. Thus, n calls are established simultaneously. When all of the calls have been made successfully, unit 28 returns a connect indication to computer 22, to signal that it the modem link is ready to receive data, at an indication step 54. At this point, the computer can begin to send data to unit as though the unit were a standard modem. The rate of data transmission, however, is roughly n times the rate that is available when only a single cellular link is used.
Modem emulator 32 receives PPP frames in sequence from computer 22, at a receive frame step 56. In a numbering step 58, a proprietary numbering layer is added to each frame, indicating its position in the sequence.
Typically a header is added to the frame including the frame number. Multiplexes 34 then distributes the frames in turn to telephone modules 36, 37, 38, at a frame sending step 60. Preferably, the multiplexes passes the frames to all of the modules in a round robin. The telephone modules then transmit the frames to their counterparts in unit 30 at a frame transmission step 62.
It may occur during communication between units 28 and 30 that one or more of the connections between the telephone modules in the units are lost.
Such lost connections are commonly caused by faults in the cellular network, but may also occur due to a hardware failure in unit 28 or 30. Multiplexes 34 regularly checks the status of telephone modules 36, 37, 38, in order to verify that they are still validly connected to their counterparts in the other unit.
When one of the connections is found to be no longer valid, the multiplexes stops sending it data frames. The telephone module will meanwhile attempt to re-establish its cellular link with its counterpart, so that it can again become available for transmitting data frames. While one or more of the cellular links are not operating, the rate of data transmission between computers 22 and 24 is reduced, but the connection between the computers is maintained. Once the module has re-established its cellular link, it notifies the multiplexes, which then resumes sending data frames to the module.
When data commtulication is finished, the user of computer 22 instructs the computer to terminate the connection to computer 24, at a hang-up step 64.
Typically, the same Dial-Up routine that was used to initiate the connection is also used to terminate it. The computer conveys the disconnect request to unit 28, which instructs telephone modules 36, 37, 38 to hang up their respective WO 01!56190 PCT/USO1/03244 calls. Unit 30 informs computer 24, as well, that the connection has been terminated.
Fig. 3 is a flow chart that schematically illustrates a method for receiving data transmitted between units 28 and 30, in accordance with a preferred embodiment of the present invention. This method goes on simultaneously and in parallel with the method for transmitting data described hereinabove with reference to Fig. 2, in both units 28 and 30, and continues until the connection is terminated.
After all of the n connections between units 28 and 30 have been made, unit 30 informs computer 24 that an incoming call has been made, at a ring indication step 68. Application 26 receives the ring indication, and sends modem initialization messages to modem emulator 32 in unit 30, at a modem emulation step 69. The modem emulator acknowledges receipt of these messages. At this point, computer 24 is ready to receive data from computer 22.
At a data reception step 70, multiplexer 34 receives data frames from telephone modules 36, 37, 38. The multiplexer receives the frames in the order in which they arrive at the modules, which is frequently different from the order in which the frames were sent out by computer 22. For this reason, at a reordering step 72, the multiplexer buffers the frames and reorders them based on the proprietary numbering information that was added to the frames before transmission. At a step 74, the numbering layer is then removed from the data frames. Modem emulator 32 outputs the frames in order to computer 24, at a send frame step 76, via the cable connection between the modem emulator and the appropriate computer port.
Fig. 4 is a flow chart that schematically illustrates details of reordering step 72, whereby data frames received by multiplexer 34 are ordered for output in the proper sequence. The step is invoked whenever a new frame is received or, alternatively, when a timer has expired without a frame having been received. Typically, the timer is set to expire after 7 seconds, based on message response characteristics of the cellular network. The parameter "Count" is used in the flow chart to indicate the number of each frame that is received, based on the proprietary numbering layer added at step 58 (Fig. 2). "NextCount" is a parameter used to indicate the number of the next frame that is expected to be sent/received. Frames that are received out of order, as determined by comparing their Count value to the current NextCount value, are stored in a pool buffer until their turn arrives.
When multiplexer 34 receives a data frame, it checks the Count value of the frame against the current NextCount value. If the values are different, it compares the difference of the values to a predetermined window size. The window size, which is typically set to eight frames, indicates how far out of order the frames are allowed to get and still be maintained in the pool. If the difference between Count and NextCount is greater than zero but within the window size, the current frame is added to the pool. Otherwise, all of the frames in the pool are passed to computer 24 in the order of their Count values.
The entries in the pool, i.e., the slots available to accommodate received frames, are marked as "Not Valid" to indicate that the corresponding frames have been sent out. NextCount is then incremented to a value that is greater by one than the Count value of the latest frame, and the multiplexer waits for the next frame to arrive.
On the other hand, if multiplexer 34 receives a frame whose Count value matches NextCount, that frame is immediately sent to computer 2=I, and the corresponding entry in the pool is marked as Not Valid. The frame timer is stopped, while the remaining entries in the pool are checked to determine whether they should be sent, as well. For each entry, NextCount is incremented, and the corresponding entry in the pool is checked to determine whether it holds a valid pending frame. If so, this frame is sent to the computer, and the next entry in the pool is similarly checked, continuing until an invalid entry is found. At this point, if the pool is not empty, i.e., if there are still valid entries left in the pool, the timer is restarted. (If the pool is empty, the timer need not be restarted, until a further data frame arrives.) Multiplexer then waits for the next frame.
If the timer expires before a frame has been received, the entry in the pool corresponding to the current value of NextCount is marked as Not Valid.
NextCount is incremented, and the corresponding next entry in the pool is checked to determine whether it holds a valid pending frame. The process of checking the entries in the pool then continues, as described above.
Multiplexer 34 continues cycling through step 72, as shown in Fig. 4, as long as unit 30 continues to receive data.
Although preferred embodiments are described hereinabove with reference to cellular communications, it will be understood that the principles of the present invention may similarly be applied to other types of wireless communications systems, such as Personal Communication Systems (PCS) and satellite systems, as well as to terrestrial communications. It will thus be appreciated that the preferred embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.
I CLAIM:
Fig. 1 is a block diagram that schematically illustrates a mufti-link cellular data communications system, in accordance with a preferred embodiment of the present invention;
Fig. 2 is a flow chart that schematically illustrates a method for transmitting data in the system of Fig. 1, in accordance with a preferred embodiment of the present invention;
Fig. 3 is a flow chart that schematically illustrates a method for processing data received in the system of Fig. 1, in accordance with a preferred embodiment of the present invention; and Fig. 4 is a flow chart that schematically illustrates a method for reordering data frames received using the method of Fig. 3, in accordance with a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED
EMBODIMENTS
Fig. 1 is a block diagram that schematically illustrates a wireless data communications system 20, in accordance with a preferred embodiment of the present invention. System 20 comprises a pair of personal computers (PCs) 22 and 24, which are linked by respective cellular data communication units 28 and 30. Each of the computers is coupled to the respective cellular unit by a cable, typically a standard serial cable connected to a RS-232 port of the computer. Alternatively, substantially any wired data connection known in the art may be used between the computer and the wireless unit. Units 28 and 30 communicate over a cellular communications network, preferably a CDMA
network. Alternatively other types of networks and other cellular standards may be used.
In the embodiment of Fig. 1, computers 22 and 24 run an application 26 under which data are exchanged between the computers, preferably using a point-to-point (PPP) protocol, as is known in the art. On each computer, the PPP protocol encapsulates the data generated by the application in a sequence of data frames, which are then conveyed to the other computer. Alternatively, any other suitable communications protocol may be used between the computers, preferably a protocol that generates data frames or packets.
Cellular unit 28 (and similarly, cellular unit 30) comprises a modem emulator 32, which is connected by the cable to the above-mentioned port of computer 22. Data frames received by the modem emulator are distributed by a multiplexer 34 among a plurality of cellular telephone modules 36, 37, 38.
Each such module comprises a cellular transceiver with logic and control circuits, as are used in conventional cellular telephones known in the art.
The telephone modules are labeled PHONE 1, PHONE 2, ..., PHONE n, to indicate that substantially any desired number of modules may be used in the unit. The inventors have found that a convenient number of telephone modules to be used in unit 28 is between two and six, with an equal number to be used in unit 30. For convenience and robustness, the transceivers preferably share a common antenna (not shown). Each of the telephone modules has its own telephone number in the cellular network, wherein for ease of implementation, the numbers are preferably sequential.
Each telephone module 36, 37, 38 in unit 28 conveys data to a corresponding module in unit 30 over the cellular network in a full duplex mode. The data received by the telephone modules is demultiplexed by the corresponding multiplexer 34 and is then conveyed to the respective computer by modem emulator 32. Although the multiplexer and modem emulator are illustrated for clarity as separate functional blocks, these two functions are preferably carried out by the same processor, most preferably a general-purpose processor with suitable input/output connections and software.
Alternatively, modem emulator 32 and multiplexer 34 may be implemented in dedicated hardware or in a combination of hardware and software elements.
Fig. 2 is a flow chart that schematically illustrates a method for transmitting data between computers 22 and 24 using communication units 28 and 30, in accordance with a preferred embodiment of the present invention.
For the sake of clarity, the method is described hereinbelow with reference to transmission of data from computer 22 to computer 24, but it will be understood that ordinarily, the computers communicate via units 28 and 30 in full-duplex mode.
At a dial-up command step 50, a user of computer 22 makes a dial-up request, preferably using a standard Microsoft Dial-Up software routine.
Typically, The user is prompted by the software to input a telephone number.
In response, the user specifies the number of the first telephone module 36 (PHONE 1) in cellular unit 30. Alternatively, the telephone number is pre-programmed. Upon receiving the user input or pre-programmed number, computer 22 issues a dial-up command to unit 28.
In response to the dial-up command, unit 28 instructs telephone modules 36, 37, 38 to place calls to the corresponding modules in unit 30, at a call _5 initiation step 52. Thus, n calls are established simultaneously. When all of the calls have been made successfully, unit 28 returns a connect indication to computer 22, to signal that it the modem link is ready to receive data, at an indication step 54. At this point, the computer can begin to send data to unit as though the unit were a standard modem. The rate of data transmission, however, is roughly n times the rate that is available when only a single cellular link is used.
Modem emulator 32 receives PPP frames in sequence from computer 22, at a receive frame step 56. In a numbering step 58, a proprietary numbering layer is added to each frame, indicating its position in the sequence.
Typically a header is added to the frame including the frame number. Multiplexes 34 then distributes the frames in turn to telephone modules 36, 37, 38, at a frame sending step 60. Preferably, the multiplexes passes the frames to all of the modules in a round robin. The telephone modules then transmit the frames to their counterparts in unit 30 at a frame transmission step 62.
It may occur during communication between units 28 and 30 that one or more of the connections between the telephone modules in the units are lost.
Such lost connections are commonly caused by faults in the cellular network, but may also occur due to a hardware failure in unit 28 or 30. Multiplexes 34 regularly checks the status of telephone modules 36, 37, 38, in order to verify that they are still validly connected to their counterparts in the other unit.
When one of the connections is found to be no longer valid, the multiplexes stops sending it data frames. The telephone module will meanwhile attempt to re-establish its cellular link with its counterpart, so that it can again become available for transmitting data frames. While one or more of the cellular links are not operating, the rate of data transmission between computers 22 and 24 is reduced, but the connection between the computers is maintained. Once the module has re-established its cellular link, it notifies the multiplexes, which then resumes sending data frames to the module.
When data commtulication is finished, the user of computer 22 instructs the computer to terminate the connection to computer 24, at a hang-up step 64.
Typically, the same Dial-Up routine that was used to initiate the connection is also used to terminate it. The computer conveys the disconnect request to unit 28, which instructs telephone modules 36, 37, 38 to hang up their respective WO 01!56190 PCT/USO1/03244 calls. Unit 30 informs computer 24, as well, that the connection has been terminated.
Fig. 3 is a flow chart that schematically illustrates a method for receiving data transmitted between units 28 and 30, in accordance with a preferred embodiment of the present invention. This method goes on simultaneously and in parallel with the method for transmitting data described hereinabove with reference to Fig. 2, in both units 28 and 30, and continues until the connection is terminated.
After all of the n connections between units 28 and 30 have been made, unit 30 informs computer 24 that an incoming call has been made, at a ring indication step 68. Application 26 receives the ring indication, and sends modem initialization messages to modem emulator 32 in unit 30, at a modem emulation step 69. The modem emulator acknowledges receipt of these messages. At this point, computer 24 is ready to receive data from computer 22.
At a data reception step 70, multiplexer 34 receives data frames from telephone modules 36, 37, 38. The multiplexer receives the frames in the order in which they arrive at the modules, which is frequently different from the order in which the frames were sent out by computer 22. For this reason, at a reordering step 72, the multiplexer buffers the frames and reorders them based on the proprietary numbering information that was added to the frames before transmission. At a step 74, the numbering layer is then removed from the data frames. Modem emulator 32 outputs the frames in order to computer 24, at a send frame step 76, via the cable connection between the modem emulator and the appropriate computer port.
Fig. 4 is a flow chart that schematically illustrates details of reordering step 72, whereby data frames received by multiplexer 34 are ordered for output in the proper sequence. The step is invoked whenever a new frame is received or, alternatively, when a timer has expired without a frame having been received. Typically, the timer is set to expire after 7 seconds, based on message response characteristics of the cellular network. The parameter "Count" is used in the flow chart to indicate the number of each frame that is received, based on the proprietary numbering layer added at step 58 (Fig. 2). "NextCount" is a parameter used to indicate the number of the next frame that is expected to be sent/received. Frames that are received out of order, as determined by comparing their Count value to the current NextCount value, are stored in a pool buffer until their turn arrives.
When multiplexer 34 receives a data frame, it checks the Count value of the frame against the current NextCount value. If the values are different, it compares the difference of the values to a predetermined window size. The window size, which is typically set to eight frames, indicates how far out of order the frames are allowed to get and still be maintained in the pool. If the difference between Count and NextCount is greater than zero but within the window size, the current frame is added to the pool. Otherwise, all of the frames in the pool are passed to computer 24 in the order of their Count values.
The entries in the pool, i.e., the slots available to accommodate received frames, are marked as "Not Valid" to indicate that the corresponding frames have been sent out. NextCount is then incremented to a value that is greater by one than the Count value of the latest frame, and the multiplexer waits for the next frame to arrive.
On the other hand, if multiplexer 34 receives a frame whose Count value matches NextCount, that frame is immediately sent to computer 2=I, and the corresponding entry in the pool is marked as Not Valid. The frame timer is stopped, while the remaining entries in the pool are checked to determine whether they should be sent, as well. For each entry, NextCount is incremented, and the corresponding entry in the pool is checked to determine whether it holds a valid pending frame. If so, this frame is sent to the computer, and the next entry in the pool is similarly checked, continuing until an invalid entry is found. At this point, if the pool is not empty, i.e., if there are still valid entries left in the pool, the timer is restarted. (If the pool is empty, the timer need not be restarted, until a further data frame arrives.) Multiplexer then waits for the next frame.
If the timer expires before a frame has been received, the entry in the pool corresponding to the current value of NextCount is marked as Not Valid.
NextCount is incremented, and the corresponding next entry in the pool is checked to determine whether it holds a valid pending frame. The process of checking the entries in the pool then continues, as described above.
Multiplexer 34 continues cycling through step 72, as shown in Fig. 4, as long as unit 30 continues to receive data.
Although preferred embodiments are described hereinabove with reference to cellular communications, it will be understood that the principles of the present invention may similarly be applied to other types of wireless communications systems, such as Personal Communication Systems (PCS) and satellite systems, as well as to terrestrial communications. It will thus be appreciated that the preferred embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.
I CLAIM:
Claims (17)
1. A wireless data communication unit, comprising:
a data interface, adapted to receive data from a first computer for transmission to a second computer having a similar wireless data communication unit, and to convey data received from the second computer to the first computer;
a plurality of wireless communication transceivers, adapted to communicate over respective wireless links with corresponding transceivers in the communication unit of the second computer; and a multiplexer, which is adapted to distribute the data received by the data interface from the first computer among the plurality of transceivers for transmission thereby over the respective links, and to assemble the data received from the second computer over the links into a single, ordered stream of data to be conveyed by the data interface to the first computer.
a data interface, adapted to receive data from a first computer for transmission to a second computer having a similar wireless data communication unit, and to convey data received from the second computer to the first computer;
a plurality of wireless communication transceivers, adapted to communicate over respective wireless links with corresponding transceivers in the communication unit of the second computer; and a multiplexer, which is adapted to distribute the data received by the data interface from the first computer among the plurality of transceivers for transmission thereby over the respective links, and to assemble the data received from the second computer over the links into a single, ordered stream of data to be conveyed by the data interface to the first computer.
2. A unit according to claim 1, wherein the plurality of wireless communication transceivers comprise cellular transceivers, and wherein the wireless links are made over a cellular communications network.
3. A unit according to claim 2, wherein to establish the wireless links, each of the transceivers places a call over the cellular communications network to the corresponding transceiver in the communication unit of the second computer.
4. A unit according to claim 1, wherein the data interface is adapted to be coupled to the first computer in a manner that emulates a standard data modem.
5. A unit according to claim 4, wherein the data interface comprises a RS-232 interface.
6. A unit according to claim 4, wherein the data are transmitted and received by an application running on the first computer using a standard point-to-point protocol, as though only a single link were operative between the first and second computers.
7. A unit according to claim 1, wherein the data received from the first computer are divided into frames, and wherein the multiplexer adds a numbering layer to the frames, in accordance with which the frames transmitted over the links are assembled into the single, ordered stream.
8. A method for wireless data communications, comprising:
inputting data from a first computer for transmission to a second computer establishing a plurality of wireless communication links between a corresponding plurality of pairs of transceivers, each pair comprising a first transceiver coupled to the first computer and a second transceiver coupled to the second computer;
multiplexing the data received from the first computer so as transmit respective portions of the data over the plurality of wireless communication links in parallel;
receiving the data transmitted over the plurality of wireless communication links; and assembling the received data into a single, ordered stream of data to be output to the second computer.
inputting data from a first computer for transmission to a second computer establishing a plurality of wireless communication links between a corresponding plurality of pairs of transceivers, each pair comprising a first transceiver coupled to the first computer and a second transceiver coupled to the second computer;
multiplexing the data received from the first computer so as transmit respective portions of the data over the plurality of wireless communication links in parallel;
receiving the data transmitted over the plurality of wireless communication links; and assembling the received data into a single, ordered stream of data to be output to the second computer.
9. A method according to claim 8, wherein establishing the plurality of wireless communication links comprises establishing bidirectional links, such that data are also transmitted from the second computer to the first computer over the plurality of links.
10. A method according to claim 8, wherein establishing the plurality of wireless communication links comprises establishing the links over a cellular communications network.
11. A method according to claim 10, wherein establishing the links comprises placing a plurality of calls over the cellular communications network.
12. A method according to claim 11, and comprising monitoring the calls so as to determine when one of the links becomes non-operational, wherein establishing the links comprises placing a call to re-establish the non-operational link.
13. A method according to claim 8, wherein inputting the data from the first computer comprises emulating a standard data modem coupled to the first computer.
14 A method according to claim 13, wherein emulating the standard data modem comprises receiving serial data input from the first computer.
15. A method according to claim 13, wherein inputting the data comprises receiving data from an application running on the first computer using a standard point-to-point protocol, as though only a single link were operative between the first and second computers.
16. A method according to claim 8, wherein inputting the data comprises receiving frames of data from the first computer, and wherein multiplexing the data comprises adding a numbering layer to the frames, in accordance with which the frames transmitted over the links are assembled into the single, ordered stream.
17. A method according to claim 16, wherein assembling the received data comprises reordering the received frames in accordance with the numbering layer and removing the numbering layer from the frames, so that an application running on the second computer receives the data as though only a single link were operative between the first and second computers.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US49423100A | 2000-01-31 | 2000-01-31 | |
US09/494,231 | 2000-01-31 | ||
PCT/US2001/003244 WO2001056190A2 (en) | 2000-01-31 | 2001-01-31 | Multi-link transmission of data over a cellular network |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2398080A1 true CA2398080A1 (en) | 2001-08-02 |
Family
ID=23963609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002398080A Abandoned CA2398080A1 (en) | 2000-01-31 | 2001-01-31 | Multi-link transmission of data over a cellular network |
Country Status (11)
Country | Link |
---|---|
EP (1) | EP1256220A2 (en) |
JP (1) | JP2003521195A (en) |
KR (1) | KR20020073519A (en) |
CN (1) | CN1178439C (en) |
AR (1) | AR030685A1 (en) |
AU (1) | AU2001234710A1 (en) |
CA (1) | CA2398080A1 (en) |
HK (1) | HK1051270A1 (en) |
IL (1) | IL150971A0 (en) |
TW (1) | TW582145B (en) |
WO (1) | WO2001056190A2 (en) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6747964B1 (en) | 2000-09-15 | 2004-06-08 | Qualcomm Incorporated | Method and apparatus for high data rate transmission in a wireless communication system |
GB2377852B (en) * | 2001-07-18 | 2005-04-13 | Inventec Appliances Corp | Mechanism for effecting a fast data transmission between communication devices |
US7376097B2 (en) * | 2002-11-27 | 2008-05-20 | Ntt Docomo Inc. | Method of associating an IP address with a plurality of link layer addresses in a wireless communication network |
DE10322702A1 (en) * | 2003-05-20 | 2004-08-19 | Siemens Ag | Multimedia cordless communication system uses GSM and WLAN transmissions with multimedia data packets |
CN100403736C (en) * | 2006-03-14 | 2008-07-16 | 杭州华三通信技术有限公司 | Message serial number inspection and inspector with multi-unit transmission |
MY154336A (en) | 2008-02-04 | 2015-05-29 | Samsung Electronics Co Ltd | Apparatus and method for control and data multiplexing in communication systems |
RU2468540C1 (en) * | 2008-12-24 | 2012-11-27 | Нек Корпорейшн | Communication system |
RU2480951C2 (en) * | 2009-02-03 | 2013-04-27 | Нек Корпорейшн | Method and device for wireless data transmission |
KR200454373Y1 (en) * | 2009-08-06 | 2011-06-30 | 대은전자 주식회사 | Combination structure of terminal block and hub |
IT1404184B1 (en) * | 2011-02-28 | 2013-11-15 | Siae Microelettronica Spa | PROCESS OF PROCESSING DIGITAL SIGNALS FOR THE TRANSMISSION / RECEPTION OF A FLOW OF DIGITAL SIGNALS ON A PLURALITY OF CHANNELS |
CN104581854B (en) | 2013-10-16 | 2019-07-12 | 中兴通讯股份有限公司 | A kind of wireless connection method and device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL9400548A (en) * | 1994-04-07 | 1995-11-01 | Nederland Ptt | Broadband transmission system |
FI97187C (en) * | 1994-12-09 | 1996-10-25 | Nokia Telecommunications Oy | High speed data transmission in mobile networks |
-
2001
- 2001-01-31 JP JP2001555232A patent/JP2003521195A/en active Pending
- 2001-01-31 KR KR1020027009818A patent/KR20020073519A/en not_active Application Discontinuation
- 2001-01-31 EP EP01906850A patent/EP1256220A2/en not_active Withdrawn
- 2001-01-31 CA CA002398080A patent/CA2398080A1/en not_active Abandoned
- 2001-01-31 AU AU2001234710A patent/AU2001234710A1/en not_active Abandoned
- 2001-01-31 IL IL15097101A patent/IL150971A0/en unknown
- 2001-01-31 WO PCT/US2001/003244 patent/WO2001056190A2/en not_active Application Discontinuation
- 2001-01-31 AR ARP010100448A patent/AR030685A1/en not_active Application Discontinuation
- 2001-01-31 CN CNB018043690A patent/CN1178439C/en not_active Expired - Lifetime
- 2001-03-27 TW TW090101892A patent/TW582145B/en not_active IP Right Cessation
-
2003
- 2003-05-13 HK HK03103323A patent/HK1051270A1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20020073519A (en) | 2002-09-26 |
JP2003521195A (en) | 2003-07-08 |
AR030685A1 (en) | 2003-09-03 |
TW582145B (en) | 2004-04-01 |
AU2001234710A1 (en) | 2001-08-07 |
WO2001056190A3 (en) | 2002-07-25 |
CN1178439C (en) | 2004-12-01 |
EP1256220A2 (en) | 2002-11-13 |
HK1051270A1 (en) | 2003-07-25 |
WO2001056190A2 (en) | 2001-08-02 |
CN1398478A (en) | 2003-02-19 |
IL150971A0 (en) | 2003-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6400712B1 (en) | Fast circuit switched data architecture and method | |
EP1070431B1 (en) | Implementation of multiple simultaneous calls in a mobile communication system | |
US7336630B2 (en) | Simultaneous transmission of speech and data on a mobile communications system | |
JP3529788B2 (en) | High-speed data transmission method in mobile communication network | |
AU745814B2 (en) | Data transmission method in GPRS | |
US5901143A (en) | Method of operating a broadband link between a mobile terminal and a network-side mobile radio facility, as well as mobile terminal, network-side mobile radio facility, and mobile radio system | |
US6826168B2 (en) | System and method relating to digital mobile communication systems | |
JP3248725B2 (en) | Configuration for increasing data transmission amount of digital cellular wireless network | |
KR100187823B1 (en) | Control system for mobile cdma data communication | |
US20040202191A1 (en) | Optimizing fragment sizes in frame relay networks | |
CA2398080A1 (en) | Multi-link transmission of data over a cellular network | |
CA2384162C (en) | Methods for efficient early protocol detection | |
US6009101A (en) | Communication access system with distributed processing | |
CZ232798A3 (en) | Phone and data terminal for radiotelephone network | |
EP1042892A1 (en) | Data compression negotiation in a telecommunication system | |
Cisco | Interface Commands (access-list - framing) | |
Cisco | Interface Commands | |
Cisco | Interface Commands | |
CA2222151C (en) | Communication access system with distributed processing | |
JP2003009208A (en) | Portable telephone system and synchronous relay system used for the same | |
WO2000013440A9 (en) | Transmission of gsm circuit-switched data over a cdma link | |
KR100485068B1 (en) | A cdma mobile phone of circuit data transmit with upgrade rate | |
JP2000209658A (en) | Radio data communication system | |
KR20010064443A (en) | Communication signal transit apparatus of the mobile station center | |
MXPA01002091A (en) | Transmission of gsm circuit-switched data over a cdma link |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Discontinued | ||
FZDE | Discontinued |
Effective date: 20060131 |