IP Library Granted Patent US 48,212
Granted Patent E1
US 48,212 · App. 15/838,188 · Granted Sep 15, 2020

Structured low-density parity-check (LDPC) code

Inventors: Michael Livshitz (Rockville, MD); Aleksandar Purkovic (Potomac, MD); Nina Burns (Columbia, MD); Sergey Sukhobok (Rockville, MD); Muhammad Chaudhry (Gaithersburg, MD)
Assignee: BlackBerry Limited
H03M13/1111H03M13/114H03M13/116H03M13/118H03M13/1137H03M13/1185H03M13/1188H03M13/618H03M13/6362H03M13/6368H03M13/6393H04L1/0057H04L1/0068
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 48,212
App. No.
15/838,188
Granted
Sep 15, 2020
Kind
E1
Abstract

A method for constructing a low-density parity-check (LDPC) code using a structured base parity check matrix with permutation matrix, pseudo-permutation matrix, or zero matrix as constituent sub-matrices; and expanding the structured base parity check matrix into an expanded parity check matrix. A method for constructing a LDPC code using a structured base parity check matrix H=[H d |H p ], H d is the data portion, and H p is the parity portion of the parity check matrix; the parity portion of the structured base parity check matrix is such so that when expanded, an inverse of the parity portion of the expanded parity check matrix is sparse; and expanding the structured base parity check matrix into an expanded parity check matrix. A method for encoding variable sized data by using the expanded LDPC code; and applying shortening, puncturing.

Claims (2555)

1. A method of low-density parity-check (LDPC) encoding data, comprising:

receiving input data from a data source; and

applying the following expanded parity check matrix to the input data to generate encoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).

2. A method of decoding low-density parity-check (LDPC) encoded data, comprising:

receiving encoded data from a data source; and

applying the following expanded parity check matrix to the encoded data to generate decoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).

3. Apparatus for low-density parity-check (LDPC) encoding data, comprising:

an input port operable to receive input data from a data source; and

circuitry coupled to the input port and operable to apply the following expanded parity check matrix to the input data to generate encoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).

4. Apparatus for low-density parity-check (LDPC) encoding data, comprising:

an input port operable to receive input data from a data source; and

a matrix application element operable to apply the following expanded parity check matrix to the input data to generate encoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).

5. Apparatus for low-density parity-check (LDPC) encoding data, comprising:

an input port operable to receive input data from a data source; and

means for applying the following expanded parity check matrix to the input data to generate encoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).

6. Apparatus for decoding low-density parity-check (LDPC) encoded data, comprising:

an input port operable to receive encoded data from a data source; and

circuitry coupled to the input port and operable to apply the following expanded parity check matrix to the encoded data to generate decoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).

7. Apparatus for decoding low-density parity-check (LDPC) encoded data, comprising:

an input port operable to receive encoded data from a data source; and

a matrix application element operable to apply the following expanded parity check matrix to the encoded data to generate decoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).

8. Apparatus for decoding low-density parity-check (LDPC) encoded data, comprising:

an input port operable to receive encoded data from a data source; and

means for applying the following expanded parity check matrix to the encoded data to generate decoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96).

9. A telecommunications network, comprising:

an LDPC encoder operable to apply the following expanded parity check matrix to input data to generate encoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96);

a transmitter operable to transmit the encoded data over a transmission medium;

a receiver operable to receive the transmitted encoded data; and

an LDPC decoder operable to apply said expanded parity check matrix to the encoded data to recover the input data.

10. A method of operating a telecommunications network, comprising:

applying the following expanded parity check matrix to input data to generate encoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96);

transmitting the encoded data over a transmission medium;

receiving the transmitted encoded data; and

applying said expanded parity check matrix to the encoded data to recover the input data.

11. A transceiver, comprising:

an LDPC encoder operable to apply the following expanded parity check matrix to input data to generate encoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96);

a transmitter operable to transmit the encoded data over a transmission medium;

a receiver operable to receive encoded data from the transmission medium; and

an LDPC decoder operable to apply said expanded parity check matrix to the received encoded data to generate decoded data.

12. A method of operating a transceiver, comprising:

applying the following expanded parity check matrix to input data to generate encoded data:

6

38

3

93

-

1

-

1

-

1

30

70

-

1

86

-

1

37

38

4

11

-

1

46

48

0

-

1

-

1

-

1

-

1

62

94

19

84

-

1

92

78

-

1

15

-

1

-

1

92

-

1

45

24

32

30

-

1

-

1

0

0

-

1

-

1

-

1

71

-

1

55

-

1

12

66

45

79

-

1

78

-

1

-

1

10

-

1

22

55

70

82

-

1

-

1

0

0

-

1

-

1

38

61

-

1

66

9

73

47

64

-

1

39

61

43

-

1

-

1

-

1

-

1

95

32

0

-

1

-

1

0

0

-

1

-

1

-

1

-

1

-

1

32

52

55

80

95

22

6

51

24

90

44

20

-

1

-

1

-

1

-

1

-

1

-

1

0

0

-

1

63

31

88

20

-

1

-

1

-

1

6

40

56

16

71

53

-

1

-

1

27

26

48

-

1

-

1

-

1

-

1

0

wherein an expansion factor, L, is between 24 and 96, −1 represents an L×L all-zero square matrix, and

any other integer, Sij, represents an L×L identity matrix circularly right shifted by a shift amount equal to floor ((L×Sij)/96);

transmitting the encoded data over a transmission medium;

receiving encoded data from the transmission medium; and

applying said expanded parity check matrix to the received encoded data to generate decoded data.

13. A method to operate a wireless device to encode data using low-density parity-check (LDPC) encoding, the method comprising:

computing a number of modulated orthogonal frequency-division multiplexing (OFDM) symbols for transmitting the data;

computing a number of shortening bits N shortened for at least one LDPC codeword to be used during an encoding;

distributing the number of shortening bits N shortened over the at least one LDPC codeword;

computing a number of puncturing bits N punctured for the at least one LDPC codeword;

distributing the number of puncturing bits over the at least one LDPC codeword;

determining a performance criterion using at least one of the number of shortening bits N shortened and the number of puncturing bits N punctured ;

if the performance criterion is not met, increasing the number of modulated OFDM symbols and recalculating the number of puncturing bits N punctured ;

generating the encoded data using the number of shortening bits N shortened , the number of puncturing bits N punctured , and the at least one LDPC codeword, wherein shortening is performed by setting N shortened information bits to 0 within the at least one LDPC codeword, and puncturing is performed by discarding N punctured parity bits from the at least one LDPC codeword; and

transmitting the encoded data.

14. The method of claim 13, wherein the performance criterion is determined using both the number of shortening bits N shortened and the number of puncturing bits N punctured .

15. The method of claim 13, further comprising providing a plurality of LDPC codewords of different codeword lengths and code rates.

16. The method of claim 13, further comprising computing a number of LDPC codewords to encode the data and a length of each of the LDPC codewords.

17. The method of claim 13, further comprising conserving battery power in the wireless device by operating the wireless device to encode the data using the number of shortening bits and the number of puncturing bits.

18. The method of claim 13, further comprising increasing processing efficiency of the wireless device by operating the wireless device to encode the data using the number of shortening bits and the number of puncturing bits.

19. The method of claim 13, further comprising facilitating efficient use of transmit power of the wireless device by operating the wireless device to encode the data using the number of shortening bits and the number of puncturing bits.

20. A wireless device comprising:

a low-density parity-check (LDPC) encoder configured to:

compute a number of modulated orthogonal frequency-division multiplexing (OFDM) symbols for transmitting data;

compute a number of shortening bits N shortened for at least one LDPC codeword to be used during an encoding;

distribute the number of shortening bits N shortened over the at least one LDPC codeword;

compute a number of puncturing bits N punctured for the at least one LDPC codeword;

distribute the number of puncturing bits over the at least one LDPC codeword;

determine a performance criterion using at least one of the number of shortening bits N shortened and the number of puncturing bits N punctured ;

if the performance criterion is not met, increase the number of modulated OFDM symbols and recalculating the number of puncturing bits N punctured ; and

generate the encoded data using the number of shortening bits N shortened , the number of puncturing bits N punctured , and the at least one LDPC codeword, wherein shortening is performed by setting N shortened information bits to 0 within the at least one LDPC codeword, and puncturing is performed by discarding N punctured parity bits from the at least one LDPC codeword; and

a transmitter configured to transmit the encoded data.

21. The wireless device of claim 20, further comprising an LDPC decoder to decode LDPC-encoded data received at the wireless device.

22. The wireless device of claim 20, wherein the performance criterion is determined using both the number of shortening bits N shortened and the number of puncturing bits N punctured .

23. The wireless device of claim 20, wherein the LDPC encoder is further configured to provide a plurality of LDPC codewords of different codeword lengths and code rates.

24. The wireless device of claim 20, wherein the LDPC encoder is further configured to compute a number of LDPC codewords to encode the data and a length of each of the LDPC codewords.

25. The wireless device of claim 20, wherein the LDPC encoder is further configured to conserve battery power in the wireless device by encoding the data using the number of shortening bits and the number of puncturing bits.

26. The wireless device of claim 20, wherein the LDPC encoder is further configured to increase processing efficiency of the wireless device by encoding the data using the number of shortening bits and the number of puncturing bits.

27. The wireless device of claim 20, wherein the transmitter is to facilitate efficient use of transmit power of the wireless device by transmitting the encoded data encoded using the number of shortening bits and the number of puncturing bits.

28. A method to operate a wireless device to encode data using low-density parity-check (LDPC) encoding, the method comprising:

obtaining a number of modulated orthogonal frequency-division multiplexing (OFDM) symbols for transmitting the data;

computing a number of shortening bits N shortened for at least one LDPC codeword;

distributing the number of shortening bits N shortened over the at least one LDPC codeword;

computing a number of puncturing bits N punctured for the at least one LDPC codeword;

distributing the number of puncturing bits over the at least one LDPC codeword;

determining a performance criterion using at least one of the number of shortening bits N shortened and the number of puncturing bits N punctured ;

if the performance criterion is not met, increasing the number of modulated OFDM symbols and recalculating the number of puncturing bits N punctured ;

generating the encoded data using the at least one LDPC codeword, the at least one LDPC codeword determined based on the number of shortening bits N shortened , the number of puncturing bits N punctured , and the at least one LDPC codeword, wherein shortening is performed by setting N shortened information bits to 0 within the at least one LDPC codeword, and puncturing is performed by discarding N punctured parity bits from the at least one LDPC codeword; and

transmitting the encoded data.

29. The method of claim 28, further comprising providing a plurality of LDPC codewords of different codeword lengths and code rates.

30. The method of claim 28, further comprising:

computing a number of LDPC codewords and a length of each of the LDPC codewords; and

selecting the LDPC codeword to encode the data from the plurality of the LDPC codewords.

31. The method of claim 28, further comprising conserving battery power in the wireless device by operating the wireless device to encode the data using the at least one LDPC codeword.

32. The method of claim 28, further comprising increasing processing efficiency of the wireless device by operating the wireless device to encode the data using the at least one LDPC codeword.

33. The method of claim 28, further comprising facilitating efficient use of transmit power of the wireless device by operating the wireless device to encode the data using the at least one LDPC codeword.

Assignments (15)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDED PATENT NUMBER TO REMOVE PATENT NO. 8,873,407 AT PREVIOUSLY RECORDED ON REEL 64066 FRAME 1. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT EFFECTIVE DATE MARCH 20, 2023. Recorded Feb 2, 2026
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 074921/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE COVER SHEET AT PAGE 50 TO REMOVE 12817157 PREVIOUSLY RECORDED ON REEL 063471 FRAME 0474. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 064806/0669 →
CORRECTIVE ASSIGNMENT TO CORRECT 12817157 APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 064015 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 5, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064807/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064066/0001 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 16, 2023
From: OT PATENT ESCROW, LLC
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064015/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2023
From: BLACKBERRY LIMITED
To: OT PATENT ESCROW, LLC
Reel/Frame 063471/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: NORTEL NETWORKS INC.
To: ROCKSTAR BIDCO, LP
Reel/Frame 052641/0794 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: LIVSHITZ, MICHAEL; PURKOVIC, ALEKSANDAR
To: BAY NETWORKS, INC.
Reel/Frame 052641/0432 →
CHANGE OF NAME Recorded May 12, 2020
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 052646/0431 →
CHANGE OF NAME Recorded May 12, 2020
From: BAY NETWORKS, INC.
To: NORTEL NETWORKS NA INC.
Reel/Frame 052643/0994 →
MERGER Recorded May 12, 2020
From: NORTEL NETWORKS NA INC.
To: NORTEL NETWORKS INC.
Reel/Frame 052641/0593 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: BURNS, NINA; SUKHOBOK, SERGEY; CHAUDHRY, MOHAMMAD
To: NORTEL NETWORKS LIMITED
Reel/Frame 052641/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 052641/0693 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: ROCKSTAR BIDCO, LP
To: 2256355 ONTARIO LIMITED
Reel/Frame 052641/0700 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2020
From: 2256355 ONTARIO LIMITED
To: RESEARCH IN MOTION LIMITED
Reel/Frame 052641/0755 →
Continuity (12)
Reissue 13156942 · Jun 9, 2011
Division 14527483 · Oct 29, 2014
Reissue 13156942 · Jun 9, 2011
Continuation 11665171
Provisional Application 60673323 · Apr 20, 2005
Provisional Application 60656587 · Feb 25, 2005
Provisional Application 60647259 · Jan 26, 2005
Provisional Application 60639420 · Dec 27, 2004
Provisional Application 60638832 · Dec 22, 2004
Provisional Application 60635525 · Dec 13, 2004
Provisional Application 60627348 · Nov 12, 2004
Provisional Application 60617902 · Oct 12, 2004