Với các gói cần đi qua nhiều hop, cả S-MAC và T-MAC cung cấp tiết kiệm năng lượng tại thời điểm mở rộng việc tăng độ trễ. Điều này làm cho các gói có thể đi qua chỉ một vài hope trong mỗi chu trình trước khi nó tới nút mà nút đó đã vào trạng thái ngủ. Điều này được xem như vấn đề ngắt chuyển tiếp dữ liệu.
Giải pháp cho ứng dụng này được cung cấp bởi giao thức D-MAC, nó áp dụng chỉ với dòng cây thu thập số liệu xác định đến từ các nút mạng biến đổi tới một bộ nhận chung. Bản chất của D-MAC là áp dụng một biểu đồ ngủ so le, nơi mà các nút làm cho sơ đồ cây theo tuần tự nhận truyền ngủ thành công dịch chuyển sang phải. Các chu trình này được chỉnh để mà một nút tại mức k trong trạng thái nhận khi nút dưới nó trên cây tại mức k+1 đang truyền. Minh hoạ ở hình 2.7.
Biểu đồ sole của D-MAC có nhiều ưu điểm, nó cho phép dữ liệu và các gói điều khiển (như là yêu cầu cho thích ứng mở rộng của các thời điểm tích cực) đi tuần tự qua các đường trên cây với trễ nhỏ nhất; nó cho phép yêu cầu tới các thích ứng mở rộng của các thời điểm tích cực được truyền theo các đường trên cây; nó giảm nhiễu các thời điểm riêng biệt tại các mức khác nhau; nó chỉ ra rằng để giảm số các nút cần đánh thức khi chu trình tương ứng xuất hiện. Để giải quyết với kết nối và nhiễu, D-MAC bao gồm các thành phần không bắt buộc như là dự báo dữ liệu và sử dụng cácgói yêu cầu gửi thêm.
Rx Tx Sleep
Rx Tx Sleep
Rx Tx Sleep
Hình 2.7 Lập lịch ngủ sole trong D-MAC
Để thoả mãn các ưu điểm trên, bản thân D-MAC không có địa chỉ MAC chung như nó áp dụng với phương thức các cây thu thập dữ liệu. Tuy nhiên, chú ý rằng lập lịch tại các thời điểm đánh thức theo cách độ trễ nhỏ nhất có thể mở rộng cho các cài đặt khác.