Phương pháp định tuyến dựa trên dự đoán (PBR) đã được đề xuất như là một đề án tính toán trước trong các mạng truyền tải quang. Đã có nhiều nỗ lực được thực hiện để áp dụng PBR cho các mạng IP truyền thống. Có nhiều đề xuất xử lý liên quan tới các vấn đề về tính toán trước hoặc dự đoán, như ba đề xuất sau: (i) định tuyến hot-potato "dự đoán" đường dẫn tốt nhất đến đích dựa trên thông tin về độ trễ của các yêu cầu đến từ đích đó, (ii) đề xuất dự đoán tải thông tin tương lai trong một liên kết dựa trên các mẫu đo được trước đó của tải thông tin trong liên kết đó, và (iii) một biến thể của định tuyến hot-potato. Trái ngược với những đề xuất này, các liên kết dự đoán PBR với sự khả dụng của các đường dẫn thay vì dự đoán tải thông tin truy cập đến.
PBR dựa trên những ý tưởng của sự dự báo nhánh trong kiến trúc máy tính. Bằng cách mở rộng khái niệm về dự đoán nhánh tới kiến trúc máy tính, nó sẽ là cần thiết để đăng ký lịch sử của trạng thái mạng từ quan điểm của nút nguồn, nghĩa là các nút nguồn chứa một đăng ký cho mọi tuyến từ nút đó, nút mà được cập nhật thông tin trạng thái mạng. Cần lưu ý rằng các đăng ký đó không được cập nhật bởi các bản tin cập nhật truyền thống (bao gồm cả thông tin trạng thái mạng), nhưng tại các chu kỳ thời gian nhất định. Thông tin thu được từ các đăng ký lịch sử được sử dụng để truy cập các bảng dự đoán. Trên thực tế, trong mọi nút nguồn có một bảng dự báo cho mỗi đường dẫn khả thi từ nút nguồn đó. Các bảng dự báo có các mục khác nhau, mỗi mục lưu giữ thông tin về một mô hình khác nhau bằng một bộ đếm hai bit. Dự báo thực hiện đọc giá trị của một bộ đếm hai bit. Một đường dẫn được lựa chọn chỉ với giá trị là 0 hoặc 1.
Thuật toán được sử dụng để lựa chọn các đường dẫn được giải thích bằng một ví dụ. Chúng ta giả sử rằng giữa các cặp nguồn - đích có hai tuyến được tính toán, nhưng thuật toán có thể được thực hiện trong nhiều hơn hai đường dẫn. Việc đăng ký lịch sử thì chỉ ra băng thông trong chu kỳ cuối cùng với 2 bit.
Hình dưới đây trình bày cho ví dụ sau: khi một yêu cầu mới đòi hỏi 40% băng thông của nút nguồn, lộ trình đầu tiên được kiểm tra. Thông tin mới nhất về băng thông chiếm dụng cho thấy là 40% băng thông đã được sử dụng trong
đường đầu tiên. Cả hai giá trị băng thông được cộng vào 40%+40%, và nếu nó nhỏ hơn 100% thì bảng dự đoán của tuyến đầu tiên được kiểm tra, nếu không thì các bảng dự đoán tiếp theo sẽ được kiểm tra. Trong trường hợp này, tổng băng thông là 80% (>75%) và chỉ số để truy cập vào bảng dự đoán đầu tiên là 0 (00 trong mã hóa 2 bit). Với chỉ số này trong bảng dự đoán của tuyến đường đầu tiên được truy cập và bộ đếm được đọc. Giả sử bộ đếm là 2, thì sau đó dự đoán không sử dụng tuyến đường đầu tiên này và có thể tuyến đường thứ hai sẽ được kiểm tra. Trong tuyến đường thứ hai băng thông bị chiếm dụng trong chu kỳ cuối là 25%. Băng thông mới này sẽ là 40%+25%=65%, tương ứng với một chỉ mục của 1 (01 với mã hóa 2 bit). Với chỉ số này trong bảng dự đoán của tuyến đường thứ hai được truy cập và giá trị bộ đếm là 1. Giá trị bộ đếm này có nghĩa là dự báo là sử dụng tuyến đường thứ hai này do đó thuật toán sẽ chọn tuyến đường thứ hai này.
Hình 2.1. Ví dụ về việc dự đoán với 2 lộ trình
Như đã nêu ở trên, các đăng ký lịch sử được cập nhật mỗi chu kỳ với thông tin về băng thông bị chiếm cho nút nguồn ở mỗi đường dẫn. Trong ví dụ cuối cùng, khi thuật toán lựa chọn đường dẫn thứ hai, băng thông mới bị chiếm dụng bởi nút này trong đường dẫn thứ hai này sẽ là 65%. Điều quan trọng cần lưu ý rằng băng thông chiếm dụng này chỉ là băng thông mà nút biết, nhưng nó có thể không phải là sự chiếm dụng thực sự. Tình huống này xảy ra do việc loại bỏ các bản tin cập nhật, khi các nút nguồn khác có thể sử dụng nhiều băng thông
40%
25%
Đăng ký tuyến 2 Lưu lượng vào
đòi hỏi 40% băng thông 1) (40+40)% băng thông 2) (25+40)% băng thông PT1 chỉ số=00 PT2 chỉ số=01 00 01 10 11 00 01 10 11 2 1 Bảng dự đoán Kiểm tra tuyến 2 Chọn tuyến 2
hơn trong các liên kết của cùng một đường dẫn và nút nguồn, thông tin chiếm dụng sẽ không được cập nhật. Chỉ có bảng dự đoán của các đường dẫn được lựa chọn là được cập nhật. Nếu kết nối được thiết lập thì bộ đếm tương ứng của bảng dự báo bị giảm, nhưng nếu kết nối bị chặn thì bộ đếm được tăng lên. Trong ví dụ trên, nếu kết nối được thiết lập bộ đếm của mục nhập 01 của bảng dự đoán của các đường dẫn 2 sẽ là 0, nhưng nếu kết nối bị chặn bộ đếm sẽ là 2.