Hi Mike,
Thanks for clarifying these - I wasn't sure how granular you wanted these to be, or whether you wanted actual IPP to be listed in the diagrams. Since these are intended for the Model section, I think it would make sense for the diagrams to specify IPP (new or existing) wherever possible. A few comments below.
On Sep 16, 2024, at 9:55 AM, Michael Sweet <msweet at msweet.org> wrote:
CAUTION: External Email
From: Michael Sweet <msweet at msweet.org>
Subject: Re: [IPP] Updated IPP Firmware Update Extensions figure slides posted (plain text version)
Date: September 16, 2024 at 9:55:51 AM MDT
To: PWG IPP Workgroup <ipp at pwg.org>
Cc: "Kennedy, Smith (Wireless & IPP Standards)" <smith.kennedy at hp.com>
Smith,
OK, making use of the "PlantUML web server" (http://www.plantuml.com/plantuml/uml<http://www.plantuml.com/plantuml/uml>) which allows you to fiddle with these diagrams in real time,
I didn't know they added that on the web. 😊 I always do it locally in VS Code with a preview or running PlantUML in a separate window.
I have some updates:
1. Client Managed Firmware Update
(I normalized the communication with the repository, added the client requests from IPP System Service, added a Printer self-update step, added double-ended arrows for the query/notify step, and grouped things like you did for the other scenarios)
@startuml
title Firmware Update Scenario 1: Client Managed Firmware Update
autonumber
skinparam sequenceMessageAlign direction
participant Client
participant Printer
participant Repository
group Client checks for firmware update
Can replace this with:
group Client checks for firmware update \n(Out of band of IPP)
Client -> Repository: Firmware update available?
Repository -> Client: Update availability
Client -> Repository: Download firmware update
Repository -> Client: Firmware update file
end group
group Client sends firmware update to printer
Client -> Printer: Create-Resource
Client -> Printer: Send-Resource w/firmware update file
Client -> Printer: Install-Resource
Printer -> Printer: Install firmware update
end group
|||
group Client monitors Printer firmware status
Client <-> Printer: Query/notify firmware update status
If this is IPP then can we provide the actual IPP? The query would be "Get-System-Attributes", right?
end group
@enduml
2. Autonomous Printer Firmware Update
(I separated the "self-update" into download from repo and install to self, and added a client query/notify grouping)
That's fine - same comment as for #1 for the query / notify firmware update status.
@startuml
title Firmware Update Scenario 2: Autonomous Printer Firmware Update
autonumber
skinparam sequenceMessageAlign direction
participant Client
participant Printer
participant Repository
group Printer autonomously installs firmware updates
Printer -> Repository: Firmware update available?
Repository -> Printer: Update availability
Printer -> Repository: Download firmware update
Repository -> Printer: Firmware update file
Printer -> Printer: Install firmware update
end group
|||
group Client monitors Printer firmware status
Client <-> Printer: Query/notify firmware update status
end group
@enduml
3. Client Triggered Firmware Update
(Tried to normalize things with the prior diagrams, dropped reboot because that isn't always necessary)
@startuml
title Firmware Update Scenario 3: Triggered Firmware Update
autonumber
skinparam sequenceMessageAlign direction
participant Client
participant Printer
participant Repository
group Client asks Printer to check for firmware update
Client -> Printer: Check for Firmware Update
Printer -> Repository: Update available?
Repository -> Printer: Update availability
Printer -> Client: Update availablility
end group
|||
group Client ask Printer to install firmware update
Client -> Printer: Update Firmware
Printer -> Repository: Firmware update available?
Repository -> Printer: Update availability
Printer -> Repository: Download firmware update
Repository -> Printer: Firmware update file
Printer -> Client: Firmware update status
Printer -> Printer: Install firmware update
end group
|||
group Client monitors Printer firmware status
Client <-> Printer: Query/notify firmware update status
end group
@enduml
> On Sep 13, 2024, at 9:53 AM, Kennedy, Smith (Wireless & IPP Standards) via ipp <ipp at pwg.org> wrote:
>> Greetings,
>> (Sending again in plain text)
>> We agreed that I should post the slides we were using to model the scenarios and think about them and decide. Here's the slides:
>>https://ftp.pwg.org/pub/pwg/ipp/slides/IPP-Firmware-Update-Extensions-Registration-Options-20240912.pptx>>> Here's PlantUML for Scenario #1:
>> @startuml
>> title Firmware Update Scenario 1: Client Managed Firmware Update
> autonumber
> skinparam sequenceMessageAlign direction
>> participant Client
> participant Printer
> participant Repository
>> Client -> Repository: Firmware update available?
> Client <- Repository: Download firmware update
> |||
> Client -> Printer: Send firmware update to Printer
> Client -> Printer: Monitor firmware update progress
>> @enduml
>>> Here's PlantUML for Scenario #2:
>> @startuml
>> title Firmware Update Scenario 2: Autonomous Printer Firmware Self-Update
> autonumber
> skinparam sequenceMessageAlign direction
>> participant Client
> participant Printer
> participant Repository
>> Printer -> Repository: Firmware update available?
> Printer <- Repository: Firmware Self-update
>> @enduml
>>> Here's a longer PlantUML for Scenario #3, incorporating both Check-For-Firmware-Update and Update-Printer-Firmware but no scheduling:
>> @startuml
>> title Firmware Update Scenario 3: Triggered Self-Update
> autonumber
> skinparam sequenceMessageAlign direction
>> participant Client
> participant Printer
> participant Repository
>> group Client triggers Printer to check for firmware update
> Client -> Printer: Check for Firmware Update
> Printer -> Repository: Firmware update available?
> Printer <- Repository: Firmware update is available
> Client <- Printer: Firmware update is available
> end group
>>> group Client triggers Printer to self-update
> Client -> Printer: Update Firmware
> Printer -> Repository: Firmware Self-update
> Repository -> Printer: Firmware update
> Client --> Printer: Monitor firmware update progress
> Printer -> Printer: Update firmware
> Client --> Printer: Monitor firmware update progress
> Printer -> Printer: Reboot
> Client --> Printer: Monitor firmware update progress
> Printer -> Printer: Update complete
> end group
> @enduml
>> Feel free to post updates to the slides or tweaks to the PlantUML UML sequences.
>> Smith
>> /**
> Smith Kennedy
> HP Inc.
> */
>> _______________________________________________
> ipp mailing list
>ipp at pwg.org>https://www.pwg.org/mailman/listinfo/ipp>
________________________
Michael Sweet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pwg.org/pipermail/ipp/attachments/20240916/b6ae48cd/attachment.html>