REST Web サービスによるソフトウェア更新サーバーを実装しています。リソースへのGETリクエストにより、クライアントのアップグレード「指示」(ファイル自体ではない)を取得するように設計されています
/clients/{clientId}/upgrades?completed=false
クライアントは、30 分間隔でリソースをポーリングするように設計されています。利用可能なアップグレードがない場合、リソースはステータス コード 404 を返し、利用可能な場合はアップグレード手順を返します。クライアントのアップグレードが完了すると、クライアントはサーバーへの PUT 要求によってサーバーに報告します。
/clients/{clientId}/upgrades/{upgradeId}
若干の状態変化あり。
現在、サーバー側からのアップグレード接続制御、つまり最大同時アップグレード接続制限が必要です。
リソースをアップグレードする「アップグレード」ステータス インジケーターのフィールドを追加し、/clients/{clientId}/upgrades にアクセスしたときにインジケーターを変更し、「upgrade==true でのアップグレードの数」を計算して接続番号を見つけることができます。接続数の制限を超えた場合は、ステータス コード 404 をクライアントに返します。ただし、REST Web サービスのステートレス原則を破っています。
どんなアイデアでも大歓迎です。前もって感謝します。