What is a Synchronization Session?
A Synchronization Session is the core concept of ByteSync.
It represents the workspace where one or more participants (Session Members) collaborate to compare and synchronize data.
A session may involve:
- A single member working locally, or
- Multiple members sharing data across different machines.
In both cases, the process is identical: each member contributes data through Data Nodes, which contain one or more Data Sources (files or directories).
Key Objects
- Session Member
A participant in the session. A session can have from 1 up to 5 members. Each member manages their own Data Nodes. - Data Node
A logical unit of data belonging to a Session Member. A member can create multiple Data Nodes (e.g. “Work Documents”, “Archives”, “Local Backups”). - Data Source
A directory or file added inside a Data Node. At least one Data Source is required for the Data Node to be valid.
Learn more → Session Members, Data Nodes & Data Sources
Lifecycle of a Session
Every Synchronization Session follows the same sequence:
- Create or Join a Session
- The first member starts a new session.
- Other members join using the Session ID and Session Password.
Read more → Creating or Joining a Synchronization Session
- Members & Data Nodes
- Each member adds one or more Data Nodes.
- Each Data Node contains at least one Data Source.
Read more → Session Members, Data Nodes & Data Sources
- Data Inventory
- ByteSync scans all Data Sources and collects metadata (size, timestamps, hashes).
- In multi-member sessions, inventories are exchanged securely between members.
Read more → Data Inventory
- Data Comparison
- Inventories are compared.
- Differences are listed for each Data Node.
Read more → Data Comparison
- Filtering
- Optional filters can be applied to focus on specific files or directories.
Read more → Filtering Syntax
- Optional filters can be applied to focus on specific files or directories.
- Synchronization Actions
- The user selects actions to perform (copy, update, delete, ignore).
Read more → Synchronization Actions
- The user selects actions to perform (copy, update, delete, ignore).
- Data Synchronization
- Chosen actions are executed. Data is transferred between members when needed.
Read more → Data Synchronization
- Chosen actions are executed. Data is transferred between members when needed.
Local or Remote – One Unified Model
Older versions of ByteSync distinguished between local synchronization and cloud synchronization. This distinction no longer exists.
A Synchronization Session can include:
- only local Data Nodes,
- only remote members,
- or a mix of both.
All cases are handled with the same process and the same interface.
Security
All data exchanged between members is protected with end-to-end encryption (E2EE).
When a new client attempts to join a session, the Trusted Clients mechanism ensures that only authorized devices can participate.
Data Transfer Efficiency
During synchronization, ByteSync does not simply copy files from one location to another.
It uses advanced mechanisms to minimize the amount of data transferred and optimize overall performance.
Instead of retransferring entire files, ByteSync relies on a delta-based approach to identify and send only the necessary data. This allows efficient synchronization even when working with large files or distributed environments.
In addition, ByteSync includes several optimizations such as:
- tolerance to structural changes within files (insertions or deletions),
- optimized handling of small files and small data chunks,
- shared uploads when synchronizing data to multiple targets,
- adaptive transfer strategies based on network conditions.
These mechanisms are part of the Delta Synchronization process.
