To pre-empt auto-numbering conflicts in multi-site environments, how about tracking the last issued number in the DB somewhere, then requiring ownership to update that location before next PN issue?
I'm thinking this sequence of events:
Say the last PN is stored in Table1
Site_A makes PN request
Vault makes sure Table1 is owned by Site_A
Vault generates next PN, updates Table1 and issues PN
Site_B makes PN request
Vault makes sure Table1 is owned by Site_B - if ownership transfer is required, replication mechanism will ensure Table1 is updated at Site_B before ownership transfer
Vault generates next PN, updates Table1 and issues PN
Site_B gets flooded or something else bad happens.
Site_A makes PN request
Vault tries to transfer ownership on Table1 to Site_A, but is unable.
PN Request fails, and duplicate PN problem is averted.
And yes, someone goes and checks in on the good people at Site_B
Would this work?