摘要:
A low bandwidth link can be used optimally for software updates, by successively transferring more information about the updates only as the likelihood of an applicable update successively increases. A many-to-one mapping function (e.g. a hash function) is applied to update identifiers on a server to generate a table of single bit entries corresponding to the updates. At a client, the same mapping function is applied to program identifiers to determine whether the server has a potential update. If a potential update is noted, a second transmission is requested for conveying additional data from the server by which hash collisions can be identified. A third transmission from the server is received conveying the actual update only after the availability of an actual update (versus a hash collision) is confirmed. The same arrangement can be employed in reverse.
摘要:
A set of software programs on a client computer is compared against a set of updates on a server computer to determine which updates are applicable and should be transferred from the server to the client. If the link between the client and server is slow, the listing of available updates must be represented in compact form. A many-to-one mapping function (e.g. a hash function) is applied to update identifiers to generate a table of single bit entries indicating the presence of particular updates on the server. This table is transferred to the client over the slow link. At the client, the same mapping function is applied to program identifiers, and corresponding entries of the transferred table are checked to determine whether the server has a potential update. If such a potential update is noted, a second transmission is requested by the client from the server--this one conveying additional data by which hash collisions can be identified by the client and disregarded. If availability of an actual update (versus a hash collision) is thereby confirmed, the client requests a third transmission from the server--this one conveying the actual update data. By this arrangement, optimized use is made of the low bandwidth link, with successively more information transferred as the likelihood of an applicable update is successively increased. (The same arrangement can be employed in reverse, with the bit table generated at the client and identifying program files available for possible updating, transferred to the server, etc.).