×

Method of displaying an application on a variety of client devices in a client/server network

  • US 6,104,392 A
  • Filed: 11/12/1998
  • Issued: 08/15/2000
  • Est. Priority Date: 11/13/1997
  • Status: Expired due to Fees
First Claim
Patent Images

1. In a client server network providing at least one application service for selection by a user via a client device, a method for transmitting to and displaying on the display device of the client device display requests of the requested application service which are not supported by the client device, comprising:

  • downloading from the server and executing on the client device a display engine;

    initializing a protocol engine with parameters of the client device comprising display operations supported by the client device, the relative cost of each supported operation and a local performance factor and parameters of the connection from the server to the display engine comprising bandwidth and latency;

    executing on the server the protocol engine comprising the steps of;

    maintaining a first queue for retaining pending display requests and a second queue for retaining transmitted display requests of the requested application service for display on the client device;

    each request having a corresponding relative cost and request time determined by the relative cost and the local performance factor;

    maintaining a total request time for all requests in both queues and maintaining a total network time for all requests in the second queue;

    while the total request time is less than a predetermined first value;

    accepting a new pending request from the application service;

    executing the new pending display request to create an image to be displayed on the client device, saving the resulting image to memory and determining for the image its relative cost and its corresponding request time based the local performance factor;

    converting the new pending display request from the application service into a sequence of converted requests that are supported by the client device, placing the sequence of converted requests in the first queue, determining for each converted display request in the sequence its relative cost and its corresponding request time based on the local performance factor, and incrementing the total request time by the request time of each added request;

    while the total network time is less than a predetermined second value;

    optimizing the first queue using a merge optimization when the request times of the pending requests in the first queue exceed a predetermined third value and updating the total request time based on the results of the merge optimization;

    reading a pending request from the first queue and labeling each read request with a first sequence identifier;

    encoding each read display request for transmission to the display engine;

    placing a copy of the optimized request into the second queue, incrementing the total network time by the request time for the newly added request, andtransmitting the encoded display request to the display engine;

    executing the display engine comprising the steps of;

    unencoding the received converted display request and displaying it on the client device;

    generating a second sequence identifier corresponding to first sequence identifier of the displayed request; and

    periodically transmitting to the protocol engine the second sequence identifier of the last received display request displayed on the client device; and

    upon receipt of the second sequence identifier, the protocol engine further comprising the steps of;

    deleting from the second queue the display request whose first sequence identifier is the same as the second sequence identifier and all pending displayed requests in the second queue having first sequence identifiers that are prior to such second sequence identifier; and

    decrementing from the total request time and from the total network time the request time values of each of the deleted display requests.

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