Unwired Planet International Ltd v Huawei Technologies Co Ltd & Ors, Court of Appeal - Civil Division, April 12, 2017, [2017] EWCA Civ 266

Issuing Organization:Civil Division
Actores:Unwired Planet International Ltd v Huawei Technologies Co Ltd & Ors
Resolution Date:April 12, 2017

Case No: A3 2016 0157

Neutral Citation Number: [2017] EWCA Civ 266





The Hon Mr Justice Birss

[2015] EWHC 3366 (Pat)

Royal Courts of Justice

Strand, London, WC2A 2LL

Date: 12/04/2017

Before :





- - - - - - - - - - - - - - - - - - - - -


- - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - -

Andrew Lykiardopoulos QC and Ben Longstaff (instructed by Powell Gilbert LLP) for the Appellants

Adrian Speck QC, Mark Chacksfield and Thomas Jones (instructed by EIP Legal) for the Respondent

Hearing dates: 28-29 March 2017

- - - - - - - - - - - - - - - - - - - - -

JudgmentLord Justice Floyd:


  1. The appellants (``Huawei'') appeal from the judgment and order of Birss J refusing to revoke the respondent's (``Unwired Planet's'') patent EP (UK) 2 229 744 (``the patent''). Other original defendants to the action, Samsung and Google, have settled. The appeal is in part with permission granted by the judge, and in part with the permission of Kitchin LJ granted on the papers.

  2. The patent is one in a portfolio of patents which originally belonged to the telecoms company Ericsson, but which has now been acquired from Ericsson by Unwired Planet. The patent is concerned with a polling system for use in a wireless communication network. A poll is a message sent by a transmitter to a receiver to ask the receiver to tell the transmitter what data it has received. The poll message asks the receiver to send a status report. On receipt of a status report the transmitter works out whether the data which it has sent has been satisfactorily received, or whether it requires re-sending.

  3. Many of the points which were run before the judge have fallen away. There are now essentially three issues:

    · Issue 1: Whether claims 1 and/or 9 of the patent are disentitled to priority because there is no disclosure in the priority document of polling ``upon assembly''.

    · Issue 2: Whether claims 1 and 9 lack inventive step over a standards proposal referred to as ``Motorola TDoc''.

    · Issue 3: Whether claims 1 and 9 lack novelty because Ericsson's own TDoc, which is admitted to be novelty destroying, was made available to the public before the priority date.

  4. Issue 3 raises a short but interesting point of law concerned with whether a prior publication is available before the priority date when it was made available, in some time zones but not in the time zone of filing, on a date before that date. Issues 1 and 2, on the other hand, raise issues which involve some understanding of the technical background. I must therefore start by setting out the background which is necessary to understand those two issues. I have adapted much of what follows, with gratitude, from the judge's lucid summary. I will then need to summarise the disclosure of the priority document and the patent, before going on to address the first of the issues.

  5. On the appeal Mr Andrew Lykiardopoulos QC argued the case for the Huawei with Mr Ben Longstaff. Mr Adrian Speck QC, Mr Mark Chacksfield and Mr Thomas Jones argued the case for Unwired Planet. I am very grateful to all of them for the clear and economical presentation of their respective cases.

    Technical Background


  6. By the priority date mobile networks were digital. At least some types of information sent via the networks were in ``packets'' - that is groups of bits. In general a packet may comprise payload data (that is content which the transmitting entity is to send to a receiving entity) and control data (that is data which enables the transmitting entity, receiving entity and mobile network to operate efficiently and process the packets). The control data is usually included in a packet as a header.

  7. In order to operate by sending and receiving packets, each data stream has to be split up into packets for transmission. Once received, the packets must be reassembled into the data stream. To recreate the data stream with complete fidelity the receiver has to reassemble all the right packets, necessarily, in the right order. The packets must therefore be stored temporarily at the transmitter and the receiver. The receiver must store the packets because they have to be received in their entirety before they can be processed properly. The transmitter must store packets because there is a possibility that the packet may be required to be retransmitted if it was not received.


  8. Digital mobile telephony has proceeded through a series of successive international standards and generations. The generation currently in use at the priority date was a 3G system known as the Universal Mobile Telecommunications System (UMTS).

  9. The various generations of mobile networks had to accommodate increasing consumer demand for access to the internet. The backbone of the internet is a wired network where transmission errors are relatively rare. In contrast, the error rates over the air (or radio) interface in a mobile network are much higher.

  10. In order for two devices to communicate they need a set of rules which defines the semantics, syntax and sequencing of messages passing between them. That is a communications protocol. A very familiar idea in 2008 was a protocol layer stack. A protocol layer stack allows different types of protocols to be used concurrently yet independently. Entities at the same layer in the stack communicate with each other with a defined protocol without having to be concerned about the protocols between entities at lower layers in the stack.

  11. From the point of view of an entity at a given layer in the stack, a packet of data received from a higher layer is called an SDU (service data unit) while the data sent down to a lower layer is called a PDU (protocol data unit). In general an entity which receives an SDU from a higher layer which is to be transmitted on to a lower layer adds its own control information to the packet in the form of a header. The SDU is untouched and treated as payload. The layer of relevance for the present case is the Radio Link Control or RLC. An important point is that in UMTS the PDUs in the RLC layer were of a fixed size in bytes.

  12. The RLC protocol in UMTS employed an automatic repeat request protocol. When PDUs are sent from the transmitting entity, the receiving entity acknowledges PDUs that have been received correctly. The acknowledgement is referred to as an ``ACK''. The receiver may also send a negative acknowledgement message for missing or erroneous PDUs to the extent that it can detect that this has happened called a ``NACK''. An arrangement in which each PDU has to be acknowledged before the next is sent would cause the transmission channel to remain idle in the meantime. This is inefficient and introduces a high overhead.

  13. Accordingly, more sophisticated systems use a sliding ``window''. The system allows for the ability to transmit a limited number of new PDUs without having to wait for an acknowledgement of the last PDU. Each PDU is assigned a ``sequence number''. This allows the receiver to know which PDUs have been received and which are missing. It also allows the status report to identify which PDUs are being acknowledged as received (``ACKed'') and which are missing and are being ``NACKed''. The sequence number also allows the receiver to reform the data stream into the correct order. There is a ``transmitter window'' of the number of PDUs which can be transmitted but not yet acknowledged. When the oldest PDU in the transmitter window is acknowledged, it is removed and the window slides along.

  14. Sequence numbers are a finite resource. If 9 bits are allocated for sequence numbers there are 512 possible values. New numbers cannot be released until status reports on unacknowledged numbers are received. The numbers are cyclic and recommence at zero after number 511. If all the available sequence numbers are used up a ``stall'' occurs.

  15. Using this method, once a PDU has been sent, the transmitter has to keep it in case it needs to be retransmitted. The data is stored in the ``retransmission buffer'' and a given PDU has to be preserved until that PDU has been acknowledged. Thus a status report frees up two resources, sequence numbers and buffer memory. Once a PDU has been ACKed, it can be deleted from the retransmission buffer.

  16. A system would advantageously be designed so that status reports are obtained sufficiently often to prevent the system stalling. One way in which status reports are generated is called ``gap detection''. If a PDU is missing from the sequence, the receiver can tell that this has happened from the sequence numbers and send a status report. The report will NACK the missing PDU and ACK the PDUs which have been received.

  17. When the system is operating well with few errors (and therefore no status reports generated by gap detection) the transmitter may need to be able to poll the receiver to request a status report so that it can move the window forward. The different polls are characterised by what triggers them. The relevant polls in this case are those which apply in the course of continuous, as opposed to ``bursty'' transmission, in which, as I understand it, there are breaks in transmission during which status reports can be obtained. A poll is requested by setting a bit in the header of a PDU. When the receiver receives that PDU and finds the poll bit set, it knows to send a status report. One of the factors which has to be taken into account is that, given the errors on the air interface, the PDU which contains the set poll bit might be lost in transmission and not received by the receiver and conversely, a status report sent by the receiver may not be received by the transmitter.

  18. The UMTS standard defined a series of possible poll triggers which the implementer could use. The poll triggers in UMTS also included the following:

    i) ``Poll timer''. A timer is set when a poll is triggered and stopped...

To continue reading