There is no way that you can synchronize two browser windows.
Even if you synchronize the map on the server, you cannot get rid of (or synchronize) the delay between the server sending the update and the client browser showing the update.
Better to use locking mechanism here: When the first user opens the page, he can modify entries in the boxes, but for all other users calling this page the boxes are shown, but locked until the first user finishes (or times out).
Fazit:
If you use locking mechanism on browser level (as a type of synchronization), then you don't need to synchronize on java level (the HashMap)
Please take in account that if 2 user open the same page, the first user can send his inquiry first, but the inquiry from the second user can arrive earlier at the server (different routing), so don't do anything client-browser-time based. Always use server time.
What I mean is demonstrated in this example:
1.) First user opens page, he can edit for 60 seconds.
2.) second user opens page, it is locked for 60 second.
3.) first user moves entry after 59 seconds. This query 1 is on its way to the server and will take 5 seconds.
4.) Because 60 seconds passed (javascript browser trigger), the page of second user is unlocked. He moves the same entry immediately (after 2 seconds). This query 2 is on its way and will take 1 second.
5.) Query 2 arrives before query 1 and will be processed successfully.
6.) Query 1 will be processed and user 1 gets an error, because the entry to be moved cannot be found in first table.