Browse Prior Art Database

Force LAN Server Query to Execute Concurrently with Window Creation

IP.com Disclosure Number: IPCOM000107520D
Original Publication Date: 1992-Mar-01
Included in the Prior Art Database: 2005-Mar-21
Document File: 2 page(s) / 69K

Publishing Venue

IBM

Related People

Joury, MO: AUTHOR [+3]

Abstract

This article describes an algorithm that forces a data query from a LAN server to execute concurrently with the creation of an OS/2* Presentation Manager* window. This algorithm offers improved performance compared to the traditional serially executed algorithm.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 61% of the total text.

Force LAN Server Query to Execute Concurrently with Window Creation

       This article describes an algorithm that forces a data
query from a LAN server to execute concurrently with the creation of
an OS/2* Presentation Manager* window.  This algorithm offers
improved performance compared to the traditional serially executed
algorithm.

      A data query from a LAN server can be forced to execute
concurrently with the creation of an OS/2 Presentation Manager window
by manipulating thread priority and using semaphores to synchronize
threads.  The algorithm can be illustrated as follows:

                            (Image Omitted)

      The key to forcing concurrent execution lies in priority
management and synchronization of the background thread.  The
Presentation Manager thread must wait for the background thread to
set its priority to TIMECRITICAL before creating the window.  This is
accomplished with the "thread started" semaphore.  Without this
synchronization, the window would be created before the data query
reaches the LAN server because OS/2 forces the Presentation Manager
thread to a high priority by default.

      The "window created" semaphore serves two purposes. First, if
the background thread receives the data from the server very quickly,
it may need to wait on this semaphore before attempting to display
the data in the window. Second, a control block associated with the
semaphore is used to pass the newly...