[IPP] Updated IPP Firmware Update Extensions figure slides posted (plain text version)

[IPP] Updated IPP Firmware Update Extensions figure slides posted (plain text version)

Kennedy, Smith (Wireless & IPP Standards) smith.kennedy at hp.com
Mon Sep 16 16:19:22 UTC 2024


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>


More information about the ipp mailing list