IP Library Granted Patent US 7,372,841
Granted Patent B2
US 7,372,841 · App. 10/887,877 · Granted May 13, 2008

Packet-based communication system and method

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 7,372,841
App. No.
10/887,877
Granted
May 13, 2008
Kind
B2
Abstract

A system and method for facilitating communication of packets between one or more applications residing on a first computing device and at least one second computing device. The system comprises a connection manager adapted to receive packets from the at least one second computing device, and a packet cache for storing packets received by the connection manager. The connection manager, upon receiving a packet from a second computing device, transmits the packet to the packet cache for storage and notifies each of the applications of receipt of the packet. Subsequently, the packet is retrievable from the packet cache by a notified application, and verification that the packet is intended for communication to the notified application is made.

Claims (50)

1. A system for facilitating communication of packets between multiple components of one or more applications residing on a first computing device and at least one second computing device, the system comprising:

a connection manager adapted to receive packets from the at least one second computing device; and

a packet cache, coupled to the connection manager, for storing packets received by the connection manager;

wherein the connection manager is adapted to transmit packets received from the at least one second computing device to the packet cache for storage;

wherein the connection manager is adapted to, for each packet, notify each of the multiple components of the one or more applications of receipt of the packet;

wherein the packet is retrievable from the packet cache by a notified component for verification that the packet is intended for communication to the notified component;

wherein each notified component is adapted to determine if it is expecting to receive the packet from the at least one second computing device; and

wherein retrieval of the packet and verification that the packet is intended for communication to the notified component are made if the notified component determines that it is expecting to receive the packet from the at least one second computing device.

2. The system of claim 1 , wherein the first computing device is a mobile device.

3. The system of claim 1 , wherein at least one of the connection manager and the packet cache resides on the first computing device.

4. The system of claim 1 , wherein the connection manager is further adapted to transmit packets generated by the one or more applications to the at least one second computing device.

5. The system of claim 1 , wherein an identifier is assigned to each packet transmitted by the connection manager to the packet cache for storage; wherein in notifying each of the multiple components of the one or more applications of receipt of the packet, the identifier associated therewith is employed; and wherein the identifier of the packet facilitates the retrieval thereof from the packet cache by the notified component.

6. A method of facilitating communication of packets between multiple components of one or more applications residing on a first computing device and at least one second computing device, the method comprising:

receiving a packet from the at least one second computing device;

transmitting the received packet to a packet cache for storage;

notifying each of the multiple components of the one or more applications of receipt of the received packet;

for a notified component, determining if the notified component is expecting to receive the packet from the at least one second computing device; and

retrieving the received packet from the packet cache and

verifying that the received packet is intended for communication to the notified component if the notified component determines that it is expecting to receive the packet from the at least one second computing device.

7. The method of claim 6 , wherein the first computing device is a mobile device.

8. The method of claim 6 , further comprising generating one or more packets for communication to at least one second computing device and transmitting the generated packets to the at least one second computing device.

9. The method of claim 6 , wherein the method further comprises assigning an identifier to the received packet transmitted to the packet cache for storage; wherein in the notifying of each of the multiple components, the identifier associated with the received packet is employed; and wherein the identifier is used to facilitate the retrieval of the received packet from the packet cache.

10. The method of claim 6 , wherein the verification of the received packet is made by a the notified component.

11. The method of claim 6 , wherein the act of verifying comprises checking headers and sequence numbers contained in the received packet to verify that the received packet is intended to be communicated to the notified component.

12. A computer-readable medium comprising a plurality of instructions executable on a mobile device, wherein the instructions, when executed, perform a method of facilitating communication of packets between multiple components of one or more applications residing on the mobile device and at least one remote computing device, the method comprising:

receiving a packet from the at least one remote computing device;

transmitting the received packet to a packet cache for storage;

notifying each of the multiple components of the one or more applications of receipt of the received packet;

for a notified component, determining if the notified component is expecting to receive the packet from the at least one remote computing device; and

retrieving the received packet from the packet cache and verifying that the received packet is intended for communication to the notified component if the notified component determines that it is expecting to receive the packet from the at least one remote computing device.

13. The medium of claim 12 , wherein the method further comprises:

generating one or more packets for communication to at least one remote computing device; and

transmitting the generated packets to the at least one remote computing device.

14. The medium of claim 12 , wherein the method further comprises:

assigning an identifier to the received packet transmitted to the packet cache for storage;

wherein in the notifying of each of the multiple components, the identifier associated with the received packet is employed; and

wherein the identifier is used to facilitate the retrieval of the received packet from the packet cache.

15. The medium of claim 12 , wherein the verification of the received packet is made by the notified component.

16. The medium of claim 12 , wherein the act of verifying comprises checking headers and sequence numbers contained in the received packet to verify that the received packet is intended to be communicated to the notified component.

17. A mobile device coupled to at least one remote computing device, the mobile device comprising:

a connection manager adapted to receive packets from the at least one remote computing device; and

a packet cache, coupled to the connection manager, for storing packets received by the connection manager;

wherein the connection manager is adapted to transmit packets received from the at least one remote computing device to the packet to the packet cache for storage;

wherein the connection manager is adapted to, for each packet, notify each of the multiple components of one or more applications residing on the mobile device of receipt of the packet;

wherein the packet is retrievable from the packet cache by a notified component for verification that the packet is intended for communication to the notified component is made;

wherein each notified component is adapted to determine if it is expecting to receive the packet from the at least one remote computing device; and

wherein retrieval of the packet and verification that the packet is intended for communication to the notified component are made if the notified component determines that it is expecting to receive the packet from the at least one remote computing device.

18. The mobile device of claim 17 , wherein at least one of the connection manager and the packet cache resides on the mobile device.

19. The mobile device of claim 17 , wherein the connection manager is further adapted to transmit packets generated by the one or more applications to the at least one remote computing device.

20. The mobile device of claim 17 , wherein an identifier is assigned to each packet transmitted by the connection manager to the packet cache for storage; wherein in notifying each of the multiple components of one or more applications of receipt of the packet, the identifier associated therewith is employed; and wherein the identifier of the packet facilitates the retrieval thereof from the packet cache by the notified component.

Assignments (4)
NUNC PRO TUNC ASSIGNMENT Recorded Jun 19, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Nov 3, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 034150/0483 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2004
From: HAMMELL, JONATHAN F.; BROWN, MICHAEL K.
To: RESEARCH IN MOTION LIMITED
Reel/Frame 015567/0691 →