×

Providing reliable communication over an unreliable transport layer in a hand-held device using a persistent session

  • US 6,161,123 A
  • Filed: 05/06/1997
  • Issued: 12/12/2000
  • Est. Priority Date: 05/06/1997
  • Status: Expired due to Term
First Claim
Patent Images

1. A method in a data processing system for transferring data between a client application program on a client and a server application program on a server via wireless communications, the client and the server each having a wireless communications subsystem for transferring the data, an internet protocol (IP) link layer for interfacing with the wireless communication subsystem, a user datagram protocol (UDP) layer for interfacing with the IP layer, and a UDP+ layer for providing reliable communications over the UDP layer, comprising:

  • the client application program invoking the UDP+ layer of the client to create a connection between the UDP+ layer of the client and the UDP+ layer of the server;

    responsive to the invocation, the UDP+ layer of the client creating a connect message requesting establishment of a connection with the UDP+ layer of the server, storing the connect message in a first packet suitable to the UDP layer of the client, and invoking the UDP layer of the client to send the packet to the UDP layer of the server as a first datagram message, wherein the UDP layer of the client passes the first datagram message to the IP layer of the client, and wherein the IP layer of the client sends the first datagram message to the server via the wireless communications subsystem of the client;

    the UDP+ layer of the server receiving the connect message, establishing a connection with the UDP+ layer of the client, creating a response message indicating that the connection has been established, storing the response message into a second packet that is suitable to the UDP layer of the server, and invoking the UDP layer of the server to send the second packet to the UDP layer of the client as a second datagram message, wherein the UDP layer of the server passes the second datagram message to the IP layer of the server, and wherein the IP layer of the server sends the second datagram message to the client via the wireless communications subsystem of the server;

    the UDP+ layer of the client receiving the response message such that the connection is established;

    the client application program providing data to the UDP+ layer of the client;

    the UDP+ layer of the client receiving the data, and sending a first portion of the received data to the UDP+ layer of the server in a first data message requesting a first acknowledgment that the first data message has been successfully received by the UDP+ layer of the server;

    the UDP+ layer of the server receiving the first data message, transferring the data to the server application program, and sending the first acknowledgment to the UDP+ layer of the client indicating that the first data message has been successfully received;

    the UDP+ layer of the client receiving the first acknowledgment and before a second portion of the received data can be sent, determining that the connection has terminated, reestablishing the connection responsive to determining that the connection has terminated, and sending the second portion of the received data to the UDP+ layer of the server in a second data message over the reestablished connection to complete the data transfer; and

    the UDP+ layer of the server receiving the second data message over the reestablished connection and transferring the second portion of the received data to the server application program such that the data transfer is complete.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×