[MFD] FaxIn gets a facelift

[MFD] FaxIn gets a facelift

[MFD] FaxIn gets a facelift

Ira McDonald blueroofmusic at gmail.com
Tue Nov 1 23:35:16 UTC 2011


Pete Zehler and I spent a couple of hours today on phone and LiveMeeting,
revising the whole FaxIn model.

FaxIn model:

- FaxIn is conceptually similar to Scan from a remote platen
  - we copied operations (with a few deletions) from FaxOut
  - we copied elements (JobTicket, Description, Processing, Status, etc.)
from Scan

FaxInJobTicket model:

- AvailableFaxInJobTicketEntry now has Id (for add/modify/delete table row
via Set)
- every AvailableFaxInJobTicketEntry must be searched for "best" match of
  when creating a job (i.e., strictly most matching elements, with no

FaxInJob model:

- every FaxInJob is owned/created by the System (*not* by the FaxInService)
  based on operations/signals and data received on an associated
- even PSTN uses an InputChannel on top of a FaxModem subunit,
  similar to a print InputChannel on top of an ordinary Interface subunit
- while Internet Fax uses an InputChannel on top of SMTP on top of Interface

FaxInService setup:

- Admin uses SystemControlService to Startup a FaxInService
- Admin configures DefaultFaxInJobTicket
  - Admin optionally configures AvailableFaxInJobTickets w/ FaxInMetrics
(subaddress, etc.)
- Admin does Enable/Resume on FaxInService

FaxInJob lifecycle:

0) Incoming connection arrives on FaxModem, SMTP, or other InputChannel
    - connection parameters are negotiated successfully

1) System sends (implicit?) CreateFaxInJob to FaxInService
    (specifying InputChannel for streaming?)
    - FaxInService assigns JobId

2) System sends (implicit?) AddFaxInDocument to FaxInService
    - sends image data by streaming or block transfer to FaxInService

3) System sends (implicit?) CloseFaxInJob to FaxInService
    - FaxInJob becomes eligible for scheduling
      (might already be streaming and printing for classic PSTN model)

4) FaxInService schedules FaxInJob
    - FaxInJob enters Processing state
      - images are transformed into specified output document format
      - this output document is sent to one or more destinations

5) FaxInService completes FaxInJob
    - FaxInJob enters a Completed state
      - Job metadata is written to the durable FaxLogUri promptly (for

6) FaxInJob "ages" out of the JobHistory
    - but remains in the durable log


- Ira

Ira McDonald (Musician / Software Architect)
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Chair - TCG Embedded Systems Hardcopy SG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music/High North Inc
mailto:blueroofmusic at gmail.com
Winter  579 Park Place  Saline, MI  48176  734-944-0094
Summer  PO Box 221  Grand Marais, MI 49839  906-494-2434

This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pwg.org/pipermail/mfd/attachments/20111101/01bbcb95/attachment-0001.html>

More information about the mfd mailing list