HTC Corporation (Claimant/Respontent) v Gemalto S.A. (Defendant/Apellant)

JurisdictionEngland & Wales
JudgeLord Justice Floyd,Lord Justice Vos,Lord Justice Laws
Judgment Date22 October 2014
Neutral Citation[2014] EWCA Civ 1335
CourtCourt of Appeal (Civil Division)
Docket NumberCase No: A3/2013/2293
Date22 October 2014

[2014] EWCA Civ 1335

IN THE COURT OF APPEAL (CIVIL DIVISION)

ON APPEAL FROM THE HIGH COURT OF JUSTICE

CHANCERY DIVISION

PATENTS COURT

MR JUSTICE BIRSS

[2013] EWHC 1876 (Pat)

Royal Courts of Justice

Strand, London, WC2A 2LL

Before:

Lord Justice Laws

Lord Justice Floyd

Lord Justice VOS

Case No: A3/2013/2293

A3/2013/2298

Between:
HTC Corporation
Claimant/Respontent
and
Gemalto S.A.
Defendant/Apellant

James Mellor QC and Miles Copeland (instructed by King & Wood Mallesons LLP) for the Appellant

Michael Tappin QC and Ben Longstaff (instructed by Powell Gilbert LLP) for the Respondent

Hearing dates: 15–17 July 2014

Approved Judgment

Lord Justice Floyd
1

This is an appeal from the decision of Birss J dated 10 July 2013 in a patent action. Before the judge there were two patents in suit, EP (UK) 0 932 865 ("the 865 patent" or "865") and EP (UK) 0 829 062 ("9062"), owned by Gemalto S.A. ("Gemalto") and Gemalto NV respectively. These patents were said to be infringed by a variety of smart phones (and one tablet computer) ("the HTC devices") marketed in the UK by HTC Corporation ("HTC"). HTC commenced a pre-emptive action for revocation, and Gemalto and Gemalto NV counterclaimed for infringement. Birss J concluded that 865 was not infringed by any of the HTC devices and that only claim 3 and certain claims dependent on it survived the attack on validity. 9062 was wholly invalid.

2

With the permission of the judge, Gemalto appeals from his decision that claim 3 of 865 was not infringed by the HTC devices. The principal issue raised by Gemalto's appeal is the correct construction of claim 1 (on which claim 3 is dependent). Gemalto contends that the judge adopted too narrow a construction. Gemalto accepts that the judge was right to hold all the claims of 865 which are not dependent on claim 3 invalid. HTC, by a respondent's notice, contends that the correct construction is even narrower than that adopted by the judge. Also with the permission of the judge, HTC appeals from the judge's decision that claim 3 of 865 was valid. Some of HTC's grounds of invalidity are dependent on the court adopting the judge's construction or Gemalto's wider one: others are free-standing. There is no appeal against the finding of invalidity of 9062, and I need say no more about that patent.

3

On the appeal James Mellor QC (with Miles Copeland) argued the case for Gemalto and Michael Tappin QC (with Ben Longstaff) argued the case for HTC.

Technical background

4

The action is concerned with computers and their programming. The judge introduced some of the more general technical background at [7] to [24] of his judgment in terms which neither side criticises. He also set out and made findings about the relevant common general knowledge which the skilled team would bring to their reading of 865 at [38] to [50] of the judgement. What follows borrows heavily, and gratefully, on those sections of the judgment which are material for this appeal.

5

The basic elements of a computer are well known: a central processing unit (CPU), memory of different kinds and inputloutput machinery to communicate externally. Computers are implemented on silicon chips. A chip which carries a CPU is called a microprocessor chip. The chip may also carry memory and inputloutput devices on the same piece of silicon.

6

Computer memory may be random access ("RAM") or read only ("ROM"). RAM is used to store immediate results and can be accessed relatively quickly. It is volatile, and so its contents will be lost when the power is switched off. ROM is used to store programs or data. It is non-volatile. There are variants on ROM, such as PROM (programmable ROM), EEPROM (electrically erasable programmable ROM) and so on.

7

In addition to these forms of memory, computers have registers. These are slots within the CPU itself which provide very fast temporary storage for values which are actually being processed. As the judge held at [9], they are really part of the CPU itself.

8

In addition to RAM, ROM and registers, there is cache memory. Cache memory is used to house a temporary copy of data to be found elsewhere in memory to provide fast and ready access to it while it is being worked on. It is used to speed up processing. The data in cache is never unique because it is a copy of data to be found elsewhere in the system.

9

A distinction which was at one stage important was between general purpose computers and dedicated or embedded systems. An example of a general purpose computer is the, now ubiquitous, laptop or desktop personal computer. A dedicated or embedded system might be found in a washing machine, specially designed for controlling the machine's cycles, but capable of nothing else. Both contain chips, but the dedicated system is more likely to have all its functional elements on the chip, whilst the general purpose computer will usually have a processor chip and separate memory chips.

10

Computers ultimately execute programs in machine code. Programmers do not however write machine code, but write their programs in "higher level" languages. Above machine code one can have an assembly language specific to the processor on which the program is to be run. Assembly code is then translated into machine code by a device called an assembler. Above assembly language one can have higher level languages such as BASIC and Java. These programs can embody more abstract concepts than assembly languages. In order to convert these high level languages into machine code one may use either a compiler or an interpreter, the essential difference being that the compiler converts the entire program to machine code, whilst the interpreter interprets the high level language at run time.

11

A virtual machine is a program which runs on a real computer which is designed to mimic a particular computer architecture.

12

The high level programming language Java existed as a package consisting of a number of components. Once code was written in Java it was compiled by a Java compiler into a form of code called byte code. The computer files which made up the program in byte code were called Java Class files. Byte code formed the code for a virtual machine called a Java virtual machine or JVM. As long as a computer of any kind had a JVM installed on it, that computer could run programs written in Java. This was of importance because it allowed programs written in Java to be made available on the internet from a website and be run on any computer with a JVM.

13

The JVM had a number of components, the details of which do not matter. The judge found that the skilled person would be aware that the JVM was a comparatively large piece of software.

The 865 patent

14

865 is entitled "Using a High Level Programming Language with a Microcontroller". It was filed on 22 October 1997 and claimed convention priority from an earlier United States application filed on 25 October 1996. The invention is said to relate to using a high level programming language with a smartcard or a microcontroller.

15

The specification of 865 explains at [0003] that software applications written in the Java high-level programming language have been so designed that they can run on many different computers without change. It explains at [0005] that, in order to run on a specific platform, a JVM must be written that will run within the constraints of the system, and a mechanism must be provided for loading the desired Java application on the platform, again keeping within the constraints of the system. Thus, as explained at [0006], conventional platforms which support Java are typically microprocessor-based computers with access to relatively large amounts of memory and hard disk storage space, such as desktop and personal computers. There were, however, no conventional Java implementations on microcontrollers, as would typically be used on a smart card.

16

At [0007] to [0008] the specification explains that microcontrollers differ from microprocessors in many ways. Thus a microprocessor typically requires certain external components (memory, 110 controls) to function properly. A typical microprocessor can access from a megabyte to a gigabyte of memory, and is capable of processing 16, 32 or 64 bits of information with a single instruction. By contrast, a microcontroller includes a CPU, memory and other functional elements "all on a single semiconductor substrate, or integrated circuit (e.g. a chip)". The specification goes on:

"In a microcontroller, the amount of each kind of memory available is constrained by the amount of space on the integrated circuit used for each kind of memory. Typically, RAM takes the most space, and is in shortest supply. ROM takes the least space, and is abundant. EEPROM is more abundant than RAM, but less than ROM."

17

In [0009] it is explained that a microprocessor typically has relatively little ROM and EEPROM and has 1 to 128 megabytes of RAM "since it is not constrained by what will fit on a single integrated circuit device". However a microcontroller typically has a small RAM of 0.1 to 2.0 kilobytes, EEPROM of 2 to 8 kilobytes and ROM of 8 to 56 kilobytes. In [0010] it is said that "due to the small number of external components required and their small size, microcontrollers frequently are used in integrated circuits, such as smart cards." At [0011] the specification explains that, "because of the constrained environment", applications for smart cards are typically written in a low level language (e.g. assembly language) to conserve memory.

18

In [0012] there is reference to a French patent application which is said not to "address data security concerns, describe how to prevent unauthorised access of the data and information on the smart card, nor how to provide a programming environment that would enable a programmer to create a program for a smart card on a rich...

To continue reading

Request your trial
5 cases

VLEX uses login cookies to provide you with a better browsing experience. If you click on 'Accept' or continue browsing this site we consider that you accept our cookie policy. ACCEPT