A summary of Groove workspace synchronization

Since Groove is all about synchronization, it should come as no surprise that a lot of our support issues fall into that category. Here's a brief summary of factors to consider when data is not synchronizing from one workspace endpoint to another, or when changes do not occur the way you expect them to. In order to keep this from being a monster of a post, I'm only going to talk about Standard workspaces. For information on how Groove File Sharing workspaces differ, see my post of September 16, https://blogs.technet.com/weeklygroove/archive/2008/09/16/comparing-groove-standard-workspaces-and-groove-file-sharing-workspaces.aspx.

First, here are a couple of terms you should understand:

Workspace endpoint: A local copy of a groove workspace. Since each Groove account can be used on up to five computers, a workspace may have more endpoints than members. For example, I run my Groove account on a desktop at work, and on my laptop. Some of my workspaces have only those two endpoints and no other members, but most have other members, some of whom also use multiple computers.

Groove Relay: A server that can accept data on behalf of a Groove user, and which then either forwards that data on immediately or keeps it for the user to fetch at next contact, depending on connection states and types. Data on the server is transient and encrypted.

When changes are sent

Groove isn't sensitive to opening the file and not changing it. However, if you an automated process or software application that is making a minor change to the file (for example, a version control application that adds versioning information when the file is accessed), that is still a change.

If you edit a file in the Files tool, Groove will try to send just the changes to the file.

How changes are sent

When you make a change to a workspace, Groove queues the data for each workspace endpoint except for your account on other computers. It sends the data out to other online members (either directly or via relays) and to the relays of other offline members. Updates for your own account on other computers are handled as part of account synchronization and do not go through the relay. In a workspace with multiple members, you will can receive these changes from other members, but if you have Groove on two computers and a workspace with no other members, you will need to come online on both computers to synchronize the workspace between them.

For details on when Groove uses a Relay Server, see https://blogs.technet.com/weeklygroove/archive/2008/09/23/more-details-on-groove-servers-mostly-relay.aspx

Change conflicts

Groove processes changes in the order that it receives them, regardless of time stamps. Because of this, a file can be restored by someone who has modified it or moved it coming on line after others have processed a deletion. If multiple files are being deleted and then sent to everyone again, that will consume network and local resources.

If two people change the same version of a file, the first change is saved back into the primary file. If an online user tries to save other changes later, Groove asks the user whether it should save the changes in a conflict file. If an offline user saves other changes to a Groove file, and then when Groove comes online, the file has been changed by another member, Groove creates a conflict copy without prompting to preserve the offline changes.

Synchronization performance

There are a number of things that can affect performance. If you've seen a substantial decrease, you may have a situation in which there is a backlog of unsynchronized data. Try having all workspace members stay logged into Groove for 24 hours and see if that helps. Do not delete and re-add data, as both operations cause data transfer.

If a workspace member does not receive changes for over three weeks, and the workspace is large enough that this may present a resource problem, Groove will prompt any workspace manager who makes a change to suspend the inactive member. The member will not be suspended unless the manager agrees. However, if a workspace endpoint does not receive changes under the same conditions, and the member on that endpoint is receiving workspace changes on other computers, the endpoint may be silently suspended. For details, see “Information about synchronization alerts in Groove” at https://support.microsoft.com/default.aspx?scid=kb;EN-US;913614.

 

I hope this helps! Let me know if there are aspects of this that you would like clarified.