# Patent

## Title
System and method for compressing information in a communications environment

## Abstract

A method for compressing information is provided that includes receiving a plurality of bits associated with a communications flow and tracking a state of a channel associated with the communications flow. A payload may be determined for a portion of the communications flow based on the state of the channel. The payload may then be communicated to a next destination.

## Background
TECHNICAL FIELD OF THE INVENTION
The present invention relates in general to the field of communications and, more particularly, to a system and a method for compressing information in a communications environment.
BACKGROUND OF THE INVENTION
Communication systems and architectures have become increasingly important in today's society. One aspect of communications relates to maximizing bandwidth and minimizing delays associated with data and information exchanges. In compression scenarios, network operators generally seek to produce high percentages of gain in compression for any given transport that is being implemented. Many proposed solutions for effectuating proper data exchanges add significant overhead and cost in order to accommodate a large number of end users. For example, a large number of T1/E1 lines may be implemented, but such lines are generally expensive and, thus, each one should be maximized in order to achieve optimal system performance. A provider generally leases T1 lines from a third party. Therefore, minimizing the number of T1 lines needed to accommodate a given communication architecture is pivotal in controlling cost expenditures. Operations that achieve a suitable level of compression at the expense of sacrificing valuable T1/E1 lines are not feasible for service providers. Accordingly, the ability to provide a communications system that consumes few resources, optimizes bandwidth, and achieves minimal delay presents a significant challenge for network designers, service providers, and system administrators.
SUMMARY OF THE INVENTION
From the foregoing, it may be appreciated by those skilled in the art that a need has arisen for an improved compression approach that optimizes data exchanges in a communications environment. In accordance with one embodiment of the present invention, a system and a method for compressing data in a communications environment are provided that substantially eliminate or greatly reduce disadvantages and problems associated with convention compression techniques.
According to one embodiment of the present invention, there is provided a method for compressing information in a communications environment that includes receiving a plurality of bits associated with a communications flow and tracking a state of a channel associated with the communications flow. A payload may be determined for a portion of the communications flow based on the state of the channel. The payload may then be communicated to a next destination.
Certain embodiments of the present invention may provide a number of technical advantages. For example, according to one embodiment of the present invention, a communications approach is provided that significantly enhances bandwidth parameters for a given architecture. This is a result of a compression technique that tracks the state of a time-division multiplexed (TDM) stream and represents the state of the A-bis voice or data call by a context. This context may be maintained for each sub-rate digital signaling zero (DS0) segment. The context may be efficiently translated into commands for a compressor and/or a decompressor.
Such an operation optimizes bandwidth allocations for a given architecture. For example, when the sub-rate DS0 channel is IDLE (e.g. alternating 01 pattern), in an ERROR state (e.g. all zeros), or when no call is assigned to the channel, there is zero bandwidth required to represent the contents of the channel. Thus, minimal bandwidth is consumed as a result of such an operation. Additionally, when the voice/data frame contains silence (or any other frame filler), no bandwidth is required to represent the silence or filler data. This further increases available bandwidth.
Another technical advantage associated with such a communication system architecture is that most of the contents of the stream and, in particular, most of the silence and filler bits do not need to be processed by a compressor or a decompressor (i.e. they can be passed directly from a TDM framer to the transport multiplexing function). Hence, network resources may be conserved because the compressor and decompressor are not implicated by the propagation of the silence and filler bits. This may further alleviate processing burdens for a corresponding architecture. Moreover, such compression operations may be leveraged in virtually any communications architecture. For example, the compression approach offered by the present invention may be used in cooperation with any base transceiver station/base station controller configuration to deliver optimal bandwidth for a network manager. Additionally, such a compression technique may be achieved with minimal modifications to an existing/enterprise architecture. Certain embodiments of the present invention may enjoy some, all, or none of these advantages. Other technical advantages may be readily apparent to one skilled in the art from the following figures, description, and claims.



BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and the advantages thereof, reference is made to the following description taken in conjunction with the accompanying drawings, wherein like reference numerals represent like parts, in which:
FIG. 1 is a simplified block diagram of a communication system for compressing data;
FIG. 2 is a simplified block diagram of an example internal structure associated with either of a cell site element or an aggregation node of the communication system; and
FIG. 3 is a simplified flowchart illustrating a series of example steps associated with the communication system.



DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a simplified block diagram of a communication system 10 for compressing data in a communications environment. Communication system 10 may include a plurality of cell sites 12, a plurality of mobile stations 13, a central office site 14, a plurality of base transceiver stations 16, a plurality of cell site elements 18, and a network management system 20. Additionally, communication system 10 may include an aggregation node 22, a plurality of base station controllers 24, a mobile switching center 25, a public switched telephone network (PSTN) 27, and an internet protocol (IP) network 29.
Communication system 10 may generally be configured or arranged to represent a 2.5G architecture applicable to a Global System for Mobile (GSM) environment in accordance with a particular embodiment of the present invention. However, the 2.5G architecture is offered for purposes of example only and may alternatively be substituted with any suitable networking system or arrangement that provides a communicative platform for communication system 10. For example, the present invention may be used in conjunction with a 3G network, where 3G equivalent networking equipment is provided in the architecture. Communication system 10 is versatile in that it may be used in a host of communications environments such as in conjunction with any time division multiple access (TDMA) element or protocol for example, whereby signals from end users, subscriber units, or mobile stations 13 may be multiplexed over the time domain.
In accordance with the teachings of the present invention, a compression approach is provided that significantly reduces delays associated with a data exchange. Communication system 10 provides an architecture in which cell site element 18 and/or aggregation node 22 executes compression protocols in order to reduce the amount of bandwidth required for GSM data exchanges (e.g. phone calls) that may be transmitted on backhaul lines. Bits may be taken that are associated with the calls and compressed in order to reduce the T1/E1 allocations or time slots being implemented for a given number of GSM phone calls on the backhaul. Note that certain techniques applied to GSM A-bis compression may focus on compressing the raw time-division multiplexed (TDM) data stream, using pattern recognition techniques that scan for certain repetitive bit patterns (e.g. a series of eight is) and then use a lookup database to define the pattern allowing it to be replaced with a symbolic representation (i.e. a code word). These types of methods result in high levels of control plane traffic (i.e. code word definition) as well as a high delay. The sampled bit stream must be long in order to reduce the number of required code words. In addition, the compression algorithm in such scenarios needs to read and process each bit in the TDM stream, making such an arrangement computationally complex.
Communication system 10 addresses these issues by tracking the state of the TDM stream and representing the state of the A-bis voice or data call by a context. This context may be maintained for each sub-rate digital signaling zero (DS0) of the GSM A-bis bearer stream and may be efficiently translated into commands for the compressor and decompressor. In addition, the state can be ascertained from the GSM 8.60 channel within the first thirty-two bits. Note that GSM 8.60 refers to the 16 kb/s subrate channel (two-bits per time slot), while GSM 8.61 refers to the 8 kb/s subrate channel (one-bit per time slot). A number of protocols may be used in order to achieve the teachings of communication system 10.
The scheme of communication system 10 may lock onto and track the state of a GSM (A-bis) channel. A TDM stream may consist of one to twenty-four or one to thirty DS0s, depending on the link layer technology (e.g. T1 or E1). Within a DS0, the GSM A-bis interface may break the DS0 into four separate channels. With a separate channel, each channel being independent, a compression technique may be applied as follows. The first bit in the channel is evaluated. Any suitable element (e.g. a state machine) may be implemented for evaluating the stream. The state machine may track the stream and look for bits that reveal the state of the channel.
For example, in the GSM 8.60 A-bis architecture, a valid frame (containing voice or data) may provide a condition reflected by sixteen zeros followed by a one. Thus, the state machine and the compression protocol may identify such data and then move into a certain state based on that data. If the original state is provided as an unknown state, then where sixteen zeros are received followed a one (indicating the beginning of a valid voice or data frame), a shift may be made to a detected state.
During the unknown channel state, there is no data being sent to a peer decompressor. Thus, automatic suppression of the bits that are redundant in the channel is achieved. This is because while valid framing information is not present, the channel is operating in an IDLE or ERROR state. During such states, there is no useful information in the channel to be transmitted to the other side (i.e. no voice data in the channel). This data is suppressed by applying the state machine to the channel. When the state machine gets to the valid frame state, it may track the position of the frame in the TDM stream and begin segmenting or chunking the TDM stream into a number of payloads (e.g. sixteen bit or thirty-two bit payloads; this is easily configurable).
Once the position of the frame within the TDM stream is defined, the frames may be segmented into smaller subframes. During processing of the subframes, state machine logic may be applied to the stream. After arriving at the valid frame state, the logic may seek to identify characters defined by the GSM specification. In cases where synchronization is lost with base transceiver station 16 or base station controller 24, then a shift could be made from the valid frame mode to the unknown mode. During that time, known data may be transmitted to the peer. Hence, a replication may be occurring that would normally be done by base station controller 24 (or a peer). This is because in cases where synchronization bits are not received, a frame is generally supposed to be dropped. Communication system 10 addresses this issue by not even transmitting the frame to the peer and allowing the peer to discard the frame. Instead, the frame may be dropped on the compressor side of the architecture. The state of the subrate channel may be tracked and data sent only where the channel is in the correct state.
Such an operation may provide a number of advantages. For example, when the sub-rate DS0 channel is IDLE (e.g. alternating 01 pattern), in an ERROR state (e.g. all zeros), or when no call is assigned to the channel, there is zero bandwidth required to represent the contents of the channel. This minimizes the bandwidth that is consumed. Additionally, when the voice/data frame contains silence or a frame filler, no bandwidth is required to represent the silence or filler data. Additionally, most of the contents of the stream and, in particular, most of the silence and filler bits do not need to be processed by the compressor or decompressor (i.e. they can be passed directly from the TDM framer to the transport multiplexing function, as explained more fully below). Hence, network resources are conserved because the compressor and decompressor are not implicated by the propagation of the silence and filler bits.
Mobile station 13 is an entity, such as a client, subscriber, end user, or customer that seeks to initiate a communication session or data exchange in communication system 10 via any suitable network. Mobile station 13 may operate to use any suitable device for communications in communication system 10. Mobile station 13 may further represent a communications interface for an end user of communication system 10. Mobile station 13 may be a cellular or other wireless telephone, an electronic notebook, a computer, a personal digital assistant (PDA), or any other device, component, or object capable of initiating a data exchange facilitated by communication system 10. Mobile station 13 may also be inclusive of any suitable interface to the human user or to a computer, such as a display, microphone, keyboard, or other terminal equipment (such as for example an interface to a personal computer or to a facsimile machine in cases where mobile station 13 is used as a modem). Mobile station 13 may alternatively be any device or object that seeks to initiate a communication on behalf of another entity or element, such as a program, a database, or any other component, device, element, or object capable of initiating a voice or a data exchange within communication system 10. Data, as used herein in this document, refers to any type of numeric, voice, video, audio-visual, or script data, or any type of source or object code, or any other suitable information in any appropriate format that may be communicated from one point to another.
Base transceiver stations 16 are communicative interfaces that may comprise radio transmission/reception devices, components, or objects, and antennas. Base transceiver stations 16 may be coupled to any communications device or element, such as mobile station 13 for example. Base transceiver stations 16 may also be coupled to base station controllers 24 (via one or more intermediate elements) that use a landline (such as a T1/E1 line, for example) interface. Base transceiver stations 16 may operate as a series of complex radio modems where appropriate. Base transceiver stations 16 may also perform transcoding and rate adaptation functions in accordance with particular needs. Transcoding and rate adaptation may also be executed in a GSM environment in suitable hardware or software (for example in a transcoding and rate adaptation unit (TRAU)) positioned between mobile switching center 25 and base station controllers 24.
In operation, communication system 10 may include multiple cell sites 12 that communicate with mobile stations 13 using base transceiver stations 16 and cell site element 18. Central office site 14 may use aggregation node 22 and base station controllers 24 for communicating with cell site 12. One or more network management systems 20 may be coupled to either cell site 12 and central office site 14 (or both as desired), whereby mobile switching center 25 provides an interface between base station controllers 24 (of central office site 14) and PSTN 27, IP network 29, and/or any other suitable communication network. Base transceiver stations 16 may be coupled to cell site element 18 by a T1/E1 line or any other suitable communication link or element operable to facilitate data exchanges. A backhaul connection between cell site element 18 and aggregation node 22 may also include a T1/E1 line or any suitable communication link where appropriate and in accordance with particular needs.
Base station controllers 24 generally operate as management components for a radio interface. This may be done through remote commands to a corresponding base transceiver station within a mobile network. One base station controller 24 may manage more than one base transceiver stations 16. Some of the responsibilities of base station controllers 24 may include management of radio channels and assisting in handoff/handover scenarios.
In operation, layer one based (e.g. time division multiplexed (TDM), GSM, 8.60) or layer two based (e.g. Frame Relay, high level data link control (HDLC), asynchronous transfer mode (ATM), point to point protocol (PPP) over HDLC) traffic may be communicated by each base transceiver station 16 to cell site element 18 of cell site 12. Cell site element 18 may also receive IP or Ethernet traffic from network management system 20. Cell site element 18 may multiplex together payloads from the layer two based traffic that have a common destination. The multiplexed payloads, as well as any payloads extracted from the network management system IP or Ethernet traffic, may be communicated across a link to aggregation node 22 within central office site 14. Aggregation node 22 may demultiplex the payloads for delivery to an appropriate base station controller 24 or network management system 20.
Mobile switching center 25 operates as an interface between PSTN 27 and base station controllers 24, and potentially between multiple other mobile switching centers in a network and base station controller 24. Mobile switching center 25 represents a location that generally houses communication switches and computers and ensures that its cell sites in a given geographical area are properly connected. Cell sites refer generally to the transmission and reception equipment or components that connect elements such mobile station 13 to a network, such as IP network 29 for example. By controlling transmission power and radio frequencies, mobile switching center 25 may monitor the movement and the transfer of a wireless communication from one cell to another cell and from one frequency or channel to another frequency or channel. In a given communication environment, communication system 10 may include multiple mobile switching centers 25 that are operable to facilitate communications between base station controller 24 and PSTN 27. Mobile switching center 25 may also generally handle connection, tracking, status, billing information, and other user information for communications in a designated area.
PSTN 27 represents a worldwide telephone system that is operable to conduct communications. PSTN 27 may be any land line telephone network operable to facilitate communications between two entities, such as two persons, a person and a computer, two computers, or in any other environment in which data is exchanged for purposes of communication. According to one embodiment of the present invention, PSTN 27 operates in a wireless domain, facilitating data exchanges between mobile station 13 and any other suitable entity within or external to communication system 10.
IP network 29 is a series of points or nodes of interconnected communication paths for receiving and transmitting packets of information that propagate through communication system 10. IP network 29 offers a communications interface between mobile stations 13 and any other suitable network equipment. IP network 29 may be any local area network (LAN), metropolitan area network (MAN), wide area network (WAN), wireless local area network (WLAN), virtual private network (VPN), or any other appropriate architectural system that facilitates communications in a network environment. IP network 29 implements a transmission control protocol/internet protocol (TCP/IP) communication language protocol in a particular embodiment of the present invention. However, IP network 29 may alternatively implement any other suitable communications protocol for transmitting and receiving data packets within communication system 10.
In operation, a multiplexing function (UDPmux) may be configured that samples the compressed GSM 8.60 stream to collect a fixed size payload (e.g. 8/16/32/64-bit) and transfers the payload to the peer demultiplexer, which may deliver the payload to the decompressor. This operates to maximize the efficiency of the back-haul. The compressor generally does not return bits to the multiplexer unless there are sufficient bits to fill the payload (i.e. 8/16/32/64-bits), which introduces an inherent but small sampling delay. The compressor may also represent the command state by passing through the GSM 8.60 CONTROL words to the multiplexer. The use of this fixed size payload and control word pass-through has a number of advantages. For example, no payload length field is required by the UDPmux function. This means that small payloads can be used to minimize delay without incurring significant overhead in terms of variable field length representation. Additionally, no explicit control protocol needs to be defined: eliminating the need to break up the payload fields (i.e. to insert control) or to use an out-of-band control protocol, which may consume even more bandwidth. Such an architecture provides for an alignment of the transport data stream with the state of the GSM sub-rate circuit. This operation is effectively combined with multiplexing of fixed size payloads data from multiple DS0s on the same circuit and results in a computationally simpler and bandwidth efficient solution.
For purposes of additional teaching, it is useful to describe some background characteristics associated with certain communications architectures that are relevant to communication system 10. In many cellular systems, 60% of a two-way voice conversation is silence. When the mobile station's voice coder and the base station controller's XC detect silence (e.g. via voice activity detection), these elements may use a discontinuous transmit (DTX) mode, whereby the mobile station and XC do not transmit a voice frame. The transmission rate adaptation unit (TRAU) at a given base transceiver station 16 may fill in the TDM time slot with a predefined “silence” frame in order to use the TDM time slots. This DTX feature is generally mandatory for a given mobile station and optional (but highly desired) for the XC (base station controller). If the compression algorithm can suppress just these silence frames, a significant savings in back-haul can be achieved. The compressor may simply indicate the arrival of a silence frame (e.g. a frame code) and the decompressor can regenerate this silence frame when it is expected (e.g. 20 ms interval) without transmission of the actual bits on the back-haul. Due to the delay budget, the compressor generally cannot wait an entire twenty milliseconds (320-bit) frame time before outputting a silence frame and, therefore, sub-frame compression may be used (e.g. 320-bits broken down into 10=32-bit sub-frames to this scenario). These sub-frames (e.g. voice, data, control, O&M, implied silence frame, etc.) may be regenerated by the decompressor in the correct sequence to ensure circuit emulation behavior.
In a sub-rate DS0 channel (e.g. ETSI/GSM 8.60), the eight-bit time slot may be divided into sub-slots (i.e. 2-bits for 16 kb/s, 1-bit for 8 kb/s) and this sub-rate channel may be used to carry a GSM 8.60 voice sample, data frame, control or O&M frame (i.e. 320-bits every 20 milliseconds). Frame synchronization may be built onto each sub-rate channel (e.g. sixteen consecutive zeros, a one every 16th bit) delineating voice and data frames from control/O&M frames.
Propagation delay and time synchronization procedures (PATE) may be used to adjust the sub-rate channel frame alignment in order to make sure that the frames arrive from the base station controller to the base transceiver station in time for over-the-air transmission. If jitter is caused by the transport solution, the PATE control loop might struggle to stabilize and, therefore, the system should generally behave like a TDM circuit by adding a constant amount of delay.
The compression solution offered by communication system 10 may use pseudo-wire emulation (PWE) [i.e. circuit-emulation services or CBS] for transport of frames across the back-haul link. One hop (point-to-point) may be used, allowing network delay/jitter to be suitably controlled. The GSMmux compression may use circuit emulation services (CES) for sampling, transport, and replay of TDM samples. Once sampled, the GSM 8.60 specific payload compression may be applied in order to reduce the required transport network bandwidth. Additional details relating to these operations are provided below with reference to FIG. 2.
FIG. 2 is a simplified block diagram of either aggregation node 22 or cell site element 18 in accordance with an example embodiment of the present invention. It is critical to note that the use of the terms ‘aggregation node’ and ‘cell site element’ herein in this document only connotes an example representation of one or more elements associated with base transceiver station 16 and base station controller 24. These terms have been offered for purposes of example and teaching only and do not necessarily imply any particular architecture or configuration. Moreover, the terms ‘cell site element’ and ‘aggregation node’ are intended to encompass any network element operable to facilitate a data exchange in a network environment. Accordingly, cell site element 18 and aggregation node 22 may be routers, switches, bridges, gateways, interfaces, or any other suitable module, device, component, element or object operable to effectuate one or more of the operations, tasks, or functionalities associated with compressing data as implied, described, or offered herein.
Each aggregation node 22 or cell site element 18 may include a framer and time-switch element 50, multiple 8.60 framers 54a-c, a forwarder 56, a primary instance 58, and secondary instances 60 and 62. Each of aggregation node 22 and cell site element 18 may perform similar compression and data management techniques and implement the use of a state machine that is provided therein. Additionally, it should be noted that because primary pseudo-wire instance 58 and secondary pseudo-wire instances 60 and 62 are capable of performing compression and decompression operations, each of these elements may include a decompressor and/or a compressor where appropriate. Each of these elements may also include any suitable hardware, software, object, or element operable to execute one or more of their functionalities. Additionally, such elements may be inclusive of suitable algorithms that operate to distribute data properly in a communications environment. For example, appropriate algorithms and software may be used in order to identify the type of signal (or information associated with the signal or link) or the state of the channel that is provided between base transceiver station 18 and base station controller 24.
Emulation may be provided for standard TDM signals. Cell site element 18 or aggregation node 22 may terminate the attachment circuit (AC) that, in an example embodiment, is a structured T1/E1 link that complies with GSM 8.60 framing. The pseudo wire (PW) is a logical construct that takes the sub-rate (sr) DS0 data/control stream and transports it over a corresponding packet switch node or network (PSN). Each of primary instance 58, and secondary instances 60 and 62 may provide 8.60 specific payload compression before transmission over the PSN. Multiple streams may be multiplexed onto one transport payload.
Aggregation node 22 or cell site element 18 may separate a GSM signal at framer 50 such that it is broken into multiple DS0s (e.g. 64 k-bit channels). 8.60 framers 54a-c may then break down individual time slots. 8.60 framers 54a-c may be application specific integrated circuits (ASICs), state machines digital signal processors (DSPs), or any other component, device, hardware, software, element or object. Forwarder 56 may then associate a separate channel (both data and bearer information) to a selected primary or secondary instance 58, 60, or 62. Forwarder 56 may also distribute common control signals for the GSM architecture.
Forwarder 56 is responsible for connecting the data and control streams of the selected 8.60 framer 54a-c to the appropriate instance (and providing a PW identifier to each stream). Each instance 58, 60, and 62 is connected to the AC state signal that is used for relaying data to peers (and for suppressing data). For each AC, a given primary instance 58 is allocated (e.g. via provisioning), which in addition to receiving the AC signal, can control the AC. Commands for the AC may be either self-generated by primary instance 58 or be received from a peer instance. Similarly, if any remote instance receives an error signal from their remotely attached AC, the local primary instance may also generate an alarm condition on the AC by using the command interface. Putting the AC in some alarm state has the effect of disabling framer 50 (and hence TDM data is discarded). This local state change may be reflected in the AC signal state, which may be reflected back to selected instances and reported to remote peers.
In the architecture provided by communication system 10, the selected 8.60 framer 54a-c may perform compression automatically in the form of invalid frame suppression. When IDLE (or non-active) or error patterns are present on the ingress stream, no TDM data may be sent to the PW compressor and no protocol data units (PDUs) are generated. Under these conditions, an srDSO that is provisioned on the decompressor may generate the error pattern. This, by itself, saves bandwidth for channels that are provisioned but that have not been allocated to calls. When a valid frame is detected, TDM data may be transferred to the selected instance 58, 60, or 62 until frame synchronization is lost. During an uncompressed mode all valid bits may be encapsulated according to the data payload format and passed to a selected peer instance 58, 60, or 62 for synchronous playback. In this mode, bits (including synchronization bits and IDLE voice bits) may be transmitted and replayed.
In operation of an example embodiment in the PW-bound direction, framer and time switch 50 delivers a set of N DS0s as a contiguous bit-stream to a selected 8.60 framer. Framer and time switch 50 may detect signals as defined by the particular AC (e.g. LOS on a T−1) and report this to forwarder 56. The selected 8.60 framer breaks each DS0 stream into M sub-rate DS0 bit-streams and delivers it to PW instance (M=2, 4, 8 per DS0). It may also detect srDS0 signals and pass these to the PW instance over the same multiplexed data/control path. When certain signal conditions (as defined more fully below) exist on the srDS0, null data may be sent to the PW instance by the framer. The PW instance encapsulates the srDS0 data/ctrl over a PSN protocol stack.
In the CE-bound direction, the PW takes the srDS0oPSN payload and delivers it to a selected 8.60 framer over the same multiplexed data/ctrl path. When no payloads are present, null data is sent to the selected 8.60 framer. The selected 8.60 framer may insert the data onto the N*DS0 stream along with other srDSO streams. If needed, the selected 8.60 framer can translate a control signal from the PW instance (either self-generated or from the peer PW instance) into a bit pattern (e.g. IDLE), as defined below. Framer and time switch 50 (e.g. a G.704 framer) takes the DS0s and transmits them on the AC.
Forwarder 56 is responsible for connecting the data and control streams of the selected 8.60 framer to the appropriate PW instance (and providing a PW identifier to each stream). Each PW is connected to the AC state signal that they use for relaying data to their peers and suppression of data (e.g. if the AC has a LOS error, the PW should stop sending PDUs). For each AC, a primary PW instance may be allocated (e.g. via provisioning), which in addition to receiving the AC signal can control the AC as a whole. Commands for the AC are either self-generated by the primary PW instance or received from the peer PW instance. For example, if a significant number of PSN PDUs is not received, the primary PW instance may decide to generate an error signal on the AC (e.g. AIS on the T−1). Similarly, if any of the remote PW instances receive an error signal from their remotely attached AC, the local primary PW should also generate an alarm condition on the AC by using the command interface. Putting the AC in some alarm states has the effect of disabling the framer (and hence TDM data is discarded). This local state change will be reflected in the AC signal state reflected back to the PW instances and reported to their remote peers.
Note that the GSM compressor acts upon the bearer plane and is generally not cognizant of the control plane (i.e. call signaling). Since a GSM base transceiver station and base station controller are compliant with the GSM call control signaling requirements, they are aware when an srDS0 has been allocated to a call and when it is not. An srDS0 that is not allocated to a call is set to an IDLE state (alternating 10). Due to the fact that the GSMmux scheme is not aware of this, it is likely that the GSM 8.60 framer will play out an error pattern (indicating no valid frames) when it should be playing the IDLE pattern. As an enhancement for communication system 10, the compression scheme could use a timer that causes the GSM 8.60 framer to revert to the IDLE pattern if a predetermined number of valid frames is not received.
With respect to multiplexing, it is important to note that even though the 8.60 framer conceptually separates the N DS0s into M srDS0s, all M srDS0s terminate on the same PW instance. This is to allow for optimum data payload packing and multiplexing efficiency. In fact, the stream prescribed by the PW is the aggregate of M srDS0s. This fact can be leveraged in an implementation by providing a concatenated bit-stream to the PW instance (and separate control channel for CAS).
The AC may have the following generic signals: 1) Frame Alignment Signal (FAS) is a common term denoting a special periodic pattern that is used to impose synchronous structures on E1 and T1 circuits; 2) Alarm Indication Signal (AIS) is a common term denoting a special bit pattern in the TDM bit stream that indicates presence of an upstream circuit outage (for E1 and T1 circuits the AIS condition can be detected not only by the framers but also by Line Interface Units (LIU)); 3) Loss of Frame (LOF) is a common term denoting the state of the framer when the FAS could not be found for some predefined duration while the AIS condition is not experienced; 4) Remote Alarm Indication (RAI) is a common term denoting a special pattern in the framing of a TDM service that is sent back by the receiver that experiences some failure condition of the incoming service (including AIS and LOF); and 5) Loss of Signal (LOS) is a common term denoting the state of the framer when no insufficient signal levels are detected on the AC.
When any of these signals are detected by framer and time switch 50 (e.g. a G.704 framer), they may be interpreted to mean that the AC is Out-of-Service (OOS). This OOS indication may be propagated by forwarder 56 to the PW instance that indicate this state in the control stream sent to the peer PW instance. In response, the local PW (in this scenario) stops sending srDS0oPSN PDUs to the selected 8.60 framer and instead sends null data. The remote primary PW may command its remote AC to generate an AIS signal. This remote state change may be reflected to the remote PW instances that also stop sending srDS0oPSN PDUs to their remote 8.60 framer. The control stream between the peer PW instances however may remain in service (INSV) so that state changes can be reported and synchronization can be maintained in the example provided.
The srDS0 may have the following specific signal conditions that are handled by the selected 8.60 framer: 1) Start of Frame (SOF): after LOF (or initial/reset conditions), arrival of sixteen consecutive zeros followed by a one indicates the start of a 320-bit 8.60 frame. Note that SOP may occur repeatedly every twenty milliseconds (320-bits) if no LOF conditions are detected. Each consecutive SOP may indicate the beginning of a new frame or the abortion of the previous frame (if all 320-bits were not received); 2) Loss of Frame (LOF): after SOP, a one in every sixteenth bit is expected (the first being the bit that started the SOP). If not received, LOF is declared resulting in the peer PW instance reverting to the all zero (ERROR) state; 3) Error: all zeros indicating synchronization has been lost or some error has been detected upstream. Since all zeros can cause a LOF, this signal is not explicitly detected by the 8.60 framer. The stream of zeros may however be suppressed by the 8.60 framer (since it will result in a LOF) and hence not transmitted as PDUs (the peer 8.60 framer may play out the error pattern since the LOF signal was detected); 4) Loss of Sync (LOS): three consecutive twenty milliseconds frames had a synchronization error (i.e. during initial synchronization or monitor phase) [There is currently no reason to detect this particular pattern and so the 8.60 framer will generally not check for it unless designated otherwise; however, each individual LOS indication may be signaled to the 8.60 framer]; 5) Time Alignment (TA): The 320-bit frame is shortened or lengthened by anywhere from 0-20 ms in 250 micro-second increments (i.e. 4-bits), as specified by the C bits in the 8.60 frame; 6) IDLE (GSM 8.54): a sub-rate channel (16 kb/s, 8 kb/s) not assigned to a call will transmit an IDLE pattern of 01 for a 16-kb/s sub-rate time slot and 0/1 in a 8 kb/s sub-rate time slot (0 or 1 determined by the position of this slot with reference to a larger 16-kb/s sub-rate channel). The IDLE channels may be suppressed by the selected 8.60 framer (i.e. SOP never detected) and re-generated by the peer 8.60 framer as the default fill pattern (at least until the first valid frame is detected on this sub-rate channel).
In addition, the srDS0 can be provisioned as OOS (indicated by the PE management system) in which case the framer may generate an IDLE pattern. If TDM data has not been received from the PW (for a provisioned and previously active srDS0), the ERROR pattern may be generated.
In one example referencing an 8.60-optimized payload compression model, the 8.60 framer may perform compression automatically in the form of invalid frame and bit-pattern suppression. When IDLE or ERROR patterns are present on the ingress stream, TDM data is not sent to the PW instance (compressor) and hence no PDUs are generated for that srDS0. Under these conditions, an srDS0 that is provisioned and active on the decompressor may generate the ERROR (all zero, inter-frame fill) pattern. When a valid frame is detected (i.e. SOF), TDM data (8/16/32/64-bit words) may be transferred to the PW (including the initial sixteen zero synchronization bits) until frame synchronization is lost.
While the TDM data from the framer is valid, the compressor may perform the following: 1) scan the valid bits from the 8.60 framer to find the 8.60 control word (CW) [this may be contained in the initial valid words after a LOF/EOF]. If the CW indicates the frame is voice silence, the compressor sends the CW bits to the PW peer (decompressor) and sets a flag indicating compression has started for this frame. The PDU for this srDS0 could actually contain some number of voice silence bits. Otherwise, the word is passed to the PW for transmission. 2) The decompressor receives the CW (with possible extraneous bits) and plays it out to the 8.60 framer. It then sets a flag indicating this frame is being compressed (and to remember to play out the predetermined silence pattern (all is) until the next valid frame is received from the compressor). The decompressor may calculate the maximum number of bits that should be played out before receiving the next valid frame from the decompressor (i.e. the ending CW). The decompressor may look for the sixteen zeros frame separator in order to determine when the frame has begun. 3) The next time payload from an srDS0 is used from the CESoPSN payload multiplexer, an empty payload is returned. This is encoded in the CESoPSN payload format (i.e. the bitmap). 4) If an error is detected by the compressor, the decompressor is generally not informed. The decompressor may continue to play out the silence pattern (all is) until its counter runs out and then resorts to the ERROR pattern. When the error is recovered, a SOF indication will be received by the compressor, which may re-start the process.
The 8.60 payload format may contain a payload present (PP) field that is a bit-mask of N-bits (max 256-bits, typically 96-bits or 12-bytes) where N is established based on the state of the PW (N is padded as needed to hit a byte boundary) and, in particular, the number of srDS0s that are INSV or OOS. Each bit in the mask may correspond to an srDS0 that is specified in the PW provisioning data. When the bit is set, the fixed sized payload is present for this srDS0. Payloads that are not present are still indicated to the related PW for synchronization purposes.
The CE-bound PW instance includes a jitter buffer that accumulates data from incoming CESoPSN packets with their respective UDPmux sequence numbers. The length of this buffer is configurable to allow adaptation to various network delay behavior patterns. Size of the jitter buffer is a local parameter of the CESoPSN PW.
Initially, the 8.60 framer is configured to generate IDLE (or ERROR). Immediately after the start, the PW: 1) begins reception of incoming UDPmux packets. PSN headers are stripped from the received packets, packetized TDM data from the received packets is stored in the jitter buffer. 2) The framer continues to play out IDLE (or ERROR) as long as the jitter buffer has not yet accumulated a sufficient amount of data. 3) Once the jitter buffer contains a sufficient amount of data (usually half of its capacity), the PW may start replay of this data to its end service in accordance with its (locally defined) clock. At this time, the IDLE (or ERROR) pattern of the framer is disabled and now it expects to receive TDM data continuously. The preceding discussion offers one example operation for communication system 10. Other operations may be readily accommodated and based on particular configuration or architecture arrangements and/or needs.
FIG. 3 is a simplified flowchart illustrating a series of example steps associated with a method for compressing voice data in a communications environment.
The method may begin at step 100 where mobile station 13 or mobile switching center (MSC) 25 may initiate a voice call. These two elements may negotiate a time slot or DS0 within the backhaul between base transceiver station 16 and base station controller 24. These elements may then be assigned for that particular voice call. At step 102, mobile station 13 may begin to translate analog signals from a suitable interface (such as a microphone for example) of a handset into a GSM (full or half rate) signal. This is a digital representation of the voice data that may be effectuated in a 20 ms period, which represents the packetization period of the system. (Note that the packetization period of the GSM system (20 ms) is different from the packetization period of the transport/compression/decompression system or “frame period,” which has a much lower packetization period (e.g. 5 ms). This may be done by mobile station 13 in cooperation with a transcoder.
At step 104, the voice frame from base station controller 24 or base transceiver station 16 is transmitted on the TDM network that connects to cell site element 18 or aggregation node 22. Thus, in this example embodiment, the end user is speaking into mobile station 13, which converts analog voice signals into GSM full rate or half rate digital samples. The samples are transmitted on an eight or a sixteen kilo-bit radio time slot or channel to the base transceiver station 16 over the air. Base transceiver station 16 transfers that frame over the A-bis backhaul interface toward cell site element 18.
Cell site element 18 may take the stream and break the single DS0 into four or eight subrate time slots at step 106. This may be performed, for example, by 8.60 framers 54a-c. Within that subrate DS0, the framing state machine may be applied to the channel to determine its state at step 108. Where there is valid data in the channel in the correct state, it may forward the payload to primary and secondary pseudo-wire instances 58, 60, and 62. These elements may execute the compression operations to be performed in the architecture. Once the payload is received by the compression element (e.g. software), an algorithm may be applied to determine whether or not the payload should be sent at step 110. The algorithm may be based on the previous state of the channel.
For example, in the case of silence where an end user is not speaking, mobile station 13 may blank out the transmission. This condition is detected by base transceiver station 16 (i.e. cell site element 18 included therein). Base transceiver station 16 may respond by filling the TDM stream with a valid frame representing silence. 8.60 framers 54a-c may detect this condition (a valid frame) but pass all the payload bits to a compressor (i.e. primary and secondary pseudo-wire instances 58, 60, and 62). The compressor, which tracks the state of the frame, may evaluate the first or second subframes within that stream and determine that the frame is actually a silence frame. The fact that a silence frame has actually been received may then be recorded. 8.60 framers 54a-c continue to send valid subframes to a compressor (i.e. primary and secondary pseudo-wire instances 58, 60, and 62), the compressor remembers that it received a silence frame and may, further, suppress sending those payloads until the entire valid frame has been consumed or processed by the compressor: consumed but not transmitted to the other side. Thus, the compressor can remember the state, suppress the redundant silence payloads, which are small subframes, and then only transmit the first and the last subframes. This is illustrated by step 112. The last subframe may contain control information, which cannot be suppressed. The first subframe may similarly contain control information, which cannot be suppressed. But the intermediate subframes of silence are generally not communicated by the compressor to the other side.
Some of the steps illustrated in FIG. 3 may be changed or deleted where appropriate and additional steps may also be added to the flowchart. These changes may be based on specific communication system architectures or particular networking arrangements or configurations and do not depart from the scope or the teachings of the present invention.
Although the present invention has been described in detail with reference to particular embodiments illustrated in FIGS. 1 through 3, it should be understood that various other changes, substitutions, and alterations may be made hereto without departing from the spirit and scope of the present invention. For example, although the present invention has been described with reference to a number of elements included within communication system 10, these elements may be rearranged or positioned in order to accommodate any suitable routing architectures. In addition, any of the described elements may be provided as separate external components to communication system 10 or to each other where appropriate. The present invention contemplates great flexibility in the arrangement of these elements as well as their internal components.
In addition, although the preceding description offers a compression protocol to be implemented with particular devices (e.g. aggregation node 22 and cell site element 18), the compression/suppression protocol provided may be embodied in a fabricated module that is designed specifically for effectuating the techniques provided above. Moreover, such a module may be compatible with any appropriate protocol other than the 8.60 platform, which was offered for purposes of teaching and example only.
Numerous other changes, substitutions, variations, alterations, and modifications may be ascertained to one skilled in the art and it is intended that the present invention encompass all such changes, substitutions, variations, alterations, and modifications as falling within the scope of the appended claims. In order to assist the United States Patent and Trademark Office (USPTO) and, additionally, any readers of any patent issued on this application in interpreting the claims appended hereto, Applicant wishes to note that the Applicant: (a) does not intend any of the appended claims to invoke paragraph six (6) of 35 U.S.C. section 112 as it exists on the date of the filing hereof unless the words “means for” or “step for” are specifically used in the particular claims; and (b) does not intend, by any statement in the specification, to limit this invention in any way that is not otherwise reflected in the appended claims.

## Claims

1. An apparatus for compressing data, comprising:
a cell site element associated with a base transceiver station and operable to receive a plurality of bits associated with a communications flow, the cell site element being operable to track a state of a channel associated with the communications flow and to determine a payload for a portion of the communications flow based on the state of the channel, the payload being communicated to a next destination, the cell site element detecting when an interface is transmitting voice data and when it is not transmitting the voice data, it enters into a discontinuous transmission (DTX) power savings mode, whereby silence on a voice channel is represented as a discrete bit pattern, and wherein silence frames are broken into multiple sub-frames and transmitted via a low-delay packet and the received sub-frames are played out with a jitter buffer, whereby DTX state data is injected into the sub-frames and combined with other sub-frames and the communications flow is played out in sequence.

2. The apparatus of claim 1, further comprising:
an aggregation node associated with a base station controller and operable to receive the payload from the cell site element.

3. The apparatus of claim 1, wherein the cell site element further includes a framer operable to separate a global system for mobile (GSM) signal corresponding to the communications flow such that the GSM signal is broken into multiple digital signaling zero (DS0) segments.

4. The apparatus of claim 1, wherein the cell site element further comprises an 8.60 framer operable to receive a selected DS0 segment from the communications flow and to identify whether the segment represents silence data.

5. The apparatus of claim 1, wherein the cell site element further comprises an algorithm operable to track the state of the channel.

6. The apparatus of claim 1, wherein the state of the channel is represented as a context that may be interpreted as a command by a selected one of a compressor and a decompressor.

7. The apparatus of claim 1, wherein the cell site element detects the state of the channel, the state being a selected one of an IDLE state, an ERROR state, and a no call state.

8. A method for compressing data, comprising:
receiving a plurality of bits associated with a communications flow;
tracking a state of a channel associated with the communications flow;
determining a payload for a portion of the communications flow based on the state of the channel;
communicating the payload to a next destination; and
detecting when an interface is transmitting voice data and when it is not transmitting the voice data, it enters into a discontinuous transmission (DTX) power savings mode, whereby silence on a voice channel is represented as a discrete bit pattern, and wherein silence frames are broken into multiple sub-frames and transmitted via a low-delay packet and the received sub-frames are played out with a jitter buffer, whereby DTX state data is injected into the sub-frames and combined with other sub-frames and the communications flow is played out in sequence.

9. The method of claim 8, further comprising:
receiving the payload from the cell site element;
formatting the payload with header information in order to form a packet; and
communicating the packet to another destination.

10. The method of claim 8, further comprising:
separating a global system for mobile (GSM) signal corresponding to the communications flow such that the GSM signal is broken into multiple digital signaling zero (DS0) segments.

11. The method of claim 8, further comprising:
receiving a selected DS0 segment from the communications flow; and
identifying whether the segment represents silence data.

12. The method of claim 8, further comprising:
representing the state as a context that may be interpreted as a command by a selected one of a compressor and a decompressor.

13. The method of claim 8, wherein the state of the channel is a selected one of an IDLE state, an ERROR state, and a no call state.

14. A system for compressing data, comprising:
means for receiving a plurality of bits associated with a communications flow;
means for tracking a state of a channel associated with the communications flow;
means for determining a payload for a portion of the communications flow based on the state of the channel;
means for communicating the payload to a next destination; and
means for detecting when an interface is transmitting voice data and when it is not transmitting the voice data, it enters into a discontinuous transmission (DTX) power savings mode, whereby silence on a voice channel is represented as a discrete bit pattern, and wherein silence frames are broken into multiple sub-frames and transmitted via a low-delay packet and the received sub-frames are played out with a jitter buffer, whereby DTX state data is injected into the sub-frames and combined with other sub-frames and the communications flow is played out in sequence.

15. The system of claim 14, further comprising:
means for receiving the payload from the cell site element;
means for formatting the payload with header information in order to form a packet; and
means for communicating the packet to another destination.

16. The system of claim 14, further comprising:
means for separating a global system for mobile (GSM) signal corresponding to the communications flow such that the GSM signal is broken into multiple digital signaling zero (DS0) segments.

17. The system of claim 14, further comprising:
means for receiving a selected DS0 segment from the communications flow; and
means for identifying whether the segment represents silence data.

18. The system of claim 14, further comprising:
means for representing the state as a context that may be interpreted as a command by a selected one of a compressor and a decompressor.

19. The system of claim 14, wherein the state of the channel is a selected one of an IDLE state, an ERROR state, and a no call state.

20. A computer readable medium encoded with computer executable instructions comprising:
receive a plurality of bits associated with a communications flow;
track a state of a channel associated with the communications flow;
determine a payload for a portion of the communications flow based on the state;
communicate the payload to a next destination; and
detecting when an interface is transmitting voice data and when it is not transmitting the voice data, it enters into a discontinuous transmission (DTX) power savings mode, whereby silence on a voice channel is represented as a discrete bit pattern, and wherein silence frames are broken into multiple sub-frames and transmitted via a low-delay packet and the received sub-frames are played out with a jitter buffer, whereby DTX state data is injected into the sub-frames and combined with other sub-frames and the communications flow is played out in sequence.

21. The medium of claim 20, wherein the code is further operable to:
receive the payload from the cell site element;
format the payload with header information in order to form a packet; and
communicate the packet to another destination.

22. The medium of claim 20, wherein the code is further operable to:
separate a global system for mobile (GSM) signal corresponding to the communications flow such that the GSM signal is broken into multiple digital signaling zero (DS0) segments.

23. The medium of claim 20, wherein the code is further operable to:
receive a selected DS0 segment from the communications flow; and
identify whether the segment represents silence data.

24. The medium of claim 20, wherein the code is further operable to:
represent the state as a context that may be interpreted as a command by a selected one of a compressor and a decompressor.

25. The medium of claim 20, wherein the state of the channel is a selected one of an IDLE state, an ERROR state, and a no call state.