A method, system, and apparatus for providing access to asynchronous data in a
spreadsheet application program is provided. When a request is received to utilize
an asynchronous data element in a spreadsheet, the spreadsheet application program
instructs an asynchronous data server to provide updated values for the asynchronous
data element. When the asynchronous data server program receives an updated value,
it notifies the spreadsheet application program that a changed value for the data
element is available. The next time the spreadsheet application program has idle
processing time following a notification that an update is available, the spreadsheet
application program determines whether a notification has been received from the
asynchronous data server program. If an update is available, the spreadsheet application
program contacts the asynchronous data server and requests the update. In response,
the asynchronous data server program transmits the update to the spreadsheet application program.