T 0732/15 (Separable CRC/ADAPTEC) of 19.9.2018

European Case Law Identifier: ECLI:EP:BA:2018:T073215.20180919
Date of decision: 19 September 2018
Case number: T 0732/15
Application number: 02791409.2
IPC class: H03M 13/00
H03M 13/09
H04L 1/00
H04L 29/06
H03M 13/11
Language of proceedings: EN
Distribution: D
Download and more information:
Decision text in EN (PDF, 324 KB)
Documentation of the appeal procedure can be found in the Register
Bibliographic information is available in: EN
Versions: Unpublished
Title of application: Separable cyclic redundancy check
Applicant name: Adaptec, Inc.
Opponent name: -
Board: 3.5.07
Headnote: -
Relevant legal provisions:
European Patent Convention Art 54(1)
European Patent Convention Art 54(2)
European Patent Convention Art 56
Keywords: Novelty - main request (no)
Inventive step - first and second auxiliary requests (no)
Catchwords:

-

Cited decisions:
-
Citing decisions:
-

Summary of Facts and Submissions

I. The applicant (appellant) appealed against the decision of the Examining Division refusing European patent application No. 02791409.2, published as international application WO 03/084078.

II. The Examining Division decided that the subject-matter of claim 1 of both the then main request and the then auxiliary request infringed Article 123(2) EPC and that the subject-matter of claim 1 of the main request lacked inventive step over the following document:

D1: |US 5 410 546, published on 25 April 1995.|

III. With its statement of grounds of appeal, the appellant submitted a main request and first to third auxiliary requests, the main request and the second auxiliary request corresponding to the main request and the auxiliary request considered in the contested decision.

IV. In a communication accompanying a summons to oral proceedings, the Board also referred to the following documents:

D2: |US 5 951 707, published on 14 September 1999; and |

D4: |V. Cavanna, "iSCSI Digests - CRC or Checksum?", draft-cavanna-iscsi-crc-vs-cksum-01.txt, Internet Engineering Task Force (IETF) Internet Draft, 2 March 2001.|

The Board questioned the compliance of all requests with Articles 84 and 123(2) EPC and expressed the preliminary view that the subject-matter of claim 1 of all requests lacked either novelty or inventive step over any of documents D1, D2 and D4.

V. In a letter dated 17 August 2018, the appellant replaced its requests with a new main request and new first and second auxiliary requests.

VI. In a letter dated 14 September 2018, the appellant informed the Board that it would not participate in the oral proceedings and requested a decision on the state of the file.

VII. Oral proceedings were held on 19 September 2018 in the appellant's absence. At the end of the oral proceedings, the chairman pronounced the Board's decision.

VIII. The appellant requested that the decision under appeal be set aside and that a patent be granted on the basis of the claims of the main request or on the basis of the claims of either of the first and second auxiliary requests.

IX. Claim 1 of the main request reads as follows:

"A method for computing a cyclic redundancy check (CRC) for a transmitted data stream, the method comprising:

performing a CRC process on a first segment of the data stream, the CRC process generating a first CRC remainder;

projecting the first CRC remainder for the first segment by mathematically moving the first CRC remainder to the end of the data stream;

performing the CRC process on a second segment of the data stream, the CRC process generating a second CRC remainder;

projecting the second CRC remainder for the second segment by mathematically moving the second CRC remainder to the end of the data stream; and

combining the projected first CRC remainder and the projected second CRC remainder to calculate a complete CRC remainder for the data stream."

X. Claim 1 of the first auxiliary request differs from claim 1 of the main request in that the part of the claim before "performing a CRC process" reads as follows:

"A method for computing a cyclic redundancy check (CRC) for a transmitted data stream comprising at least two segments, the method comprising:

determining the order in which the segments are received based on a respective location or order number in a header information of each segment;"

XI. Claim 1 of the second auxiliary request differs from claim 1 of the first auxiliary request in that the following text has been added at the end of the claim:

"wherein for projecting the first and second CRC remainders there is calculated a distance between the first segment and the end of the data stream and the second segment and the end of the data stream, respectively."

XII. The appellant's arguments, where relevant to the decision, are discussed in detail below.

Reasons for the Decision

1. The appeal complies with the provisions referred to in Rule 101 EPC and is therefore admissible.

2. The duly summoned appellant having been absent at the oral proceedings, it is treated - in accordance with its request for a decision on the state of the file - as relying only on its written case (Article 15(3) RPBA).

3. The invention

3.1 The background section of the application describes the known cyclic-redundancy-check (CRC) method for detecting errors in transmitted data. In this method, the transmitting device calculates a CRC for the message to be transmitted and appends the CRC to the end of the message. The receiving device recalculates the CRC of the received data and compares the result with the received CRC.

3.2 The CRC of a message is normally calculated by processing the data words contained in the message in sequential order. This means that if the message has been split into smaller segments during transmission, the message must first be reassembled at the receiving side before its CRC can be calculated.

3.3 The invention essentially proposes calculating the CRC of a message that has been broken up into smaller segments by calculating the CRC of the individual segments and combining the CRCs to obtain the CRC of the full message.

Main request

4. Claim 1 of the main request

4.1 Claim 1 of the main request specifies a step of performing a CRC process on a first segment of a data stream to generate a first "CRC remainder" and a step of "projecting the first CRC remainder for the first segment by mathematically moving the first CRC remainder to the end of the data stream". In the same way, a second CRC remainder is generated for a second segment of the data stream and then "projected" by being "mathematically moved to the end of the data stream". The two projected remainders are then "combined" to calculate a complete CRC remainder for the data stream.

The Board notes that the application uses the term "data stream" to refer to a protocol data unit that is made up of a number of segments which are individually transmitted to a receiving destination (see page 6, lines 11 to 14, of the published application). The term "remainder" is used because the calculation of the CRC of a data segment involves the computation of the remainder polynomial obtained when dividing a polynomial with binary coefficients representing the data segment by a fixed generator polynomial.

4.2 As explained in the description on page 10, line 26, to page 11, line 14, the formula describing the calculation of a complete CRC remainder from partial CRC remainders is as follows:

FORMULA/TABLE/GRAPHIC

Here, R(Mk) is the CRC remainder of the message Mk represented as a polynomial. The polynomials mrkr, m2k2, m1k1 and m0k0 represent segments of the message Mk of length kr, k2, k1 and k0, respectively. Their partial CRC remainders are R(mrkr), R(m2k2), R(m1k1) and R(m0k0). The factors R(x**(k3+...+kr)), R(x**(k2+...+kr)) and R(x**(k1+...+kr)) are referred to as "projection multipliers". The exponents (k3+...+kr), (k2+...+kr) and (k1+...+kr) represent the distance between the respective segment and the end of the message.

The description states that "the product of each of the CRC remainders of each of the respective packets or segments and the respective projection multiplier yields a projected CRC remainder", and so the formula "allows for the mathematical movement of the CRC remainders to the end of the PDU". It also states that "the addition of the projected CRC remainders represent[s] the bit-wise exclusive-OR of the projected CRC remainders" (page 11, lines 7 to 12).

In other words, the claimed step of "projecting" by "mathematically moving" a partial CRC remainder "to the end of the data stream" is to be understood as multiplying the partial CRC remainder by the appropriate projection multiplier, where the projection multiplier is related to the distance from the corresponding segment to the end of the data stream.

The claimed step of "combining" refers to the addition (by means of bitwise exclusive-OR operations) of the resulting "projected" CRC remainders.

4.3 The Board notes that the process of calculating the complete CRC remainder from partial CRC remainders is essentially determined by the underlying mathematics of CRC calculations.

5. Novelty

5.1 Document D2 discloses a method of calculating the CRC of an ATM packet partitioned into ATM cells by calculating a partial CRC for each ATM cell and combining the partial CRCs to obtain the complete CRC of the ATM packet (column 1, lines 39 to 48; column 3, lines 30 to 42; column 4, lines 24 to 31).

The CRC for the complete ATM packet is calculated by multiplying, for each ATM cell, the partial CRC by a corresponding "fixed remainder" and taking the sum of these products (column 5, lines 5 to 9).

The fixed remainder for an ATM cell relates to the position of the cell within the ATM packet (column 4, lines 55 to 58). More precisely, the fixed remainder for the first cell is "the remainder of 2**(384(L-1)) when divided by P, where L represents the maximum packet length in cells", and the fixed remainder for the second cell is "the corresponding remainder of 2**(384(L-2))" (column 4, line 64, to column 5, line 1). The fixed remainder for a particular ATM cell therefore relates to the distance from the cell to the end of the ATM packet.

The summation of the products involves a "64-bit add with no carry" (page 6, lines 42 and 43), which is well-known to be equivalent to an exclusive-OR operation.

5.2 The appellant argued that document D2 did not disclose a "target location" for the projected partial CRCs and that this target location could be the end of the data stream. Placing the partial CRCs at the end of the data stream had the technical effect that "after the partial CRC checking a final single one and compact data stream will be produced".

The Board notes that, contrary to what the appellant appears to argue, the claimed "projecting" and "mathematically moving" steps cannot be understood as actually placing the partial CRC at the end of the data stream. The partial CRCs for the different segments of the data stream are intermediate results, which neither are nor become part of the data stream. As explained in point 4.2 above, the claimed "projecting" steps merely multiply these intermediate results by appropriate factors ("projection multipliers"). The values of these factors as determined by the mathematical formula discussed above relate to the distance from the segment to the end of the data stream. Since the same formula necessarily underlies the calculation of the complete CRC from partial CRCs disclosed in document D2, it is no surprise that the "fixed remainders" in that document likewise relate to the distance from the segment (ATM cell) to the end of the data stream (ATM packet).

5.3 Hence, the subject-matter of claim 1 of the main request is not new (Article 54(1) and (2) EPC).

First auxiliary request

6. Inventive step

6.1 Claim 1 of the first auxiliary request adds to claim 1 of the main request the step of "determining the order in which the segments are received based on a respective location or order number in a header information of each segment".

6.2 Document D2 relates to the calculation of the CRC of ATM packets. These packets are partitioned into ATM cells, which on transmission are interleaved with the cells of other ATM packets (column 1, lines 39 to 51). By calculating the partial CRC for each ATM cell in hardware and combining the partial CRCs of the individual cells, it becomes possible to calculate the complete CRC of an ATM packet in an efficient manner with relatively simple hardware (column 2, lines 3 to 29).

6.3 Since the ATM protocol does not allow reordering of ATM cells during transmission, ATM cell headers need not and do not contain a "location or order number". Nevertheless, in the Board's judgment the skilled person, starting from document D2, would consider applying the same technique to obtain the same advantage to other network protocols, including protocols that do allow reordering of packet segments. Since the inclusion of a sequence number (i.e. a "location or order number") in each segment header is the standard technique for allowing the receiving side to reassemble packets from segments received out of order, the skilled person would arrive at the subject-matter of claim 1 without the exercise of inventive activity.

6.4 The subject-matter of claim 1 of the first auxiliary request therefore lacks inventive step (Articles 52(1) and 56 EPC).

6.5 In view of this finding, there is no need for the Board to assess novelty and inventive step with respect to either document D1 (which also appears to disclose the mathematical process for calculating a complete CRC from partial CRCs) or document D4 (which suggests calculating a complete CRC from partial CRCs in the context of the iSCSI protocol, which is one of the protocols considered in the present application and uses sequence numbers; see page 8, lines 3 to 6).

Second auxiliary request

7. Inventive step

7.1 Claim 1 of the second auxiliary requests adds to claim 1 of the first auxiliary request that "projecting" the partial CRC remainder of a segment involves calculating a distance from the segment to the end of the data stream.

7.2 In document D2, the "fixed remainder" to be used when "projecting" the partial CRC of an ATM cell depends on the number of cells between that cell and the end of the ATM packet, which number qualifies as "a distance" from the cell to the end of the ATM packet. It is therefore obvious to calculate this number, either explicitly or implicitly, as part of the process of "projecting" a partial CRC.

7.3 It follows that the subject-matter of claim 1 of the second auxiliary request likewise lacks inventive step (Articles 52(1) and 56 EPC).

Order

For these reasons it is decided that:

The appeal is dismissed.

Quick Navigation