Bundle Delivery Framework
- (1) When the carrier of bundle IDm encounters a node, whose probability of encountering the destination is higher than that of the carrier, the carrier first checks its current status by (4.4). If the status is loose, the carrier will check whether the encountering node is its friend node or not. If this node is a friend node, the carrier will send the requesting information, including the bundle ID, the size of the bundle, the reserve price [calculated by (4.6)], and the patience factor [calculated by (4.16)]. If this node is not a friend node, the carrier will wait for other friend nodes until the number of encountering nodes is equal to the maximum number decided by (4.5). If the status of the carrier is tense, the carrier will immediately send the requesting information.
- (2) When the relay node receives the requesting information, if the relay node is not the destination, it will calculate its reserve price by (4.7). If the reserve price of the relay node is lower than that of the bundle carrier, the relay node calculates the transaction price by (4.7), (4.8), (4.18), (4.20), and (4.21). Then, the relay node will send acknowledgment information back to the bundle carrier, including the bundle ID, the transaction price, the reserve price, and the patience factor of the relay node.
- (3) The bundle carrier will check whether the obtained utility is positive or not. If ulB > 0, the bundle carrier will accept the price and send bundle IDm to the relay node. Otherwise, it will wait for another node.
- (4) After the relay node receives the bundle, both sides of the transaction sign a digital receipt, which includes the bundle ID and price, and each side holds a copy of this receipt. The receipts will be submitted to the CCC when they connect to the Internet. Then, the bundle carrier deletes the bundle IDm in its buffer.
- (5) When the destination receives the bundle, the destination submits an ACK to the CCC including the bundle ID when it connects to the Internet. Then, the CCC pays the corresponding virtual currency to each relay node based on the digital receipts.