Bandwidth reservation for real-time networks offers an approach for real-time networking in a switched Ethernet or IP setting. In a switched network, switches prevent from indeterministic back-off times at collisions and here bandwidth reservation limits send rates to protects from overallocation of link bandwidth. The work in this paper aims at avoiding problems with a centralized bandwidth broker for resource reservation for bandwidth in a throttled real-time network. A centralized broker (such as a ’GlobeThrottle’) is a single point of failure in a distributed system and is also a hot-spot resource, which all nodes of the system use for registering new real-time channels. To avoid both these problems we propose a distributed algorithm to be used instead of a central bandwidth broker. Also, the GlobeThrottle approach uses TCP/IP communication for channel allocation, which gives indeterministic time channel allocation. However, this problem is not addressed in this paper.
In the proposed solution, Real-time Communication Through a Distributed Resource Reservation Approach (STRUTS), real-time channels are throttled and the throttle level for each sending node is agreed between all nodes. The agreement must be atomic to avoid transitional bandwidth over-usage due to temporary inconsistencies between nodes (’mutual inconsistencies’) in throttling level information for different nodes. In this paper we use two-phase-commit (2PC) for atomic node agreements, where changes in channels information will be visible at the same time instant at all nodes. Thus, the throttling based on the agreed channel information will guarantee that the maximal bandwidth is not exceeded. Using a distributed agreement avoids the problems of a single point of failure and hot-spot behavior, and is thus scalable to some extent. However, 2PC commitment incurs other problems with scalability since it requires that the network is not partitioned and also that nodes are locked during the agreement process, which prevents other nodes from allocating channels for the same node concurrently. When using 2PC for agreement it is not possible to have deterministic channel allocation time when there are no guarantees for the maximum locking time on the channel data. We have through experimental results verified that by using STRUTS, we avoid overallocation of links.