CHANCERY DIVISION
PATENTS COURT
7 Rolls Buildings Fetter Lane London EC4A 1NL |
||
B e f o r e :
____________________
Adaptive Spectrum and Signal Alignment Inc |
Claimant |
|
- and - |
||
British Telecommunications PLC |
Defendant |
____________________
Roger Wyand QC and Hugo Cuddigan (instructed by Bird & Bird LLP) for the Defendant
Hearing dates: 13th, 14th November 2014
____________________
Crown Copyright ©
Mr Justice Birss :
Topic | Paragraphs |
Introduction | 1 |
Technical background | 5 |
The issues | 6 |
The 790 patent | 12 |
Claim construction | 18 |
The NGA Equation system | 36 |
Does the NGA Equation system infringe? | 50 |
The Proposed Further NGA Equation system | 80 |
Abuse of process | 83 |
Conclusion | 96 |
Annex | Annex |
Introduction
Technical background
The issues
The 790 patent
13. The specification of 790 is entitled "DSL state and line profile control". The invention is said to relate to managing line profiles in a DSL system. An example of a line profile is set out at [0003], identifying, amongst other things, maximum and minimum upstream and downstream data rates as controllable profile parameters. At [0004] it is explained that operators currently use these profiles in a simple manner to control only an individual line's data rate, and perhaps forward error correction margin. These were, therefore, often controlled manually, thereby causing that line to remain in the same profile until maintenance personnel intervened to set a new profile, perhaps in response to a customer request for a faster service. Even when a line is permitted to change profile automatically, only a few transitions are considered. Thus the specification explains at [0006] that:
"Systems, methods and techniques that permit implementation of a wide variety of line profiles and transitions between such profiles automatically and with ease in communication systems such as DSL systems would represent a significant advancement in the art. In particular, prioritization and implementation of transition options in the communication system would represent a considerable advancement in the field of DSL service rates and associated ranges."
14. Having thus set out its overall objective, the patent then sets out two aspects of the invention, along the lines of the independent claims. The claims refer to three concepts which are important: a "state transition matrix", "priority" and "feasibility". An understanding of these can be gleaned from the specification at [0043] to [0048]. The judge summarised them in this way:
"197. The patent uses two concepts which are key to the method of selecting profiles it discloses. These are priority and feasibility. Neither expression is a term of art and the skilled reader's understanding of them would come from reading the patent itself. Essentially the idea is that the system will extract out from a set of possible profiles which a line could adopt, a set of feasible profiles. That is a set of profiles which would provide acceptable operation of the line in the given circumstances. The set of possible profiles is divided into those which are feasible and those which are infeasible. This still presents a problem since the system has to have a means for selecting a particular profile to use from the group of profiles which are determined to be feasible. This is the point at which the priority concept plays a part. The possible profile transitions have an allocated priority which is independent of line conditions. It is an inherent property of each transition from a given profile to each target profile. The transition to a feasible profile with the highest priority is the one which is selected. The DSL line is then operated using this profile.
198. To carry out the method disclosed, the patent describes the use of a profile state transition matrix. The profile state transition matrix is a matrix which records the state transitions which are allowed and contains the priority of each possible transition. An example is matrix T in figure 4 as follows:
In this matrix each column relates to a given starting profile. So if the current profile for the DSL line in question is profile 1, the first column is the relevant column to use. If the current profile was profile 2, the second column would be the relevant one, and so on. Thus although T is a matrix, when one is considering a given current profile the data is really just a single column of values, i.e. a list. The numbers in the list represent the target profiles. Thus starting with profile 1 as the current profile, profile 2 has the highest priority since it is at the top of the list. Profile 6 has the next priority, then profile 1 itself and then profile 5. The presence of an entry for the current profile in the list shows that this arrangement would prioritise changing to profiles 2 or 6 (if they were feasible) ahead of staying put at profile 1. On the other hand if profiles 2, 6 and the current profile 1 are found not to be feasible but profile 5 is feasible then profile 5 should be selected."
"[0052] Knowing the prioritization of states is not sufficient in all embodiments of the present invention. In some embodiments, to assist in determining prioritization to states/profile, the feasibility of available states is evaluated and, in some cases, quantified. For example, for any line of interest in one embodiment, the information in the transition matrix T and current state is always available. Because priorities are already specified in T, a controller such as a DSL optimizer simply needs to examine the feasibility of candidate transitions and choose the feasible next state with highest priority (the state/profile with the lowest priority may be deemed to be feasible at any time without examination). As will be appreciated by those skilled in the art, feasibility may be determined in different ways. The "best state" and "best line profile" or "best available line profile" mean the state and/or line profile that is both feasible and possesses the highest priority. In cases where a "presumption of innocence" is used, as in some of the embodiments of the present invention the best state and /or line profiles that has not been deemed infeasible and possesses the highest priority."
Claim construction
214. I reject the claimant's submission on construction. The skilled reader would see that using an actual profile state transition matrix is at the heart of the disclosure and is at the heart of the claim. The fact that the profile state transition matrix, as well as the various sub-rules, threshold tables and overall rule, can be implemented in hardware or software or a combination of both does not mean that they can be ignored. Nor does paragraph [0132] mean one can ignore the method by which the system actually operates. The invention claimed in claim 1 is a specific method which works in a particular way. How it works is important. The fact that two different methods can be shown logically to produce precisely the same outputs for the same inputs does not mean the methods are the same or can be said to work in the same way. One may be faster than the other. One may be more flexible than the other. The skilled reader of the patent would understand that there may be advantages to implementing the logic using an identifiable profile state transition matrix (whether in hardware or software). In particular using a matrix has the advantage of flexibility. By actually setting out the priorities in a matrix, it would be a simple matter to change the priorities by replacing one matrix with another. That is not the case for a system in which the logic is hard coded into the software even if that logic could be shown to be mathematically equivalent to a matrix.
54. The third and final point on this feature of the claim is whether the PSTM is allowed to indicate as possible a transition which is impossible. This is one of the more convoluted of BT's arguments and can only be understood by explaining the use which it seeks to make of the argument in relation to infringement. When the NGA system runs the green logic, the cap level table includes entries for profiles with lower cap levels but the system cannot transition to these profiles because there is no possible outcome of the logic which will cause one of those profiles to be selected.
55. In the patent, impossible transitions are excluded from the final matrix, T, as shown in Figure 4, but other matrices include zero values, indicating that they are impossible. I would accordingly accept the submission that it must be possible from the matrix to obtain an indication of which are the possible transitions and which are not. However, care must be taken with what is meant by a "possible" profile for the line. The mere fact that a profile is subsequently excluded from use by running a particular version of the software does not mean it is an impossible profile. It was still a possible state into which the system could transition, depending on the choice of logic.
The NGA Equation system
71. Only the NGA network was and is alleged to infringe 790. The NGA network is controlled by a RAMBo (standing for Rate Adaptive Monitoring Box), that is to say a network management system. The NGA network offers several products to service providers, each of which has a pre-determined set of profiles. Each profile contains a set of configuration parameters (data rates, margin, interleaving parameters) for the modem pair. There are 36 different downstream profiles and 18 different upstream profiles.
72. The RAMBo instructs the modems to use a particular profile selected from the set of available profiles. The RAMBo uses data collected from the modems to determine whether it is necessary to change the profile on the line, and if so, what profile to change to. For this purpose RAMBo receives a data file once per day containing operational data about the operation of the line.
73. Each profile employed by the NGA system has a cap level which specifies a maximum and minimum data rate. The profiles are given a number, ranking them in order of rate. A downstream cap level of 36, for example, represents the highest maximum data rate, 80Mbps; a downstream level of 1 represents a maximum data rate of 2 Mbps
74. The logic used by the RAMBo is in broad terms as follows. The daily operational data is analysed so as to allocate an Indicated Line Quality (ILQ). These are characterised by colour: red and green indicating a change is necessary. If a change is indicated, a further assessment occurs to decide what the change should be. Broadly, the red logic may reduce the cap rate or increase interleaving; the green logic may increase the cap rate or reduce interleaving. Lastly, once a new profile is selected, a message is sent to cause the modem to re-initialise using the new profile.
75. The logic employed in certain circumstances makes use of a parameter called the "safe rate". This is a calculated parameter arrived at by the formula:
Safe rate = (0.7 x actual rate) + (0.3 x maximum attainable rate)
The safe rate is thus a rate somewhat higher than the actual rate, but lower than the maximum attainable rate. The maximum attainable rate is an indication from the modem pair as to the data rate that it could achieve with appropriate new configuration parameters.
76. On a red ILQ the logic will try to decrease the cap rate; on a green ILQ it will try to increase the cap rate. In order to achieve this, the logic runs a loop. The system calculates the safe rate which is used in selecting the correct profile. The objective is to find the profile with a maximum data rate just higher than the safe rate. The profiles are arranged in a table in descending order of cap rate. The logic then examines the cap levels in descending order asking whether the maximum rate is above the cap rate. If it is above the safe rate, it will continue and ask the same question in relation to the next level down, and so on until it arrives at one where the maximum rate is below the safe rate. It will then select the profile which is the last one to have been above the safe rate.
77. The infringement case focuses on the green downstream logic. This is illustrated in Figure 5 of the PPD, but a simplified version of that figure was produced in BT's skeleton, and is sufficient for these purposes:
78. At decision B the system chooses between two branches, representing different types of profile change. One branch allows for the possibility of a reduction in interleaving level. The other branch allows for increasing the cap level. In essence decision B asks a number of questions. For example, if the cap level is already at the maximum allowable cap level, a further increase in cap level is not possible and reduction in interleaving is the only possibility. Two further tests are employed, both of which are also concerned with selecting between a reduction in interleaving level and a cap level change.
79. In the case where the logic decides, at decision B, that a cap level change is in order, the system is directed to decision box G. Within this stage of the logic the words "run cap level selection loop" appear. The system runs a loop described in the PPD as follows:
"The loop operation begins with the maximum cap level (i.e. cap level 36 downstream in the 80/20 product) and checks whether the next lowest cap level's maximum rate is above the safe rate (i.e. 74Mbps for cap level 35 downstream in the 80/20 product). If so, the loop operation then considers the next lowest cap level (i.e. cap level 35) and checks whether the next lowest cap level's maximum rate is above the safe rate (i.e. 67Mbps for cap level 34 downstream in the 80/20 product). The process is repeated until the loop reaches a cap level for which the next lowest cap level's maximum rate is not above the safe rate: the loop ends on that cap level (the one with the maximum rate above but closest to the safe rate). If the selected cap is not greater than the current cap level, RAMBo will proceed to Decision D but if the selected cap level is greater than the current cap level then that is the cap level that RAMBo determines for use."
Cap Level (ds) = 8.79979 (log2.56635(safe rate)) -5.29677
Number | Name | D/S cap | U/S cap | D/S int | U/S int |
282 | sfaD250_125_16_08U037_018_08_04 | 24 | 7 | 3 | 2 |
283 | sfaD250_125_16_08U027_013_00_00 | 24 | 5 | 3 | 1 |
284 | sfaD250_125_16_08U027_013_08_04 | 24 | 5 | 3 | 2 |
287 | sfaD250_125_16_08U008_001_00_00 | 24 | 1 | 3 | 1 |
288 | sfaD250_125_16_08U008_001_08_04 | 24 | 1 | 3 | 2 |
289 | sfaD224_112_00_00U150_075_00_00 | 23 | 15 | 1 | 1 |
290 | sfaD224_112_00_00U150_075_08_04 | 23 | 15 | 1 | 2 |
291 | sfaD224_112_00_00U100_050_00_00 | 23 | 13 | 1 | 1 |
Does the NGA Equation system infringe?
Feature (d) – evaluating
a profile state transition matrix indicating …(feature (f))
Selecting one of a plurality of target profiles (feature (f))
The reverse engineering case and infringement overall
The Proposed Further NGA Equation system
Abuse of process
i) Is ASSIA seeking to assert a materially wider construction of claim 1 than it asserted at trial?
ii) If so, given ASSIA's position that BT is said to be estopped from challenging the validity of claim 1, is ASSIA also estopped and/or prevented by rules of abuse of process from asserting such a construction?
i) Is ASSIA asserting a construction which is 'broader' than or inconsistent with what they 'implicitly' asserted at trial or on appeal and if so in what respect?
ii) If so should BT be permitted to attack the validity of the Patent, or should ASSIA be precluded from asserting that construction?
Conclusion
Claim 1:
(a) A method in a DSL controller coupled to a DSL line, the method comprising:
(b) operating the DSL line in the current line profile;
(c) collecting operational data relating to operation of the DSL line in the current line profile;
(d) evaluating whether to transition operation of a DSL line from a current line profile to one of a plurality of target line profiles
(e) by implementing in hardware or software or a combination thereof:
(f) a profile state transition matrix indicating: a plurality of possible transitions from the current line profile to one of the plurality of target line profiles, and a priority value specifying the priority of transitions for each profile,
(g) a plurality of sub-rules, each to evaluate a feasibility or infeasibility of the plurality of target line profiles within the profile state transition matrix,
(h) a plurality of threshold tables, wherein each of the plurality of threshold tables emphasize or de-emphasize the individual sub-rules, and
(i) overall rule that utilizes the one or more sub-rules to determine the feasibility or infeasibility for each of the plurality of target line profiles, wherein the plurality of sub-rules and the overall rule are based on reported and estimated data from the collected operational data;
(k) determining the feasibility or infeasibility of the current line profile and each of the plurality of target line profiles based on the collected operational data and dependent on the outputs from some or all of the sub-rules and the overall rule; and
(l) selecting a one of the plurality of target line profiles in which to operate the DSL line, wherein the selected line profile comprises whichever of the current line profile and the plurality of target line profiles has a highest priority in the profile state transition matrix, and is not evaluated to be infeasible; and
(m) operating the DSL line in the selected profile.
Claim 13:
A DSL controller coupled with a DSL system to evaluate whether to instruct a DSL line operating in a current line profile to transition to operation in one of a plurality of target line profiles, a DSL controller comprising:
a state transition control unit implementing in software or hardware or a combination thereof;
a profile sate transition matrix indicating: a plurality of possible transitions from the current line profile to one of the plurality of target line profiles, and a priority value specifying the priority of transitions for each profile,
a plurality of sub-rules, each to evaluate a feasibility or infeasibility of the plurality of target line profiles with the profile state transition matrix,
a plurality of threshold tables, wherein each of the plurality of the threshold tables emphasise or de-emphasise individual sub-rules, and
an overall rule that utilised the one or more sub-rules to determine the feasibility or infeasibility for each of the plurality of target line profiles, wherein the plurality of sub-rules and the overall rule are based on reported and estimated data from the collected operational data;
a data collection module to collect operational data relating to operation of the DSL line in the current profile;
an analysis module to determine the feasibility or infeasibility of the current line profile and each for the plurality of target line profiles based on the collected operational data and dependent on the outputs from some or all of the sub-rules and the overall rule; and
a line profile selector module to select one of the plurality or target line profiles in which to operate a DSL line, wherein the selected line profile comprises whichever of the current line profile and the plurality of the target line profiles has a highest priority in the state transition matrix and is not evaluated to be infeasible.