Skip to main content

Floating Licensing

Floating licenses share a pool of concurrent seats. A client checks out a seat, heartbeats to keep it, and releases it when done. Optional borrow covers short time-limited holds that still count toward pool capacity.

Floating is a licensing mode (policy/plan), not a substitute for a license key. Runtime exposes checkout / heartbeat / release / borrow; Management administers pools. Where site policy allows, the same action paths can run on Local Relay LAN.

Seat lifecycle​

StepMeaning
CheckoutAllocate one seat (or return the existing seat for the same idempotent request)
HeartbeatExtend TTL; must match the seat holder
ReleaseFree the seat explicitly
BorrowTime-limited hold under policy borrowDuration
Zombie reclaimExpired seats without release are reclaimed asynchronously

Seat safety: mutating calls are idempotent; PostgreSQL is source of truth (cache assists TTL only). Missing or expired seats are deny — never invent capacity from a cache alone.

When to use​

  1. Shared concurrent users/seats across machines.
  2. Always-online Runtime, or Relay LAN when cloud is far but the site pool is known.
  3. Fixed machine binding without a shared pool → prefer node-locked (Activations · Device identity).

Next steps​