スキャン

Download Report

Transcript スキャン

UPnP Scanner Architecture
Junichi Ota
Ricoh Corporation
Office Solution and
Development Group
アジェンダ

ユーザ使用例

アーキテクチャ

シーケンス ダイアグラ
ム



デバイス


サービス



スキャン
フィーダ
外部アクティビティ
簡単な1ページスキャン

Push型
Pull型
フィーダからの複数
ページスキャン
ユーザ使用例

スキャン to コントロール ポイント



イメージをスキャンし、コントロール ポイントに送る (プッ
シュ型)
イメージをスキャンし、コントロール ポイントが取り出す
(プル型)
スキャン to プリント

イメージをスキャンし、プリンタのURLに送って印刷する


JPEGイメージをXHTML-Print フォーマットに変換後、転送
スキャン to URL

イメージをスキャンし、指定されたURLに送る

HTTP/POSTで転送する
UPnP v1 スキャナ アーキテクチャ
スキャナ コントローラ
ベンダー独自API
スキャン
フィーダ
外部アクティビティ
プレゼンテーション
HTML ドキュメント
サービス コントロール
プロトコル ドキュメント
デバイス ディスクリプ
ション ドキュメント
UPnP デバイス アーキテクチャ
ディスクリプション
コントロール
ディスカバリ
イベンティング
アドレッシング
プレゼンテーション
V1
ホーム
ネットワーク
スキャナ デバイス

UPnP アーキテクチャ v1.0 ベース


“urn:schemas-upnp-org:device:Scanner:1 “
3種類のサービスの組み合わせ

スキャン サービス (必須)


フィーダ サービス (オプション)


スキャナを操作し、イメージをスキャンする
ドキュメント フィーダを制御する
外部アクティビティ サービス (オプション)


ユーザに起因するイベントの自動通知設定と、それに関連付
けたジョブの登録
例) 「スキャン」ボタンを押すことにより、スキャンを開始する
スキャナ デバイス ディスクリプション
<?xml version="1.0"?>
<serviceList>
<root xmlns="urn:schemas-upnp-org:device-1-0">
スキャン サービス
<service>
<specVersion>
<serviceType>urn:schemas-upnp-org:service:Scan:1</serviceType>
<major>1</major>
<serviceId>urn:upnp-org:serviceId:Scan:0.92</serviceId>
デバイス情報
<minor>0</minor>
<SCPDURL>URL to service description</SCPDURL>
</specVersion>
<controlURL>URL for control</controlURL>
<URLBase> base URL for all relative URLs </URLBase>
<device>
<eventSubURL>URL for eventing</eventSubURL>
</service>
<deviceType>urn:schemas-upnp-org:device:Scanner:1</deviceType>
フィーダ サービス
<service>
<friendlyName>short user-friendly title</friendlyName>
<serviceType>urn:schemas-upnp-org:service:Feeder:1</serviceType>
<manufacturer>manufacturer name</manufacturer>
<serviceId>urn:upnp-org:serviceId:Feeder:0.92</serviceId>
<manufacturerURL>URL to manufacturer site</manufacturerURL>
<SCPDURL>URL to service description</SCPDURL>
<modelDescription>long user-friendly title</modelDescription>
<controlURL>URL for control</controlURL>
<modelName>model name</modelName>
<eventSubURL>URL for eventing</eventSubURL>
<modelNumber>model number</modelNumber>
</service>
<modelURL>URL to model site</modelURL>
<service>
外部アクティビティ サービス
<serialNumber>manufacturer's serial number</serialNumber>
<serviceType>urn:schemas-upnp-org:service:ExternalActivity:1</serviceType>
<UDN>uuid:UUID</UDN>
<serviceId>urn:upnp-org:serviceId:ExternalActivity:0.91</serviceId>
<UPC>Universal Product Code</UPC>
<SCPDURL>URL to service description</SCPDURL>
<iconList>
<controlURL>URL for control</controlURL>
<icon>
<eventSubURL>URL for eventing</eventSubURL>
<mimetype>image/format</mimetype>
<width>horizontal pixels</width>
<height>vertical pixels</height>
<depth>color depth</depth>
<url>URL to icon</url>
</service>
</serviceList>
<presentationURL>URL for presentation</presentationURL>
</device>
</root>
</icon>
</iconList>
プレゼンテーションWebページURL
デバイス アイコン
スキャン サービス


サービス名 “Scan:1”
SOAP アクション









StartScan
Start
Stop
Abort
SetConfiguration
GetConfiguration
GetSideInformation
GetDestination
GetState
Abort() || Timeout
Idle
Timeout
(Abort() ||
Timeout) &&
Intervention
Required
Reserve StartScan() &&
!Ready
Reserved
Buffer Empty
Abort()
Erred
Timeout
StartScan()
&& Ready
NotReady
FailureCode !=
"No Error"
Ready
UseFeeder && !Feeder.MorePages ||
Timeout
Pending
(UseFeeder && Feeder.MorePages
&& SideCount != 0)
|| (!UseFeeder && SideCount != 0)
Finishing
Page Complete &&
((UseFeeder &&
!Feeder.MorePages)
|| SideCount == 0)
Stop()
Timeout
Scanning
Timeout
スキャン サービス

状態変数 (自動通知)

State (状態)


Scanned side number
ScanLength


No Error/Jammed/Timeout
SideNumber


Idle/Scanning/Pending
FailureCode



Scanned line number
DestinationID

Notice that the destination
has changed
状態変数














Resolution
ImageFormat
ImageType
BitDepth
ColorType
CompressionFactor
ColorSpace
UseFeeder
HeightLimit
WidthLimit
XValueLimit
YValueLimit
Destination
JobID
…..etc.
フィーダ サービス


サービス名
“Feeder:1”
SOAP アクション






Load
Eject
Reset
GetState
SetFeederMode
GetFeederMode

状態変数


MorePages (自動通知)
FeederMode









Simplex/Duplex
StateFailureCode
SheetWidth
SheetHeight
InputJustification
EntireDocument
Model
JobID
Timeout
外部アクティビティ サービス

サービス名
 状態変数
“ExternalActivity:1”  Activity

SOAPアクション



Register
Renew
Unregister

AvailableRegistrations



DisplayString
DisplayStringSize




(読み取りアクセスのみ)
(読み取りアクセスのみ)
ButtonName
Duration
RegistrationID
シーケンス ダイアグラム (1)
簡単な 1 ページ スキャン (プッシュ型)
イベントの自動通知登録
アクション: StartScan()
Destination=クライアントURL
画像データ: HTTP/POST
イベント: ScanLength
イベント: ScanLength
シーケンス ダイアグラム (2)
簡単な 1 ページ スキャン (プル型)
イベントの自動通知登録
アクション: StartScan()
Destination=“pull-absolute”
イベント: DestinationID
アクション: GetDestination()
画像データ: HTTP/GET
イベント: ScanLength
イベント: ScanLength
シーケンス ダイアグラム (3)
フィーダからの複数ページスキャン (プル型)
イベントの自動通知登録
アクション: StartScan()
UseFeeder=TRUE
Destination=“pull-absolute”
イベント: DestinationID
アクション: GetDestination()
画像データ: HTTP/GET
イベント: Feeder:MorePages
2ページ目スキャン
イベント: DestinationID
アクション: GetDestination()
画像データ: HTTP/GET
1ページ目スキャン
For the interconnected lifestyle