JP5014095B2 - 複合機 - Google Patents
複合機 Download PDFInfo
- Publication number
- JP5014095B2 JP5014095B2 JP2007311605A JP2007311605A JP5014095B2 JP 5014095 B2 JP5014095 B2 JP 5014095B2 JP 2007311605 A JP2007311605 A JP 2007311605A JP 2007311605 A JP2007311605 A JP 2007311605A JP 5014095 B2 JP5014095 B2 JP 5014095B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- event
- thread
- wsa
- mfp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Information Transfer Between Computers (AREA)
Description
1.1 クライアント
1.2 ネットワーク
1.3 デバイスファシリティマネジャ
1.4 WSDマネジャ
1.4.1 一般的API
1.4.2 一般的API実現手段
1.5 ウェブサービスアプリケーション
1.5.1 アブストラクトAPI
1.5.2 アブストラクトAPI実現手段
2.0 ウェブサービスアプリケーションのマルチスレッド手段
2.1 外部リクエスト処理スレッド
2.2 内部通信スレッド
2.3 リクエスト処理スレッド
2.4 SOAPリクエストのマルチスレッド処理フロー
2.5 SOAPリクエストのマルチスレッド処理例
2.6 ウェブサービスアプリケーションのマルチスレッド手段の利点
2.7 スレッド数
3.0 ファーストリクエスト及びスローリクエストを別様に処理すること
3.1 ファーストリクエスト及びスローリクエストを処理するフローチャート
3.1.1 ファーストリクエスト処理スレッド
3.1.2 スローリクエスト処理スレッド
3.2 ファーストリクエスト及びスローリクエストを別様に処理する利点
4.0 WS-Eventingのウェブサービスアプリケーションへの統合
4.1 イベンティングシーケンス図
4.1.1 前処理
4.1.2 後処理
4.2 マルチスレッドイベント処理フローチャート
4.2.1 ファーストリクエスト処理スレッド
4.2.2 イベント処理スレッド
4.3 WS-Eventingをウェブサービスアプリケーションに統合する利点
5.0 実現手段
以下、上記の各項目を説明する。
図1は、SOAPリクエストを処理する本発明の一実施例によるアーキテクチャ例100を示すブロック図である。アーキテクチャ100は、クライアント102、アドミニストレータ104、デバイスファシリティマネジャ(DFM)106、MFPで動作する複数のウェブサービスアプリケーション(WSA)108を含む。
クライアント102は或るプロセスに関連するアプリケーションであり、それはMFPにより提供される1つ以上のサービスを要求する。クライアント102は典型的にはオペレーティングシステムに関連するアプリケーションであり、それは初期要求プロセスをサポートする。クライアント102の目的は、プラットフォーム固有のプロシジャコールを、リクエストプロセスからSOAPリクエストに変換することであり、SOAPリクエストはSOAPを「理解」するアプリケーションにより処理可能である。
クライアント102及びMFP間のSOAP通信は、(不図示の)ネットワークを介してなされてもよい。ネットワークは如何なる媒体で又は如何なる手段で実現されてもよく、ネットワーク中の様々なノード間でデータ通信機能をもたらす。そのようなネットワークの具体例は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、イーサーネット、インターネット、1つ以上の地上、衛星又は無線リンク等のネットワークを含むがこれらに限定されない。ネットワークはこれら説明済みのネットワークの組み合わせを含んでもよい。ネットワークは、トランスミッションコントロールプロトコル(TCP)、ユーザデータグラムプロトコル(UDP)及び/又はインターネットプロトコル(IP)に従ってデータを伝送してもよい。
ディスカバリリクエスト、ロギング情報のリクエスト及びコンフィギュレーション命令のリクエストを受け入れることで、DFM106はMFPの代理を務める。一実施例によれば、DFM106は複数のウェブサービス仕様の実現手段に関するリポジトリとして機能してもよい。従ってDFM106は共有ライブラリルーチンを含み、各ルーチンは1つ以上のウェブサービス仕様(例えば、WSセキュリティ、WSメタデータイクスチェンジ)で規定される1つ以上の機能を実現する。こうして、複数のウェブサービス仕様は、一旦実現されると、MFPで動作する複数のウェブサービスアプリケーション(即ち、WSA108)どうしで共有される。その結果、ウェブサービスアプリケーションの開発者は、DFM106に実装される如何なる仕様についても多くの詳細を知る必要はなく、それらの仕様を当てにして使用することができる。DFM106に備わるウェブサービス仕様は、限定ではないが、WSディスカバリ112、WSトランスファ114、WS-MeX(即ち、WS-MetadataExchange)116及びWSセキュリティ118を含んでもよい。
一実施例によれば、DFM106はWSDマネジャ110も有する。WSDマネジャ110は、ロギング情報、ステータスの問い合わせ及び(アドミニストレータ104からのような)MFPの外部管理についてのセントラルポイント(central point)を提供する。アドミニストレータ104は或るアプリケーションであり、そのアプリケーションはWSDマネジャ110を介してMFPに関する情報を検索するように構成される。例えば、WSDマネジャ110は、全てのWSA108から及び様々なプラットフォーム(WSA108が動作しているプラットフォーム)から内部に集まるロギング情報全てを集めてもよい。アドミニストレータはWSDマネジャ110を用いてWSA108を構築してもよいし、更新してもよいし、或いはディセーブルにしてもよい。
一実施例によれば、WSDマネジャ110はMFPに関する一般情報(IPアドレス及びMFPのモデル番号等)を一般的API(general API)120を介して検索する。一般的API120は或るインターフェースを規定し、そのインターフェースにより、DFM106はMFPの各プラットフォームに固有の情報を受信する。このようなわけでDFM開発者は、特定のプラットフォームの詳細を知る必要はなく、あるMFPについてその開発者が構築しようとするDFMの詳細だけを知っていればよい(図1における波線は、特定のAPIから適切なAPI手段へのAPI呼出(コール)である。)。
一般的API120がDFM106で規定されていた場合、特定のプラットフォームについて一般的API120の実現手段が規定される必要がある。例えば、一般的API実現手段132が、従来のプラットフォーム130上で一般的API120として規定される。同様に、一般的API実現手段142が、リナックスベースのプラットフォーム140上で一般的API120として規定される。対応する一般的API実現手段は、装置固有のリクエストで特定され且つMFPで実現される機能を決める。DFM106の開発者がその実現手段を決定してもよいし、或いはターゲットプラットフォームの知識を有するそれ以外の誰かが実現手段を決めてもよい。
ウェブサービスアプリケーション(WSA)108は或るモジュールであり、そのモジュールは、1つ以上のウェブサービスを提供し、DFM106で用意されるプロトコルのようなウェブサービスプロトコル及び技術を当てにしている。WSA108がSOAPリクエストを分析するロジックを含んでいなかったならば、WSA108はSOAPリクエストを分析するために別個のSOAPモジュール(不図示)を当てにしてもよい。上述したように、別個のSOAPモジュールが、DFM106によって用意され、全てのWSA108の中で共有されてもよい。
WSA108はアブストラクトAPI(例えば、アブストラクトAPI324)を含んでもよく、そのAPIを介して装置固有のコールが生成される。アブストラクトAPI又は抽象的API(abstract API)は或るインターフェースを規定し、そのインターフェースによって、関連するWSA108はMFPの1つ以上の機能を起動する。従ってウェブサービスアプリケーションの開発者は、対象とするプラットフォームに潜む複雑な知識を知る必要はなく、その開発者が目的とする新たに提供するサービスだけ知っていればよい。
アブストラクトAPIがウェブサービスアプリケーション開発者により規定されている場合、ある特定のプラットフォームについてそのアブストラクトAPIの実現手段が規定される必要がある。例えば、VxWorksプラットフォーム150上でアブストラクトAPI124に関するアブストラクトAPI実現手段154が規定される。関連するアブストラクトAPI実現手段は、プラットフォーム固有のリクエストで指定され且つMFPに実装されている機能を規定する。ウェブサービスアプリケーションの開発者がその実現手段を規定してもよいし、或いはターゲットプラットフォームの知識を有するそれ以外の誰かが実現手段を規定してもよい。
MFPでWSAを実現するための1つの目標は、複数のクライアントからの複数のリクエストを仮想的に同時に処理することである。これを可能にする1つの方法は、複数のスレッドを引き起こして実行することで、少なくとも1つの特定の機能を実行することに各自専念させることである。
そのようなスレッドの1つは外部リクエスト処理(EPR)スレッド204であり、LAN、WAN又はインターネットのようなネットワークから来るSOAPリクエストを受信する責務を負う。EPRスレッド204はSOAPリクエストを検査し、そのSOAPリクエストを他のどのスレッドが更に処理すべきかを確認する。この検査に基づいて、EPRスレッドは、関連WSAで同時に実行する1つ以上の他のスレッドにSOAPリクエストを送る。
他のスレッドは内部通信(IC: Internal Communications)スレッド206であり、関連WSAと異なるMFPの他のコンポーネント(要素)と通信する責務を負う。そのようなコンポーネントはDFM及び特定のプラットフォームを含んでもよい。一実施例では、関連WSAと異なるMFPの各コンポーネントについて別個のスレッドが作成され、関連WSAはSOAPリクエストの処理中にそのMFPと通信してもよい。言い換えれば、複数のICスレッドがあってよいが、説明の便宜上、唯1つのスレッド206しか示されていない。
図2に示されている他のスレッドはリクエスト処理(RP)スレッド208であり、関連WSAのビジネスロジックに従ってSOAPリクエストを処理する責務を負う。例えば、関連WSAは印刷サービスを提供しているかもしれない。印刷ジョブを実行するリクエストを受信すると、RPスレッド208は、印刷ジョブのサイズ、プリンタの利用可能性、他の処理途中の印刷ジョブと比較した場合の印刷ジョブの優先状態を確認する。RPスレッド208は印刷ジョブの詳細をプリンタに教えてもよい。WSAのビジネスロジックの他の例は、SOAPリクエストをインターナルリクエストに変換することであり、インターナルリクエストは下位レベル(即ち、ターゲットプラットフォーム)に転送可能であり且つ理解可能である。RPスレッド208はセキュリティ機能を実行してもよい。例えば、(SOAPリクエストを送信した)クライアントが、そのSOAPリクエストを実行するのにクライアントが必要とする特定のリソースへのアクセス権を持っているか否かを確認してもよい。
図3はWSAの中で複数のスレッドが複数のリクエストをどのように処理するかを示す本発明の一実施例によるフローチャートを示す。ステップ302では、少なくとも3つのスレッド(上述したようなERPスレッド、RPスレッド及びICスレッド)が作成される。
クライアントアプリケーションはSOAPリクエストをMFPのソケットに送信し、そこではWSAのERPスレッドがコネクションをモニタしている。WSAは印刷サービスを提供し、SOAPリクエストは、WSAがリクエストを速やかに処理できる限り印刷ジョブが送られることを示す。SOAPリクエストはイベント予約リクエストを含んでもよいし、その後に続いてもよいし、イベント予約リクエストは、印刷ジョブが完了したことの通知を受けることをクライアントアプリケーションが希望していることを示す。ERPは、リクエストを受信し、RPスレッドがリクエストを処理すべきことを確認する。RPスレッドはSOAPリクエストを受信し、印刷ジョブキュー及び関連するプリンタの状態を確認することでWSAがそのリクエストを速やかに処理できるか否かをRPスレッドが確認する。WSAが印刷ジョブを速やかに処理できることをRPスレッドが確認すると、RPスレッドはそれを指示しているクライアントアプリケーションにレスポンスを返す。
本発明の実施例により、いくつもの利点がもたらされる。例えば、特定のスレッドは少数の機能についてしか責務を負わないので、WSAの設計はいっそうモジュール式になり、WSAはプログラムするのに容易になる。例えば、MFPの他のコンポーネントと通信することに関する如何なる知識も持たずに、開発者はRPスレッドに集中してよい。
WSAを実現するのに実際に使用されるスレッド数は、上述のスレッド数より多くてもよい。より多くのスレッドを伴う場合でさえ、複数スレッドを実現する目標の1つはそのまま残り、効率を改善し、MFPの他のコンポーネントと非同期に動作することを可能にする。WSAを実現するのに使用されてよい他のスレッドは、以下のセクションで説明される。しかしながら、過剰に多くのスレッドが作成された場合、特に複数のスレッドがメモリのような同じリソースにアクセスできる場合、効果が減殺されるかもしれない。過剰に多くのスレッドは、デッドロック、ロジックの複雑さが増えること、バグの可能性を増やすこと、リソースコストの高いコンテキストスイッチを招き、そのスイッチはスレッド間で切り替えを行う場合に必要になるかもしれない。MFPでいくつのスレッドが動作するかを決める際に適用されてよい1つの原理は、排他的なリソース各々へのアクセスを処理することに専念する高々1つのスレッドを持つことである。
WSAが多数のSOAPリクエストを比較的短期期間に受信すると、好ましくない状態が生じるおそれがある。WSAが3つの大きな印刷ジョブリクエストを受信し、サイズがかなり小さく且つ処理に多くの時間を要しない2つのイベント予約リクエストが続いたとする。SOAPリクエストが順番に処理される場合、その2つの予約リクエストは、3つの大きな印刷ジョブが印刷を完了するまで待たなければならない。最初の印刷ジョブが実行にかなり多くの時間を費やしたとすると、残りの4つのリクエストは(それまでにWSAがそれらを十分に処理せずに)時間切れになってしまうおそれがある。従って本発明の一実施例では、異なるタイプのクライアントリクエストは別個に処理される。
図4A−Bは、ファースト及びスローリクエストがどのように別々に処理されるかを示す本発明の一実施例によるフローチャートである。ステップ402では、少なくとも3つのリクエスト(外部リクエスト処理(ERP)スレッド、ファーストリクエスト処理(短時間RP)スレッド、スローリクエスト処理(長時間RP)スレッド)が作成される。ステップ404では、例えば「マスタ(master)」リスニングソケットをオープンにすることでネットワークが初期化され、そのソケットを介して関連WSAがSOAPリクエストを受信する。マスタソケットの特性を受け継いだ第2ソケットが作成される。一旦リクエストが受け入れられると、リクエストに関連する全てのデータを受け入れるために第2ソケットが使用される。
ステップ440では、バッファされていたSOAPリクエストをファーストリクエストキューから取り出す。ファーストRPスレッドがそのキューの中で次の特定のリクエストを選択する方法はいくつもある。例えば、処理する次のファーストリクエストは、FIFOやLIFOに基づいて決定されてもよいし、リクエストがWSAで受信された順序によらない他の何らかの優先方法に基づいて決定されてもよい。
ステップ450では、スローRPスレッドは、スローリクエストのキュー内の最初のリクエストに必要で利用可能なリソースを点検する。例えば、キューの中で処理されるべき次のスローリクエストが印刷ジョブであり、今のところプリンタは別の印刷ジョブの書類を印刷していたとする。従ってプリンタは利用可能でなく、最初のスローリクエストはその印刷ジョブが終わるまで待たなければならない。リソースが利用可能でなかった場合、スローRPスレッドはリソースの利用可能性を周期的に点検してもよい。次のリクエストが利用できないリソースを待機している場合、スローRPスレッドはキューの中の別のリソースを処理し始めてもよい。例えば、キュー内の全てのスローリクエストが同じリソースの独占的な利用を要する場合、それらのスローリクエストは順番に処理される(例えば、リクエストが受信された順序で処理される。)。しかしながら、リソースA及びリソースBのように異なるリソースをスローリクエスト(複数)が必要としていた場合で、リソースAは利用不可能であるが、リソースBは利用可能であった場合、リソースBの独占的利用を要するスローリクエストは、そのスローリクエストがたとえ後に待ち並んでいたとしても最初に処理されてよい。
ファースト及びスローリクエストを別個に処理することにより多くの利点が得られる。利点の1つは、1つ以上の様々なリソースへのアクセスを要するリクエストの処理をシリアル化するようにWSAを動作させることである。別の利点は、ファーストリクエストの処理の促進を犠牲にせずに、WSAがスローリクエストを処理することである。別の利点は、WSAとのクライアントのコネクションは、処理されるリクエストをクライアントが待機している間に時間切れにならずに済むことである。要するに、異なるタイプのリクエストを別様に処理することは、MFPで動作するWSAの効率及び機能的スループットを最大化する。
MFPのWSAに複数のウェブサービス仕様を用意する1つの方法は、MFPのDFMのような、MFP内の単独の場所にウェブサービス仕様を実現することである。その場合、ウェブサービスは、いったん実装されると、MFPの全てのWSAの中で共有される。しかしながらDFM内にWSイベンティング(WS-Eventing)を実装することは、いくつもの理由で問題がある(以下のWSイベンティングに関するものは、WSノーティフィケーション(WS-Notification)のような他のイベンティング仕様にも適用可能である。従ってMFPはWSイベンティングの代わりにWSノーティフィケーションを実現してもよい。)。
図6はイベント予約リクエストがWSAでどのように処理されるかの詳細を示す本発明の一実施例によるシーケンス図である。ステップ1でクライアント502はイベント予約リクエストを生成し、そのリクエストをWSA504に送信する。
ステップ4でWSA504は、EM506がイベント予約応答を構築する前にWSA固有データに前処理を施す。例えば、WSA504がスキャニングサービスを提供していた場合、クライアント502からのイベント予約リクエストは、スキャンされた書類を送付する宛先を識別している。従ってWSA504は、WSA固有のデータで指定されている宛先を管理する宛先マネジャを含んでもよい。宛先が有効でないことを(例えば、宛先マネジャを用いて)WSA504が確認した場合、WSA504は(ステップ5で)フォルトメッセージをクライアント502に直接的に送信し、クライアントにエラーを通知し、以後イベント予約リクエストの処理を停止してもよい。WSA504及びEM506の間で追加的な通信は一切必要なく、これはWSAにWSイベンティングを実装することによる利点の1つである。有効でない宛先の具体例は、イベント予約リクエストの宛先数の閾値を越えた場合である。
ステップ7では、EM506は後処理に備えてWSAにデータを送信し、以後WSA504はそのデータに後処理を施す(ステップ8)。例えばスキャニングの例の場合、WSA504は、予約リクエストで指定されている宛先を、(例えば、宛先マネジャを利用して)将来の利用に備えてローカルメモリ中の宛先リストに加えて保存してもよい。
ステップ9ではデバイス508がイベントを生成し、そのイベントの通知をアブストラクトレイヤ510に送信する。ステップ10では、アブストラクトレイヤ510がイベント通知をWSA504に転送し、WSAはWSA固有のノーティフィケーションボディを作成し、それをEM506に伝送する(ステップ11)。一実施例では、WSA504はイベント処理スレッド(図7に関連して詳細に説明される)を有し、そのようなイベント通知をアブストラクトレイヤ510から受信し、イベント通知をイベントシンクに配る。このように、イベント予約リクエストを処理するタスクは、生成したイベントを処理するタスク及びイベント通知を配るタスクから分離されてよい。以後のステップは1つ以上のイベント処理スレッドによって代替的に実行されてもよい。
上述したように、SOAPリクエスト−特にイベント予約リクエスト−を処理するために複数のスレッドが使用されてよい。図7はイベント予約リクエストを処理するマルチスレッドWSAを示す本発明の一実施例によるフローチャートである。このフローチャートは、SOAPリクエストを効率的に処理することに関して説明されたスレッドに関連している。そのようなスレッドは、外部リクエスト処理(ERP)スレッド、スローリクエスト処理(RP)スレッド及びファーストRPスレッドを含む。(デバイスから抽象APIを経てWSAへの)イベント生成及び(WSAからイベントマネジャを経てクライアントへの)イベント通知の責務を担う新たなスレッド、イベント処理スレッドが含まれている。
ステップ704ではファーストRPスレッドが、SOAPリクエストをファーストリクエストキューから取り出し、リクエストのタイプをステップ706で確認する。SOAPリクエストがイベント予約リクエストでなかったならば、ステップ708にて例えば関連するWSAの抽象APIを呼び出すこと、そのリクエストをWSA又はMFP(例えば、DFM)の別モジュールに転送すること等により、ファーストRPスレッドはリクエストを適切に処理する。ステップ708での処理の結果、ファーストRPスレッドは(リクエストで必要ならば)レスポンスを作成し(ステップ710)、そのレスポンスを適切なクライアントに送る(ステップ712)。
ステップ722では、イベント処理スレッドがWSAからイベントアクションリストを登録する。このステップは、WSAが用意できる全ての可能なイベントをイベントマネジャに通知することをWSAに許可する。イベントマネジャはこのリストを用いて予約リクエストの有効性を確認する。特定の予約リクエストが、WSAが提供していないイベントについてのものであった場合、イベントマネジャはそのイベント予約リクエストを拒否するかもしれない。従って、イベントマネジャはそのモジュール性を発揮するよう設計されるが、イベントマネジャは、関連するWSAが如何なるイベントをサポートするかを「知っておく」べきである。
WSAにWSイベントティングを統合することは、MFPのDFMにWSイベンティングを実装するような他の可能性のある方法を上回る多くの利点をもたらす。1つの利点は、大量のデータがアプリケーション境界を越えて伝送されなくてよいことである。別の利点は、アプリケーション間の通信エラーのおそれが、少なくともWSイベンティングコンテキストにおいては無くなることである。また、WSAにWSイベンティングを統合することで、イベント予約リクエスト及びレスポンスからWSA固有データを取り出すことや、WSA固有データをイベントマネジャに渡すことは、WSAにとって比較的平易になる。例えば、イベントマネジャが予約を一掃するよう指示されたスレッドを作成する代わりに、WSAはWSAがアイドルの場合にイベントマネジャの機能を呼び出して期限切れの予約を一掃してもよい。
上記のアプローチは如何なるタイプのコンピュータプラットフォームでもアーキテクチャでも実現されてよい。図8は本発明の実施例で使用されるコンピュータシステム800のブロック図を示す。コンピュータシステム800は、情報を通信するためのバス802又は他の通信手段と、バス802に結合された情報を処理するプロセッサ804とを有する。コンピュータシステム800は、ランダムアクセスメモリ(RAM)又は他のダイナミックストレージデバイスのようなバス802に結合されたメインメモリ806を有し、メインメモリはプロセッサ804で実行される命令や情報を格納する。メインメモリ806は、プロセッサ804で実行される命令の実行中に、一時的な変数又は他の中間的な情報を格納するのに使用されてもよい。コンピュータシステム800は、プロセッサ804のための命令や静的な情報を格納する、バス802に結合されたリードオンリメモリ(ROM)808又は他のスタティックストレージデバイスを更に含む。磁気ディスク又は他の光ディスクのようなストレージデバイス810は、情報及び命令を格納するために用意されてバス802に結合される。
本願は2006年12月に出願された“IMPLEMENTING A WEB SERVICE APPLICATION ON A MULTI-FUNCTIONAL PERIPHERAL WITH MULTIPLE THREADS”と題する米国出願(代理人管理番号49986-0603)に関連し、その全内容が本願のリファレンスに組み入れられる。
102 クライアント
104 アドミニストレータ
106 デバイスファシリティマネジャ
108 ウェブサービスアプリケーション
110 WSDマネジャ
112 WSディスカバリ
114 WSトランスファ
116 WSメタデータイクスチェンジ
118 WSセキュリティ
120 一般的API
122 WSイベンティング
124 アブストラクトAPI
130 従来のプラットフォーム
132,142,152 一般的API手段
134,144,154 アブストラクトAPI手段
140 リナックスベースのプラットフォーム
150 VxWorksベースのプラットフォーム
502 クライアント
504 ウェブサービスアプリケーション
506 イベントマネジャ
508 デバイス
510 WSA抽象レイヤ
800 コンピュータシステム
802 バス
804 プロセッサ
806 メインメモリ
808 リードオンリメモリ
810 ストレージデバイス
812 ディスプレイ
814 入力装置
816 カーソル制御部
818 通信インターフェース
820 ネットワークリンク
822 ローカルネットワーク
824 ホスト
826 インターネットサービスプロバイダ
828 インターネット
830 サーバー
Claims (11)
- 複数のイベント予約リクエストを処理し、複数のサービスアプリケーションを有する複合機(MFP)であって、各サービスアプリケーションは少なくとも1つのサービスを提供し、当該MFPは、
複数のサービスアプリケーションの中の或るサービスアプリケーションにて、イベントに予約するためのシンプルオブジェクトアクセスプロトコル(SOAP)リクエストを、クライアントアプリケーションから受信すること、及び
通知メッセージをイベントシンクに送信すること、
を実行するよう形成され、前記SOAPリクエストはイベント予約リクエストであり、
前記サービスアプリケーションはイベントマネジャを含み、該イベントマネジャは(a)前記サービスアプリケーションのコンポーネントであり且つ(b)イベンティング仕様に従い、
前記サービスアプリケーションは、イベントマネジャの機能を他の機能に加えて単独プロセスとして実行し、
前記イベントマネジャが、前記SOAPリクエストで指定されている少なくともイベント及びイベントシンクを特定する識別情報を保持することを引き起こし、
前記イベントマネジャが、イベントが生じたことを示す通知データを前記MFPのプラットフォームから受信することを引き起こし、
前記イベントマネジャが、前記通知データを前記識別情報と比較することを引き起こし、
該比較に基づいて、前記イベントマネジャが、前記クライアントアプリケーションに対する通知メッセージを作成することを引き起こし、
前記サーバーアプリケーションが、第1スレッド及び第2スレッドを含み、該第1スレッドは、第1タイプのリクエストを処理することに割り当てられ、前記第1タイプのリクエストを処理するのに要する時間は、前記クライアントアプリケーションにタイムアウトを引き起こさせる程度に充分長く、前記第2スレッドは、第2タイプのリクエストを処理することに割り当てられ、前記第2タイプのリクエストを処理するのに要する時間は、前記クライアントアプリケーションにタイムアウトを引き起こさせる程には長くなく、
前記SOAPリクエストは前記第2タイプであり、
当該MFPは、
前記SOAPリクエストが前記イベント予約リクエストであることを確認することを前記第2スレッドが引き起こし、
前記イベント予約リクエストの処理の開始を前記第2スレッドが引き起こし、
前記イベント予約リクエストの処理に基づいて、前記イベントマネジャが、予約レスポンスメッセージを前記クライアントアプリケーションに返すことを引き起こす、複合機。 - 前記イベンティング仕様が、WSイベンティング及びWSノーティフィケーションの少なくとも一方である請求項1記載の複合機。
- 前記複数のサービスアプリケーションの内の1つが印刷プロセスを含み、該印刷プロセスは、印刷データを処理し、該印刷データに反映されている印刷形式の電子書類が生成されることを引き起こすようにした請求項1記載の複合機。
- デバイスファシリティマネジャ(DFM)が、当該MFPに関連付けられ且つクライアントアプリケーションからのデバイスメタデータを処理し、当該MFPで用意されているサービスを捜し、
前記DFMは1つ以上のウェブサービスプロトコルに従う
ようにした請求項1記載の複合機。 - 前記DFMが、前記複数のサービスアプリケーションの内の1つ以上の他のサービスアプリケーションについて、WSイベンティング及びWSノーティフィケーションの少なくとも一方に従うようにした請求項4記載の複合機。
- 前記イベントマネジャが識別情報を保持することを引き起こすように構成された当該MFPが、
前記サービスアプリケーションに固有であって前記イベント予約リクエストからの第1データを、前記イベントマネジャが前記サーバーアプリケーションへ送信することを引き起こし、
前記サービスアプリケーションが前記第1データを処理して第2データを生成することを引き起こし、
前記サービスアプリケーションが前記第2データを前記イベントマネジャに送信することを引き起こし、
前記イベントマネジャが、前記イベントマネジャにより生成された予約レスポンスに前記第2データを含めることを引き起こし、
前記イベントマネジャが、前記予約レスポンスを前記クライアントアプリケーションに送付することを引き起こす
ように構成される請求項1記載の複合機。 - 前記イベントマネジャが識別情報を保持することを引き起こすように構成された当該MFPが、
前記イベントマネジャが、予約レスポンスを生成することを引き起こし、
前記サービスアプリケーションに固有であって前記予約レスポンスからの第3データを、前記イベントマネジャが前記サーバーアプリケーションへ送信することを引き起こし、
前記サービスアプリケーションが、前記第3データを処理することを引き起こす
ように構成される請求項1記載の複合機。 - 前記イベントマネジャが識別情報を保持することを引き起こすように構成された当該MFPが、
前記イベントマネジャが、予約レスポンスを生成することを引き起こし、
前記イベントマネジャが、前記サービスアプリケーションへ処理のステータスを送信し、前記サービスアプリケーションに別の処理を実行可能にすることを引き起こす
ように構成される請求項1記載の複合機。 - 前記サービスアプリケーションがイベント処理スレッドを含み、該イベント処理スレッドは、
前記サービスアプリケーションのアブストラクトレイヤにイベントを登録し、
前記アブストラクトレイヤからのイベントの通知を待機及び受信し、
通知メッセージを作成して前記イベントシンクに送付する
ようにした請求項1記載の複合機。 - イベントに関連するステータスを取り出すこと、該ステータスを更新すること、イベントを解約すること及びイベントを改新することを含む追加機能の内の少なくとも1つを前記イベントマネジャに実行させるように構成される請求項1記載の複合機。
- 前記サービスアプリケーションが、
クライアントアプリケーションからリクエストを受信し、該リクエストを少なくとも2つの他のスレッドに割り当てる外部リクエスト処理スレッドと、
前記サービスアプリケーションのビジネスロジックに従ってSOAPリクエストを処理するリクエスト処理スレッドと、
前記サービスアプリケーションとは異なる当該MFPの1つ以上のコンポーネントと通信する内部通信スレッドと、
を有し、前記外部リクエスト処理スレッドは、前記イベント予約リクエストを受信する
ようにした請求項1記載の複合機。
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/641,355 US7904917B2 (en) | 2006-12-18 | 2006-12-18 | Processing fast and slow SOAP requests differently in a web service application of a multi-functional peripheral |
| US11/641,366 | 2006-12-18 | ||
| US11/641,510 US7680877B2 (en) | 2006-12-18 | 2006-12-18 | Implementing a web service application on a device with multiple threads |
| US11/641,366 US8127306B2 (en) | 2006-12-18 | 2006-12-18 | Integrating eventing in a web service application of a multi-functional peripheral |
| US11/641,355 | 2006-12-18 | ||
| US11/641,510 | 2006-12-18 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008152770A JP2008152770A (ja) | 2008-07-03 |
| JP5014095B2 true JP5014095B2 (ja) | 2012-08-29 |
Family
ID=39535680
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007311605A Expired - Fee Related JP5014095B2 (ja) | 2006-12-18 | 2007-11-30 | 複合機 |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP1956798B1 (ja) |
| JP (1) | JP5014095B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5255938B2 (ja) * | 2008-07-22 | 2013-08-07 | 京セラドキュメントソリューションズ株式会社 | 画像形成システム、画像形成装置およびコンピュータプログラム |
| WO2013039484A1 (en) * | 2011-09-13 | 2013-03-21 | Hewlett-Packard Development Company, L.P. | Determination of schedule of print jobs based on tardiness |
| CN115174352B (zh) * | 2022-07-08 | 2024-12-13 | 中国电信股份有限公司 | 基于网络配置协议的事件通知发送方法及装置、介质 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7251689B2 (en) * | 2002-03-27 | 2007-07-31 | International Business Machines Corporation | Managing storage resources in decentralized networks |
| JP4061288B2 (ja) * | 2004-04-08 | 2008-03-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Webサービス・システム、リクエスタ、soapメッセージ用中間処理装置、リクエスタのリクエスト用soapメッセージ処理方法、リクエスタのレスポンス用soapメッセージ処理方法、soapメッセージ用中間処理装置のリクエスト用soapメッセージ処理方法、soapメッセージ用中間処理装置のレスポンス用soapメッセージ処理方法、及びプログラム |
| JP4403135B2 (ja) * | 2005-03-17 | 2010-01-20 | 株式会社リコー | Webサービス利用システム |
| KR100715846B1 (ko) * | 2005-02-14 | 2007-05-10 | 삼성전기주식회사 | 퍼베이시브 환경에서 Subtyping 기반의 탄력적인서비스 구성을 이용하는 응용 프로그램 재구성 방법 및 그시스템 |
| EP1715432A1 (en) * | 2005-04-18 | 2006-10-25 | Research In Motion Limited | System and Method for Exposing Synchronous Web Services as Notification Style Web Services |
| US7983209B2 (en) * | 2005-04-18 | 2011-07-19 | Research In Motion Limited | System and method for producing notification based web services |
-
2007
- 2007-11-30 JP JP2007311605A patent/JP5014095B2/ja not_active Expired - Fee Related
- 2007-12-10 EP EP07122746.6A patent/EP1956798B1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| EP1956798A2 (en) | 2008-08-13 |
| JP2008152770A (ja) | 2008-07-03 |
| EP1956798A3 (en) | 2008-12-17 |
| EP1956798B1 (en) | 2014-09-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8127306B2 (en) | Integrating eventing in a web service application of a multi-functional peripheral | |
| US7987278B2 (en) | Web services device profile on a multi-service device: dynamic addition of services | |
| US8321546B2 (en) | Integrating discovery functionality within a device and facility manager | |
| JP4925960B2 (ja) | 複合機のデータ処理用リクエストを処理するための方法、装置及びマシン読み取り可能な媒体 | |
| US7624182B2 (en) | Supporting multiple service discovery protocols on a device | |
| JP5444652B2 (ja) | ネットワーク装置、処理方法及びコンピュータプログラム | |
| US20010034782A1 (en) | Efficient web based proxy message method and apparatus for message queuing middleware resident on a server computer | |
| JP2009032250A (ja) | 印刷サーバーのデータ処理装置および記録媒体 | |
| JP3689564B2 (ja) | Oa装置、oaシステム、制御方法及び記憶媒体 | |
| EP1710683A2 (en) | A printing device and a method of printing | |
| US7822864B2 (en) | Communication apparatus, program product for adding communication mechanism to communication apparatus for providing improved usability and communication efficiency, and recording medium storing program product | |
| US7680877B2 (en) | Implementing a web service application on a device with multiple threads | |
| JP2009087344A (ja) | 多機能周辺機器のウェブサービスアプリケーションにおけるイベント通知減少のための方法及び装置 | |
| JP2008282406A (ja) | 複数のws動作可能装置からのイベントの報告 | |
| JP5014095B2 (ja) | 複合機 | |
| US8112766B2 (en) | Multi-threaded device and facility manager | |
| US7873647B2 (en) | Web services device profile on a multi-service device: device and facility manager | |
| US7904917B2 (en) | Processing fast and slow SOAP requests differently in a web service application of a multi-functional peripheral | |
| JP5272400B2 (ja) | 新たなサービスを装置に動的に追加するための方法、装置及びコンピュータプログラム | |
| EP1959638B1 (en) | Integrating discovery functionality within a device and facility manager |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100804 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120125 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120306 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120426 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120515 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120605 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150615 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5014095 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |