An apparatus and method is described that allows for improved transmission of eoc data over the eoc channels of communication devices and links, reducing the number of dropped eoc packets and increasing the bandwidth and robustness of the eoc channel. The improved device apparatus and method also allows for the reduction of the overhead of eoc channel error detection and correction on the limited resources of the communication device by aborting a corrupted or blocked eoc packet transmission and automatically resending. The improved device apparatus and method additionally allows the reduction of dropped eoc data packets due to corrupted transmission and the resultant miscommunication and corruption of high-level applications of the communication device, such as operation commands, remote configuration and management programs, and operation displays.
|
23. A method of operating a communication device, comprising:
sending data on an embedded operation channel (eoc) of a communication interface from data stored in a packet data buffer, wherein a buffer pointer is utilized in transferring data in the data buffer; and
resetting the buffer pointer to the staff of data in the packet buffer when an eoc transmission error occurs at the communication device.
61. A method of operating a communication device, the method comprising:
sending data on an embedded operation channel (eoc) of a communication interface from data stored in a packet data buffer, wherein a buffer pointer is utilized in transferring data in the data buffer; and
resetting the buffer pointer to the start of data in the packet buffer when an eoc transmission error at the communication device is detected by the communication device.
36. A method of operating a communication system, comprising:
transmitting data from a packet buffer of a first communication device on an embedded operation channel (eoc) of a coupled communication link;
receiving data at one or more second communication devices from the eoc channel of the communication link; and
restarting transmission of the data from the packet buffer of the first communication device when an eoc transmission error occurs at the first communication device.
51. A machine-usable medium having machine-readable instructions stored thereon for execution by a processor of a communication device to perform a method comprising:
sending data on an embedded operation channel (eoc) of a communication interface from data stored in a packet data buffer, wherein a buffer pointer is utilized in transferring data in the data buffer; and
resetting the buffer pointer to the staff of data in the packet buffer when an eoc transmission error occurs at the communication device.
59. A method of operating a communication device, comprising:
transmitting an eoc data packet on an embedded operation channel (eoc) of a communication interface from a packet buffer, wherein a buffer pointer is utilized in transferring the eoc data packet from the packet buffer to a communication interface circuit;
aborting transmission of eoc data packet when an eoc transmission error occurs at the communication device; and
retrying transmission of the eoc data packet by resetting the buffer pointer to the start of the eoc data packet in the packet buffer.
62. A method of operating a communication device, the method comprising:
reading a segment of data from a packet buffer;
incrementing a buffer pointer to the start of unread data in the packet buffer;
writing the segment of data to a chipset of the communication device to transmit the segment of data over an embedded operation channel (eoc) of a communication link;
checking at the communication device if writing the segment to the chipset was successful;
resetting the buffer pointer to the start of data in the packet buffer when writing the segment to the chipset was unsuccessful.
60. A method of operating a communication device, the method comprising:
reading a segment of data from a packet buffer;
incrementing a buffer pointer to the start of unread data in the packet buffer;
writing the segment of data to a chipset of the communication device to transmit the segment of data over an embedded operation channel (eoc) of a communication link;
checking at the communication device if writing the segment to the chipset was successful, wherein an unsuccessful write indicates a transmission error; and
resetting the buffer pointer to the start of data in the packet buffer when a transmission error occurs at the communication device.
1. A communication device, comprising:
a processor;
a packet buffer coupled to the processor;
at least one communication interface;
a chipset coupled to the at least one communication interface and the processor, wherein the chipset communicates through the communication interface using a communication protocol having an embedded operation channel (eoc);
wherein the processor is adapted to transmit data from the packet buffer across the eoc channel of the communication protocol utilizing a read buffer pointer to mark the start of untransmitted data in the packet buffer; and
wherein the processor is adapted to reset the read buffer pointer to the start of the packet buffer when a transmission error at the communication device is sensed on the eoc channel by the chipset.
10. A communication system, comprising:
a communication link carrying a communication protocol with an embedded operation channel (eoc); and
a plurality of communication devices coupled to the communication link, wherein at least one of the plurality of communication devices comprises:
a processor;
a packet buffer coupled to the processor;
a chipset coupled to the communication link and the processor, wherein the chipset communicates on the communication link utilizing a communication protocol;
wherein the processor is adapted to transmit data from the packet buffer across the eoc channel of the communication link utilizing a read buffer pointer to mark the start of untransmitted data in the packet buffer; and
wherein the processor is adapted to reset the read buffer pointer to the start of the packet buffer when a transmission error at the at least one communication device is sensed on the eoc channel by the chipset.
2. The communication device of
3. The communication device of
4. The communication device of
5. The communication device of
6. The communication device of
7. The communication device of
8. The communication device of
9. The communication device of
11. The communication system of
12. The communication system of
13. The communication system of
14. The communication system of
15. The communication system of
16. The communication system of
17. The communication system of
18. The communication system of
19. The communication system of
20. The communication system of
21. The communication system of
22. The communication system of
24. The method of
storing eoc channel transmission routines on a machine readable storage medium.
25. The method of
26. The method of
27. The method of
28. The method of
29. The method of
30. The method of
31. The method of
executing a high-level application on a processor of the communication device.
32. The method of
33. The method of
34. The method of
35. The method of
generating a data packet with the high level application;
appending a Frame Check Sequence (FCS) to the data packet; and
placing the data packet into the packet buffer when space is available in the packet buffer.
37. The method of
38. The method of
storing eoc channel transmission routines on a machine readable storage medium.
39. The method of
40. The method of
41. The method of
42. The method of
43. The method of
44. The method of
45. The method of
executing a high-level application on a processor of the first communication device.
46. The method of
47. The method of
48. The method of
49. The method of
50. The method of
generating a data packet with the high level application;
appending a Frame Check Sequence (FCS) to the data packet; and
placing the data packet into the packet buffer when space is available in the packet buffer.
52. The machine-usable medium of
53. The machine-usable medium of
storing eoc channel transmission routines on a machine readable storage medium.
54. The machine-usable medium of
55. The machine-usable medium of
56. The machine-usable medium of
executing a high-level application on a processor of the communication device.
57. The machine-usable medium of
58. The machine-usable medium of
generating a data packet with the high level application;
appending a Frame Check Sequence (FCS) to the data packet; and
placing the data packet into the packet buffer when space is available in the packet buffer.
|
The present invention relates generally to communication devices and in particular the present invention relates to embedded operation channel (EOC) data transmission in communication devices.
Many modem communication systems allow for inter-link operation communications and maintenance commands between the coupled communication devices by the utilization of message packets passed over the communication link on a limited bandwidth embedded operations channel (EOC). The EOC is incorporated into the transfer protocol. One recent such communications link and protocol is the high-speed digital subscriber line (HDSL), also known as the high-bit-rate digital subscriber line (HDSL), which has 2 wire and 4 wire variants (HDSL2 and HDSL4). The HDSL2 and HDSL4 protocols are defined in industry standards (ANSI T1E1.418) to provide for common conventions and interoperability between HDSL communication devices from differing manufacturers. In particular, the EOC message packets allow configuration and management of such communication devices as the central office (CO) HDSL communication device and the customer premise equipment (CPE)/remote (RMT) HDSL communication device by the remote operation of their configuration menus across the HDSL communication link through the EOC channel embedded within the HDSL protocol and framing. In managing and configuring an HDSL communication device across an HDSL communication link, a technician or system operator connects to a local HDSL device with a terminal device or interface device. The system operator then utilizes the terminal device and local HDSL device to connect to the remote HDSL communication device being configured through the EOC channel of the HDSL communication link. Once connected the system operator generally utilizes a menu generated by a configuration application running on the distant HDSL communication device to manage and configure the device. Typically the interface device or terminal device utilized by the system operator to interface with the local HDSL communication device is a text or ASCII terminal. Other terminal types, such as a graphics user interface (GUI), are known and utilized for this purpose.
A common problem in communicating across the EOC channel occurs when there are errors in transmission of the EOC data/frame of the communication link, also known as EOC channel blocking. The EOC data packet portion of the datastream is corrupted, and thus when it is received the frame check sequence (FCS) of the EOC packet is checked against the contents of the packet and the packet is discarded because of the corruption. A corrupt EOC packet that has been discarded is typically not resent and is therefore lost. This loss of inter-link operation communications and maintenance commands can cause major problems in the overall operation of the communication link and the coupled communication devices. In particular, this is a problem for system operators engaged in remotely managing and/or configuring a distant communication device over the EOC channel; the corrupted EOC packets are discarded by the receiving communication device and therefore the high end applications or the system operator's terminal device they are destined for never receives them. This can lead to many issues such as corrupted screens and menus on the system operator's terminal, failed status updates, and misconfigurations of the distant communication device due to dropped packets.
An additional problem is the typically limited resources of the communication devices. Communication devices typically will utilize an embedded processor and memory system with a size and throughput that is closely matched to the needs of operating the communication device in a real time manner to reduce overall costs and power requirements of the system. Therefore, there is generally not an excess of spare resources available to devote to dealing with generating the configuration menu, communicating over the EOC channel, and operating a complex EOC channel error correction system in addition to the normal requirements of maintaining and operating a communication link.
For the reasons stated above, and for other reasons stated below which will become apparent to those skilled in the art upon reading and understanding the present specification, there is a need in the art for a method and apparatus for conveniently detecting and correcting for EOC packet transmission errors in communication devices and, in particular, HDSL communication devices.
The above-mentioned problems with detecting and correcting for EOC packet transmission errors in communication devices are addressed by embodiments of the present invention and will be understood by reading and studying the following specification.
In one embodiment, a communication device comprises a processor, a packet buffer coupled to the processor, at least one communication interface, a chipset coupled to the at least one communication interface and the processor, wherein the chipset communicates through the communication interface using a communication protocol having an embedded operation channel (EOC), wherein the processor is adapted to transmit data from the packet buffer across the EOC channel of the communication protocol utilizing a read buffer pointer to mark the start of untransmitted data in the packet buffer, and wherein the processor is adapted to reset the read buffer pointer to the start of the packet buffer when a transmission error is sensed on the EOC channel.
In another embodiment, a communication system comprises a communication link carrying a communication protocol with an embedded operation channel (EOC), and a plurality of communication devices coupled to the communication link, wherein at least one of the plurality of communication devices comprises a processor, a packet buffer coupled to the processor, a chipset coupled to the communication link and the processor, wherein the chipset communicates on the communication link utilizing a communication protocol, wherein the processor is adapted to transmit data from the packet buffer across the EOC channel of the communication link utilizing a read buffer pointer to mark the start of untransmitted data in the packet buffer, and wherein the processor is adapted to reset the read buffer pointer to the start of the packet buffer when a transmission error is sensed on the EOC channel.
In yet another embodiment, a method of operating a communication device comprises sending data on an embedded operation channel (EOC) of a communication interface from data stored in a packet data buffer, wherein a buffer pointer is utilized in transferring data in the data buffer, and resetting the buffer pointer to the start of data in the packet buffer when an EOC transmission error occurs.
In a further embodiment, a method of operating a communication system comprises transmitting data from a packet buffer of a first communication device on an embedded operation channel (EOC) of a coupled communication link, receiving data at one or more second communication devices from the EOC channel of the communication link, and restarting transmission of the data from the packet buffer of the first communication device when an EOC transmission error occurs.
In yet a further embodiment, a machine-usable medium having machine-readable instructions stored thereon for execution by a processor of a communication device to perform a method. The method comprising sending data on an embedded operation channel (EOC) of a communication interface from data stored in a packet data buffer, wherein a buffer pointer is utilized in transferring data in the data buffer, and resetting the buffer pointer to the start of data in the packet buffer when an EOC transmission error occurs.
In another embodiment, a method of operating a communication device comprises transmitting an EOC data packet on an embedded operation channel (EOC) of a communication interface from a packet buffer, wherein a buffer pointer is utilized in transferring the EOC data packet from the packet buffer to a communication interface circuit, aborting transmission of EOC data packet when an EOC transmission error occurs, and retrying transmission of the EOC data packet by resetting the buffer pointer to the start of the EOC data packet in the packet buffer.
Other embodiments are described and claimed.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments in which the inventions may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical and electrical changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the claims.
Embodiments of the present invention utilize an improved apparatus and/or method to reduce the number of dropped EOC packets and increase the bandwidth and robustness of the EOC channel by sensing a transmission error at the sending communication device and aborting the transmission and retrying the transmission. This EOC packet transmission abort and retry is achieved by resetting the pointer of the EOC channel packet buffer to its beginning such that the current EOC packet transmission is halted and is then re-sent. Because bad or corrupted packets are aborted and resent during transmission, the packet re-send is accomplished with a minimum of overhead and impact upon on resource limited communication device embedded processors and memory systems. In another embodiment of the present invention, a communication device with a higher level application communicating through the EOC channel senses an error in transmission of an EOC packet and restarts transmission of the current EOC packet of the communication device. In one embodiment of the present invention, a communication system with a communication device is remotely managed and configured by an internal management program through the EOC channel of the communication device senses an error in transmission of an EOC packet and resets the EOC buffer pointer to re-send the current EOC packet. This reduces the dropped EOC packets and errors seen by a terminal device coupled through a local communication device and EOC channel to the remote communication device being configured. In another embodiment of the present invention, an HDSL communication system with an HDSL communication device is remotely managed and configured by an internal management program through the EOC channel of the HDSL communication device detects an error in transmission of an EOC packet and resets the EOC buffer pointer to re-send the current EOC packet.
A terminal device 114 is optionally coupled to the CPE HDSL communication device 104 through a “craft port” (not shown, generally a RS-232 port). The terminal device 114 allows management of the local CPE HDSL communication device 104 by a system operator. The terminal device 114 also allows for remote configuration of the CO HDSL communication device 102 from the CPE HDSL communication device 104 over the EOC channel of the HDSL communication link 106 utilizing EOC packets. In one embodiment, a craft port is also be located on the CO HDSL communication device 102 and, in one embodiment, allows for remote configuration of the CPE HDSL communication device 104 over the EOC channel from the CO HDSL communication device 102.
In operation, in HDSL communication system 100 of
Internally, HDSL interface circuit 206 is coupled to T1/E1 interface circuit 210 to pass data bi-directionally through communication device 200 between T1/E1 interface 212 to HDSL interface 208. Processor 202 is coupled to T1/E1 interface circuit 210 and HDSL interface circuit 206 and controls and communicates with them. Processor 202 is also coupled to firmware storage media 204, which contains software routines or firmware required to initialize, configure, and operate communication device 200. Storage media 204 also contains any software routines and data that are utilized to generate configuration and management menus and communicate through the EOC channel. Craft port 214 is coupled to processor 202 and enables communication with the communication device 200 or to a coupled remote HDSL communication device (not shown) over the EOC channel by a system operator utilizing a terminal device. It is noted that other communication interfaces, dataports, communication busses, and/or other proprietary communication interface or protocol can also be included in various embodiments of HDSL communication device 200 of
Software routines that initialize and operate communication devices, such as the HDSL communication device 200 described in
In operation, HDSL communication device 200 of
High-level application packet generation algorithm 302, includes a high-level application running on the communication device, such as a configuration program, a terminal program communicating through a craft port, a communication device operation control program, or the like. Application needs to send data to a remote communication device over the EOC channel. High-level application generates 308 a packet of data to transmit across the EOC channel of a coupled communication link. A frame check sequence (FCS) checksum is generated and appended 310 to the data packet. The data packet and FCS checksum are then written 312 into the packet buffer 316 when space is available (typically after the previous EOC packet contents of the buffer have been transmitted and it has been released by the EOC transmit circuit for use). After the generated data packet and FCS checksum have been written into packet buffer 316 the high-level algorithm returns 314 and control returns to the high-level application until it generates and places the next data packet into the EOC packet buffer 316.
In the EOC packet transmission algorithm 304 of
Alternative communication system and device embodiments of the present invention with an improved EOC packet retry circuit and/or method will be apparent to those skilled in the art with the benefit of the present disclosure, and are also within the scope of the present invention.
An apparatus and method have been described that allows for improved transmission of EOC data over the EOC channels of communication devices and links, reducing the number of dropped EOC packets and increasing the bandwidth and robustness of the EOC channel. The improved device apparatus and method also allows for the reduction of the overhead of EOC channel error detection and correction on the limited resources of the communication device by aborting a corrupted or blocked EOC packet transmission and automatically resending. The improved device apparatus and method additionally allows the reduction of dropped EOC data packets due to corrupted transmission and the resultant miscommunication and corruption of high-level applications of the communication device, such as operation commands, remote configuration and management programs, and operation displays.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiment shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.
Anne, Laxman, Kasper, II, David J.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5128692, | Feb 11 1991 | Polaroid Corporation | Symmetric binary weighted exposure method and apparatus employing center pulse width modulation for continuous tone printer |
5796742, | Jul 22 1993 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Bi-diredctional wire-line to local area network interface and method |
6185191, | Dec 03 1997 | Fluke Corporation | Testing of ISDN line via auxiliary channel signaling |
6385372, | Apr 19 2000 | Tera Fiberoptics, Inc. | Fiber optical coupler fabrication and system |
6694470, | May 21 1999 | SISVEL INTERNATIONAL S A | Retransmission procedure and apparatus for handshaking protocol |
7099289, | Oct 11 2000 | SAMSUNG ELECTRONICS CO , LTD | Automatic retransmission and error recovery for packet oriented point-to-multipoint communication |
7102671, | Feb 08 2000 | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | Enhanced compact flash memory card |
20030165120, | |||
20030223761, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 19 2002 | KASPER, DAVID J , II | ADC DSL SYSTEMS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013058 | /0920 | |
Jun 19 2002 | ANNE, LAXMAN | ADC DSL SYSTEMS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 013058 | /0920 | |
Jun 25 2002 | ADC DSL Systems, Inc. | (assignment on the face of the patent) | / | |||
Sep 28 2015 | ADC DSL SYSTEMS, INC | JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT - TERM LOAN | 036714 | /0808 | |
Sep 28 2015 | ADC DSL SYSTEMS, INC | JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENT | PATENT SECURITY AGREEMENT - ABL | 036715 | /0164 | |
Sep 28 2015 | ADC DSL SYSTEMS, INC | WILMINGTON TRUST, NATIONAL ASSOCIATION, AS THE COLLATERAL AGENT | PATENT SECURITY AGREEMENT | 036718 | /0042 | |
Mar 17 2017 | WILMINGTON TRUST, NATIONAL ASSOCIATION | COMMSCOPE DSL SYSTEMS LLC FORMERLY KNOWN AS ADC DSL SYSTEMS, INC | RELEASE OF SECURITY INTEREST IN PATENTS RELEASES RF 036718 0042 | 042126 | /0050 |
Date | Maintenance Fee Events |
Aug 12 2011 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 12 2015 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Sep 30 2019 | REM: Maintenance Fee Reminder Mailed. |
Mar 16 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Feb 12 2011 | 4 years fee payment window open |
Aug 12 2011 | 6 months grace period start (w surcharge) |
Feb 12 2012 | patent expiry (for year 4) |
Feb 12 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 12 2015 | 8 years fee payment window open |
Aug 12 2015 | 6 months grace period start (w surcharge) |
Feb 12 2016 | patent expiry (for year 8) |
Feb 12 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 12 2019 | 12 years fee payment window open |
Aug 12 2019 | 6 months grace period start (w surcharge) |
Feb 12 2020 | patent expiry (for year 12) |
Feb 12 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |