Browse Prior Art Database

tftp option to redirect to another server

IP.com Disclosure Number: IPCOM000126261D
Original Publication Date: 2005-Jul-11
Included in the Prior Art Database: 2005-Jul-11
Document File: 1 page(s) / 27K

Publishing Venue

IBM

Abstract

This invention will help improve trivial file transfer protocol (tftp) performance by redirecting tftp clients to a less busy tftp server. There is no known solution to the problem. When a tftp server receives a RRQ (a Read Request) from a tftp client, the server checks its own load (network or CPU or disk I/O or all of the above) and if the load is too high it appends a new option to an OACK (Option Acknowledgement) that allows the client to contact a different tftp server that contains the same file. This will distribute the load between tftp servers more evenly thus improving the performance. It is fully compliant with RFC2347 (TFTP option extension).

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 55% of the total text.

Page 1 of 1

tftp option to redirect to another server

The main idea is to improve the performance of the tftp protocol downloads by dividing the load among tftp servers. There are no known solution to this problem, i.e. the tftp server can get swamped by the clients possibly causing the clients to retransmit and even timeout. The new option will allow to reference a client to another possibly less loaded tftp server. The client should advertize that it accepts the server option by sending a new "server" option in its RRQ (read request). All that the server needs to do is to tell the client where to connect in OACK. To accomplish this: on a tftp server: - a file containing alternative tftp server address/name should be created; Only one address/name per server; - the server checks its load by its software means varying from operating system to operating system; if the load is higher than a predefined threshold (from a config file or hardcoded) than append the following to the OACK: "server \0 ip_address \0"

i.e. the keyword "server" followed by a NULL character, followed by an IP address or a name, followed by a NULL character. - no mechanism is provided to avoid cycling around of requests (if all servers in the list are extremely loaded and the servers reference each other in a circle); the last server (terminating server) referenced in the list should accept all connections regardless of its load.

A possible more complex solution to this could be that the servers kept cache...