eclipse-uprotocol / up-spec

uProtocol Specifications
Apache License 2.0
32 stars 25 forks source link

Notification of Publishers for "pass-by-reference" message completion including File Streaming #131

Closed urcorcoran closed 4 months ago

urcorcoran commented 4 months ago

When content is passed by value, there is no need for the publisher to restrict changes to the source message(s) transferred.

File transfers are initiated via a "pass by reference" scenario where link(s) to the file(s) to be transferred are included in a publish message for on-device processing.
The publisher then needs to keep the files intact until such time as the transfer has completed. Transfers can be delayed by network availability, QoS conditions, and by vehicle ignition cycles.
The current uProtocol publishing logic is a "fire and forget" approach, which works well with pass-by-value transfers.

For transfers where the content must remain stable for what could be an extended duration, with file transfers as the extreme example, a mechanism for notifying the publisher when a transfer has completed and, ideally, including transfer-specific status to convey success/failure details is an essential addition.

As uTransport services live "within" uProtocol instances, they lack their own protobufs. They serve to deliver content to uEs when they have the necessary delivery details, but lack the ability to define their own methods and messages for external uEs to leverage.

uTransport services need to be expressly aware of the message types they will be processing, and these same message types are known to the publishers and subscribers. In the case of File Transfers, once a transfer has completed (.e.g) a publish message would need to be provided to active subscribers, with the message including the destination details for the delivered files and potentially file delivery status. Using an equivalent message and delivering it to the publishing uE as a Notification message would enable the publisher to be aware that the associated transfer had been completed, as well as conveying the success/failure of individual file transfers, enabling the publishing uE to then take whatever actions are needed with the files that had been sent.

stevenhartley commented 4 months ago

Don't know what you want us to do with this ticket....

urcorcoran commented 4 months ago

Hi Steven,

Goal was to request a path forward to support the notification logic for File Streamer. Per this week’s discussion (and I believe you had noted a similar need earlier) the use of a protobuf for file streamer to accommodate notification needs “should” cover this. If so, I can refine/withdraw the issue and refine the details behind the earlier pull request to reflect this.

Regards,

Rob

From: Steven Hartley @.> Sent: Wednesday, May 15, 2024 8:19 PM To: eclipse-uprotocol/up-spec @.> Cc: Robert Corcoran @.>; Author @.> Subject: [EXTERNAL] Re: [eclipse-uprotocol/up-spec] Notification of Publishers for "pass-by-reference" message completion including File Streaming (Issue #131)

ATTENTION: This email originated from outside of GM.

Don't know what you want us to do with this ticket....

— Reply to this email directly, view it on GitHubhttps://github.com/eclipse-uprotocol/up-spec/issues/131#issuecomment-2113686901, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BDEH2X6CQDKC6RESE5NTSBLZCP3PBAVCNFSM6AAAAABHFWLQJOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJTGY4DMOJQGE. You are receiving this because you authored the thread.Message ID: @.***>

Nothing in this message is intended to constitute an electronic signature unless a specific statement to the contrary is included in this message.

Confidentiality Note: This message is intended only for the person or entity to which it is addressed. It may contain confidential and/or privileged material. Any review, transmission, dissemination or other use, or taking of any action in reliance upon this message by persons or entities other than the intended recipient is prohibited and may be unlawful. If you received this message in error, please contact the sender and delete it from your computer.

stevenhartley commented 4 months ago

@urcorcoran please do not reply to the email but comment in github (otherwise the whole message is in the github issues). The use cases called out during the meeting are for file transfer server and not file attachment through the streamer. I recommend that we define a uService for file transfer with a proto and then add APIs for this. The API and implementation does not need to be in Eclipse or COVESA.