JP5434282B2 - ウェブ・サービスを用いたmfpソフトウェアの更新 - Google Patents

ウェブ・サービスを用いたmfpソフトウェアの更新 Download PDF

Info

Publication number
JP5434282B2
JP5434282B2 JP2009136276A JP2009136276A JP5434282B2 JP 5434282 B2 JP5434282 B2 JP 5434282B2 JP 2009136276 A JP2009136276 A JP 2009136276A JP 2009136276 A JP2009136276 A JP 2009136276A JP 5434282 B2 JP5434282 B2 JP 5434282B2
Authority
JP
Japan
Prior art keywords
update server
software component
update
message
receiving
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
Application number
JP2009136276A
Other languages
English (en)
Other versions
JP2009295167A (ja
Inventor
ウ ユィウェヌ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2009295167A publication Critical patent/JP2009295167A/ja
Application granted granted Critical
Publication of JP5434282B2 publication Critical patent/JP5434282B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Between Computers (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、ウェブ・サービスを用いた複合機(MFP)の更新に関する。
ここで記載される手法は、達成しようとされた手法であるが、しかし必ずしも以前に考えられ又は達成された手法ではない。従って、特に示されない限り、本明細書に記載された如何なる手法も、単に本明細書に含まれるという点から従来技術として考えられるべきではない。
ワールド・ワイド・ウェブ(「WWW」)は、世界的規模の情報空間である。文字文書、画像、マルチメディア、及び情報資源と称される多くの他の情報項目は、統一資源識別子(Uniform Resource Identifier:URI)と称される短いユニークなグローバルな識別子により識別される。従って、各情報資源は、簡易な方法で発見し、アクセスし、相互参照できる。
ワールド・ワイド・ウェブ・コンソーシアム(「W3C」)は、ワールド・ワイド・ウェブの標準を制定する国際団体である。W3Cは、「ウェブ・サービス」を、ネットワークを介した相互運用可能なマシン間の相互作用を支援するソフトウェア・システムと定める。この定義は、多くの異なるシステムを包含する。しかし一般的な用法では、この用語は、SOAP形式の拡張マークアップ言語(「XML」)を用いるサービスを表す。このようなサービスは、ウェブ・サービス記述言語(「WSDL」)を用いて記述されるサービスのインターフェースを有する。ウェブ・サービスは、装置及びアプリケーションが、如何なる人間も加入することなく、人間が各装置及びアプリケーションと1又は複数のネットワークを介して通信するために使用する同一のプロトコル群(例えば、ハイパーテキスト転送プロトコル「HTTP」)を用いて、1又は複数のネットワークを介し互いに通信することを可能にする。
ウェブ・サービスを定める仕様は、モジュールを意図している。その結果、全てのウェブ・サービスを定める1つの文書は存在しない。代わりに、環境や技術の選択を指示する他の仕様により補完されている幾つかの核となる仕様が存在する。共通の核となる仕様は、SOAP、WSDL、WS−Security(Webサービスにセキュリティを適用する手段を提供する通信プロトコル)、及びWS−ReliableExchange(メッセージを交換する際に、持続性確保、配信保証、重複回避、順番保護、配信状態確認などの機能を利用するためのプロトコル)である。異なる仕様は異なるタスク及び機能を解決する。
SOAPは、XMLに基づく拡張可能なメッセージを包むフォーマットであり、下位のプロトコル(HTTP、簡易メール転送プロトコル(「SMTP」))と結合する。XMLを用い、SOAPは、メッセージがどのようにフォーマットされるかを定める。これにより、これらのメッセージは、当該メッセージの受信側(装置及びアプリケーション)が当該メッセージを理解できるようにフォーマットされる。SOAPは、例えば遠隔手続呼び出しを実行するために用いられる。
WSDLは、XMLフォーマットである。XMLフォーマットは、ウェブ・サービスを特定のプロトコルと結合するインターフェースの詳細に従い記述することを可能にする。WSDLは、サーバー及びクライアントのコード、及び設定を生成するために標準的に用いられる。
[MFP]
複合機(Multi Function Peripheral)は、印刷サービス、ファックス・サービス、スキャン・サービス、コピー・サービス、及びアーカイブ・サービスのような複数のサービスを提供する周辺機器のことであり、MFPと呼ばれる。従って、MFPが印刷サービスを有する場合、MFPは、印刷データを処理し、紙のような有体の媒体に印刷されるべき印刷データに表された電子文書の印刷された版を生成する印刷モジュールを有する。印刷モジュールは、コンピューター・ハードウェア、コンピューター・ソフトウェア、又はコンピューター・ハードウェア及びコンピューター・ソフトウェアの両方の組み合わせとして実施される。
MFPのソフトウェア・コンポーネントは、時には更新する必要がある。しかしながら、このような更新を実行する多数の望ましくない特徴がある。第一に、MFPのソフトウェア・コンポーネントの更新は、標準的に幾つかの手動の段階を必要とする。第二に、MPFは、更新したソフトウェア・コンポーネントを有効にするために、標準的にオフラインで行われる。第三に、MFPが更新を受信する自動更新ソフトウェアを有する場合、当該ソフトウェアは固定された所定の更新サーバーを使用する。第四に、MFPが自動更新ソフトウェアを有する場合、MFPの更新クライアント及び更新を送信する更新サーバーは、標準的に、特定のソフトウェア種類、特定のオペレーティング・システム・プラットフォーム、及び/又は特定の言語に基づき結合される。例えば、異なる種類のソフトウェアへの更新は、MFPの異なる更新エージェント、及び異なるサーバーを必要とする。
ウェブ・サービスを用いた複合機(MFP)のソフトウェア・コンポーネントを更新する技術を提供する。MFPは、WS−Discoveryプロトコルに従うマルチキャスト発見メッセージを送信する。MFPからの発見メッセージの受信に応じて、更新サーバーは、WS−Discoveryプロトコルに従う発見応答メッセージを生成し、MFPへ送信する。発見応答メッセージの受信に応じて、MFPは、更新サーバーへ、WS−Eventingプロトコルに従うイベント予約メッセージを送信する。イベント予約メッセージは、更新サーバーが特定のソフトウェア・コンポーネントの更新版を受信したときに、更新サーバーがMFPに通知すべきであることを示す。
その後、更新サーバーは、MFPへ、WS−Eventingプロトコルに従うイベント通知メッセージを送信する。イベント通知メッセージは、更新サーバーが特定のソフトウェア・コンポーネントの更新版を受信していることを示す。イベント通知メッセージの受信に応じて、MFPは、更新サーバーへ、特定のソフトウェア・コンポーネントの更新版の要求を送信する。当該要求の受信に応じて、更新サーバーは、MFPへ、特定のソフトウェア・コンポーネントの更新版を送信する。MFPは、特定のソフトウェア・コンポーネントの現行版を、特定のソフトウェア・コンポーネントの更新版で更新する。
本願発明は、添付の図面に例として図示されるが、これらに限定されない。また、複数の図面を通じて、類似の参照符号は同様の要素を表す。
本発明の実施例によるソフトウェア更新システムの例を示すブロック図である。 本発明の実施例によるソフトウェア更新システムの例に示された装置の異なるコンポーネントを示すブロック図である。 本発明の実施例による、MFPと、MFPのソフトウェア・コンポーネントを更新する更新サーバーとの間の通信の例を示すシーケンス図である。 本発明の実施例による、対応するMFPを更新する種々の段階を実行する、MFP更新エージェントの複数のスレッドを示すフロー図である。 本発明の実施例による、対応するMFPを更新する種々の段階を実行する、サーバー更新エージェントの複数のスレッドを示すフロー図である。 本発明の実施例が実施され得るコンピューター・システムを図示するブロック図である。
以下の詳細な説明では、説明を目的として、本発明の完全な理解を提供するために、多くの詳細事項が説明される。しかしながら、本願明細書に記載された本発明の実施例はそのような特定の詳細にかかわらず実施されて良いことが明らかである。他の例では、本発明を不明瞭にすることを回避するため、良く知られた構造及び装置がブロック図の形式で示される。
[概要]
MFPは、ウェブ・サービス(以下、WSという)を用い、更新サーバーを発見し、MFPの特定のソフトウェア・コンポーネントを更新のために登録(又は予約(サブスクリプション))する。MFPは、WS−Discoveryプロトコルに従う、1又は複数のソフトウェア種類を示すマルチキャスト発見メッセージを生成し送信する。更新サーバーは発見メッセージを受信する。更新サーバーが1又は複数のソフトウェア種類のうちの少なくとも1つのソフトウェアに対応している場合に、更新サーバーは発見応答メッセージをMFPへ送信する。MFPは、更新サーバーへ、WS−Eventingプロトコルに従うイベント・サブスクリプション・メッセージを送信することにより、1又は複数の更新を登録する。アプリケーションの更新が可能な場合、更新サーバーは、MFPに、WS−Eventingプロトコルに従うイベント通知メッセージを通知する。
種々のWSプロトコルを定める仕様が時間と共に変化しても、あるバージョンのWSプロトコル(例えばWS−Discovery)を実装しているある装置は、異なるバージョンのWSプロトコルを実装している別の装置と通信することができる。従って、互いに通信する2つの装置は、それぞれ(又は何れも)必ずしも当該装置が対応している同一のバージョンのWSプロトコルを実装している必要はない。以下にWS−Discovery及びWS−Eventingを単一のプロトコルのように説明するが、本発明の実施例は、各プロトコルの多数のバージョンに適用可能である。
[ソフトウェア更新システム]
図1は、本発明の実施例によるソフトウェア更新システム100の例を示すブロック図である。ソフトウェア更新システム100は、MFP110A−C、ネットワーク120、ソフトウェア更新サーバー130A−Bを有する。関連する実施例では、単一のMFP(例えば110A)と単一のソフトウェア更新サーバー(例えば130A)のみがネットワーク120を介して通信可能に結合される。
ある実施例では、1又は複数のMFP110A−CはWSの可能な装置である。WS(Web Services)の可能な装置は、ウェブ・サービス向けのデバイス・プロファイル(DPWS)仕様を実装している装置である。DPWSは、実装に関する制約の最小限のセットを定め、セキュアなウェブ・サービスのメッセージング、発見、記述、及び装置のイベントを可能にしている。DPWSは、WSDL、XMLスキーム、SOAP、WS−Addressing、WS−MetadataExchange、WS−Transfer、WS−Policy、WS−Security、WS−Discovery、及びWS−Eventingのような中核となるウェブ・サービス標準に基づき構築される。
MFP110A−Cは、更新サーバー130A−Bとネットワーク120を介して通信可能に結合される。ネットワーク120は、MFP110A−Cと更新サーバー130A−Bとの間のデータ交換を提供する任意の媒体又は機構により実施される。ネットワーク120の非限定的な例には、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、又はインターネットが含まれる。
1又は複数の更新サーバー130A−Bは、ネットワーク・ノード、コンポーネント、及び/又は装置であってよい。更に又は代わりに、1又は複数の更新サーバー130A−Bは、他のサービスを提供するネットワーク・ノード、コンポーネント、及び/又は装置に実装されてよい。このようなネットワーク・ノード/コンポーネント/装置の非限定的な例には、ウェブ・サーバー、ゲートウェイ、ルーター、及びスイッチが含まれる。
<ソフトウェア更新システムの装置コンポーネント>
図2は、本発明の実施例によるソフトウェア更新システム100に示された装置の異なるコンポーネントを示すブロック図である。MFP210は、更新サーバー230とネットワーク220を介して通信可能に結合される。MFP210はMFP110Aに相当し、更新サーバー230は更新サーバー130Aに相当し、ネットワーク220はネットワーク120に相当する。
MFP210は、MFP更新エージェント212、及び複数のMFPコンポーネント214A−Cを有する。実施例では、MFP更新エージェント212は、(a)適切な更新サーバーを発見し、(b)適切な更新サーバーが特定の更新を受信した場合のイベント通知を予約し、(c)イベント通知を傾聴(listening)し、(d)受信したイベント通知に関連する更新を要求し、(e)当該更新に関連する1又は複数のMFPコンポーネント214A−Cを停止し更新し、及び(f)更新したコンポーネントを再起動する。
MFPコンポーネント214A−Cの非限定的な例には、MFP210により提供されるサービス(例えば印刷、スキャン)のそれぞれのための1又は複数のモジュールのセット、MFPを他のネットワーク装置に対し単一のエンティティとして表すデバイス・ファシリティ・マネージャ(DFM)、ユーザーに提示されるグラフィカル・ユーザー・インターフェース(GUI)動作可能なパネルが含まれる。
更新サーバー230は、サーバー更新エージェント232、及びコンポーネント管理モジュール234を有する。ある実施例では、サーバー更新エージェント232は、(a)サーバー更新エージェント232が起動又は停止したときに発見メッセージ(例えばHELLO又はBYE)を送信し、(b)MFP更新エージェント212からの発見メッセージに応答し、(c)MFP更新エージェント212からのイベント予約を傾聴(listening)し処理し、(d)イベント予約の1つと関連付けられたソフトウェア・コンポーネントの更新が受信されたときに、MFP更新エージェント212に通知し、及び(e)MFP更新エージェント212からの、ソフトウェア・コンポーネントを更新する要求に応じる、処理である。
ある実施例では、コンポーネント管理モジュール234は、複数のソフトウェア・コンポーネントへの更新を格納し、モジュール234が別のバージョン(又は新しいバージョン)のソフトウェア・コンポーネントを受信したときにサーバー更新エージェント212に応答する(又は同意を通知する)。
更新エージェント212、232は、コンピューター・ハードウェア、コンピューター・ソフトウェア、又はコンピューター・ハードウェア及びコンピューター・ソフトウェアの両方の組み合わせとして実施される。
<MFPと更新サーバーとの間の通信>
図3は、本発明の実施例による、MFPと、MFPのソフトウェア・コンポーネントを更新する更新サーバーとの間の通信の例を示すシーケンス図である。簡単のため、互いに通信する処理及び/又はコンポーネントは、図2のMFP210のMFP更新エージェント212及びMFPコンポーネント214A、及び更新サーバー230のサーバー更新エージェント232である。
ステップ1で、MFP更新エージェント212は、WS−Discoveryプロトコルに従う発見メッセージを生成し、サーバー更新エージェント232へ送信する。MFP更新エージェント212は利用可能な更新サーバーの位置を知る(又は識別する)ように予め設定されていないので、発見メッセージはマルチキャスト・メッセージである。この発見メッセージは、MFP210に適用可能な更新を保持する利用可能な更新サーバーのためのネットワーク・プローブと考えられるので、本願明細書では発見メッセージを「プローブ・メッセージ」と称する。
ある実施例では、プローブ・メッセージは、1又は複数のソフトウェアの種類を指定する。1又は複数のソフトウェアの種類のそれぞれは、サーバー更新エージェント232が更新を探している1又は複数のソフトウェア・コンポーネントに相当する。例えば、プローブ・メッセージは、ソフトウェアの種類として「WSプロトコル」を示す。MFPが実装するWS仕様は、時間と共に変化しうる。WS仕様に関して「最新」であるために、MFPは自身のWS実装を相応して更新する。新しいバージョンの1又は複数の特定のWSプロトコルが利用可能な場合、サーバー更新エージェント232は、イベントを示す1又は複数のイベント通知をMFP更新エージェント212へ送信する。
別の例では、プローブ・メッセージは、ソフトウェアの種類として「MFPサービス」を示す。MFPの製造者は、MFPにより提供される1又は複数のサービス(例えば、印刷、スキャン)の機能を更新する。更新は、例えばアーカイブ・サーバーのバグを修正すること、印刷ジョブに利用可能なオプション(例えば、追加の印刷サイズ)を追加することである。従って、これら2つの例に基づき、更新サーバー230は、複数種類のソフトウェア・コンポーネントの更新を保持する(例えば、格納及び/又は送信する)。
関連する実施例では、プローブ・メッセージは、ソフトウェアの種類を介してコンポーネントのカテゴリを指定する代わりに、1又は複数のMFPコンポーネント214A−Cを直接指定する。
ステップ2で、サーバー更新エージェント232は、プローブ・メッセージに応じて、WS−Discoveryプロトコルに従う発見応答メッセージ(本願明細書では「プローブ・マッチ・メッセージ」と称する)を送信する。ある実施例では、プローブ・メッセージは、1又は複数のソフトウェアの種類を示す(例えば指定する)。従って、プローブ・マッチ・メッセージは、更新サーバー230が1又は複数のソフトウェア種類に対応するソフトウェア・コンポーネントを保持するか否かを示す。このシーケンスの例では、プローブ・マッチ・メッセージは、更新サーバー230が、プローブ・メッセージで示された1又は複数のソフトウェア種類の少なくとも1つに対応するソフトウェア・コンポーネントを保持する。或いは、更新サーバー230が、示された1又は複数のソフトウェア種類に対応する如何なるソフトウェア・コンポーネントも保持しない場合、サーバー更新エージェント232は、MFP210に如何なる応答も送信しない。
ステップ3で、肯定的なプローブ・マッチ・メッセージに応じて、MFP更新エージェント212は、WS−Eventingプロトコルに従う1又は複数のイベント予約メッセージを生成し、サーバー更新エージェント232へ送信する。イベント予約メッセージは、MFP更新エージェント212が更新を探している1又は複数のソフトウェア種類を指定する。ソフトウェア種類の指定は、当該ソフトウェア種類に属する1又は複数のソフトウェア・コンポーネントを間接的に示す。更に又は代わりに、イベント予約メッセージは、MFP更新エージェント212が更新を受信する可能性のある1又は複数のソフトウェア・コンポーネントを指定する。
サーバー更新エージェント212は、イベント予約を予約テーブルに格納する。表1は、予約テーブルの例を示す。
Figure 0005434282
表1の各行は、異なる予約に対応する。表1の最初の列は、対応する予約を送信するMFPのアドレスを格納する。2番目の列は、対応する予約が予約される1又は複数のコンポーネントの種類を格納する。3番目の列は、対応するソフトウェア・コンポーネントが対応するMFPにダウンロード可能である場合にイベント通知が送信されるアドレス及びポート番号を格納する。
最初の列の情報は、非予約メッセージのような、特定の場合にサーバー更新エージェント232が後に通信するMFP更新エージェントのIP情報を表す。WS―Eventingに基づき、イベント予約は、「返信(ReplyTo)」及び「通知(NotifyTo)」アドレスの両方を有する。最初の列のIP情報は、「返信」アドレスに対応する。多くの場合には、「返信」アドレスは、「通知」アドレスと異なるポート番号を用いる。MFP内に1つより多いネットワーク・カードが存在する場合、最初及び3番目の列のIPアドレスは、異なる。
ステップ4で、サーバー更新エージェント232は、予約しているソフトウェア種類の1つに属する新しいバージョンのソフトウェア・コンポーネントが利用可能であると決定する。本願明細書では、このソフトウェア・コンポーネントを「特定ソフトウェア・コンポーネント」と称する。この決定に応じて、サーバー更新エージェント232は、イベント通知をMFP更新エージェント212、及び予約テーブルに示された当該イベントを予約している他のMFPへ送信する。イベント通知は、特定ソフトウェア・コンポーネントへの更新がダウンロード可能であることを示す。イベント通知は、更新したソフトウェア・コンポーネント及び/又は更新したソフトウェア・コンポーネントを要求するか否かを決定するのにMFPを支援する更新の他の記述を含む。
サーバー更新エージェント232は、コンポーネント・テーブルが更新されるときに更新を知らされる。表2は、コンポーネント・テーブルの例を示す。
Figure 0005434282
表2の各行は、ソフトウェア・コンポーネントのバージョンに関する情報を格納する。表2の最初の列は、対応するコンポーネントの名称を格納する。表2の2番目の列は、対応するコンポーネントを用いるMFPの型名を格納する。3番目の列は、対応するコンポーネントのバージョン番号を格納する。4番目の列は、対応するコンポーネントがどこに格納されているかを識別するパスを格納する。種々のソフトウェア・コンポーネントは、更新サーバー230に対してローカル及び/又は遠隔に記憶される。
ある実施例では、コンポーネント管理モジュール234は、単一のソフトウェア種類を1又は複数の対応するソフトウェア・コンポーネントに割り付けるマッピング(例えば、テーブル)を保持する。本願明細書では、このマッピングをコンポーネント−種類マッピングと称する。従って、特定のソフトウェア・コンポーネントへの更新が(例えば上述の表2を用いて)決定すると、特定のソフトウェア・コンポーネントに対応するコンポーネント−種類マッピングのエントリを探す。エントリが発見されると、エントリは対応するソフトウェア種類を識別するために用いられる。従って、表1は、識別したソフトウェア種類から、識別したソフトウェア種類に関連する1又は複数のイベント予約を決定するために用いられる。
図3には示さないが、MFP更新エージェント212は、イベント通知の受信に応じて、1又は複数の更新基準を分析し、更新を要求するか否かを決定する。例えば、イベント通知は、特定のソフトウェア・コンポーネントの更新のバージョン番号を示す。MFP更新エージェント212は、特定のソフトウェア・コンポーネントの現在のバージョンのバージョン番号を更新のバージョン番号と比較する。更新のバージョン番号が現在のバージョンのバージョン番号より大きくない場合、MFP更新エージェント212は、ステップ5−9に進まないことを決定する。
別の例では、イベント通知は、更新したソフトウェア・コンポーネントに対応するMFP装置の型番号を示す。MFP更新エージェント212は、当該型番号がMFP210の型番号と同一か否かを決定する。同一でない場合、MFP更新エージェント212は、ステップ5―9へ進まないと決定する。
ステップ5で、イベント通知に応じて、MFP更新エージェント212は、特定のソフトウェア・コンポーネントの実行を停止する。ある実施例では、MFP210で実行している他のソフトウェア・コンポーネントの何れも、この命令によって影響を受けない。例えば、更新がMFP210の印刷モジュールのためである場合、印刷モジュールだけが停止される。スキャン・モジュールやファックス・モジュールのような他のモジュールは、印刷モジュールにより提供される印刷サービスが働かない間も機能し続ける。
ステップ6で、MFP更新エージェント212は、サ―バー更新エージェント212へ、特定のソフトウェア・コンポーネントの更新バージョンを要求する。
ステップ7で、要求に応じて、サーバー更新エージェント232は、特定のソフトウェア・コンポーネントの更新バージョンを、MFP更新エージェント212へ送信する。関連する実施例では、ステップ6−7はステップ5の前に実行される。
ステップ8で、MFP更新エージェント212は、特定のソフトウェア・コンポーネントを更新バージョンで更新する。
ステップ9で、MFP更新エージェント212は、更新バージョンに基づき、特定のソフトウェア・コンポーネントを再起動する。
<利用できない更新サーバー>
本発明のある実施例では、更新サーバーは利用不可能になるかもしれない。例えば、予定されたシャットダウン、予期せぬ電力不足、又はネットワーク接続の障害により、利用不可能になる。更新サーバーが一時的に(又は永久に)オフラインになることを「見越している」場合は、更新サーバーは、(WS−Eventingプロトコルに従う)解約メッセージを、更新サーバーでのイベント通知を予約している各MFPへ送信する。本願明細書では、このようなイベント通知を予約しているMFPを、更新サーバーに関する「登録MFP」と称する。解約メッセージは、登録MFPと更新サーバーとの間の予約を効率的に終了する。更新を受信するために、登録MFPは、1又は複数の他の更新サーバーを発見し、当該更新サーバーからのイベント通知を予約する。
或いは、更新サーバーは、利用不可能になる前に、自身のコンポーネント管理の義務を別の更新サーバーへ転送する。例えば、第1の更新サーバーは、自身の予約テーブルとコンポーネント・テーブルを第2の更新サーバーにコピーする。第2の更新サーバーは、次に、第1の更新サーバーと同一又は異なるネットワーク(例えばIP)アドレスで、第1の更新サーバーのように動作する。ある実施例では、第1及び第2の更新サーバーは、同一の論理ネットワーク・アドレスを共有する更新サーバーのクラスタの一部である。このような複数の更新サーバーは、個々の実装に依存して、単一のネットワーク・ノード、構成要素、又は装置に備わっている、又は別個のネットワーク・ノード、構成要素、又は装置に備わっている。
更新サーバーが利用不可能になることが予測されていない場合、又は更新サーバーが利用不可能になったときに、更新サーバーが解約メッセージを、自身の登録MFPのそれぞれへ送信するのに失敗した場合には、各登録MFPは、別の更新サーバーを発見するために、別のプローブ・メッセージを送出する。登録MFPは、複数の方法で、更新サーバーが利用不可能になったことを発見する。例えば、登録MFPが更新サーバーは、更新サーバーへ定期的に送信されるネットワークのpingメッセージがある所定時間の後に返ってこない場合に、利用不可能になったことを発見する。別の例では、登録MFPは、自身が予約している更新サーバーのイベント予約に期限を設定する。次に、期限切れになると、登録MFPは、更新サーバーの1又は複数のイベント予約を更新しようと試みる。更新に失敗すると、失敗した更新は、更新サーバーが利用不可能であると決定するための少なくとも1つの基準として用いられる。
或いは、予約テーブルとコンポーネント・テーブルは、利用不可能な更新サーバーとは別個の装置に格納される。従って、更新サーバーが突然に故障した場合に、予約情報は失われず、他の更新サーバーへのアクセス可能性が残される。
<MFP更新エージェントのための複数スレッドの実施>
図4は、本発明の実施例による、対応するMFPを更新する種々のステップを実行する、MFP更新エージェントの複数のスレッドを示すフロー図である。ステップ402で、3つのスレッドが生成される。しかしながら、MFP更新エージェントは、種々のステップを実行するためにより多くの又はより少ないスレッドを実施してよい。ステップ410−418は、サーバー発見スレッドにより実行される。ステップ420−430は、イベント予約スレッドにより実行される。ステップ440−448は、更新通知スレッドにより実行される。
ステップ410で、サーバー発見スレッドは、プローブ・メッセージを更新サーバーへ送信する。ステップ412で、サーバー発見スレッドは、プローブ・マッチ・メッセージを傾聴(listening)する。ステップ412では、HELLOメッセージも傾聴(listening)する。HELLOメッセージは、例えば更新サーバーの電源が投入されたとき、又は更新サーバーがネットワークに最初に接続されたときに、更新サーバーにより送信される。HELLOメッセージは、更新サーバーが対応しているソフトウェアの種類のような、プローブ・マッチ・メッセージと同一の情報を有する。
ステップ414で、メッセージの受信に応じて、サーバー発見スレッドは、当該メッセージがプローブ・マッチ・メッセージか否かを決定する。当該メッセージがプローブ・マッチ・メッセージである場合、ステップ416で、サーバー発見スレッドは、プローブ・マッチ・メッセージが適切なソフトウェア・コンポーネント種類を示すか否かを決定する。プローブ・マッチ・メッセージが適切なソフトウェア・コンポーネント種類を示す場合、ステップ418で、サーバー発見スレッドは、当該メッセージがプローブ・マッチ・メッセージを送信した更新サーバーのIPアドレスを格納する。
ステップ420で、イベント予約スレッドは、更新サーバーが発見されたか否かを決定する。更新サーバーが発見された場合、ステップ422で、イベント予約スレッドは、発見された更新サーバーへイベント予約メッセージを送信する。ステップ424で、イベント予約スレッドは、コンポーネント・テーブル(つまりMFP)から利用可能な更新を調べる。コンポーネント・テーブルは、以下に説明する更新通知スレッドにより構築される。
利用可能な更新が見付かった場合、イベント予約スレッドは、ステップ426で、利用可能な更新に対応するソフトウェア・コンポーネントの実行を停止する。ステップ428で、イベント予約スレッドは、利用可能な更新によりソフトウェア・コンポーネントを更新する。ステップ430で、イベント予約スレッドは、ソフトウェア・コンポーネントを再起動する。
ステップ440で、更新通知スレッドは、1又は複数の更新サーバーからのイベント通知メッセージを傾聴(listening)する。ステップ442で、更新通知スレッドは、特定のソフトウェア・コンポーネントのために、更新サーバーからイベント通知メッセージを受信する。ステップ444で、更新通知スレッドは、1又は複数の更新基準が満たされているか否かを決定する。1又は複数の更新基準が満たされていない場合、更新通知スレッドの処理は、ステップ440へ進む。
1又は複数の更新基準が満たされている場合、ステップ446で、更新通知スレッドは、更新サーバーへ特定のソフトウェア・コンポーネントのための要求を送信する。ステップ448で、更新通知スレッドは、更新サーバーから特定のソフトウェア・コンポーネントを受信し、ステップ434で参照したコンポーネント・テーブルに、特定のソフトウェア・コンポーネントのためのエントリを追加する。
<サーバー更新エージェントのための複数スレッドの実施>
図5は、本発明の実施例による、対応するMFPを更新する種々のステップを実行する、サーバー更新エージェントの複数のスレッドを示すフロー図である。ステップ502で、3つのスレッドが生成される。しかしながら、MFP更新エージェントは、種々のステップを実行するためにより多くの又はより少ないスレッドを実施してよい。ステップ502は、例えば更新サーバーの電源が投入されたとき、HELLOメッセージをネットワークに送信するステップを有する。ステップ510−516は、サーバー発見スレッドにより実行される。ステップ520−532は、要求処理スレッドにより実行される。ステップ540−544は、通知スレッドにより実行される。
ステップ510で、発見スレッドは、発見メッセージを傾聴(listening)する。ステップ512で、発見スレッドは、発見メッセージがプローブ・メッセージか否かを決定する。発見メッセージがプローブ・メッセージである場合、ステップ514で、発見スレッドは、対応する更新サーバーが、当該プローブ・メッセージで示されたソフトウェア種類に対応しているか否かを決定する。ある実施例では、更新サーバーが当該ソフトウェア種類に対応している場合、発見スレッドは、ステップ512で、ユニキャスト・プローブ・マッチ・メッセージを当該プローブ・メッセージの送信元へ送信する。更新サーバーが示されたソフトウェア種類の何れにも対応していない場合、如何なるプローブ・マッチ・メッセージも当該プローブ・メッセージの送信元へ送信されない。
ステップ520で、要求処理スレッドは、要求メッセージを傾聴(listening)する。要求メッセージは、少なくとも2つの種類のうちの1つ、つまりイベント予約メッセージ又はソフトウェア・コンポーネント・メッセージである。要求メッセージを受信した場合、要求処理スレッドは、ステップ522で、要求メッセージがイベント予約メッセージか否かを決定する。要求メッセージがイベント予約メッセージである場合、イベント予約メッセージは、WS−Eventingプロトコルに従う。ステップ524で、要求処理スレッドは、表1のような予約テーブルに予約を追加する。ステップ524が成功すると、ステップ526で、要求処理スレッドは、WS−Eventingプロトコルに従って、イベント予約メッセージの送信元に対し、予約メッセージの成功により応答する。
ステップ522で、要求処理スレッドが、要求メッセージがイベント予約メッセージでないと決定した場合、ステップ528で、予約処理スレッドは、要求メッセージがコンポーネント要求メッセージであるか否かを決定する。要求メッセージがコンポーネント要求メッセージである場合、ステップ530で、表2のようなコンポーネント・テーブルからソフトウェア・コンポーネントを検索する。ステップ532で、要求処理スレッドは、コンポーネント要求メッセージの送信元へソフトウェア・コンポーネントを送信する。
ステップ540で、通知スレッドは、1又は複数のソフトウェア・コンポーネントの利用可能な更新を調べる。ある実施例では、通知スレッドは、コンポーネント管理モジュール(例えば、コンポーネント管理モジュール234)からのメッセージを傾聴(listening)する。当該メッセージは、新しい更新を受信したこと、及び当該更新が、予約しているソフトウェア・コンポーネントのうちの1つに関連することを示す。当該予約しているソフトウェア・コンポーネントのうちの1つは、(a)コンポーネント・テーブルで識別されたか、又は(b)コンポーネント・テーブルで識別されたソフトウェア種類に対応する。ステップ542で、通知スレッドは、コンポーネント・テーブル(つまりMFP)から利用可能な更新に対応する予約元に関する情報を(例えばコンポーネント・テーブルから)検索する。ステップ544で、通知スレッドは、イベント通知メッセージを当該予約元のそれぞれへ送信する。
<実施のメカニズム>
本発明の実施例は、如何なる種類のコンピューター・アーキテクチャ又はプラットフォームにも実施できる。説明を目的として、図6に、本発明の実施例が実施され得るコンピューター・システム600を図示するブロック図を示す。 コンピューター・システム600は、バス602又は情報を通信する他の通信機構、及びバス602と結合され情報を処理するプロセッサー604を有する。コンピューター・システム600はまた、バス602と結合され情報及びプロセッサー604により実行されるべき命令を格納するランダムアクセスメモリー(RAM)又は他の動的記憶装置のような主記憶606を有する。主記憶606はまた、プロセッサー604により実行されるべき命令の実行中に一時的数値変数又は他の中間情報を格納するために使用される。コンピューター・システム600はまた、バス602と結合され情報及びプロセッサー604の命令を格納する読み出し専用メモリー(ROM)608又は他の静的記憶装置を更に有する。磁気ディスク又は光ディスクのような記憶装置610が設けられ、及びバス602と結合され、情報及び命令を格納する。
コンピューター・システム600は、バス602を介し、陰極管(CRT)のようなコンピューターのユーザーに情報を表示するディスプレイ612と結合される。入力装置614は、英数字及び他のキーを有し、バス602と結合され、プロセッサー604へ情報及びコマンド選択を通信する。他の種類のユーザー入力装置は、マウス、トラックボール、又はカーソルキーのようなカーソル制御616であり、方向情報及びコマンド選択をプロセッサー604へ通信し、及びディスプレイ612上のカーソルの動きを制御する。当該入力装置は、標準的に第1の軸(例えばx)及び第2の軸(例えばy)である2軸で2つの自由度を有し、装置に平面内の位置を指定可能にする。
本発明は、本願明細書に記載された技術を実施するコンピューター・システム600の使用に関する。本発明の1つの実施例によると、当該技術は、主記憶606内に含まれる1つ以上の命令の1つ以上のシーケンスを実行するプロセッサー604に応じ、コンピューター・システム600により実行される。このような命令は、主記憶606へ記憶装置610のような他の機械可読媒体から読み込まれる。主記憶606に含まれる命令のシーケンスの実行は、プロセッサー604に本願明細書に記載された処理段階を実行させる。代案の実施例では、配線論理回路は、ソフトウェア命令の代わりに又はソフトウェア命令と組み合わせて使用され本発明を実施する。従って、本発明の実施例は、ハードウェア回路及びソフトウェアの如何なる組み合わせにも限定されない。
本願明細書で使用された用語「機械可読媒体」は、装置を特定の方法で動作させるデータの提供に関与する任意の媒体を表す。コンピューター・システム600を使用して実施されるある実施例では、例えば実行のため命令をプロセッサー604へ提供する種々の機械可読媒体が含まれる。このような媒体は、不揮発性媒体、揮発性媒体、及び伝送媒体を有するがこれらに限定されない多くの形を取る。記憶媒体は、不揮発性媒体及び揮発性媒体の両方を含む。不揮発性媒体は、例えば記憶装置610のような光又は磁気ディスクを有する。揮発性媒体は、主記憶606のような動的記憶を有する。伝送媒体は、同軸ケーブル、銅線、及び光ファイバーを有し、バス602を有する。伝送媒体はまた、無線及び赤外線データ通信の間に生成されるような、音響又は光波の形式を取り得る。全てのこのような媒体は実現可能であり、媒体により伝達される命令を、命令を機械に読み込む物理機構により検出可能にしなければならない。
機械可読媒体の一般的形式は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、又は任意の他の磁気媒体、CD−ROM、任意の他の光媒体、パンチカード、紙テープ、孔のパターンを有する任意の他の物理媒体、RAM、PROM、及びEPROM、フラッシュEPROM、任意の他のメモリーチップ又はカートリッジ、本願明細書に記載された搬送波、又はコンピューターが読み出し得る任意の他の媒体を有する。
種々の形式の機械可読媒体は、実行のためのプロセッサー604への1つ以上の命令の1つ以上のシーケンスを伝達に関連する。例えば、命令は最初に遠隔コンピューターの磁気ディスクに保持される。遠隔コンピューターは、命令を遠隔コンピューターの動的記憶にロードし、及びモデムを使用し電話線を介して命令を送出する。コンピューター・システム600にローカルなモデムは、電話線でデータを受信し、及び赤外線送信機を使用しデータを赤外線信号へ変換する。赤外線検出器は、赤外線信号で伝達されるデータを受信し得る。また適切な回路は、データをバス602に発行する。バス602は、データを主記憶606へ伝達する。データを主記憶606から、プロセッサー604は命令を検索しそして実行する。主記憶606により受信された命令は、任意的に、プロセッサー604による実行の前又は後の何れかに記憶装置610に格納されて良い。
コンピューター・システム600はまた、バス602と結合される通信インターフェース618を有する。通信インターフェース618は、ローカル・ネットワーク622と接続されるネットワーク接続620と結合される双方向データ通信を提供する。例えば、通信インターフェース618は、総合デジタル通信網(ISDN)カード又はモデムであって良く、対応する種類の電話線とのデータ通信接続を提供する。別の例として、通信インターフェース618は、ローカル・エリア・ネットワーク(LAN)カードであって良く、適合するLANとのデータ通信接続を提供する。無線接続が実施されても良い。任意のこのような実施では、通信インターフェース618は、種々の種類の情報を表すデジタル・データ・ストリームを伝達する電気、電磁気又は光信号を送出及び受信する。
ネットワーク接続620は、標準的に、1つ以上のネットワークを通じた他のデータ装置へのデータ通信を提供する。例えば、ネットワーク接続620は、ローカル・ネットワーク622を通じたホスト・コンピューター624又はインターネット・サービス・プロバイダー(ISP)626により動作されるデータ機器への接続を提供する。ISP626はまた、現在一般的に「インターネット」628として参照される世界規模のパケットデータ通信ネットワークを通じデータ通信サービスを提供する。ローカル・ネットワーク622及びインターネット628の両方は、デジタル・データ・ストリームを伝達する電気、電磁気又は光信号を使用する。種々のネットワークを通じる信号、並びにネットワーク接続620及び通信インターフェース618を通じる信号は、コンピューター・システム600へ及びコンピューター・システム600からのデジタルデータを伝達し、例として情報を伝搬する搬送波の形式である。
コンピューター・システム600は、ネットワーク、ネットワーク接続620及び通信インターフェース618を通じ、メッセージを送出し及びプログラム・コードを有するデータを受信し得る。インターネットの例では、サーバー630は、アプリケーション・プログラムの要求されたコードをインターネット628、ISP626、ローカル・ネットワーク622及び通信インターフェース618を通じ送信する。
受信したコードは、受信された時、プロセッサー604により実行され、及び/又は後の実行のため記憶装置610又は他の不揮発性媒体に格納される。この方法では、コンピューター・システム600は、アプリケーション・コードを搬送波の形式で得る。
以上のように、本発明の実施例は、実施毎に変化し得る多数の特定の詳細を参照し記載された。従って、本発明であるもの及び出願人により本発明であると意図されるものの限定的な表示は、後に生じる如何なる補正も含み、請求項が与える特定の形式で本願が与える請求項のセットを含む。本願明細書に前述された当該請求項に含まれる用語の如何なる定義も、請求項で使用される用語の意味を規定する。従って、請求項に明示的に引用されない如何なる制限、要素、特性、特徴、利点又は貢献は、如何様にも当該請求項の範囲を制限しない。従って、本願明細書及び図は、制限的なものでなく説明のためである。

Claims (14)

  1. 複合機であって、
    現行版の特定のソフトウェア・コンポーネントを含む1又は複数のソフトウェア・コンポーネント、
    印刷データを処理し、有体の媒体に印刷されるべき印刷データに表された電子文書の印刷された版を生成する印刷モジュール、を有し、
    前記複合機は、
    前記複合機から、Web−Services Discoveryプロトコルに従うマルチキャスト発見メッセージを送信する段階、
    更新サーバーから、Web−Services Discoveryプロトコルに従い、前記更新サーバーが前記1又は複数のソフトウェア・コンポーネントのうちの1又は複数の更新を提供可能であることを示す発見応答メッセージを受信する段階、
    前記発見応答メッセージの受信に応じて、前記複合機から前記更新サーバーへ、Web−Services Eventingプロトコルに従い、前記更新サーバーが前記特定のソフトウェア・コンポーネントの更新版を受信したときに、前記複合機が前記更新サーバーにより通知されるべきであると示すイベント予約メッセージを送信する段階、
    前記更新サーバーから、Web−Services Eventingプロトコルに従い、前記更新サーバーが前記特定のソフトウェア・コンポーネントの更新版を受信していることを示すイベント通知メッセージを受信する段階、
    前記イベント通知メッセージの受信に応じて、前記複合機から前記更新サーバーへ、前記特定のソフトウェア・コンポーネントの更新版の要求を送信する段階、
    前記更新サーバーから、前記特定のソフトウェア・コンポーネントを受信する段階、及び
    前記特定のソフトウェア・コンポーネントの現行版を、前記特定のソフトウェア・コンポーネントの更新版で更新する段階、を実行する複合機。
  2. 前記イベント予約メッセージは、特定のソフトウェア種類を指定し、
    前記特定のソフトウェア種類は、前記特定のソフトウェア・コンポーネントを含む複数の異なるソフトウェア・コンポーネントに対応する、請求項1に記載の複合機。
  3. 前記イベント予約メッセージは、前記特定のソフトウェア種類と異なる第2のソフトウェア種類も指定し、
    前記複合機は、
    前記更新サーバーから、Web−Services Eventingプロトコルに従い、前記更新サーバーが前記第2のソフトウェア種類に属する第2のソフトウェア・コンポーネントの更新版を受信していることを示す第2のイベント通知メッセージを受信する段階、
    前記第2のイベント通知メッセージの受信に応じて、前記複合機から前記更新サーバーへ前記第2のソフトウェア・コンポーネントの更新版の要求を送信する段階、
    前記更新サーバーから、前記第2のソフトウェア・コンポーネントを受信する段階、及び
    前記第2のソフトウェア・コンポーネントの現行版を、前記第2のソフトウェア・コンポーネントの更新版で更新する段階、を実行する請求項1に記載の複合機。
  4. 複合機であって、
    前記更新サーバーが利用不可能であると決定する段階、
    前記更新サーバーが利用不可能であるという決定に応じて、Web−Services Discoveryプロトコルに従う第2のマルチキャスト発見メッセージを送信する段階、
    第2の更新サーバーから、Web−Services Discoveryプロトコルに従い、前記第2の更新サーバーが前記1又は複数のソフトウェア・コンポーネントのうちの1又は複数の更新を提供可能であると示す第2の発見応答メッセージを受信する段階、
    前記第2の発見応答メッセージに応じて、前記複合機から前記第2の更新サーバーへ、Web−Services Eventingプロトコルに従い、前記第2の更新サーバーが前記特定のソフトウェア・コンポーネントの別の更新版を受信したときに、前記複合機が前記第2の更新サーバーにより通知されるべきであることを示す第2のイベント予約メッセージを送信する段階、
    前記第2の更新サーバーから、Web−Services Eventingプロトコルに従い、前記第2の更新サーバーが前記特定のソフトウェア・コンポーネントの第2の更新版を受信していることを示す第2のイベント通知メッセージを受信する段階、
    前記第2のイベント通知メッセージの受信に応じて、前記複合機から前記第2の更新サーバーへ、前記特定のソフトウェア・コンポーネントの第2の更新版の要求を送信する段階、
    前記第2の更新サーバーから、前記特定のソフトウェア・コンポーネントの第2の更新版を受信する段階、及び
    前記特定のソフトウェア・コンポーネントの現行版を、前記特定のソフトウェア・コンポーネントの第2の更新版で更新する段階、を実行する請求項1記載の複合機。
  5. 前記複合機は、
    前記イベント通知メッセージの受信に応じて、前記複合機での前記特定のソフトウェア・コンポーネントの現行版の実行を停止させる段階、及び
    前記特定のコンポーネントの更新に応じて、前記特定のソフトウェア・コンポーネントの実行を開始させる段階、を更に実行する請求項1記載の複合機。
  6. 前記複合機は、Web−Services Devices Profileにより要求されるWeb−Services仕様のセットを実装する、請求項1記載の複合機。
  7. 前記複合機は、
    前記複合機で、第1のスレッド、第2のスレッド、及び第3のスレッドを生成する段階、を更に実行し、
    前記第1のスレッドは、発見応答メッセージを受信し、
    前記第2のスレッドは、イベント予約メッセージを送信し、及び
    前記第3のスレッドは、イベント通知メッセージを受信し、前記イベント通知メッセージと関連する更新されたソフトウェア・コンポーネントを要求する、請求項1記載の複合機。
  8. 現行版の特定のソフトウェア・コンポーネントを含む複合機にある1又は複数のソフトウェア・コンポーネントを更新する方法であって、前記方法は、
    前記複合機は、印刷データを処理し、有体の媒体に印刷されるべき印刷データに表された電子文書の印刷された版を生成する印刷モジュールを有し、前記複合機から、Web−Services Discoveryプロトコルに従うマルチキャスト発見メッセージを送信する段階、
    更新サーバーから、Web−Services Discoveryプロトコルに従い、前記更新サーバーが前記1又は複数のソフトウェア・コンポーネントのうちの1又は複数の更新を提供可能であることを示す発見応答メッセージを受信する段階、
    前記発見応答メッセージの受信に応じて、前記複合機から前記更新サーバーへ、Web−Services Eventingプロトコルに従い、前記更新サーバーが前記特定のソフトウェア・コンポーネントの更新版を受信したときに、前記複合機が前記更新サーバーにより通知されるべきであると示すイベント予約メッセージを送信する段階、
    前記更新サーバーから、Web−Services Eventingプロトコルに従い、前記更新サーバーが前記特定のソフトウェア・コンポーネントの更新版を受信していることを示すイベント通知メッセージを受信する段階、
    前記イベント通知メッセージの受信に応じて、前記複合機から前記更新サーバーへ、前記特定のソフトウェア・コンポーネントの更新版の要求を送信する段階、
    前記更新サーバーから、前記特定のソフトウェア・コンポーネントを受信する段階、及び
    前記特定のソフトウェア・コンポーネントの現行版を、前記特定のソフトウェア・コンポーネントの更新版で更新する段階、を有する方法。
  9. 現行版の特定のソフトウェア・コンポーネントを含む複合機にある1又は複数のソフトウェア・コンポーネントを更新する命令を格納するコンピューター可読記憶媒体であって、前記命令は、1又は複数のプロセッサーにより実行されると、前記1又は複数のプロセッサーに、
    前記複合機は、印刷データを処理し、有体の媒体に印刷されるべき印刷データに表された電子文書の印刷された版を生成する印刷モジュールを有し、前記複合機から、Web−Services Discoveryプロトコルに従うマルチキャスト発見メッセージを送信する段階、
    更新サーバーから、Web−Services Discoveryプロトコルに従い、前記更新サーバーが前記1又は複数のソフトウェア・コンポーネントのうちの1又は複数の更新を提供可能であることを示す発見応答メッセージを受信する段階、
    前記発見応答メッセージの受信に応じて、前記複合機から前記更新サーバーへ、WS−Eventingプロトコルに従い、前記更新サーバーが前記特定のソフトウェア・コンポーネントの更新版を受信したときに、前記複合機が前記更新サーバーにより通知されるべきであると示すイベント予約メッセージを送信する段階、
    前記更新サーバーから、Web−Services Eventingプロトコルに従い、前記更新サーバーが前記特定のソフトウェア・コンポーネントの更新版を受信していることを示すイベント通知メッセージを受信する段階、
    前記イベント通知メッセージの受信に応じて、前記複合機から前記更新サーバーへ、前記特定のソフトウェア・コンポーネントの更新版の要求を送信する段階、
    前記更新サーバーから、前記特定のソフトウェア・コンポーネントを受信する段階、及び
    前記特定のソフトウェア・コンポーネントの現行版を、前記特定のソフトウェア・コンポーネントの更新版で更新する段階、を実行させる、コンピューター可読記憶媒体。
  10. 現行版の特定のソフトウェア・コンポーネントを含む複合機にある1又は複数のソフトウェア・コンポーネントを更新するネットワーク装置であって、前記ネットワーク装置は、
    前記複合機は、印刷データを処理し、有体の媒体に印刷されるべき印刷データに表された電子文書の印刷された版を生成する印刷モジュールを有し、前記複合機から、Web−Services Discoveryプロトコルに従うマルチキャスト発見メッセージを受信する段階、
    前記発見応答メッセージの受信に応じ、前記複合機から、Web−Services Discoveryプロトコルに従い、前記ネットワーク装置が前記1又は複数のソフトウェア・コンポーネントのうちの1又は複数の更新を提供可能であることを示す発見応答メッセージを受信する段階、
    前記複合機から、Web−Services Eventingプロトコルに従い、前記ネットワーク装置が前記特定のソフトウェア・コンポーネントの更新版を受信したときに、前記ネットワーク装置が前記複合機に通知すべきであると示すイベント予約メッセージを受信する段階、
    前記特定のソフトウェア・コンポーネントの更新版の受信に応じて、前記複合機へ、Web−Services Eventingプロトコルに従い、前記ネットワーク装置が前記特定のソフトウェア・コンポーネントの更新版を受信していることを示すイベント通知メッセージを送信する段階、
    前記複合機から、前記特定のソフトウェア・コンポーネントの更新版の要求を受信する段階、
    前記複合機へ、前記特定のソフトウェア・コンポーネントの更新版を送信する段階、を実行するネットワーク装置。
  11. 前記イベント予約メッセージは、特定のソフトウェア種類を指定し、
    前記特定のソフトウェア種類は、前記特定のソフトウェア・コンポーネントを含む複数の異なるソフトウェア・コンポーネントに対応する、請求項10に記載のネットワーク装置。
  12. 前記イベント予約メッセージは、前記特定のソフトウェア種類と異なる第2のソフトウェア種類も指定し、
    前記ネットワーク装置は、
    前記複合機へ、Web−Services Eventingプロトコルに従い、前記更新サーバーが前記第2のソフトウェア種類に属する第2のソフトウェア・コンポーネントの更新版を受信していることを示す第2のイベント通知メッセージを送信する段階、
    前記複合機から、前記第2のソフトウェア・コンポーネントの更新版の第2の要求を受信する段階、
    前記第2の要求に応じ、前記複合機へ、前記第2のソフトウェア・コンポーネントを送信する段階、を実行する請求項11に記載のネットワーク装置。
  13. 前記ネットワーク装置は、
    前記更新サーバーは、如何なる複合機へもイベント通知を送信できないと決定する段階、及び
    前記第2の更新サーバーに、前記イベント予約メッセージに関連するイベント予約情報を保持させる段階、を更に実行する請求項10に記載のネットワーク装置。
  14. 前記ネットワーク装置は、第1のスレッド、第2のスレッド、及び第3のスレッドを生成する段階を更に実行し、
    前記第1のスレッドは、発見応答メッセージを受信し、
    前記第2のスレッドは、イベント予約メッセージを送信し、及び
    前記第3のスレッドは、複数のソフトウェア・コンポーネントの更新を受信し、前記更新に応じてイベント通知メッセージを送信する、請求項10記載のネットワーク装置。
JP2009136276A 2008-06-09 2009-06-05 ウェブ・サービスを用いたmfpソフトウェアの更新 Expired - Fee Related JP5434282B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/136,045 2008-06-09
US12/136,045 US8271967B2 (en) 2008-06-09 2008-06-09 MFP software update using web service

Publications (2)

Publication Number Publication Date
JP2009295167A JP2009295167A (ja) 2009-12-17
JP5434282B2 true JP5434282B2 (ja) 2014-03-05

Family

ID=40886767

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009136276A Expired - Fee Related JP5434282B2 (ja) 2008-06-09 2009-06-05 ウェブ・サービスを用いたmfpソフトウェアの更新

Country Status (3)

Country Link
US (1) US8271967B2 (ja)
EP (1) EP2133790A1 (ja)
JP (1) JP5434282B2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2577244A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited Method and system for controlling software version updates
US7802243B1 (en) * 2006-04-20 2010-09-21 Open Invention Network Llc System and method for server customization
US8676760B2 (en) * 2008-08-05 2014-03-18 International Business Machines Corporation Maintaining data integrity in data servers across data centers
KR101429521B1 (ko) * 2009-12-08 2014-08-14 삼성전자주식회사 컨트롤 포인트, 화상형성장치 및 이벤트 처리 방법
CN102209164B (zh) * 2010-03-29 2014-07-02 京瓷办公信息系统株式会社 图像形成系统、图像形成装置以及图像形成装置搜索方法
US8438259B2 (en) 2010-10-30 2013-05-07 Hewlett-Packard Development Company, L.P. Web application usage of accessory device directly connected to electronic device in non-networked manner
US20120225630A1 (en) * 2011-03-03 2012-09-06 Htc Systems and Methods for Antenna Tuning in a Mobile Device
EP2751682A4 (en) 2011-08-29 2015-01-07 Fiberlink Comm Corp PLATFORM FOR USE AND DISTRIBUTION OF MODULES TO END POINTS
JP5843595B2 (ja) 2011-12-13 2016-01-13 キヤノン株式会社 生産装置
US9804807B2 (en) * 2012-08-13 2017-10-31 Xerox Corporation Method and system for automated hardcopy change notification
US10064224B2 (en) 2012-09-28 2018-08-28 Samsung Electronics Co., Ltd Method and system for establishing wireless fidelity direct (WFD) connection in a WFD network environment
US9542145B2 (en) * 2013-02-04 2017-01-10 Ricoh Company, Ltd. Dynamic user interface for device management system
FR3003366B1 (fr) * 2013-03-12 2015-04-10 Airbus Operations Sas Procede, dispositif et programme d'ordinateur pour l'installation ou la desinstallation automatique de modules logiciels dans des equipements embarques d'un aeronef
US8825814B1 (en) * 2013-05-23 2014-09-02 Vonage Network Llc Method and apparatus for minimizing application delay by pushing application notifications
JP6141778B2 (ja) * 2014-02-27 2017-06-07 京セラドキュメントソリューションズ株式会社 イベント管理装置及びイベント管理方法
US9553766B2 (en) 2014-12-15 2017-01-24 Sap Se Determined configuration update for edge components
US10015236B2 (en) * 2015-01-30 2018-07-03 Ricoh Company, Ltd. Cloud application activation and update service
JP6399360B2 (ja) * 2015-11-26 2018-10-03 京セラドキュメントソリューションズ株式会社 インストールシステムおよびインストール方法
CN106933548B (zh) * 2015-12-29 2021-01-12 阿里巴巴集团控股有限公司 全局信息获取、处理及更新、方法、装置和系统
CN107295033B (zh) 2016-03-31 2020-07-28 阿里巴巴集团控股有限公司 一种路由方法及装置
JP6755706B2 (ja) * 2016-05-11 2020-09-16 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
US20190332522A1 (en) * 2018-04-27 2019-10-31 Satori Worldwide, Llc Microservice platform with messaging system
US10552101B1 (en) 2018-08-03 2020-02-04 Toshiba Tec Kabushiki Kaisha System and method for automated generation and installation of MFP applications from monitored device usage
CN109445819B (zh) * 2018-10-26 2021-01-22 广东美的制冷设备有限公司 家电系统的在线升级控制方法和家电系统
CN112055057B (zh) * 2020-08-14 2022-09-30 青岛海信网络科技股份有限公司 一种Web系统动态扩展的方法及系统和设备
US12072865B2 (en) * 2021-03-17 2024-08-27 Intuit Inc. Competing updates from multiple servicing instances

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512724B1 (en) * 1999-11-19 2009-03-31 The United States Of America As Represented By The Secretary Of The Navy Multi-thread peripheral processing using dedicated peripheral bus
JP3602036B2 (ja) * 2000-06-30 2004-12-15 シャープ株式会社 プログラム供給システム及びプログラム供給方法
JP2002073401A (ja) * 2000-08-28 2002-03-12 Mitsubishi Electric Corp Wwwコンテンツ配信システム、プロキシサーバ装置、wwwサーバ装置、wwwコンテンツ配信方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US8151280B2 (en) * 2003-10-27 2012-04-03 Microsoft Corporation Simple and dynamic configuration of network devices
US20050120106A1 (en) * 2003-12-02 2005-06-02 Nokia, Inc. System and method for distributing software updates to a network appliance
TWI250407B (en) * 2004-06-10 2006-03-01 Acer Inc Electronic system capable of using universal plug and play (UPNP) protocol to update software program and method thereof
JP2006195709A (ja) * 2005-01-13 2006-07-27 Hitachi Ltd Webサービスシステム
JP4667175B2 (ja) * 2005-08-31 2011-04-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4236672B2 (ja) * 2006-04-05 2009-03-11 シャープ株式会社 画像処理装置
US7929419B2 (en) * 2006-08-04 2011-04-19 Tekelec Methods, systems, and computer program products for inhibiting message traffic to an unavailable terminating SIP server
US7734717B2 (en) * 2006-12-05 2010-06-08 Nokia Corporation Software distribution via peer-to-peer networks
US8019794B2 (en) * 2007-04-02 2011-09-13 Sharp Laboratories Of America, Inc. Firmware repository for MFP devices

Also Published As

Publication number Publication date
EP2133790A1 (en) 2009-12-16
US20090307678A1 (en) 2009-12-10
US8271967B2 (en) 2012-09-18
JP2009295167A (ja) 2009-12-17

Similar Documents

Publication Publication Date Title
JP5434282B2 (ja) ウェブ・サービスを用いたmfpソフトウェアの更新
US7739367B2 (en) Managing network-enabled devices
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
US7624182B2 (en) Supporting multiple service discovery protocols on a device
JP5678507B2 (ja) 印刷装置、処理方法及びコンピュータプログラム
JP5444652B2 (ja) ネットワーク装置、処理方法及びコンピュータプログラム
US20080243900A1 (en) Dynamic and Real-Time Discovery of Computing Resources
US9323587B2 (en) Method and system for automatic detecting and resolving APIs
JP2007334890A (ja) 自動プリンタ登録
JP2008059483A (ja) 通信システム及びその制御方法及び通信装置
US8676967B2 (en) Event proxy notification apparatus and method of controlling the same and program
JP2009296128A (ja) 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP2009087344A (ja) 多機能周辺機器のウェブサービスアプリケーションにおけるイベント通知減少のための方法及び装置
US8135822B2 (en) Reporting events from multiple WS-enabled devices
JP5020472B2 (ja) トポロジーエディタの利用によるデータネットワークのステータスの通知の関連付け
US8112766B2 (en) Multi-threaded device and facility manager
US20040268114A1 (en) Electronic apparatus and parameter updating method
JP5014095B2 (ja) 複合機
JP5272400B2 (ja) 新たなサービスを装置に動的に追加するための方法、装置及びコンピュータプログラム
JP2008181487A (ja) 装置とファシリティマネージャ内のディスカバリ機能の統合
JP5389413B2 (ja) 画像形成システム
JP6340786B2 (ja) 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
JP2006168134A (ja) 印刷方法、印刷デバイス及び印刷システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

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: 20131112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131125

R151 Written notification of patent or utility model registration

Ref document number: 5434282

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees