In a heterogeneous distributed real-time system, some nodes may experience more task arrivals than others, or tasks arrived at some nodes may have tighter laxities than those arrived at other nodes. In such an environment, transferring an unguaranteed task at a node to another node currently with the most abundant resources is not necessarily the best decision. We propose a new load sharing (LS) algorithm for real-time applications which takes into account the effect of future task arrivals on locating the best receiver for each unguaranteed task. Upon arrival of a task at a node, the node first checks whether or not it can complete the task in time using the minimum-laxity-first-served discipline. If the node cannot guarantee the arrived task or some of existing guarantees were to be invalidated as a result of inserting the task into its queue, then the node must locate a remote node to which each unguaranteed task will be transferred. The proposed LS algorithm minimizes not only the probability of transferring an unguaranteed task T to an incapable node with Bayesian analysis, but also the probability that a remote node fails to guarantee T because of future arrivals of tighter-laxity tasks with queueing analysis. All parameters needed for a node's LS decision are collected/estimated online using time-stamped region-change broadcasts and Bayesian estimation. By using time-stamped region-change broadcasts, the collected state information, albeit obsolete, can be used to estimate other nodes' states. Use of Bayesian estimation makes the proposed LS algorithm adaptive to dynamically varying workloads with little computational overhead. Our simulation results show that the proposed LS algorithm outperforms other existing LS algorithms in minimizing the probability of 1) dynamic failure, 2) task collisions, and 3) excessive task transfers. The performance improvement by the proposed policy over others becomes more pronounced as the degree of system heterogeneity increases.