CA2248915A1 - Simplified data link - Google Patents
Simplified data link Download PDFInfo
- Publication number
- CA2248915A1 CA2248915A1 CA002248915A CA2248915A CA2248915A1 CA 2248915 A1 CA2248915 A1 CA 2248915A1 CA 002248915 A CA002248915 A CA 002248915A CA 2248915 A CA2248915 A CA 2248915A CA 2248915 A1 CA2248915 A1 CA 2248915A1
- Authority
- CA
- Canada
- Prior art keywords
- datagram
- code
- processor
- data
- scrambler
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims abstract description 13
- 230000005540 biological transmission Effects 0.000 claims abstract 5
- 239000000872 buffer Substances 0.000 claims description 30
- 230000003287 optical effect Effects 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 125000004122 cyclic group Chemical group 0.000 claims 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
- H04J3/1605—Fixed allocated frame structures
- H04J3/1611—Synchronous digital hierarchy [SDH] or SONET
- H04J3/1617—Synchronous digital hierarchy [SDH] or SONET carrying packets or ATM cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0623—Synchronous multiplexing systems, e.g. synchronous digital hierarchy/synchronous optical network (SDH/SONET), synchronisation with a pointer process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03828—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J2203/00—Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
- H04J2203/0001—Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
- H04J2203/0073—Services, e.g. multimedia, GOS, QOS
- H04J2203/0076—Channel characteristics, e.g. BER, error detection, error correction, delay, jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J2203/00—Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
- H04J2203/0001—Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
- H04J2203/0073—Services, e.g. multimedia, GOS, QOS
- H04J2203/0082—Interaction of SDH with non-ATM protocols
- H04J2203/0083—Support of the IP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J2203/00—Aspects of optical multiplex systems other than those covered by H04J14/05 and H04J14/07
- H04J2203/0001—Provisions for broadband connections in integrated services digital network using frames of the Optical Transport Network [OTN] or using synchronous transfer mode [STM], e.g. SONET, SDH
- H04J2203/0089—Multiplexing, e.g. coding, scrambling, SONET
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Abstract
A simplified data link protocol which may be implemented in a very high-speed transmission system, e.g., SONET, processes a datagram received from an IP facility according to QoS considerations and scrambles a datagram before it is again scrambled by a transmission system, e.g., a SONET transmitter, to ensure that the pattern of a user's data does not match the transmission scrambling pattern. The data link protocol scrambler also employs a novel synchronization scheme. We also use a pointer system which identifies the location of a datagram in a frame to eliminate flags and the need to process user data to ensure that it does not contain and a boundary flag.
Description
CA 0224891~ 1998-09-28 SIMPLIFIED DATA LINK
FIELD OF THE INVENTION:
The invention relates to the tr~n.smi.s.sion of data over a high-speed data link, e.g., a SONET facility, and more particularly relates to a 5 protocol governing the tr~n.smi.s.sion of a datagram received from network elements employing the Internet Protocol (IP) or .simil~r protocol over such a link.
BACKGROUND OF THE INVENTION:
Optical systems use binary line coding for digital tr~n.smi.s.sions, 10 and scramble data that will be transmitted to ensure a random distribution of logical ones and zeroes to maintain line synchronization.
Such scrambling also ensures that so-called pseudo-random, non-random sequence frequency components are removed from the transmitted stream of data as a way of improving the tr~n.qmi.ssion signal-to-noise 1 5 ratio.
As is well-known, an absence of incoming logical ones (or zeroes) for an appreciable amount of time, e.g., 2.3 lls, could cause a receiver to lose such synchronization. Some data systems, e.g., a Synchronous Optical NETwork SONET), deal with this problem, by generating a 20 particular pattern of logical ones and zeroes and combining the logical pattern with a user's bit stream so that an appropriate mix of such ones and zeroes are transmitted over the tr~n.smi.s.sion medium. The particular pattern of that is combined with the user's bit stream is called a scramble. At the opposite end of that medium, a receiver combines the 25 transmitted bit stream with the particular pattern to recover the user's data. The particular pattern, more particularly, is generated at the transmitter and supplied to one input of an "Exclusive Or" circuit, and the user data is supplied to another input of the circuit. The output of the Exclusive Or is transmitted to a destination receiver which detects the incoming ones and zeroes forming the incoming data and supplies the latter to another "Exclusive Or" circuit to recover the user's data.
5 When there is an absence of user data to send at the transmitter, then the "Exclusive Or" outputs the aforementioned pattern, which is transmitted to the receiver, which uses that incoming data to maintain synchronization necessary for accurate detection of incoming ones and zeroes forming the pattern. Simil~rly, the receiver performs an Exclusive 10 Or between the detected incoming data and the aforementioned particular pattern, and outputs a stream of zeroes, which is the result of the same signal pattern of ones and zeroes being supplied to both inputs of the Exclusive Or. Thus, a sufficient stream of data is transmitted to the receiver to allow the receiver to maintain the synchronization 15 necessary to detect accurately incoming ones and zeroes whenever there is absence of user data to transmit.
Disadvantageously, as will be detailed below, such synchronization may be disrupted even though such scrambling is being used in SONET, as may happen when a user's packet is larger than the 20 scrambler period.
For example, a user, inadvertently or otherwise, could insert the scrambler pattern in the user's datagram, and if such bits are aligned with the scrambler pattern, then the Exclusive Or would output a stream of zeroes, which could cause the system to declare a loss of signal or a 25 loss of timing.
In prior data systems, e.g., a SONET system implementing the well-known HDLC protocol, the boundaries of a datagram, or data packet cont~ining user data are marked by leading and trailing flags having a predetermined pattern, as is shown in FIG. 1, in which flags 10 and 12 define the start and end of packet 11. Such systems recognize that user data could contain a series of ones and zeroes rl~ning a flag --which could cause a receiver encountering such an incorrect flag to mistakenly conclude that the incoming datagram/packet ends at that S point. The receiver may also conclude mistakenly that the succeeding data belongs to a next datagram/packet.
To deal with this problem, prior systems check each byte of user data and change each user byte resembling a ~ag to a so-called user flag 13 (UFLG) by appending dummy bits to the byte. A receiver, in turn, 10 strips off the added bits. It can be appreciated that the task of checking each byte of user data to determine if it resembles a boundary flag is indeed a waste of system resources. Moreover, it is very dif~cult to perform such checking at very high data rates, e.g., a data rate of 2.5 Gbps.
Moreover, data systems, especially data systems which transmit and receive via the Internet, do not currently provide a mechanism that differentiates between different data services so that the tr~n.~mi.~.~ion of data may be engineered on a Quality of Service basis (QoS) for multimedia traffic, including, e.g., data characteri7.ing video, audio, 20 voice, etc. For the most part, the Internet treats data associated with different services the same.
SUM~ARY OF THE INVENTION:
We address the foregoing using what we call a simplified data link protocol which processes a datagram based on QoS considerations and 25 which scrambles a datagram before it is again scrambled by a tr~n.~mi.qsion system, e.g., a SONET transmitter, to ensure that the pattern of a user's data does not match the tr~n.~mi.~sion scrambling pattern. We also use a pointer system which identifies the location of a CA 0224891~ 1998-09-28 datagram in a frame to ~limin~te flags and the need to process user data to ensure that it does not contain and a boundary flag.
These and other aspects of the invention will be appreciated from the following claims, detailed description and accompanying drawings.
5 BRIEF DESCRIPTION OF THE DRAVVING:
FIG.l illustrate~ the way in which prior data systems delineate the boundaries of a transmitted datagrams and packets;
FIG.2is a block diagram of a simplified data link transmitter system in which the principles of the invention may be practiced;
FIG.3is a layout of a SONET (STS- 1) Synchronous Transport Signal Level 1;
FIG.4 illustrates an alternative arrangement for building a Synchronous Payload Envelope bearing a plurality of STS frames;
FIG.5is a block diagram of a simplified data link receiver system 15 in which the principles of the invention may be practiced;
FIG.6is a block diagram of the frame payload scrambler of FIG.
FIELD OF THE INVENTION:
The invention relates to the tr~n.smi.s.sion of data over a high-speed data link, e.g., a SONET facility, and more particularly relates to a 5 protocol governing the tr~n.smi.s.sion of a datagram received from network elements employing the Internet Protocol (IP) or .simil~r protocol over such a link.
BACKGROUND OF THE INVENTION:
Optical systems use binary line coding for digital tr~n.smi.s.sions, 10 and scramble data that will be transmitted to ensure a random distribution of logical ones and zeroes to maintain line synchronization.
Such scrambling also ensures that so-called pseudo-random, non-random sequence frequency components are removed from the transmitted stream of data as a way of improving the tr~n.qmi.ssion signal-to-noise 1 5 ratio.
As is well-known, an absence of incoming logical ones (or zeroes) for an appreciable amount of time, e.g., 2.3 lls, could cause a receiver to lose such synchronization. Some data systems, e.g., a Synchronous Optical NETwork SONET), deal with this problem, by generating a 20 particular pattern of logical ones and zeroes and combining the logical pattern with a user's bit stream so that an appropriate mix of such ones and zeroes are transmitted over the tr~n.smi.s.sion medium. The particular pattern of that is combined with the user's bit stream is called a scramble. At the opposite end of that medium, a receiver combines the 25 transmitted bit stream with the particular pattern to recover the user's data. The particular pattern, more particularly, is generated at the transmitter and supplied to one input of an "Exclusive Or" circuit, and the user data is supplied to another input of the circuit. The output of the Exclusive Or is transmitted to a destination receiver which detects the incoming ones and zeroes forming the incoming data and supplies the latter to another "Exclusive Or" circuit to recover the user's data.
5 When there is an absence of user data to send at the transmitter, then the "Exclusive Or" outputs the aforementioned pattern, which is transmitted to the receiver, which uses that incoming data to maintain synchronization necessary for accurate detection of incoming ones and zeroes forming the pattern. Simil~rly, the receiver performs an Exclusive 10 Or between the detected incoming data and the aforementioned particular pattern, and outputs a stream of zeroes, which is the result of the same signal pattern of ones and zeroes being supplied to both inputs of the Exclusive Or. Thus, a sufficient stream of data is transmitted to the receiver to allow the receiver to maintain the synchronization 15 necessary to detect accurately incoming ones and zeroes whenever there is absence of user data to transmit.
Disadvantageously, as will be detailed below, such synchronization may be disrupted even though such scrambling is being used in SONET, as may happen when a user's packet is larger than the 20 scrambler period.
For example, a user, inadvertently or otherwise, could insert the scrambler pattern in the user's datagram, and if such bits are aligned with the scrambler pattern, then the Exclusive Or would output a stream of zeroes, which could cause the system to declare a loss of signal or a 25 loss of timing.
In prior data systems, e.g., a SONET system implementing the well-known HDLC protocol, the boundaries of a datagram, or data packet cont~ining user data are marked by leading and trailing flags having a predetermined pattern, as is shown in FIG. 1, in which flags 10 and 12 define the start and end of packet 11. Such systems recognize that user data could contain a series of ones and zeroes rl~ning a flag --which could cause a receiver encountering such an incorrect flag to mistakenly conclude that the incoming datagram/packet ends at that S point. The receiver may also conclude mistakenly that the succeeding data belongs to a next datagram/packet.
To deal with this problem, prior systems check each byte of user data and change each user byte resembling a ~ag to a so-called user flag 13 (UFLG) by appending dummy bits to the byte. A receiver, in turn, 10 strips off the added bits. It can be appreciated that the task of checking each byte of user data to determine if it resembles a boundary flag is indeed a waste of system resources. Moreover, it is very dif~cult to perform such checking at very high data rates, e.g., a data rate of 2.5 Gbps.
Moreover, data systems, especially data systems which transmit and receive via the Internet, do not currently provide a mechanism that differentiates between different data services so that the tr~n.~mi.~.~ion of data may be engineered on a Quality of Service basis (QoS) for multimedia traffic, including, e.g., data characteri7.ing video, audio, 20 voice, etc. For the most part, the Internet treats data associated with different services the same.
SUM~ARY OF THE INVENTION:
We address the foregoing using what we call a simplified data link protocol which processes a datagram based on QoS considerations and 25 which scrambles a datagram before it is again scrambled by a tr~n.~mi.qsion system, e.g., a SONET transmitter, to ensure that the pattern of a user's data does not match the tr~n.~mi.~sion scrambling pattern. We also use a pointer system which identifies the location of a CA 0224891~ 1998-09-28 datagram in a frame to ~limin~te flags and the need to process user data to ensure that it does not contain and a boundary flag.
These and other aspects of the invention will be appreciated from the following claims, detailed description and accompanying drawings.
5 BRIEF DESCRIPTION OF THE DRAVVING:
FIG.l illustrate~ the way in which prior data systems delineate the boundaries of a transmitted datagrams and packets;
FIG.2is a block diagram of a simplified data link transmitter system in which the principles of the invention may be practiced;
FIG.3is a layout of a SONET (STS- 1) Synchronous Transport Signal Level 1;
FIG.4 illustrates an alternative arrangement for building a Synchronous Payload Envelope bearing a plurality of STS frames;
FIG.5is a block diagram of a simplified data link receiver system 15 in which the principles of the invention may be practiced;
FIG.6is a block diagram of the frame payload scrambler of FIG.
2;
FIG.7 illustrates the format of a descrambling code that the frame payload scr~mhl~r of FIG.2 inserts in the path overhead section of a 20 SONET frame; and FIG.8is a block diagram of the frame payload descrambler of FIG.
5.
CA 0224891~ 1998-09-28 DETAILED DESCRIPTION:
The Simplified Data Link (SDL) shown in FIG. 2 includes S-processor 110 which provides an interface for receiving a datagram from an Internet facility 115, such as an IP gateway (router), computer etc., and which determines the size (i.e., number of bytes) of the incoming datagram. The S-processor may do this by either (a) counting each byte forming the incoming datagram, or (b) checking the datagram header for such information if the datagram was formed in accordance with the so-called IP version IV protocol. For example, the IP version IV protocol includes the size of the datagram in the datagram header. If that is the case, then S-processor 110 may then simply query the datagram header.
S-processor 110 then supplies via path 111 a value indicative of the size of the datagram to overhead generator 135, which appends that value and other Information to the accompanying datagram header, as will be l 5 explained below. The incoming datagram is then fed to QoS processor 115, which determines the level of priority that should be accorded to the incoming datagram. QoS processor 115 stores a datagram associated with the highest level of quality in data buffer 120-1; and stores a datagram associated with the next highest level of priority in data buffer 120-2 and so on. QoS processor 115 may determine such level of priority in a number of different ways, For example, if, as mentioned above, the datagram was formed in accordance with the IP version IV protocol, then the datagram header contains data indicative of the type of service associated with the datagram. If that is the case, then the datagram header may contain QoS properties. QoS processor 115 using either the identified type of service or QoS properties determines the level of priority associated with the datagram and stores the datagram in the appropriate one of the buffers 120-1 through 120-N. Note that one or more of the buffers 120-1 through 120-n may be a straight through path to output processor 125, as represented by the dashed line in buffer 120-CA 0224891~ 1998-09-28 1 --- meaning that the datagram is not stored in the buffer but is passed straight through the buffer to output processor 125.
Each of the buffers 120-1 through 120-N includes a scheduling processor (not shown) which schedules, on a priority type basis, for 5 access to output processor 125. Thus, for example, if a number of the buffers contend for access to output processor 125 at the same time, then the buffer associated with the highest level of priority is granted such access. Specifically, each contention processor cancels its contention if it determines that a buffer of a higher priority is also contending for access to processor 125. Thus, output processor 125 receives the datagram from the buffer 120-i that wins such contention, and forwards the datagram as it is received to conventional CRC generator 130. Alternatively, processor 125 may receive a datagram from a buffer 120-i according to some other QoS scheduling policy.
Output processor 125 also forwards a value indicative of the QoS
that is to be accorded to the datagram to overhead generator 135 via path 126. CRC generator 130, which may be, for example, a conventional high-speed processor/computer, generates a conventional CRC code across the contents forming the datagram and supplies the CRC to 20 overhead generator 135 via path 131 and also supplies the datagram to overhead generator via path 132. Overhead generator 135, in turn, appends the information that it respectively receives via paths 111, 126 and 131 to the datagram header, all in accordance with an aspect of the invention. It then supplies the resulting datagram to frame payload 25 scrambler 140.
As discussed above, the aforementioned synchronization process may be disrupted irrespective of the fact that a scrambler circuit used. As mentioned, a disruption may occur when the user's packet is larger than the scrambler period and when the pattern of the user's data matches CA 0224891~ 1998-09-28 the scr~mhling pattern. As was also discussed above, it is possible for a user to insert the scrambler pattern in the user's datagram and if those bits are aligned with the scrambler pattern, then the scrambler circuit would output a stream of zeroes (or all ones), which will cause the 5 tr~n.cmi.q.~ion system to declare a loss of signal or a loss of ti_ing.
We deal with this problem by using another scrambler having a very large period between the user's data stream and SONET scr~mhl~r.
IN particular, we scramble the bits forming the datagram that is being processed by SDL processor 100 before the datagram is supplied to a 10 set/reset scrambler 500 that is used to ensure synchronization. In this way, the bits forming the datagram are scrambled twice, thereby m~king it very unlikely that the scrambled pattern will match the scr~mbler pattern that set-reset scrambler 500 uses to scramble the assembled frame, even if the datagram contains that scrambler pattern. Accordingly 15 then, as will be discussed below in detail, frame payload scrambler scrambles the bits forming the datagram that it receives from overhead generator 135 and outputs the result to conventional SONET 300 frame assembler and supplies, in a manner discussed below, the code that it used to scramble the datagram bits including the header to conventional 20 SONET Path Overhead processor 200.
Briefly referring to FIG. 3, a SONET frame 350 comprising nine rows of 90 octets is formed from four sections that include the payload (datagram(s)) 310, Path OverHead (POH) bytes 320, line overhead bytes 330 and section overhead bytes 340. Specifically, the first three columns 25 contain transport overhead which is divided into 27 octets such that 9 octets are allocated for section overhead 340 and 18 octets are allocated for line overhead. The other 87 columns which includes the path overhead comprise the total payload (also referred to as the Synchronous Payload Envelope (SPE)). Frame assembler 300 operating in conjunction 30 with POH processor 200 thus assemble the total payload of the next CA 0224891~ 1998-09-28 .
frame that is to be tr~n.cmitted over the optical network (represented in FIG. 2 by optical path 501). It is likely that the payload of a frame may be composed of one or more datagrams including a partial datagram.
That is, part of a datagram was included in a previous frame that was 5 transmitted over the optical network and the remainder of the datagram is being included in the current frame that is being assembled, in which such remainder will start the payload of the current frame. The next datagram will then be appended to that remainder. To distinguish the start of a new datagram in the SPE, a pointer may be included in the l 0 POH that points to the first byte of the new datagram, in which the header of the datagram includes the number of bytes (size) forming the datagram as determined by S-processor 110. Thus, the receiver of the frame may determine the location of the first new datagram in the SPE
and the number of data bytes forming the datagram. If the SPE contains l 5 two new datagrams, one immediately following the other, then the receiver may easily determine from the location and size information associated with the first datagram the location of the second datagram in the SPE.
Thus, frame assembler 300 assembles the datagram that it 20 receives from scrambler 140 into an SPE in the described manner. In doing so, it supplies the location of the datagram to POH processor 200 if that datagram is the first new datagram in the frame that is being assembled. POH processor 200 includes that location with other path information in the POH overhead and supplies the POH overhead to 25 assembler 300 for insertion in the assembled frame. Simil~rly, frame assembler 300 and conventional Transport OverHead (TOH) processor 400 cooperate with one another to form the transport overhead section of the frame. Assembler 300 and processor 400 then respectively supply the frame payload and transport overhead section of the frame to lxl MUX
30 350, which outputs the final version of the frame row by row to CA 0224891~ 1998-09-28 conventional set-reset scrambler 500, which then scr~mhles the inform~tion for synchroni7.~tion purposes, as discussed above. Scr~mhlçr 500 then transits the scrambled result over optical network 501 for tr~n.~mi.q.~ion to receiver 600.
FIG. 4 illustrates an alternative embodiment of a system employing the principles of the invention, in which a number of STS
frames are formed into an STS N payload, and in which each frame assembler 300-i is preceded by a Simple Data Link processor (not shown in FIG. 4).
The receiver that is the recipient of a SPE that the transmitter of FIG. 2 transmits over optical network 501 is shown in FIG. 5. The receiver includes conventional set/reset descrambler 610 which descrambles the data that has been scrambled by set/reset scrambler 500 (FIG. 2). The output from the latter circuit is supplied to demultiplexer 620, which may be a lxl demultiplexer if the incoming signal is a so-called concatenated signal. Otherwise Mux 620 may be a lxN
demultiplexer, which would demultiplex the incoming data stream from descrambler 610 into a plurality of independent data streams forming the incoming data stream. As a result of such demultiplexing, the transport overhead .sign~ are supplied to TOH processor 615 and the accompanying payload is supplied to conventional interface processor/frame disassembler circuit 625. TOH processor 615 removes the datagram pointer value from the transport overhead bytes and supplies that value to circuit 625. The latter circuit then strips off the path overhead (POH) bytes that forms part of the SPE (as shown in FIG.
FIG.7 illustrates the format of a descrambling code that the frame payload scr~mhl~r of FIG.2 inserts in the path overhead section of a 20 SONET frame; and FIG.8is a block diagram of the frame payload descrambler of FIG.
5.
CA 0224891~ 1998-09-28 DETAILED DESCRIPTION:
The Simplified Data Link (SDL) shown in FIG. 2 includes S-processor 110 which provides an interface for receiving a datagram from an Internet facility 115, such as an IP gateway (router), computer etc., and which determines the size (i.e., number of bytes) of the incoming datagram. The S-processor may do this by either (a) counting each byte forming the incoming datagram, or (b) checking the datagram header for such information if the datagram was formed in accordance with the so-called IP version IV protocol. For example, the IP version IV protocol includes the size of the datagram in the datagram header. If that is the case, then S-processor 110 may then simply query the datagram header.
S-processor 110 then supplies via path 111 a value indicative of the size of the datagram to overhead generator 135, which appends that value and other Information to the accompanying datagram header, as will be l 5 explained below. The incoming datagram is then fed to QoS processor 115, which determines the level of priority that should be accorded to the incoming datagram. QoS processor 115 stores a datagram associated with the highest level of quality in data buffer 120-1; and stores a datagram associated with the next highest level of priority in data buffer 120-2 and so on. QoS processor 115 may determine such level of priority in a number of different ways, For example, if, as mentioned above, the datagram was formed in accordance with the IP version IV protocol, then the datagram header contains data indicative of the type of service associated with the datagram. If that is the case, then the datagram header may contain QoS properties. QoS processor 115 using either the identified type of service or QoS properties determines the level of priority associated with the datagram and stores the datagram in the appropriate one of the buffers 120-1 through 120-N. Note that one or more of the buffers 120-1 through 120-n may be a straight through path to output processor 125, as represented by the dashed line in buffer 120-CA 0224891~ 1998-09-28 1 --- meaning that the datagram is not stored in the buffer but is passed straight through the buffer to output processor 125.
Each of the buffers 120-1 through 120-N includes a scheduling processor (not shown) which schedules, on a priority type basis, for 5 access to output processor 125. Thus, for example, if a number of the buffers contend for access to output processor 125 at the same time, then the buffer associated with the highest level of priority is granted such access. Specifically, each contention processor cancels its contention if it determines that a buffer of a higher priority is also contending for access to processor 125. Thus, output processor 125 receives the datagram from the buffer 120-i that wins such contention, and forwards the datagram as it is received to conventional CRC generator 130. Alternatively, processor 125 may receive a datagram from a buffer 120-i according to some other QoS scheduling policy.
Output processor 125 also forwards a value indicative of the QoS
that is to be accorded to the datagram to overhead generator 135 via path 126. CRC generator 130, which may be, for example, a conventional high-speed processor/computer, generates a conventional CRC code across the contents forming the datagram and supplies the CRC to 20 overhead generator 135 via path 131 and also supplies the datagram to overhead generator via path 132. Overhead generator 135, in turn, appends the information that it respectively receives via paths 111, 126 and 131 to the datagram header, all in accordance with an aspect of the invention. It then supplies the resulting datagram to frame payload 25 scrambler 140.
As discussed above, the aforementioned synchronization process may be disrupted irrespective of the fact that a scrambler circuit used. As mentioned, a disruption may occur when the user's packet is larger than the scrambler period and when the pattern of the user's data matches CA 0224891~ 1998-09-28 the scr~mhling pattern. As was also discussed above, it is possible for a user to insert the scrambler pattern in the user's datagram and if those bits are aligned with the scrambler pattern, then the scrambler circuit would output a stream of zeroes (or all ones), which will cause the 5 tr~n.cmi.q.~ion system to declare a loss of signal or a loss of ti_ing.
We deal with this problem by using another scrambler having a very large period between the user's data stream and SONET scr~mhl~r.
IN particular, we scramble the bits forming the datagram that is being processed by SDL processor 100 before the datagram is supplied to a 10 set/reset scrambler 500 that is used to ensure synchronization. In this way, the bits forming the datagram are scrambled twice, thereby m~king it very unlikely that the scrambled pattern will match the scr~mbler pattern that set-reset scrambler 500 uses to scramble the assembled frame, even if the datagram contains that scrambler pattern. Accordingly 15 then, as will be discussed below in detail, frame payload scrambler scrambles the bits forming the datagram that it receives from overhead generator 135 and outputs the result to conventional SONET 300 frame assembler and supplies, in a manner discussed below, the code that it used to scramble the datagram bits including the header to conventional 20 SONET Path Overhead processor 200.
Briefly referring to FIG. 3, a SONET frame 350 comprising nine rows of 90 octets is formed from four sections that include the payload (datagram(s)) 310, Path OverHead (POH) bytes 320, line overhead bytes 330 and section overhead bytes 340. Specifically, the first three columns 25 contain transport overhead which is divided into 27 octets such that 9 octets are allocated for section overhead 340 and 18 octets are allocated for line overhead. The other 87 columns which includes the path overhead comprise the total payload (also referred to as the Synchronous Payload Envelope (SPE)). Frame assembler 300 operating in conjunction 30 with POH processor 200 thus assemble the total payload of the next CA 0224891~ 1998-09-28 .
frame that is to be tr~n.cmitted over the optical network (represented in FIG. 2 by optical path 501). It is likely that the payload of a frame may be composed of one or more datagrams including a partial datagram.
That is, part of a datagram was included in a previous frame that was 5 transmitted over the optical network and the remainder of the datagram is being included in the current frame that is being assembled, in which such remainder will start the payload of the current frame. The next datagram will then be appended to that remainder. To distinguish the start of a new datagram in the SPE, a pointer may be included in the l 0 POH that points to the first byte of the new datagram, in which the header of the datagram includes the number of bytes (size) forming the datagram as determined by S-processor 110. Thus, the receiver of the frame may determine the location of the first new datagram in the SPE
and the number of data bytes forming the datagram. If the SPE contains l 5 two new datagrams, one immediately following the other, then the receiver may easily determine from the location and size information associated with the first datagram the location of the second datagram in the SPE.
Thus, frame assembler 300 assembles the datagram that it 20 receives from scrambler 140 into an SPE in the described manner. In doing so, it supplies the location of the datagram to POH processor 200 if that datagram is the first new datagram in the frame that is being assembled. POH processor 200 includes that location with other path information in the POH overhead and supplies the POH overhead to 25 assembler 300 for insertion in the assembled frame. Simil~rly, frame assembler 300 and conventional Transport OverHead (TOH) processor 400 cooperate with one another to form the transport overhead section of the frame. Assembler 300 and processor 400 then respectively supply the frame payload and transport overhead section of the frame to lxl MUX
30 350, which outputs the final version of the frame row by row to CA 0224891~ 1998-09-28 conventional set-reset scrambler 500, which then scr~mhles the inform~tion for synchroni7.~tion purposes, as discussed above. Scr~mhlçr 500 then transits the scrambled result over optical network 501 for tr~n.~mi.q.~ion to receiver 600.
FIG. 4 illustrates an alternative embodiment of a system employing the principles of the invention, in which a number of STS
frames are formed into an STS N payload, and in which each frame assembler 300-i is preceded by a Simple Data Link processor (not shown in FIG. 4).
The receiver that is the recipient of a SPE that the transmitter of FIG. 2 transmits over optical network 501 is shown in FIG. 5. The receiver includes conventional set/reset descrambler 610 which descrambles the data that has been scrambled by set/reset scrambler 500 (FIG. 2). The output from the latter circuit is supplied to demultiplexer 620, which may be a lxl demultiplexer if the incoming signal is a so-called concatenated signal. Otherwise Mux 620 may be a lxN
demultiplexer, which would demultiplex the incoming data stream from descrambler 610 into a plurality of independent data streams forming the incoming data stream. As a result of such demultiplexing, the transport overhead .sign~ are supplied to TOH processor 615 and the accompanying payload is supplied to conventional interface processor/frame disassembler circuit 625. TOH processor 615 removes the datagram pointer value from the transport overhead bytes and supplies that value to circuit 625. The latter circuit then strips off the path overhead (POH) bytes that forms part of the SPE (as shown in FIG.
3) and supplies the path overhead bytes to conventional POH processor 630. The latter processor, inter alia, strips the scrambler code off the path overhead in the manner discussed below and supplies the code to frame payload descrambler 705 of SDL receiver processor 700.
Descrambler 705 descrambles the payload using the received code to CA 0224891~ 1998-09-28 recover the datagram that overhead generator 135 ~IG. 2) supplies to frame payload scrambler 140. Descr~mhler 705 then supplies the descrambled payload to SDL acquisition processor 710, which synchronizes on the SDL overhead CRC value generated by CRC
generator 130 (FIG. 2) over the datagram. Processor 710 does this so that the value of the CRC that it generates over what it believes to be the datagram will equal the generator 130 CRC value. If such CRC values are not equal, then processor 710 moves the boundaries (or window) covering what it hopes is the datagram by one bit and recalculates the CRC . If the latter CRC equals the generator 130 CRC, then processor 710 concludes that the new boundaries encompass the datagram. If not, then processor 710 again moves the boundaries by one bit and again recalculates the CRC. Processor 710 continues this process until the CRC
that it calculates equals the CRC received in the POH. When that event l 5 occurs, then processor 710 knows such boundaries, and is thus able to verify the value of the length byte. Processor 710 then supplies the datagram to SDL overhead processor 720, which strips off the size and QoS bytes and supplies those values to paths 715 and 717, respectively.
Processor 710 also supplies the datagram to QoS processor 720, which operates ~imil~r to QoS processor 115 (FIG. 2).
Specifically, (and .~imil~qr to what has already been discussed in conjunction with FIG. 2) QoS processor 720 also determines the level of priority that should be accorded the datagram that it receives from processor 716, in which such priority is based on the QoS value that it receives via path 717. Simil~rly, QoS processor 720 stores a datagram associated with the highest level of quality in data buffer 725-1; stores a datagram associated with the next highest level of priority in data buffer 725-2 and so on. Simil~rly, one or more of the buffers 725-1 through 725-N may be a straight through path to output processor 730, as represented by the dashed line in buffer 725-1 --- meaning that the CA 0224891~ 1998-09-28 datagram is not stored in the buffer but is passed straight through the buffer to output processor 730.
Each of the buffers 725-1 through 725-N also includes a schedllling processor (not shown) which contend, on a priority type basis, 5 for access to output processor 730. For example, if a number of the buffers contend for access to output processor 730, then the buffer associated with the highest level of priority is granted such access.
Specifica y, each contention processor cancels its contention if it determines that a buffer of a higher priority is also contending for access to processor 730. Thus, output processor 730 receives the datagram from the buffer 725-i that wins such contention, and forwards the datagram as it is received to a conventional interface buffer 635 that provides an interface between SDL receiver 700 and some other Internet facility, e.g., an Internet router. Alternatively, processor 730 may receive a datagram l S from buffer 725-i according to some other QoS scheduling policy.
A block diagram of the frame payload scrambler used in the SDL
processor at the transmitter is shown in FIG. 6. Frame payload scrambler 800 includes scrambler section 810 comprising a shift register whose operation is characterized by the following polynomial:
1 + x2 + xl9 + x2l + x40 The polynomial function is implemented in scrambler 810 by a shift register formed from a plurality of registers 815-1 through 815-40 that are driven by a system clock signal (not shown) to generate7 in conjunction with the adder circuits 820- 1 through 820-3, a random and continuous pattern of logical ones zeros at the output 816 of register 815-1 (also shown as bit aO). The random, continuos stream of logical ones and zeroes is presented to one input of Exclusive Or (Ex Or) circuit 830 CA 022489l~ l998-09-28 via an exten.cion of path 816. The data (bits) that are to be scrambled are supplied to another input of Ex Or circuit 830 via path 825. The scrambled result of the Ex Or is then supplied to path 831. In Fig. 2, input path 825 extends from overhead generator 135 and output path 5 831 connects to one input of frame assembler 300. It is noted that scrambler 810 is ini~i~li7.ed at start up using a 40 bit data word in which at least one bit must be a logical one (non-zero).
To synchronize the descrambler circuit 705 that is in the receiver 600 (FIG. 5) with the scrambler 810 that is in the transmitter, scrambler l0 800 predicts (also referred to herein as "projects") what the state of transmitter scrambler 810 (i.e., the scrambler code) will be a predetermined number of bytes in the future and supplies that prediction/determination to the receiver so that the SDL receiver may be properly synchronized with the transmitter and properly descramble a 15 received scrambled payload. Such a determination is periodically transmitted to the receiver SDL. Accordingly, then, the receiver may quickly restore synchronization with the transmitter whenever such synchronization has been interrupted.
Since a SONET frame (specifically the path overhead) has a 20 limited amount of unused data bytes that may be used to transmit the aforementioned prediction/determination, which comprises, for example, five bytes of data, the predicted descrambling code is transmitted over two consecutive frames as one embodiment. Thus, the receiver may be out of synchroni7.~;on for, at most, two frames. at is understood that the 25 descr~mhling code could be transmitted over one frame if the appropriate number of byte locations were available. In that case, then, the receiver would be out of synchronization for one frame.) More specifically, the so-called H4, Z3 and Z4 bytes of the path overhead are used to transport the predicted state to the receiver, in which a CRC code generated over the 30 five byte state is also sent in one of those path overhead bytes.
An illustrative format for the scr~mhling/descr~mhling code is shown in FIG. 7 and includes fields 70-1 through 70-5. Field 70-1 contains a start/begin bit set to a logical one followed by field 70-2 cont~ining 23 bits of the scrambling code (state). Fields 70-1 and 70-2 5 comprise three bytes which are inserted in the aforementioned fields of the path overhead of the first tr~n.~mitted frame. Field 70-3 contains an end bit and is followed by field 70-4 cont~ining the rem~ining bits of the five byte code. A CRC generated over the five byte code is inserted in field 70-5. The three bytes of data formed by fields 70-3 through 70-5 are 10 inserted in the H4, Z3 and Z4 bytes of the path overhead that is inserted in a second succeeding transmitted frame. The POH processor 630 (FIG.
5) assembles the five byte code over the two frames and generates its own CRC and compares that CRC with the CRC that it received in the path overhead.
If the comparison is positive (passes) and the projected state characterized by the five bytes matches the current state at the receiver, then the POH processor ignores the newly received projected state, which allows descrambler 705 to continue its descrambling using the current code or state. Simil~rly, POH processor 630 ignores the newly 20 received state if the comparison is negative (fails), which, again, allows descrambler 705 to continue its descrambling using the current code or state. Also, if the comparison passes over three consecutive cycles, and the projected transmitter state does not match the current state at descrambler 705, then POH processor 630 supplies the latest transmitter 25 projected state to descrambler 705, descrambler 705 then uses that state to descramble the newly received datagram payload.
Retllrning to FIG. 6, the five byte predicted state is generated by accessing a location in each of the tables 840-1 through 840-5 each of which may be formed from, for example, a block of memory having 256 30 locations each location having 40 bits (5 bytes). In an illustrative _ CA 0224891~ 1998-09-28 embo-liment of the invention, table 5 provides the most .~ignific~nt data and table 1 provides the least .~ignific~nt data. The address that is used to access the most .~ignific.~nt table 840-1 is formed from the most signific~nt bits outputted by scrambler 810, namely, bits a3s through a32, S the address that is used to access the next .~ignific~nt table 840-2 is formed from the next group of signifir.~nt bits outputted by scrambler 810, namely, bits a~l through a24, and so on. The most significant bits that the accessed table output are passed through an Exclusive Or process 860 and that result is outputted as bit b3s of the descrambling l0 code. Simil~rly, the next most .~ignificant that the tables output are also passed through Exclusive or process 860 and that result is outputted as bit b3s of the code word, and so on. The projected code word from by bits b3s through bo is then supplied to POH processor 200 (FIG. 1).
The data that is stored in each table may be generated off line 15 using a scrambler .simil~r to scrambler 810. Specific~lly, and referring to table 840-5, the entry that is inserted in the location that is accessed by the most .~i~ni~ nt address that may be formed from bits a3s through a32 is generated by inserting the logical values for those bits (11111111) respectively into registers 815-40 through 815-33 and zeroes in each of 20 the other registers of the off-line scrambler and then clocking the scrambler to the projected state. The contents of registers 815-40 through 815-1 at the predicted/projected state is then inserted in table 5 at location address 11111111. The logical values of the bits forming the next .~igni~cant address in table 5, address 11111110, are then 25 respectively loaded into registers 815-40 through 815-33 with zeroes in the other registers. The off-line scrambler 810 is then clocked to the projected state and the contents of registers 815-40 through 815- 1 is inserted at location 11111110 of table 5. This process is continued for each of the r~m~ining address location of table 5. A .~imil~rly procedure 30 is used to generate the entries for table 4. Specifically, and referring to table 840-4, the entry that is inserted in the location that is accessed by the most ~igni~c~nt address that may be formed from bits a3l through a24 is generated by inserting the logical values for those bits (11111111) respectively into registers 815-32 through 815-25 and zeroes in each of 5 the other registers of the off-line scrambler and clocking the scrambler to the projected state. The contents of registers 815-40 through 815- 1 at the predicted/projected state is then inserted in table 4 at location address 11111111. The logical ~alues of the bits forming the next significant address in table 4, address 11111110, are then respectively loaded into registers 815-32 through 815-25 with zeroes in the other registers. The off-line scrambler is then clocked to the projected state and the contents of registers 815-40 through 815-1 is inserted in table 4 at location 11111110. This process is also continued for each of the remaining address locations of table 4 (840-2).
The foregoing procedure is also applied to tables 3,2 and 1 to populate those tables in the described manner. Other ways may be used to determine the projected state. For example, a transmitted may use two scramblers running in parallel such that a scrambler would operate on the current bits and the second scrambler would operate ahead of the 20 first scrambler at the projected point. As another example, a single scrambler could be running at the projected point such that the output of the scrambler between the current bit and the projected bit is stored in a buffer for ExOring with the output.
As mentioned above, the architecture of descrambler 705 is .~imil~r 25 to scr~mhler 810, as can be seen from FIG. 8, and thus operates .~imil~rly. In particular, it can be seen from FIG. 8 that the bits forming the code word that POH processor 630 supplies to descrambler 705 via path 706 are loaded into register b3s through bo, respectively. Scrambler 705 applies the code word to the payload that it receives from interface CA 0224891~ 1998-09-28 processor 625 and outputs the descrambled result via the ExOr circuit to SDL acquisition processor 710.
The foregoing is merely illustrative of the principles of the invention. Those ski~led in the art will be able to devise numerous 5 arrangements, which, although not explicitly shown or described herein, nevertheless embody those principles that are within the spirit and scope of the invention.
Descrambler 705 descrambles the payload using the received code to CA 0224891~ 1998-09-28 recover the datagram that overhead generator 135 ~IG. 2) supplies to frame payload scrambler 140. Descr~mhler 705 then supplies the descrambled payload to SDL acquisition processor 710, which synchronizes on the SDL overhead CRC value generated by CRC
generator 130 (FIG. 2) over the datagram. Processor 710 does this so that the value of the CRC that it generates over what it believes to be the datagram will equal the generator 130 CRC value. If such CRC values are not equal, then processor 710 moves the boundaries (or window) covering what it hopes is the datagram by one bit and recalculates the CRC . If the latter CRC equals the generator 130 CRC, then processor 710 concludes that the new boundaries encompass the datagram. If not, then processor 710 again moves the boundaries by one bit and again recalculates the CRC. Processor 710 continues this process until the CRC
that it calculates equals the CRC received in the POH. When that event l 5 occurs, then processor 710 knows such boundaries, and is thus able to verify the value of the length byte. Processor 710 then supplies the datagram to SDL overhead processor 720, which strips off the size and QoS bytes and supplies those values to paths 715 and 717, respectively.
Processor 710 also supplies the datagram to QoS processor 720, which operates ~imil~r to QoS processor 115 (FIG. 2).
Specifically, (and .~imil~qr to what has already been discussed in conjunction with FIG. 2) QoS processor 720 also determines the level of priority that should be accorded the datagram that it receives from processor 716, in which such priority is based on the QoS value that it receives via path 717. Simil~rly, QoS processor 720 stores a datagram associated with the highest level of quality in data buffer 725-1; stores a datagram associated with the next highest level of priority in data buffer 725-2 and so on. Simil~rly, one or more of the buffers 725-1 through 725-N may be a straight through path to output processor 730, as represented by the dashed line in buffer 725-1 --- meaning that the CA 0224891~ 1998-09-28 datagram is not stored in the buffer but is passed straight through the buffer to output processor 730.
Each of the buffers 725-1 through 725-N also includes a schedllling processor (not shown) which contend, on a priority type basis, 5 for access to output processor 730. For example, if a number of the buffers contend for access to output processor 730, then the buffer associated with the highest level of priority is granted such access.
Specifica y, each contention processor cancels its contention if it determines that a buffer of a higher priority is also contending for access to processor 730. Thus, output processor 730 receives the datagram from the buffer 725-i that wins such contention, and forwards the datagram as it is received to a conventional interface buffer 635 that provides an interface between SDL receiver 700 and some other Internet facility, e.g., an Internet router. Alternatively, processor 730 may receive a datagram l S from buffer 725-i according to some other QoS scheduling policy.
A block diagram of the frame payload scrambler used in the SDL
processor at the transmitter is shown in FIG. 6. Frame payload scrambler 800 includes scrambler section 810 comprising a shift register whose operation is characterized by the following polynomial:
1 + x2 + xl9 + x2l + x40 The polynomial function is implemented in scrambler 810 by a shift register formed from a plurality of registers 815-1 through 815-40 that are driven by a system clock signal (not shown) to generate7 in conjunction with the adder circuits 820- 1 through 820-3, a random and continuous pattern of logical ones zeros at the output 816 of register 815-1 (also shown as bit aO). The random, continuos stream of logical ones and zeroes is presented to one input of Exclusive Or (Ex Or) circuit 830 CA 022489l~ l998-09-28 via an exten.cion of path 816. The data (bits) that are to be scrambled are supplied to another input of Ex Or circuit 830 via path 825. The scrambled result of the Ex Or is then supplied to path 831. In Fig. 2, input path 825 extends from overhead generator 135 and output path 5 831 connects to one input of frame assembler 300. It is noted that scrambler 810 is ini~i~li7.ed at start up using a 40 bit data word in which at least one bit must be a logical one (non-zero).
To synchronize the descrambler circuit 705 that is in the receiver 600 (FIG. 5) with the scrambler 810 that is in the transmitter, scrambler l0 800 predicts (also referred to herein as "projects") what the state of transmitter scrambler 810 (i.e., the scrambler code) will be a predetermined number of bytes in the future and supplies that prediction/determination to the receiver so that the SDL receiver may be properly synchronized with the transmitter and properly descramble a 15 received scrambled payload. Such a determination is periodically transmitted to the receiver SDL. Accordingly, then, the receiver may quickly restore synchronization with the transmitter whenever such synchronization has been interrupted.
Since a SONET frame (specifically the path overhead) has a 20 limited amount of unused data bytes that may be used to transmit the aforementioned prediction/determination, which comprises, for example, five bytes of data, the predicted descrambling code is transmitted over two consecutive frames as one embodiment. Thus, the receiver may be out of synchroni7.~;on for, at most, two frames. at is understood that the 25 descr~mhling code could be transmitted over one frame if the appropriate number of byte locations were available. In that case, then, the receiver would be out of synchronization for one frame.) More specifically, the so-called H4, Z3 and Z4 bytes of the path overhead are used to transport the predicted state to the receiver, in which a CRC code generated over the 30 five byte state is also sent in one of those path overhead bytes.
An illustrative format for the scr~mhling/descr~mhling code is shown in FIG. 7 and includes fields 70-1 through 70-5. Field 70-1 contains a start/begin bit set to a logical one followed by field 70-2 cont~ining 23 bits of the scrambling code (state). Fields 70-1 and 70-2 5 comprise three bytes which are inserted in the aforementioned fields of the path overhead of the first tr~n.~mitted frame. Field 70-3 contains an end bit and is followed by field 70-4 cont~ining the rem~ining bits of the five byte code. A CRC generated over the five byte code is inserted in field 70-5. The three bytes of data formed by fields 70-3 through 70-5 are 10 inserted in the H4, Z3 and Z4 bytes of the path overhead that is inserted in a second succeeding transmitted frame. The POH processor 630 (FIG.
5) assembles the five byte code over the two frames and generates its own CRC and compares that CRC with the CRC that it received in the path overhead.
If the comparison is positive (passes) and the projected state characterized by the five bytes matches the current state at the receiver, then the POH processor ignores the newly received projected state, which allows descrambler 705 to continue its descrambling using the current code or state. Simil~rly, POH processor 630 ignores the newly 20 received state if the comparison is negative (fails), which, again, allows descrambler 705 to continue its descrambling using the current code or state. Also, if the comparison passes over three consecutive cycles, and the projected transmitter state does not match the current state at descrambler 705, then POH processor 630 supplies the latest transmitter 25 projected state to descrambler 705, descrambler 705 then uses that state to descramble the newly received datagram payload.
Retllrning to FIG. 6, the five byte predicted state is generated by accessing a location in each of the tables 840-1 through 840-5 each of which may be formed from, for example, a block of memory having 256 30 locations each location having 40 bits (5 bytes). In an illustrative _ CA 0224891~ 1998-09-28 embo-liment of the invention, table 5 provides the most .~ignific~nt data and table 1 provides the least .~ignific~nt data. The address that is used to access the most .~ignific.~nt table 840-1 is formed from the most signific~nt bits outputted by scrambler 810, namely, bits a3s through a32, S the address that is used to access the next .~ignific~nt table 840-2 is formed from the next group of signifir.~nt bits outputted by scrambler 810, namely, bits a~l through a24, and so on. The most significant bits that the accessed table output are passed through an Exclusive Or process 860 and that result is outputted as bit b3s of the descrambling l0 code. Simil~rly, the next most .~ignificant that the tables output are also passed through Exclusive or process 860 and that result is outputted as bit b3s of the code word, and so on. The projected code word from by bits b3s through bo is then supplied to POH processor 200 (FIG. 1).
The data that is stored in each table may be generated off line 15 using a scrambler .simil~r to scrambler 810. Specific~lly, and referring to table 840-5, the entry that is inserted in the location that is accessed by the most .~i~ni~ nt address that may be formed from bits a3s through a32 is generated by inserting the logical values for those bits (11111111) respectively into registers 815-40 through 815-33 and zeroes in each of 20 the other registers of the off-line scrambler and then clocking the scrambler to the projected state. The contents of registers 815-40 through 815-1 at the predicted/projected state is then inserted in table 5 at location address 11111111. The logical values of the bits forming the next .~igni~cant address in table 5, address 11111110, are then 25 respectively loaded into registers 815-40 through 815-33 with zeroes in the other registers. The off-line scrambler 810 is then clocked to the projected state and the contents of registers 815-40 through 815- 1 is inserted at location 11111110 of table 5. This process is continued for each of the r~m~ining address location of table 5. A .~imil~rly procedure 30 is used to generate the entries for table 4. Specifically, and referring to table 840-4, the entry that is inserted in the location that is accessed by the most ~igni~c~nt address that may be formed from bits a3l through a24 is generated by inserting the logical values for those bits (11111111) respectively into registers 815-32 through 815-25 and zeroes in each of 5 the other registers of the off-line scrambler and clocking the scrambler to the projected state. The contents of registers 815-40 through 815- 1 at the predicted/projected state is then inserted in table 4 at location address 11111111. The logical ~alues of the bits forming the next significant address in table 4, address 11111110, are then respectively loaded into registers 815-32 through 815-25 with zeroes in the other registers. The off-line scrambler is then clocked to the projected state and the contents of registers 815-40 through 815-1 is inserted in table 4 at location 11111110. This process is also continued for each of the remaining address locations of table 4 (840-2).
The foregoing procedure is also applied to tables 3,2 and 1 to populate those tables in the described manner. Other ways may be used to determine the projected state. For example, a transmitted may use two scramblers running in parallel such that a scrambler would operate on the current bits and the second scrambler would operate ahead of the 20 first scrambler at the projected point. As another example, a single scrambler could be running at the projected point such that the output of the scrambler between the current bit and the projected bit is stored in a buffer for ExOring with the output.
As mentioned above, the architecture of descrambler 705 is .~imil~r 25 to scr~mhler 810, as can be seen from FIG. 8, and thus operates .~imil~rly. In particular, it can be seen from FIG. 8 that the bits forming the code word that POH processor 630 supplies to descrambler 705 via path 706 are loaded into register b3s through bo, respectively. Scrambler 705 applies the code word to the payload that it receives from interface CA 0224891~ 1998-09-28 processor 625 and outputs the descrambled result via the ExOr circuit to SDL acquisition processor 710.
The foregoing is merely illustrative of the principles of the invention. Those ski~led in the art will be able to devise numerous 5 arrangements, which, although not explicitly shown or described herein, nevertheless embody those principles that are within the spirit and scope of the invention.
Claims (5)
1. Apparatus for processing, in accordance with a simplified data link protocol, a datagram received from an Internet facility and supplying the processed datagram to a Synchronous Optical NETwork apparatus for transmission over an optical path, said datagram being formed from a particular number of data bytes and being associated with a predetermined quality of service, said apparatus comprising a simplified data link processor that receives the datagram from the Internet, assigns a size value to the datagram, the size value being determined as a function of the number of data bytes forming the datagram, and forwards the datagram for storage in a buffer, in which the buffer is selected as a function of a quality of service indicator indicative of a level of priority assigned to the datagram and in which the contents of the selected buffer is then processed at a level commensurate with the assigned priority level, the simplified data link processor including first apparatus which generates a cyclic redundancy code (CRC) over the datagram and inserts the CRC, a quality of service indicator and size value in a header section of the datagram, and which then supplies the resulting datagram to second apparatus, the second apparatus being operative for receiving the data bits forming the resulting datagram and scrambling the bits of the datagram in accordance with a particular code and then supplying the scrambled result to the Synchronous Optical NETwork apparatus, the Synchronous Optical NETwork apparatus including a frame assembler which assembles the scrambled result and path overhead information into a payload and a scrambler circuit which then scrambles the payload and associated transport overhead Information and outputs that scrambled result as a frame of data to an optical path.
2. The simplified data link apparatus of claim 1 wherein the second apparatus scrambling process is characterized by a polynomial of 1 + x2 + x19 + x21 + x40.
3. The simplified data link apparatus of claim 1 wherein the Synchronous Optical NETwork apparatus further includes a path overhead processor which generates path overhead information that is included as part of the payload, the path overhead information including a descrambling code derived as a function of the particular code that was used by the second apparatus to scramble the datagram.
4. The simplified data link apparatus of claim 1 wherein the Synchronous Optical NETwork apparatus further includes a path overhead processor which generates path overhead information that is included as part of the payload, the path overhead information including a first part of a descrambling code derived as a function of the particular code that was used by the second apparatus to scramble the datagram and wherein the path overhead information contained in a next succeeding frame that is outputted to the optical path includes a second part of the second apparatus descrambling code.
5. Apparatus for processing a datagram received from Internet facilities and supplying the processed datagram to a facility which transmits data over a network at a very high data rate, said apparatus comprising a first scrambler for scrambling the datagram bits starting with a current scrambling code to form a scrambled datagram and for determining a projected descrambling code that succeeds the current code by a predetermined number of bits and is operable for descrambling the datagram at a receiver, and for including the projected descrambling code in the transmission of the scrambled datagram to the receiver, and at the receiver, receiving the scrambled datagram and forming the projected descrambling code into a scrambling code and descrambling the scrambled datagram.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/947,538 US6263443B1 (en) | 1997-10-11 | 1997-10-11 | Simplified data link protocol processor |
US08/947,538 | 1997-10-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2248915A1 true CA2248915A1 (en) | 1999-04-11 |
Family
ID=25486286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002248915A Abandoned CA2248915A1 (en) | 1997-10-11 | 1998-09-28 | Simplified data link |
Country Status (6)
Country | Link |
---|---|
US (2) | US6263443B1 (en) |
EP (1) | EP0909051A2 (en) |
JP (1) | JPH11234235A (en) |
CN (1) | CN1233899A (en) |
AU (1) | AU8837998A (en) |
CA (1) | CA2248915A1 (en) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3850151B2 (en) * | 1998-10-20 | 2006-11-29 | 富士通株式会社 | Wireless base station reception synchronization protection setting method |
US6665265B1 (en) | 1998-11-23 | 2003-12-16 | Cypress Semiconductor Corp. | Overhead serial communication scheme |
US6502197B1 (en) * | 1998-11-23 | 2002-12-31 | Cypress Semiconductor Corp. | Method and architecture for synchronizing a transport and path overhead generator and/or extractor to an path overhead transport and path processor |
JP3343906B2 (en) * | 1999-03-02 | 2002-11-11 | 日本電気株式会社 | Lightwave network |
US7167443B1 (en) * | 1999-09-10 | 2007-01-23 | Alcatel | System and method for packet level restoration of IP traffic using overhead signaling in a fiber optic ring network |
WO2001031818A1 (en) * | 1999-10-28 | 2001-05-03 | Fujitsu Limited | Transmission system |
JP3539551B2 (en) * | 1999-11-16 | 2004-07-07 | 日本電気株式会社 | Frame and transmission device for accommodating heterogeneous data traffic on common carrier |
JP2002084257A (en) * | 2000-07-05 | 2002-03-22 | Sanyo Electric Co Ltd | Orthogonal code generating device, scramble code generating device, and mobile wireless terminal using them |
US6993046B1 (en) | 2000-10-16 | 2006-01-31 | Lucent Technologies Inc. | Mapping of block-encoded data formats onto a bit/byte synchronous transport medium |
US7099352B1 (en) * | 2001-01-03 | 2006-08-29 | Juniper Networks, Inc. | System, apparatus, and method for increasing resiliency in communications |
US6973599B2 (en) * | 2001-09-28 | 2005-12-06 | Agilent Technologies, Inc. | Method of and system for constructing valid data for memory-based tests |
CN100336372C (en) * | 2001-12-21 | 2007-09-05 | 中兴通讯股份有限公司 | Multichannel data link protocol processor and its processing method |
KR20050027679A (en) * | 2003-09-16 | 2005-03-21 | 삼성전자주식회사 | Apparatus and method for transceiving high speed packet data in a mobile communication system |
KR100539261B1 (en) * | 2004-05-04 | 2005-12-27 | 삼성전자주식회사 | Digital Data Coding and Recording Device for DVD and Method thereof |
US7822070B2 (en) * | 2005-11-29 | 2010-10-26 | St-Ericsson Sa | Bus station and system and method of maintaining synchronizing of a bus station |
US8635450B2 (en) * | 2005-12-28 | 2014-01-21 | Intel Corporation | IP encapsulation with exposed classifiers |
US7925957B2 (en) * | 2006-03-20 | 2011-04-12 | Intel Corporation | Validating data using processor instructions |
US8154918B2 (en) * | 2008-06-30 | 2012-04-10 | Sandisk Il Ltd. | Method for page- and block based scrambling in non-volatile memory |
CN101605281B (en) * | 2009-06-10 | 2012-05-09 | 深圳市共进电子股份有限公司 | Method for communicating among a plurality of processors in passive optical network equipment |
US8737618B2 (en) * | 2010-02-17 | 2014-05-27 | Telcordia Technologies, Inc. | Secure key distribution for optical code division multiplexed based optical encryption |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870474A (en) * | 1995-12-04 | 1999-02-09 | Scientific-Atlanta, Inc. | Method and apparatus for providing conditional access in connection-oriented, interactive networks with a multiplicity of service providers |
CA2124610C (en) * | 1994-05-30 | 1998-10-06 | Charles Kevin Huscroft | Integrated user network interface device |
US5572515A (en) * | 1994-12-28 | 1996-11-05 | Tektronix, Inc. | Sonet/SDH signal recognition and selection |
US5729826A (en) * | 1996-07-26 | 1998-03-17 | Gavrilovich; Charles D. | Mobile communication system with moving base station |
US5563890A (en) * | 1995-06-14 | 1996-10-08 | National Semiconductor Corporation | SONET/SDH pointer justification gap elimination circuit |
FR2749304B1 (en) * | 1996-06-04 | 1998-06-26 | Adir | NOVEL DERIVATIVES OF 3- (PIPERID-4-YL) 1,2-BENZISOXAZOLE AND 3- (PIPERAZIN-4-YL) 1,2-BENZISOXAZOLE, PROCESSES FOR THEIR PREPARATION AND THE PHARMACEUTICAL COMPOSITIONS CONTAINING THEM |
US5894517A (en) * | 1996-06-07 | 1999-04-13 | Cabletron Systems Inc. | High-speed backplane bus with low RF radiation |
US5742765A (en) * | 1996-06-19 | 1998-04-21 | Pmc-Sierra, Inc. | Combination local ATM segmentation and reassembly and physical layer device |
US5936965A (en) * | 1996-07-08 | 1999-08-10 | Lucent Technologies, Inc. | Method and apparatus for transmission of asynchronous, synchronous, and variable length mode protocols multiplexed over a common bytestream |
US5790557A (en) * | 1996-09-13 | 1998-08-04 | Electronics And Telecommunications Research Institute | Apparatus for implementing the function of a virtual container-11 and a tributary unit group-2 in a synchronous digital hierarchy |
US5905873A (en) * | 1997-01-16 | 1999-05-18 | Advanced Micro Devices, Inc. | System and method of routing communications data with multiple protocols using crossbar switches |
US6018530A (en) * | 1997-06-19 | 2000-01-25 | Sham Chakravorty | Method for transmitting using a modified transport control protocol |
US6041054A (en) * | 1997-09-24 | 2000-03-21 | Telefonaktiebolaget Lm Ericsson | Efficient transport of internet protocol packets using asynchronous transfer mode adaptation layer two |
-
1997
- 1997-10-11 US US08/947,538 patent/US6263443B1/en not_active Expired - Lifetime
-
1998
- 1998-09-28 CA CA002248915A patent/CA2248915A1/en not_active Abandoned
- 1998-10-05 EP EP98308085A patent/EP0909051A2/en not_active Withdrawn
- 1998-10-08 AU AU88379/98A patent/AU8837998A/en not_active Abandoned
- 1998-10-09 JP JP10287153A patent/JPH11234235A/en active Pending
- 1998-10-09 CN CN98119799.XA patent/CN1233899A/en active Pending
-
2003
- 2003-04-16 US US10/417,013 patent/USRE40923E1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11234235A (en) | 1999-08-27 |
EP0909051A2 (en) | 1999-04-14 |
USRE40923E1 (en) | 2009-09-29 |
CN1233899A (en) | 1999-11-03 |
US6263443B1 (en) | 2001-07-17 |
AU8837998A (en) | 1999-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE40923E1 (en) | Simplified data link protocol processor | |
US11659072B2 (en) | Apparatus for adapting a constant bit rate client signal into the path layer of a telecom signal | |
US6831932B1 (en) | Transfer of SONET traffic over a packet-switched network | |
JP6867473B2 (en) | Methods and equipment for sending services, methods and equipment for receiving services, and network systems. | |
JP5312467B2 (en) | Method and system for data synchronization in a passive optical network | |
US20080247423A1 (en) | System and method for transporting multiple client data signals via a signal server signal | |
GB2426674A (en) | 64b/66b coding with scrambling of the master transition | |
JP3536909B2 (en) | Switching device and scrambling method | |
US11108895B2 (en) | Method for providing path signal overhead in the 64B/66B character stream of an itu-t metro transport network using micro-packets | |
US6665825B1 (en) | Cellular CDMA transmission system | |
US7370263B1 (en) | Hardware efficient CRC generator for high speed communication networks | |
JP2000349743A (en) | Method and device for controlling bit slip in high speed communication system | |
US20020154647A1 (en) | Frame handler for high-speed fiber optic communication interface | |
AU1565001A (en) | A method and apparatus for constant throughput rate adaptation | |
US5923681A (en) | Parallel synchronous header correction machine for ATM | |
US7002957B2 (en) | Method of transporting frames of information between parts of a network through an intermediate network | |
US20090313697A1 (en) | System and method for pathological pattern protection | |
US6961350B1 (en) | System and method for segmenting a multidimensional digital frame structure | |
JP5814803B2 (en) | Transmission circuit, reception circuit, transmission method and reception method | |
JP2766228B2 (en) | Stuff synchronization frame control method | |
US8031695B2 (en) | HDLC encoding and decoding techniques | |
KR0145178B1 (en) | Independent clocking local area network nd nodes used for the same | |
FR2502430A1 (en) | NETWORK WITH AN AMRIT SYSTEM AND IN PARTICULAR PART RECEIVING A COUPLER OF ACCESS TO SUCH A NETWORK | |
JPH04252535A (en) | Atm video coding transmitter | |
Chen | SONET transcoder design for ATM over SONET or directly over fiber |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Discontinued |