Referring now to the drawings, and more particularly to fig. 1, there is shown a block diagram of a trunked voice/data communication system (100) of the present invention. The centralized or fixed-end equipment includes a central controller that is responsible for allocating channel resources among a plurality of subscriber units, here represented by repeaters 104 a-104N. Of the available communication channels, one channel (repeater 104 a) is selected as the voice control channel that will communicate with any repeater user that can communicate voice communications. In general, a control method, the particular repeater selected as the control channel (104 a), is periodically changed.
Preferably, each repeater 104a-N is capable of operating as a voice channel, a control channel, or a data channel. These repeaters are equipped with a digital interface 122 to accommodate data communications. The data interface 122 is responsible for encoding output data, decoding and error correction of input data, repeater control, and providing an interface between the repeater and the network controller 108. Alternatively, all repeaters may be provided with predetermined subscriber telephones for data or as a control channel.
The data network includes at least one host computer 106 that is coupled to a network controller 108 (i.e., a wired host computer). The network controller 108 is responsible for data traffic networks and communicates with the central controller 102 requesting assignment of a data channel. Those skilled in the art will appreciate that the internal connections (124) and 128) may be direct if the host computer 106, network controller 108 and central controller 102 are co-located. However, if remote installation is required, such communication may be maintained by a data modem as is known in the art. Alternatively, the trunked voice/data communication system 100 may be connected to the host computer 118 using one or more Radio Frequencies (RF). The rf host computer 118 communicates as a relay control station through any suitable data transceiver 120. The primary difference between the host computer 106 and the RF host computer 118 is that each data user communicates directly with the RF host computer (i.e., via the input and output frequencies of the equipped digital repeater), while the wired host computer 106 transceives all information via the input or output frequencies of the equipped digital repeater. Thus, the data networks of the present invention can be handled by several computers, either centrally or distributed.
Typically, the fixed end equipment also includes a system administrator console 110 that enables an administrator of the communication service to specify a set of operating parameters from which to control the operation of the trunked communication system. Typical examples of these parameters include the maximum number of data channels that can be allocated (if any), whether voice or data will be the preferred service, and various thresholds that control when data channels can be added or rearranged onto the voice communication service. Thus, at any particular time, the relay communication system of the present invention does not require any channel to be allocated for data communication traffic. Conversely, if voice traffic is low, or if data traffic is heavily prioritized or particularly heavy, one or more channels may be allocated as data traffic.
According to the invention, the step of configuring the data to be transmitted comprises configuring a first channel for the data. Preferably, the first channel, designated as the data channel (hereinafter "primary digital channel"), has the same frequency as the single frequency data users (116) in order to provide maximum compatibility with existing data devices. On the other hand, one random channel may be the first data channel that is assigned, however, a multi-channel single data user must scan the available channel in order to find it. The invention therefore proposes to first specify a selected channel and thereafter to specify any other data-equipped channels (122) as additional data channels.
The present invention assigns each data channel a time interval determined by an administrator of the system or a fault parameter. The length of this time interval varies with the time of day, the load on the system, or other parameters. Data channel requests are minimized over a period of time with the spare data channel being used, and spectral efficiency is maximized because the digital subscriber does not need to request a data channel for each individual data transmission.
As a general principle, the goal of any relay communication system is to efficiently allocate limited channel resources among many subscriber units. The present invention considers three classes of subscriber units: a single voice user 112, a voice/data user 114, and a single data user 116. The single voice subscriber 112 is contemplated as any existing trunk subscriber unit having a compatible signaling communication protocol to allow interfacing with the system (100). A single data user (116) is contemplated as any multi-channel or single-channel data transceiver, such as KDT800TM manufactured by motola, inc. Of course, a data sheet receiving device, such as any mottler series display page pager, may also receive page data via a designated data channel.
In addition, the present system contemplates that voice/data users 114 can operate in the relay system 100. Thus, the relay system of the present invention accommodates existing equipment while enhancing the ability to communicate. Typical subscriber units include mobile communication devices, portable channel devices or consoles. In general terms, a mobile unit may be understood as a transceiver designed to operate in a vehicle. A portable unit is generally understood to be a transceiver device or a stand-alone device designed to be carried primarily by a person. A control station is typically a permanent or semi-permanent device within a building or other fixed location. These are all referred to as subscriber units and communicate with each other through fixed end equipment.
Referring now to fig. 2a-2c, steps performed by the fixed end equipment are described. At step 200, central controller 102 receives a data channel request from network controller 108 or a data channel request from voice/data user 114. When a user has data to send, the voice/data user 114 may transmit a data channel request over the control channel 104 a. Network controller 108 transmits similar requests to the central controller via connection 126, some of which will be described later.
A channel is requested for a single channel single data user 116, which may be made via the primary data channel because the single data user is not able to transceive on the voice control channel. According to the invention, a single data user can communicate with the network controller despite the fact that the designated data channel is now provided. The reason is that the de-keyed repeater continues to operate as a single receiver. In this way, the network controller 108 can "hear" a data channel request from a single data user 116 and forward this request to the central controller 102. If a data channel is available, the central controller will transmit and return a data channel grant signal to the voice/data subscriber 114 via the control channel 104a and also transmit and return a data channel grant signal to the network controller 108 via the connection 126.
Therefore, the decision process 202 tests to determine if the data channel has been approved by the central controller. If approval is set, the process proceeds to 204 where the network controller (or data user) waits a predetermined time interval before returning to reference point A to re-request a data channel. If the central controller 102 grants a data channel, the process proceeds to 206, where the central controller signals the data channel designation to the network controller 108 via the control channel 104 a. Thereafter, single data user 116 and voice/data user 114 operate in a data mode and may communicate via any designated data channel.
Data transfer may continue if another data channel request is made in the allocated time interval, which may be determined by system administrator 110. When the allocated time interval has expired, or there is higher priority voice traffic, the central controller 102 sends an instruction to the network controller 108 to drop the data channel. Therefore, decision process 208 tests to see if the central controller has such instructions already. If so, the process proceeds to decision process 210 where a test is made to see if an additional data channel is needed.
The network controller 108 may request an additional data channel from the central controller 102 if the data channel traffic on any of the existing data channels exceeds a predetermined threshold. To achieve this, the network controller proceeds to reference letter a to send another data channel request to the central controller. The central controller may designate an additional data channel if another data channel is available for data traffic.
Of course, when another data channel is designated, the data traffic for each data channel is not even. The present invention therefore contemplates adjusting the amount of data traffic between the available data channels to the extent of maximum data traffic. Preferred methods of allocating data channels and adjusting traffic are described in two co-pending patent application documents filed on even date herewith. First of grarry hess (attorney docket CM-00248H) and second of Ken ZduneR (attorney docket CM-00262H), entitled "method for dynamically allocating data channels in a trunked communication system", each of which is assigned to the same assignee as the present invention.
Referring again to fig. 2, if the approval process 210 decides that another data channel is not needed, the process proceeds to reference letter D, which forms a fixed-end working loop that includes decision processes 208 and 201. The fixed end maintains the loop until one data channel is required to drop or request another data channel.
Referring now to fig. 2b, the steps performed to drop a data channel are shown.
Assuming that the central controller 102 has requested that the network controller 108 relinquish a data channel, the network controller sends a "return control channel" command 212 over the dropped data channel, and all data-compatible users receiving this command return to the control channel 104 a. Of course, single channel single data users continue to monitor their unique single frequency. At step 214, the network controller delivers the data channel to the central controller. The central controller may now assign this channel for a voice call at step 216. Thereafter, the decision 218 determines whether the data channel is still reserved. If the network controller releases only one of several data channels, the procedure proceeds to the letter D with reference to fig. 2a, and the data operation continues. However, if the unique data channel is dropped, the process proceeds to letter C with reference to fig. 2C.
Referring now to fig. 2c, after dropping the unique data channel, the network controller 108 starts the request timer in step 220. The decision 222 determines whether the timer has expired. If so, the process returns to reference letter a to request a data channel. If the timer has not expired, the network controller 108 determines whether the host computer 106 has data to send. If the decision process 224 determines that the host computer has data to send, the process proceeds to reference letter A to request a data channel. Otherwise, the network controller determines whether data information has been received from a single data user or from the RF host computer in decision 226. If the decision process 226 determines that such data information is received, the network controller 108 "knows" that the channel carrying the data is idle and also "knows" that the single data user wants to communicate. Thus, the program goes to the letter a, where the network controller requests a data channel that allows it to communicate with a single data user. However, if the network controller 108 does not receive such a data message, the process continues back to reference letter C, forming a wait loop until the request timer expires, or some data operation occurs.
Referring now to fig. 3a-3e, steps performed by the data/voice user 114 are shown. In step 300 of fig. 3a, the subscriber unit is powered on. During power-on, the subscriber unit may perform any self-test procedures and initialize various operational flags and various variables. During this time, the subscriber unit determines whether it is operating primarily in voice mode in decision process 302. If so, decision routine 302 switches control to reference letter E to operate in voice mode. If not, decision process 304 tests whether the user is operating primarily in data mode. If decision process 304 determines that the user is operating normally in data mode, then the process proceeds to reference letter F to operate as data mode.
Alternatively, the subscriber unit may use its last mode of operation. Thus, if the last communication was a voice call, the subscriber unit operates in voice mode. Conversely, if the last communication was a data transfer, the user is operating in data mode. The decision 306 determines whether the last operational mode was selected. If not, the program proceeds to step 308 to indicate that a cell failure has occurred, thereby ceasing to determine which of the three available modes. However, if decision 306 determines that the last operational mode was selected, decision 310 determines whether the last operation was a voice call and, if so, the program proceeds to operate as a voice mode with reference to letter E. If decision process 310 determines that the last operational mode was to transfer data, then the process proceeds to operate as a data mode with reference to letter F.
Referring now to fig. 3b, the steps performed by the voice/data user 114 in voice mode are shown. In step 312, the subscriber unit monitors the control channel. According to the invention, the voice mode subscriber unit must monitor the control channel for the entire time to participate in a voice-on-call in one of the available voice channels. Thus, voice mode users constantly monitor the control channel until a command is received or the operator begins transmitting. The decision 314 then determines whether the user operator has pressed a "push-to-talk" (PTT) switch. If so, step 316 sends a voice call request to the central controller 102 over the control channel. The user then returns to monitoring the control channel in step E. If the PPT switch is not pressed, the process proceeds to decision 318 to determine if a channel assignment signal has been received over the control channel.
If the decision process 318 determines that a channel assignment signal has been received, the process proceeds to step 320 where the user receives the designated voice channel to engage in the call. After the call is completed, the process returns to reference letter E and the control channel is monitored again.
If the user operator has entered data for transmission, decision routine 322 changes the user's operating mode to data mode and the routine proceeds to reference numeral F. Decision 324 determines whether the voice mode user has received a command over the control channel to go to data mode to receive a message from host computer 106. Preferably, the central controller 102 records the user operating in voice mode. Thus, the network controller 108 does not monitor each of the assigned individual data channels and does not transmit data messages to a known user, thereby saving time. Thus, the network controller can request the central controller to issue a command to a voice mode user to designate a data channel to receive data information. When such a command is received, decision routine 324 causes the routine to proceed to participate in the data transfer with reference to letter G.
When operating in voice mode, any subscriber unit monitoring the control channel may receive a message from the central controller 102 over the control channel allocating a data channel. Therefore, decision 326 passes the test to determine if such data channel assignment information has been received. If so, the process proceeds to step 328 where the information is stored for later use. If not, decision 326 branches to the process referenced to letter E, where the user continues to operate in the loop of FIG. 3 b.
Referring now to fig. 3C, steps performed by the voice/data user 114 when operating in data mode are shown. In accordance with the present invention, a voice/data user can operate in data mode in any of three ways: a data monitoring mode, a voice listening mode, and a last channel mode. In the data listening mode, the subscriber unit monitors one of the assigned data channels until commanded back to the control channel or back to the voice mode. In the voice monitoring data mode, the subscriber unit can operate in the data mode while monitoring the control mode, thus enabling rapid participation in any voice information. In the voice monitoring mode, the user can go to the data channel for data transmission and reception momentarily, and then return to the control channel immediately after completion of transmission or reception. On the other hand, as the name implies, the last channel mode depending on the type of last communication includes a user monitoring a data channel or monitoring a control channel.
Therefore, decision process 330 determines whether the user should monitor the data channel. A positive determination is made that the data monitoring mode user or the last mode user has previously transmitted or received on the data channel. In all other cases, the determination of decision procedure 330 causes the user to monitor the control channel (step 332). Once the monitoring of the control channel is in progress, the user proceeds continuously to decode the command and channel assignment. Therefore, decision 334 determines whether a voice mode command has been received, a voice mode command causing the user to return to voice mode as illustrated in FIG. 3 b. If such a command is not received, decision 336 determines whether a data channel assignment signal has been received from the central controller 102.
As previously described, the central controller 102 records the user operating in voice mode. The network controller 108 no longer monitors each of the allocated data channels, and does not transmit data messages to a known user, thereby saving time. Thus, the network controller can request that the central controller send a voice mode message to a voice mode subscriber, designating a data channel to receive the data message. Thus, if decision 336 determines that a data channel command has been received, the control channel returns to reference letter F, wherein the user transitions to monitoring the data channel. If a data channel has not been designated, the process proceeds to decision process 338 which determines whether new data channel assignment information has been received. If so, the information is conveniently stored in step 340 and the program moves to reference letter H to monitor the control channel.
Decision process 342 determines whether the operator has triggered the "push-to-talk" switch to begin a voice call. If the decision process 342 determines that the "push to talk" switch has been depressed, the process proceeds to reference letter E of fig. 3b, thus going to voice mode of operation to engage in a voice call. The present invention provides a high degree of flexibility by allowing the subscriber unit to operate in a data mode while monitoring the control channel. Thus, the user determines whether a voice channel grant signal has been received in the control channel in decision process 344. If so, the subscriber unit operates (step 346) to process the call and then returns to the data mode of operation to monitor the control channel (reference letter H).
If a voice channel approval signal has not been received, decision 348 determines whether the user has data to transmit. If so, the process proceeds to reference letter F, where the user goes to the data channel for data transmission. If the subscriber has no data to transmit, the program moves to reference letter H to continue monitoring the control channel while checking for various command and assignment signals in the subscriber unit's operating loop.
Assuming the determination of decision process 330 is positive, the subscriber unit listens to a designated data channel (step 350). Step 352 starts a stopped timer and, for a predetermined timer timing interval, returns the user to the control channel if there is no user data activity. Therefore, the decision 354 determines whether there is active activity in the data channel. If so, the process proceeds to reference letter I, where the subscriber unit receives the data and processes it. If there is no activity, the program proceeds to decision 356 which determines if the user has data to send to host computer 106 (or 118). If so, the process proceeds to reference letter J as the user data mode transfer process. If the user does not have data to send, decision process 358 determines whether the user's operator has actuated the PPPT switch. If the PPT switch has been actuated, the program proceeds to reference letter E, thus going to voice mode. If the PPT switch is not actuated, decision 359 determines whether the timer has expired. If the determination of decision 359 is that the timer has not expired, the routine proceeds to reference letter K to form a loop for checking for data channel activity. If, however, there has been no data activity for the timed period of the timer, decision process 359 moves to the process with reference letter H and the subscriber unit begins monitoring the control channel (step 332) while remaining in data mode.
Referring now to FIG. 3E, the sequence of data pattern reception is illustrated. In step 360, data is extracted from the data channel and received by the user. Decision 362 determines whether the received data has an ID portion corresponding to the user's ID. If not, or the received data is erroneous, or the data is not transmitted to the user. Thus, step 364 restarts the timer in use and reverts to the reference letter K, re-monitoring in the data channel.
If the determined ID of decision process 362 is valid, the subscriber unit processes the information and receives data and commands from host computer 106. The decision 366 determines whether a voice mode command has been received. If so, the process proceeds to letter E with reference to FIG. 3b, where the subscriber unit switches to voice mode operation. If the decision 366 determines that a voice mode command has not been received, the decision 368 determines whether a "forward control channel" command has been received. If received, the subscriber unit remains in data mode but additionally monitors the control channel. Accordingly, program control passes to reference letter H.
If the received data does not contain a voice mode command or a go to control channel command, the program proceeds to 370 which determines if the user operator has pressed the "push to talk" switch to initiate a voice call. If the user has started a voice call, the program proceeds to step 371 where it stores the received data for later processing and returns control to processing the voice call with reference to letter E of FIG. 3 b.
If the operator has not initiated a voice call, step 372 processes the received data according to the previously received instructions or according to instructions contained in the received data. Step 374 resets the data activity timer after receiving the most recent data.
Decision routine 376 determines whether the subscriber unit is operating in a voice monitoring mode. If so, the process proceeds to monitor the control channel with reference letter H. However, if the user is a data monitoring user, or the last mode user, decision 376 returns control to reference letter F and monitors the data channel (step 350).
Referring now to fig. 3F, a data transmission sequence of the data pattern is shown. In step 378, the subscriber unit transmits data onto the data channel using the appropriate data modulation. Decision 380 determines whether the user's transmission conflicts with another user's transmission. Such collision detection circuits are well known in the art and the choice of a particular circuit is not essential to the understanding of the present invention. Assuming the decision of decision process 380 is that a collision already exists, the process proceeds to step 382 which waits for an arbitrary interval before returning to reference to letter J of the transmitted data. If, however, no collision is detected, the program proceeds to step 384, which resets the activity timer upon the user transmitting in the data channel. In step 386, the user determines whether it is operating in a voice monitoring mode or whether it should continue to monitor the data channel (i.e., either the last use mode or the data monitoring mode). If the decision of decision block 386 is that the user should monitor the control channel, the process proceeds to reference letter H. Otherwise, the process proceeds to monitor the data channel with reference letter F.
Referring now to fig. 4, a state diagram 400 of the operation of the subscriber unit is shown. According to the invention, the subscriber unit must be connected to a control channel or to a designated voice channel or to a designated data channel.
In state 402, the user is operating in a voice mode in the control channel. The subscriber unit may engage in a voice call in state 404 by receiving a channel grant signal and return to the control channel state 402 based on receiving a disconnect signal or a timeout signal when the call is terminated. In addition, the user can receive the priority signal while participating in the call. Thus, if the user receives a priority data mode command, the user may abandon the voice call and enter state 406.
In state 406, the user operates in data mode while monitoring for control signals. The user may enter or leave this state by commands issued by the host computer via the network controller and the central controller. These commands can return the user to voice mode in state 402 or leave it in data mode monitoring the data channel in state 408. In both data mode states (406 or 408), a "push to talk" command may return the user to state 402. Additionally, receipt of the channel grant signal may enable the user to quickly transition directly from state 406 to state 404 to engage in a voice call. Thus, a voice/data user may transition from one state to another along any of the determined paths of state diagram 400.
While a particular embodiment has been described and shown, it will be understood that the invention is not limited thereto since many modifications may be made. It is therefore contemplated to cover by the present application any and all such modifications that fall within the spirit and scope of the basic underlying principles disclosed and claimed herein.