What is claimed is:
1. A method for forwarding a file from a server to a remote device over a network without exceeding a maximum capacity of the network or without degrading transactional or operational traffic performance between the server and the remote device, comprising:
dividing the file into a plurality of packets;
a first sending step to send a packet of the plurality of packets to the remote device along with a selected delay value, the selected delay value specifying a period of time that the remote device must wait before requesting another packet of the plurality of packets from the server, the delay value being selected as a function of at least the capacity of the network and an observed transactional or operational traffic between the server and the remote device;
receiving after a period of time at least equal to the delay value, a request for another packet of the plurality of packets from the remote device;
returning to the first sending step until a request for a last packet of the plurality of packets is received from the remote device, and
a second sending step to send the last packet of the plurality of packets to the remote device.
2. The method of claim 1, wherein the selected delay value is maintained constant during the first and second sending steps.
3. The method of claim 1, wherein the selected delay value is dynamic, and wherein the server further carries out a step of varying the selected delay value.
4. The method of claim 1, wherein the selected delay value is stored in a master schedule table and wherein the first sending step includes a step of selecting the delay value from the master schedule table.
5. The method of claim 1, wherein the server is adapted to change the selected delay value to change a rate at which the plurality of packets are sent to the remote device.
6. The method of claim 1, further including the step of increasing or decreasing the delay value sent to the remote device as a function of at least one of a maximum capacity of a communication channel between the server and the remote device, an observed operational traffic between the remote device and the server and a rate at which the server is sending successive packets of the plurality of packets to the remote device.
7. The method of claim 1, further including a step of receiving a request for the file from the remote device, the request including an identification of the file and a device ID unique to the remote device.
8. The method of claim 7, further including a step of retrieving the delay value from a master schedule table stored by the server, the delay value sent during the first sending step being associated in the master schedule table with the device ID received from the remote device.
9. The method of claim 7, further including the step of tracking a progress of the first and second steps by storing an identification of a latest packet sent to the remote device in the master schedule table.
10. The method of claim 1, further including establishing a transactional tunnel between the server and the remote device and wherein the first and second sending steps send the plurality of packets through the transactional tunnel.
11. The method of claim 1, wherein the file is at least a portion of a game and wherein the plurality of remote devices includes a gaming machine.
12. The method of claim 1, wherein the file includes multimedia content and wherein the plurality of remote devices includes a multimedia kiosk.
13. The method of claim 1, wherein the file includes multimedia content and wherein the plurality of remote devices includes a set top box for a television.
14. The method of claim 1, wherein the delay value is selected by evaluating a close-loop download regulation algorithm that is configured to achieve a highest download capacity for the file without exceeding the maximum network capacity and without degrading the transactional and operational traffic performance between the server and the remote device.
15. The method of claim 1, further including a step of grouping the plurality of remote devices into a plurality of groups and wherein the selected delay value is selectable for each group.
16. The method of claim 1, wherein the delay is selected to be as short as possible without exceeding the maximum network capacity or without degrading the transactional or operational traffic performance between the server and the remote device.
17. The method of claim 1, whereby the sending step includes a step of encrypting andor signing the predetermined number of file fragments.
18. A method for forwarding a file from a server to a plurality of remote devices over a network without exceeding a maximum capacity of the network or without degrading transactional or operational traffic performance between the server and the remote devices, comprising:
dividing the file into a plurality of packets, and
forwarding constituent packets of the plurality of packets to each of the plurality of remote devices at a rate that is controlled by a selected delay value that is configurable for each of the plurality of packets and for each of the plurality of remote devices, the selected delay being effective to cause one of the server and the plurality of remote devices to wait for an expiry of the selected delay value before provoking a release of a next packet of the plurality of packets, the delay value being selected as a function of at least the capacity of the network and an observed transactional or operational traffic between the server and the remote devices.
19. The method of claim 18, wherein the selected delay value for each of the plurality of remote devices is stored in a master schedule table and wherein the sending step includes a step of selecting the delay value from the master schedule table.
20. The method of claim 18, further including the step of increasing or decreasing the selected delay value as a function of at least one of a maximum capacity of a communication channel between the server and the remote devices, an observed operational traffic between the remote devices and the server and the rate at which the server is sending successive packets of the plurality of packets to the remote devices.
21. The method of claim 18, further including a step of the server receiving a request for the file from each of the plurality of remote device, the requests including an identification of the file and a device ID that is associated with and unique to the requesting remote device.
22. The method of claim 21, further including a step of retrieving the delay value from a master schedule table stored by the server, the selected delay value being associated in the master schedule table with the received device ID.
23. The method of claim 21, further including the step of tracking a progress of the sending step by storing an identification of a latest packet sent to each of the plurality of remote devices in the master schedule table.
24. The method of claim 23, further comprising a step of changing the selected delay value associated with selected ones of the plurality of remote devices based upon the identification of the latest packet sent to the selected ones of the plurality of remote devices.
25. The method of claim 18, further including a step of grouping the plurality of remote devices into a plurality of groups and wherein the rate at which the constituent packets of the plurality of packets are sent to the remote devices is selectable for each group.
26. The method of claim 18, further including a step of the server initiating the sending of the file to the plurality of remote devices, wherein the initiating server requests a device ID from each of the plurality of remote devices.
27. The method of claim 26, further including a step of retrieving the delay value from a master schedule table stored by the server, the selected delay value for each of the plurality of remote devices being associated in the master schedule table with the requested device ID received from each of the plurality of remote devices.
28. The method of claim 18, further including establishing a transactional tunnel between the server and each of the plurality of remote devices and wherein the sending step sends the plurality of packets through the transactional tunnel.
29. The method of claim 18, wherein the file is at least a portion of a game and wherein the plurality of remote devices includes a gaming machine.
30. The method of claim 18, wherein the file includes multimedia content and wherein the plurality of remote devices includes a multimedia kiosk.
31. The method of claim 18, wherein the file includes multimedia content and wherein the plurality of remote devices includes a set top box for a television.
32. The method of claim 18, wherein the delay value is selected by evaluating a close-loop download regulation algorithm that is configured to achieve a highest download capacity for the file without exceeding the maximum network capacity and without degrading the transactional and operational traffic performance between the server and the remote device.
33. The method of claim 18, wherein the delay is selected to be as short as possible without exceeding the maximum network capacity and without degrading the transactional and operational traffic performance between the server and the remote device.
34. The method of claim 18, whereby the sending step includes a step of encrypting andor signing the predetermined number of file fragments.
35. A method for controlling a download of a file on a network from a server to a plurality of remote devices simultaneously with a higher priority operational traffic, comprising:
observing the operational traffic and determining an available bandwidth on the network as a function at least of the observed operational traffic;
computing a delay value for each of or for a selection of the plurality of remote devices as a function at least of the determined available bandwidth, and
sending a predetermined number of file fragments of the file to the plurality of remote devices at a rate that is controlled by the computed delay value.
36. The method of claim 35, wherein the sending step includes a step of the server waiting for an expiry of the computed delay value before sending a next file fragment of the predetermined number of file fragments to each of or to the selection of the plurality of remote devices.
37. The method of claim 35, further including a step of recording the computed delay values in a master schedule.
38. The method of claim 37, further including retrieving the recorded delay values from the master schedule prior to the sending step.
39. The method of claim 35, whereby the sending step includes a step of encrypting andor signing the predetermined number of file fragments.
40. A method for controlling the download of a file on a network from a server to a plurality of remote devices simultaneously with a higher priority operational traffic, comprising:
observing the operational traffic and determining an available bandwidth on the network as a function at least of the observed operational traffic;
computing a delay value for each of or for a selection of the plurality of remote devices as a function at least of the determined available bandwidth, and
causing the plurality of remote devices to each regulate the receiving of a predetermined number of file fragments of the file at a rate that is controlled by the computed delay value.
41. The method of claim 40, wherein the sending step includes a step of the server waiting for an expiry of the computed delay value before sending a next file fragment of the predetermined number of file fragments to each of or to the selection of the plurality of remote devices.
42. The method of claim 40, further including a step of recording the computed delay values in a master schedule.
43. The method of claim 42, further including retrieving the recorded delay values are retrieved from the master schedule prior to the sending step.
44. The method of claim 40, whereby the sending step includes a step of encrypting andor signing the predetermined number of file fragments.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A pick and place machine for placing a component upon a workpiece, the machine comprising:
a placement head having at least one nozzle for releasably holding the component, the placement head being configured to deliver the component to a placement location on the workpiece during a placement cycle;
a robotic system for generating relative movement between the placement head and the workpiece;
an image acquisition device disposed to obtain a plurality of images including the placement location of the component;
an image processing device for analyzing the images generated by the image acquisition device, the image processing device being configured to segment each image to have an image portion that contains neither the placement location nor the component; and
wherein the image processing device is configured to compare the segmented image portion in each of the plurality of images to measure vertical oscillation of the workpiece during the placement cycle.
2. The pick and place machine of claim 1, wherein the image processing device measures vertical oscillation by applying image correlation to the plurality of images.
3. The pick and place machine of claim 2, wherein a position of a correlation peak is indicative of the workpiece oscillation.
4. The pick and place machine of claim 1, wherein the pick and place machine is a Cartesian pick and place machine.
5. The pick and place machine of claim 1, wherein the pick and place machine is a turret pick and place machine.
6. The pick and place machine of claim 1, wherein at least one of the plurality of images is a blurred image acquired using an exposure time that is longer than a period of a natural frequency of the workpiece.
7. The pick and place machine of claim 6, wherein the measured vertical oscillation is a function of a blur length in the blurred image.