(57)【要約】【課題】印刷ドキュメントにセキュリティ特徴を追加する便利な方法を提供する。【解決手段】ネットワークに接続されたネットワークデバイスで作成されたドキュメントにセキュリティ特徴を組み込む方法であって、ネットワークデバイスが関与するデータ通信を前記インターディクタによりインターセプトし、インターディクタにおいてネットワークデバイスに対するデータ通信がネットワークデバイスイベントのサブスクリプション登録に対応していると判断される場合にデータ通信を拡張サービスに送信し、前記データ通信を拡張サービスが変更し、変更データ通信を拡張サービスからインターディクタへ送信し、変更データ通信を前記インターディクタから前記ネットワークデバイスに送信してセキュリティ特徴を有するドキュメントを作成する。【選択図】図４
2010146559.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたネットワークデバイスで作成されたドキュメントにセキュリティ特徴を組み込む方法であって、
前記ネットワークデバイスで作成されたドキュメントにセキュリティ特徴を提供することを含むネットワークデバイスイベントを拡張サービスに通知するためのサブスクリプション登録をインターディクタにて受信し、前記サブスクリプション登録は前記拡張サービスから受信されるものであり、
前記ネットワークデバイスが関与するデータ通信を前記インターディクタによりインターセプトし、
前記インターディクタにおいて、前記ネットワークデバイスに対する前記データ通信が、前記ネットワークデバイスイベントの前記サブスクリプション登録に対応しているかどうかを判断し、前記データ通信が前記ネットワークデバイスイベントの前記サブスクリプション登録に対応している場合、前記データ通信を前記拡張サービスに送信し、
前記ネットワークデバイスで作成された前記ドキュメントに前記セキュリティ特徴を組み込むために前記拡張サービスへ送信された前記データ通信を前記拡張サービスが変更し、
前記変更データ通信を前記拡張サービスから前記インターディクタへ送信し、
前記変更データ通信を、前記インターディクタから前記ネットワークデバイスに送信して、前記セキュリティ特徴を有する前記ドキュメントを作成する、方法。
【請求項２】
前記セキュリティ特徴は、マイクロテキスト、グロスマーク、パンタグラフ、赤外線埋め込み画像、紫外線埋め込み画像および相関マークのうち１つ以上を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記作成ドキュメントは、テキスト、グラフィックスおよび画像要素のうち１つ以上を含むことを特徴とする請求項１に記載の方法。
【請求項４】
ネットワークおよび拡張サービスに動作可能に接続されたインターディクタであって、
命令を格納するコンピュータ可読メモリと、
メモリに動作可能に接続されたコントローラを備え、前記コントローラは、前記格納命令を実行し、かつネットワークデバイス内で作成するドキュメントにセキュリティ特徴を組み込む方法を実行するよう構成され、前記方法は、
ドキュメントに対してセキュリティ特徴を提供することを含むネットワークデバイスイベントを拡張サービスに通知するためのサブスクリプション登録を受信し、前記サブスクリプション登録は拡張サービスから受信されるものであり、
前記ネットワークデバイスが関与するデータ通信をインターセプトし、
前記ネットワークデバイスに対する前記データ通信が前記ネットワークデバイスイベントの前記サブスクリプション登録に対応しているかどうかを判断し、前記データ通信が前記ネットワークデバイスイベントの前記サブスクリプション登録に対応している場合、前記のデータ通信を前記拡張サービスへ送信し、
前記ネットワークデバイスで作成された前記ドキュメントに前記セキュリティ特徴を含んで前記拡張サービスから送信される変更データ通信を前記拡張サービスから受信し、
前記変更データ通信を前記ネットワークデバイスに送信して、前記セキュリティ特徴を有する前記ドキュメントを作成する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ネットワークデバイスの機能性を拡張する方法と、それに対応する装置およびコンピュータ可読媒体について開示する。具体的には、ドキュメントにセキュリティ特徴を組み込む方法およびその装置について開示する。
【背景技術】
【０００２】
ネットワークに接続されたデバイスにより、ユーザは所望の機能性を得ることができる。例えば、プリンタ、スキャナ、ファックス装置などは、これらのデバイスが提供する付加的な機能性をコンピュータユーザに提供することができる。ネットワークデバイスには、印刷、コピー、ファックス機能などを提供するデバイスのように、複数の機能を一台で提供するものがあり、それらはマルチファンクションデバイス（ＭＦＤ）として知られている。
【０００３】
デバイスドライバをコンピュータにインストールすることにより、ネットワークデバイスとネットワークデバイスに接続されたコンピュータまたは電子デバイス間でインターフェース接続または交信を行うことができる。プリンタドライバのようなデバイスドライバは、コンピュータによりネットワークデバイスを制御するソフトウェアである。デバイスドライバはユーザインターフェースを含んでいてもよく、典型的にはユーザはオペレーティングシステム、またはワードプロセッシングプログラムおよび表計算プログラム等のアプリケーションプログラムを介してユーザインターフェースにアクセスし、コンピュータのディスプレイ上で閲覧することができる。典型的にはユーザインターフェースを介してデバイスドライバにより任意の機能性が提供される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許出願公開第２００７／０１２７７７０号明細書
【特許文献２】米国特許出願公開第２００７／０１３３０４０号明細書
【特許文献３】米国特許出願公開第２００７／０１３３０４１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ネットワークデバイスの機能性を拡張して、通常ドライバまたはデバイス自体では提供されない機能を組み込むのは、ユーザまたは管理者にとって大変困難である。ドライバソフトウェアまたは他のコントローラソフトウェアを変更して付加的な機能性を得る作業は、ほとんどのユーザの能力を越えた複雑なプロセスである。従って、マルチファンクションデバイスに関連したドライバやコントローラソフトウェアを変更せずに、ネットワークデバイスの機能性を拡張することができれば有益である。
【０００６】
更に、印刷ドキュメントにセキュリティ特徴を追加することにより、それらのドキュメントの誤用を防ぐことが望ましい。このための既存の手法では、印刷ドキュメントを生成するワークフロープロセスおよび装置に対して広範囲な変更を必要とするか、または普通のオフィス環境では通常存在しない専用装置が必要となる。このような余分な手間およびコストが、そのような技術の採用を妨げている。
【課題を解決するための手段】
【０００７】
この開示における１つの実施の形態では、ネットワークに接続されたネットワークデバイスで作成されたドキュメントにセキュリティ特徴を組み込む方法は、ドキュメントにセキュリティ特徴を提供することを含むネットワークデバイスイベントを拡張サービスに通知するためのサブスクリプション登録をインターディクタにて受信し、前記サブスクリプション登録は前記拡張サービスから受信されるものであり、前記ネットワークデバイスが関与するデータ通信を前記インターディクタによりインターセプトし、前記インターディクタにて前記ネットワークデバイスに対する前記データ通信が前記ネットワークデバイスイベントの前記サブスクリプション登録に対応しているかどうかを判断し、前記データ通信が前記ネットワークデバイスイベントの前記サブスクリプション登録に対応している場合、前記のデータ通信を前記拡張サービスへ送信し、前記ネットワークデバイスで作成された前記ドキュメントに前記セキュリティ特徴を組み込むために、前記拡張サービスへ送信された前記データ通信を拡張サービスが変更し、前記変更されたデータ通信を前記拡張サービスから前記インターディクタへ送信し、前記変更されたデータ通信を前記インターディクタから前記ネットワークデバイスに送信して前記セキュリティ特徴を有する前記ドキュメントを作成する。
【０００８】
この開示の別の実施の形態では、コンピュータプログラム製品を開示する。コンピュータプログラム製品は、命令を格納するコンピュータ使用可能なデータ記憶媒体を備え、前記命令はコンピュータによって実行されると、ネットワークに接続されたネットワークデバイスで作成するドキュメントにセキュリティ特徴を組み込む方法を、コンピュータに実行させるものであり、前記方法は、ドキュメントに対してセキュリティ特徴を提供することを含むネットワークデバイスイベントを拡張サービスに通知するためのサブスクリプション登録を受信し、前記サブスクリプション登録は拡張サービスから受信されるものであり、前記ネットワークデバイスが関与するデータ通信をインターセプトし、前記ネットワークデバイスに対する前記データ通信が前記ネットワークデバイスイベントの前記サブスクリプション登録に対応しているかどうかを判断し、前記データ通信が前記ネットワークデバイスイベントの前記サブスクリプション登録に対応している場合、前記データ通信を前記拡張サービスへ送信し、前記拡張サービスから送信され、前記ネットワークデバイスで作成された前記ドキュメントに前記セキュリティ特徴を含んで前記拡張サービスから送信される変更データ通信を受信し、前記変更データ通信を前記ネットワークデバイスに送信して前記セキュリティ特徴を有する前記ドキュメントを作成するものである。
【０００９】
またこの開示の別の形態では、ネットワークと拡張サービスに動作可能に接続されたインターディクタが開示されており、前記インターディクタは命令を格納するコンピュータ可読メモリと、前記メモリに動作可能に接続されたコントローラを備え、前記コントローラは、格納された命令を実行し、かつネットワークデバイス内で作成するドキュメントにセキュリティ特徴を組み込む方法を実行するよう構成され、前記方法は、ドキュメントに対してセキュリティ特徴を提供することを含むネットワークデバイスイベントを拡張サービスに通知するためのサブスクリプション登録を受信し、前記サブスクリプション登録は拡張サービスから受信されるものであり、前記ネットワークデバイスが関与するデータ通信をインターセプトし、前記ネットワークデバイスに対する前記データ通信が前記ネットワークデバイスイベントの前記サブスクリプション登録に対応しているかどうかを判断し、前記データ通信が前記ネットワークデバイスイベントの前記サブスクリプション登録に対応している場合、前記データ通信を前記拡張サービスへ送信し、前記ネットワークデバイスで作成する前記ドキュメントに前記セキュリティ特徴を含んで前記拡張サービスから送信される変更データ通信を受信し、前記変更データ通信を前記ネットワークデバイスに送信して前記セキュリティ特徴を有する前記ドキュメントを作成する。
【図面の簡単な説明】
【００１０】
【図１】図１は、装置の構成図である。
【図２】図２は、ネットワークデバイスに拡張機能を提供する装置を備えるネットワークの構成図である。
【図３】図３は、ネットワークデバイスに拡張機能を提供する装置を備えるネットワークの構成図である。
【図４】図４は、ネットワークデバイスに拡張機能を提供する方法を示すフローチャートである。
【図５】図５は、この開示によるドキュメントに挿入されたマイクロテキストの典型的な一実施の形態を示す図である。
【図６】図６は、この開示における例示の実施形態によるインターディクタを含むネットワーク構成図である。
【発明を実施するための形態】
【００１１】
本実施の形態は、ネットワークデバイスの機能性を拡張する方法と、それに対応する装置およびコンピュータ可読媒体に関する。本実施の形態は、ネットワークに接続されたネットワークデバイスに拡張機能を提供する方法を含む。この方法は、ネットワークデバイスとクライアントデバイス間のデータ通信をインターディクタによってインターセプトし、変更対象のネットワークデバイスイベントを通知するためのサブスクリプション登録をインターディクタにおいて受信し、前記サブスクリプション登録は拡張サービスにより発行され、ネットワークデバイスが関与するデータ通信が、変更対象のネットワークデバイスイベントのサブスクリプション登録に対応しているかどうかを判断し、ネットワークデバイスが関与するデータ通信が、変更対象のネットワークデバイスイベントのサブスクリプション登録に対応していると判断すると、拡張機能を提供するために前記データ通信を変更するものである。
【００１２】
本実施の形態はさらに、ネットワーク内でネットワークデバイスと拡張サービスに接続されるインターディクタを含み、このインターディクタはネットワークデバイスに拡張機能を提供する。インターディクタは、命令を格納するメモリとメモリに接続されたコントローラを含んでもよく、コントローラは、格納された命令に基づいて、ネットワークデバイスが関与する通信をインターディクタにインターセプトさせ、変更対象のネットワークデバイスイベントを通知するためのサブスクリプション登録を受信し、前記サブスクリプション登録は拡張サービスにより発行され、ネットワークデバイスが関与するデータ通信が、変更対象のネットワークデバイスイベントのサブスクリプション登録に対応しているかどうかを判断し、ネットワークデバイスが実行するデータ通信が、変更対象のネットワークデバイスイベントのサブスクリプション登録に対応していると判断すると、拡張機能を提供するためにデータ通信を変更する。
【００１３】
実施の形態はさらに、命令を格納するコンピュータ使用可能なデータ記憶媒体を含むコンピュータ可読媒体を備え、コントローラが前記命令を実行すると、コントローラはネットワークに接続されたネットワークデバイスが関与するデータ通信をインターディクタによってインターセプトし、変更対象のネットワークデバイスイベントの通知のためのサブスクリプション登録を受信し、前記サブスクリプション登録は拡張サービスにより発行され、ネットワークデバイスが関与するデータ通信が、変更対象のネットワークデバイスイベントのサブスクリプション登録に対応していると判断すると、拡張機能を提供するためにネットワークデバイスが関与するデータ通信を変更する。
【００１４】
更にこの開示において、印刷ドキュメントを生成するデバイスまたはそのようなドキュメントの生成を望む企業のワークフローに対して大規模な変更を必要とすることなく、ドキュメントにセキュリティ特徴を追加するための好適な方法およびシステムを提供する。このセキュリティ特徴は、ドキュメントの印刷に使用する印刷装置またはクライアントソフトウェアのさらなる変更を必要とせずに、動的かつドメイン特化型としてカスタマイズすることができる。したがって、当該技術の採用が容易になり、費用効率が高くなる。
【００１５】
ここで使用するネットワークデバイスとは、典型的に１人以上のコンピュータユーザにネットワーク上で接続され、コンピュータユーザに特定の機能性を提供するデバイスである。ネットワークデバイスの一例としては、プリンタ、スキャナ、コピー機、ファックス装置、およびこれらのデバイスの機能を組み合わせたデバイス（しばしばマルチファンクションデバイス（ＭＦＤ）と呼ばれる）などがある。
【００１６】
図１は、システムまたは装置１１０を示す図である。システム１１０は、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、ハンドヘルド通信デバイス、または他のタイプのコンピューティングデバイスまたは電子デバイスなどのデバイスにおいて実現されてもよい。システム１１０はメモリ１２０、プロセッサ１３０、Ｉ／Ｏデバイス１４０、ディスプレイ１５０およびバス１６０を含んでいてもよい。バス１６０は、コンピュータデバイス１１０の構成要素間の通信および信号転送を実現する。ディスプレイ１５０およびＩ／Ｏデバイス１４０は、実施の形態によっては必要でない場合もある。
【００１７】
プロセッサ１３０は、命令を解釈・実行する少なくとも１つの従来のプロセッサまたはマイクロプロセッサにより構成してもよい。プロセッサ１３０は、汎用プロセッサまたはＡＳＩＣのような特定用途向け集積回路であってもよく、１つ以上のプロセッサ部を備えていてもよい。さらに、システム１１０は複数のプロセッサ１３０を含んでいてもよい。
【００１８】
メモリ１２０は、プロセッサ１３０が実行する情報と命令を格納するランダムアクセス記憶装置（ＲＡＭ）または他のタイプのダイナミックストレージデバイスであってもよい。メモリ１２０はまた、プロセッサ１３０用の静的情報と命令を格納する、従来の読み取り専用メモリ（ＲＯＭ）または他のタイプのスタティックストレージデバイスを含むＲＯＭ装置で構成されてもよい。メモリ１２０は、システム１１０が使用するデータを格納するメモリデバイスであれば、どのようなデバイスであってもよい。
【００１９】
入出力デバイス１４０（Ｉ／Ｏデバイス）は、システム１１０へのユーザの情報入力を可能にするマイクロホン、タッチパッド、キーパッド、キーボード、マウス、ペン、スタイラス、音声認識デバイス、ボタンなどの１つ以上の従来の入力機構と、ディスプレイ、１つ以上のスピーカー、メモリ、磁気または光ディスク、ディスクドライブ、プリンタデバイスなどの記憶メディアを含む、ユーザへの情報出力を行う１つ以上の従来機構等の出力機構、および／または上記のインターフェースを含んでもよい。ディスプレイ１５０は、典型的には、従来の多くのコンピュータデバイス上で使用されるＬＣＤまたはＣＲＴディスプレイ、または他のタイプのディスプレイデバイスであってもよい。
【００２０】
システム１１０では、例えばメモリ１２０のようなコンピュータ可読媒体に保存された命令または命令セットシーケンスをプロセッサ１３０が実行することにより、機能を実行することができる。そのような命令は、記憶装置のような別のコンピュータ可読媒体から、または通信用インターフェースを介して別のデバイスからメモリ１２０に読み込んでもよく、インターネットのような外部ソースからダウンロードしてもよい。システム１１０はパーソナルコンピュータのようなスタンドアロンシステムであってもよく、イントラネットやインターネットなどのネットワークに接続されていてもよい。他の構成要素は必要に応じてシステム１１０に追加してもよい。
【００２１】
メモリ１２０に、各種機能を実行するためにプロセッサが実行可能な命令を格納することができる。例えば、メモリにプリンタドライバまたは他の命令を格納することにより、システムはシステムに接続された特定のプリンタに関する様々なプリント機能を実行することができる。プリンタドライバ命令は、典型的にはプリンタのタイプ毎に特有であり、システム１１０は異なるプリンタ用に複数のプリントドライバをそれぞれ格納してもよい。プリンタ以外のネットワークデバイスのドライバに関する命令を使用することもできる。
【００２２】
図２は、ネットワークデバイス（ＮＤ）２２０と共に使用可能なインターディクタ(interdictor)２１０を示す。ネットワークデバイス２２０は、例えば１台以上のコンピュータデバイスまたはクライアント２４０に接続可能なネットワーク２３０などに接続されたデバイスであってもよい。ネットワークデバイス２２０は、１人以上のネットワークユーザによって使用可能なネットワークに接続されたプリンタ、スキャナ、コピー機またはその他デバイスであってもよく、また接続ユーザにプリント、スキャニング、ファックス、フォトプリントなどの多面的機能を提供可能なマルチファンクションデバイス（ＭＦＤ）として一般に知られるデバイスであってもよい。インターディクタ２１０は、典型的にはメモリ１２０、プロセッサ１３０およびバス１６０を含むシステム１１０の構成要素のうちのいくつかまたはすべてを含んでいてもよいが、ディスプレイ１５０およびＩ／Ｏデバイス１４０は必要ではない場合もある。インターディクタ２１０はプリント基板上で実現してもよく、独自のハウジングを有するデバイスであってもよく、メモリに格納されプロセッサ上で実行されるプログラムとして実現してもよい。
【００２３】
インターディクタ２１０は、ネットワーク２３０内のネットワークデバイス２２０とクライアント２４間に接続されてもよい。クライアント２４０は、通常ネットワークデバイス２１０を制御するプリントスプーラなどのデバイスまたは他の構成要素であってもよい。クライアント２４０は、例えばプリントサーバ上で稼働してもよい。また、１つ以上の拡張サービス２５０をインターディクタ２１０に接続してもよい。拡張サービス２５０は、インターネット接続を介する場合のようにインターディクタ２１０から離れた場所に配置してもよく、ネットワーク２３０内などのローカルサーバに置かれてもよく、ネットワーク２３０の外部に配置してもよい。特定の状況では、例えばネットワークデバイス２１０がスキャナとして稼働している場合や、スキャンされた電子ファイルがリポジトリのような対象に格納される場合などには、クライアント２４０は構成要素に含まれない場合もある。
【００２４】
図２の構成要素は、有線、無線など、従来のどのような方法で互いに接続されてもよい。さらに、図２の構成要素は異なる物理的位置に置かれていてもよい。
【００２５】
ネットワークデバイス２２０はユーザに特定の機能性を提供する。機能性はデバイスに関連したドライバプログラムによって制御してもよい。例えば、ネットワークデバイス２２０がプリンタである場合、プリントサーバであるクライアント２４０に関連して印刷に使用する機能はプリントドライバにより制御されてもよい。インターディクタ２１０はネットワークデバイス２２０とクライアント２４０間に配置され、ネットワークデバイス２２０とクライアント２４０間の通信をインターセプトする。使用するクライアント２４０またはドライバがない場合は、ターゲットへのネットワークトラフィックの送信(outgoing)をインターディクタ２１０によって制止することができる。インターディクタ２１０は、クライアント２４０とネットワークデバイス２２０間で送信されたデータ、またはネットワークデバイスのその他の送信トラフィックを変更することにより、ネットワークデバイス２２０およびプリントドライバ（使用時）が通常提供する（一例としてデバイスコントローラが提供する）機能性を拡張する。このように、機能性は、ネットワークデバイス２２０またはクライアント２４０（使用時）には見えない形で、またネットワークデバイス２２０またはクライアント２４０への変更を必要としない形で拡張することができる。例えばデバイスコントローラおよびその関連ソフトウェア、またはプリントドライバやその他のドライバを変更する必要はない。
【００２６】
拡張サービス２５０はインターディクタ２１０に接続される。拡張サービス２５０はネットワーク２３０の外部に配置してもよく、ＬＡＮまたはＷＡＮなどによりネットワーク２３０内に配置してもよく、ネットワークデバイス２２０自体の内部に配置してもよい。インターディクタ２１０は、１つ以上の拡張サービス２５０がインターディクタ２１０へ登録することを許可してもよい。その登録はサブスクリプション登録であってもよい。拡張サービス２５０はネットワーク２３０の外部にあって、インターネットのような別のネットワークを介してインターディクタ２１０に接続してもよい。ネットワーク２３０のユーザまたは管理者は、例えば追加したい機能性に基づいて、インターディクタ２１０への登録を許可する拡張サービス２５０を選択することができる。図２における構成要素は、一般にＴＣＰ／ＩＰのような標準ネットワークプロトコルを用いて通信を行うが、他のどのようなネットワークプロトコルを使用してもよい。
【００２７】
一般に、インターディクタ２１０はネットワークデバイス２２０のネットワークポートを開設し、デフォルトではネットワークデバイス２２０とクライアント２４０間でトラフィックを単純に転送する。これは非常に効率的に実行可能である。例えば、インターディクタ２１０は、ネットワークアドレス変換（ＮＡＴ）を使用してトラフィックを転送することができる。
【００２８】
提供可能な拡張機能のタイプを例として上げると、ネットワークデバイス２２０がスキャニング機能を提供するスキャナ、またはスキャニング能力を有するＭＦＤである場合に、管理者またはユーザが、スキャンした各ドキュメントに透かし模様として企業マークを入れるのが望ましいと判断したものの、スキャナ用のコントローラが透かし模様機能を有しないという場合がある。スキャナはスキャン機能にはドライバやクライアントを利用しないかもしれないが、インターディクタ２１０は、送出ネットワークトラフィックとしてのスキャニングファイルを制止し、拡張サービスの使用により透かし模様を追加することができる。
【００２９】
これは、例えば企業ネットワークの管理者によって導入可能であり、ネットワーク上のユーザが選択しなくても実現可能である。管理者はそのような拡張サービス２５０をインターネット等で入手可能な場合もあり、あるいは拡張サービスの登録が許可されるようにインターディクタ２１０を設定して、スキャンした各ドキュメントに透かし模様を追加することも可能である。管理者は、例えばインターフェースを使用して、透かし模様として使用するロゴなどを入力することができる。
【００３０】
提供可能な拡張機能タイプの別の例では、ネットワークデバイス２２０が印刷機能を提供するプリンタ、または印刷能力を有するＭＦＤである場合に、管理者またはユーザがプリンタの機能性を拡張することが望ましいと考えたとする。例えば、印刷された各ページに、マイクロテキストのようなセキュリティ特徴を追加する、特定のドキュメントまたは特定の内容を有するドキュメントの印刷をすべて禁止する、または他の拡張機能を追加することを望んでいるとする。プリンタがドライバによって実行され、プリントスプーラのようなクライアントに接続されている場合、インターディクタをプリンタとクライアント２４０の間に配置して通信をインターセプトし、拡張サービス２５０の使用により所望の機能性を追加する。
【００３１】
したがって、ネットワークデバイス２２０をクライアント２４０およびドライバと共に使用する場合、またはクライアントまたはドライバを使用しない場合に、インターディクタ２１０および拡張サービス２５０を機能性の拡張のために使用してもよい。どちらの場合においても、インターディクタ２１０はネットワークデバイス２２のネットワーク通信をインターセプトして、拡張機能を追加する。
【００３２】
拡張サービス２５０が、サブスクリプション登録を使用してインターディクタ２１０に自身の登録を行うこと可能である場合、インターディクタ２１０はスキャンや印刷などのイベントがサブスクリプション登録に関連して発生しているかどうかを判断し、それを拡張サービスに通知することが可能である。イベント通知は同期でも非同期でもよい。このように、クライアント２４０とネットワークデバイス２２０間の通信を変更することによって、またはクライアント２４０を使用しない場合はネットワークデバイス２２０との通信を変更することにより、インターディクタ２１０は、ネットワークデバイス２２０の機能に外部サービスを追加する手段としての役割を果たす。
【００３３】
拡張サービス２５０によるインターディクタにおけるイベント登録は、ポート番号（またはサービス名）、同期または非同期フラグ、通知に使用するネットワークストリームまたはパケットのバイト数、イベント通知の送付先アドレス（ＵＲＬ）、イベント通知の有効期限、および通知に関係するサービスなどの様々な情報を含む。変更対象となる動作は、インターディクタ２１０または拡張サービス２５０のいずれかにより制御されてもよい。
【００３４】
インターディクタ２１０は、拡張機能を提供する拡張サービス２５０のサブスクリプション登録を許可するようプログラムされる。典型的には、ネットワーク２３０に接続されたコンピュータのユーザまたはネットワーク２３０の管理者のどちらにより追加するサービスが選択されると、対応する拡張サービス２５０が選択されて拡張機能が提供される。その後、拡張サービス２５０はインターディクタ２１０にイベント登録を行うことが可能であり、それにより、対応する拡張サービス２５０が提供する拡張機能に関するイベントタイプが明らかになる。例えば、拡張サービス２５０が、ネットワークデバイス２２０上のすべてのスキャニング画像にスキャナのような拡張機能を提供する場合、スキャニング画像であること示すネットワークデバイス２２０からのデータをインターディクタ２１０で受信すると、インターディクタ２１０はイベント通知を送ることにより対応する拡張サービス２５０にそれを知らせることができる。
【００３５】
リクエスト（受信）、レスポンス（送信）またはパケットがネットワークポートポートで受信されると、インターディクタ２１０は一致するイベント登録を有する拡張サービス２５０すべてに通知することが可能である。複数の拡張サービス２５０が一致する場合は、インターディクタ２１０は一致する拡張サービス２５０すべてにそのイベント通知を送る。イベント通知は、典型的にはリクエスト、レスポンスまたはパケットデータのヘッダを含む。
【００３６】
これを受けて、拡張サービス２５０は、いくつかの返答のうちの１つを返す。拡張サービス２５０は、判断材料としてさらなるデータを要求することができる。必要に応じて、さらなるデータリクエストを繰り返してもよい。これに対してインターディクタ２１０は、リクエストデータを送信するか、またはこれ以上のデータが利用可能ではないことを知らせる。
【００３７】
クライアント２４０を使用しており、クライアントがネットワークデバイス２２０からのレスポンスを要求している場合、拡張サービス２５０からインターディクタへのレスポンスは、インターディクタ２１０によってクライアント２４０に送信されるデータを含んでいてもよい。拡張サービス２５０は、リクエストに対するレスポンスを事実上先取りして、例えば、ネットワークデバイス２２０に通知せずに印刷ジョブまたはスキャンジョブを取り消すことができる。これは、クライアント２４０がレスポンスを要求している場合に起こりえる。
【００３８】
拡張サービス２５０はまた、ネットワークデバイス２２０からのリクエストを単に無視するようにインターディクタ２１０に命令することもできる。拡張サービス２５０のレスポンスは、関心がないこと、およびこれ以上接続またはデータ交換に関する情報を望まないことを示す場合もある。
【００３９】
拡張サービス２５０は、インターディクタ２１０によるイベント通知で受け取ったデータの一部を、適宜差し替えまたは追加する必要がある場合もある。拡張サービス２５０からのレスポンスは、インターディクタ２１０にネットワークデバイス２２０とクライアント２４０間のデータ通信の内容を差し替えまたは追加するよう命じたり、また拡張機能データ等のデータを提供する場合もある。このように、インターディクタ２１０は、ネットワークデバイス２２０またはクライアント２４０からのデータを分析する必要はなく、指示通りにデータを変更する。インターディクタ２１０は必要に応じてデータを差し替えまたは追加し、残存データと共に転送する。例えば、拡張サービス２５０はインターディクタ２１０に対して、透かし模様または他の拡張機能の追加を実現するデータの追加を命じることができる。
【００４０】
インターディクタ２１０はまた、拡張サービス２５０へデータをすべて転送してもよく、その場合、拡張サービス２５０は必要に応じてデータを変更してインターディクタ２１０に送り返し、インターディクタ２１０はそのデータをクライアント２４０またはネットワークデバイス２２０のどちらかへ転送することが可能である。
【００４１】
インターディクタ２１０は、ポートフォワーディングを使用してネットワークデバイス２２０へ送られたトラフィックを転送し、ネットワークアドレス変換（ＮＡＴ）を使用してネットワークデバイスが送信したデータを転送することができる。この動作はネットワークデバイス２２０の変更を必要とせず、またメーカーやモデルを問わず実行可能である。
【００４２】
図３は、ネットワークデバイス３１０がネットワークデバイスの一部としてコントローラ３５０およびインターディクタ３６０を含む場合の実施の形態を示す。クライアント３３０は適宜使用されるが、クライアントを使用しないスキャニング等の場合には必要でない場合もある。インターディクタ３６０はインターディクタ２１０と同様に動作可能である。インターディクタ３６０は、カードスロットに差し込むなどしてネットワークデバイス３１０に追加可能な専用の回路基板において実現することができる。そのような構造では、コントローラ３５０はネットワークデバイス３１０を構成する独立したハードウェア要素となる。インターディクタ３６０は、図２で説明した類似の構成要素と同様の方法でクライアント３３０および拡張サービス３４０と対話可能である。
【００４３】
インターディクタ３６０がネットワークデバイス３１０内にある場合、インターディクタ３６０はネットワークデバイス３１０の従来のコントローラと同一の物理的なハードウェア上で実行されるが、従来のコントローラソフトウェアを変更せずに、別個のソフトウェアデーモンまたはサービスとして実行してもよい。インターディクタ３６０はネットワークデバイス３１０の外部ネットワークポートを開設し、ネットワークループバックインターフェースを使用してコントローラ３５０と通信可能である。コントローラ３５０は非標準のネットワークポートを開設してもよく、その場合、インターディクタ３６０は標準ポートからのデータを非標準ネットワークポートに転送する。これにより、インターディクタ３６０とコントローラ３５０間を明確に分離しておくことが可能であると共に、ハードウェアを追加することなしに、通信を制止することができる。
【００４４】
拡張サービス２５０、３４０は独立したアプリケーションを構築して拡張機能を追加する機能を有してもよく、構築されたアプリケーションはインターディクタ２１０、３６０へ送られてそこに格納され、必要に応じてデータを変更するために実行されてもよい。その場合、インターディクタ２１０、３６０は、拡張サービス２５０、３４０とデータのやり取りを行うことなくデータを変更することができる独立した実行環境を提供し、それにより、効率を向上することができる。
【００４５】
ネットワークデバイス３１０は、１つ以上のクライアントデバイス３３０（使用時）にネットワーク３２０上で接続されるが、このクライアントデバイス３３０は例えばプリントスプーラまたはサーバ上の他のクライアントであってもよく、あるいはユーザが使用するコンピュータであってもよい。拡張サービスは図３に示すようにネットワーク３２０の外部に位置してもよく、またはネットワーク３２０の内部に配置されてもよい。
【００４６】
実施の形態はまた、コンピュータ実行命令またはデータ構造を搭載または格納したコンピュータ可読媒体を含んでいてもよい。そのようなコンピュータ可読媒体は、汎用または専用コンピュータによってアクセス可能であれば、どのような市販の媒体でもよい。一例として、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶装置、または所望のプログラムコード手段をコンピュータ実行命令またはデータ構造の形式で搭載または格納するために使用することができる他の媒体により構成される。情報をネットワークまたは（ハードワイヤード、ワイヤレス、またはその組み合わせによる）他の通信接続によってコンピュータに転送または提供する場合、コンピュータは正確にはその接続をコンピュータ可読媒体と見なす。したがって、そのような接続はどのようなものであれ、正確にはコンピュータ可読媒体と呼ばれる。上記を組み合わせたものも、コンピュータ可読媒体の範囲内に含まれるものとする。
【００４７】
コンピュータ実行命令は、例えば、汎用コンピュータ、専用コンピュータまたは専用制御演算装置に特定の機能または機能群を実行させる命令およびデータを含む。コンピュータ実行命令はまた、スタンドアロンまたはネットワーク環境のコンピュータによって実行されるプログラムモジュールを含む。一般に、プログラムモジュールは、特定のタスクまたは特定の抽象データ型を実行するルーチン、プログラム、オブジェクト、構成要素およびデータ構造などを含む。コンピュータ実行命令、関連データ構造およびプログラムモジュールは、ここに開示する方法における工程を実行するためのプログラムコード手段の一例を示す。そのような実行命令または関連データ構造の特定のシーケンスは、そこに記述されている機能を実行するための当該動作の一例を示す。開示された実施の形態における機能性を実行するための命令は、そのようなコンピュータ可読媒体上に格納してもよい。
【００４８】
実施の形態の機能性を実現するために、コンピュータ可読媒体に格納された命令を第１電子デバイス２１０などの電子デバイスで使用してもよい。これらの命令は、必要に応じて第１電子デバイス２１０のメモリに読み込まれ、プロセッサが実行する。
【００４９】
図４は、ネットワークデバイスに拡張機能を提供する方法を示すフローチャートである。この方法は４１００からスタートする。４２００において、ネットワークデバイスが関与するデータ通信が、インターディクタによりインターセプトされる。４３００において、変更対象となるネットワークデバイスイベントのサブスクリプション登録が拡張サービスからインターディクタに対して実行される。
【００５０】
４４００において、ネットワークデバイスが関与するデータ通信が変更対象となるネットワークデバイスイベントのサブスクリプション登録に対応しているかどうかが判断される。４５００において、ネットワークデバイスが関与するデータ通信が、変更対象のネットワークデバイスイベントのサブスクリプション登録に対応していると判断されると、拡張機能を提供するためにこのネットワークデバイスが関与するデータ通信を変更する。４６００において、同方法が終了する。
【００５１】
上述したように、ネットワークデバイスの機能性の拡張に関する本開示の目的に加えて、本開示では、ドキュメントを生成するデバイスおよびそのようなドキュメントの生成を望む企業のワークフローのどちらに対しても大規模な変更を必要とせずに、印刷ドキュメントにセキュリティ特徴を追加する便利な方法およびシステムを提供する。このセキュリティ特徴は、ドキュメントの印刷に使用する印刷装置またはクライアントソフトウェアのさらなる変更を必要とせずに、動的かつドメイン特化型としてカスタマイズすることができる。したがって、当該技術の採用が容易になり、費用効率が高くなる。
【００５２】
例えば、印刷ドキュメントにセキュリティ特徴を追加することにより、後から検証を行うことができる。セキュリティ特徴としては、グロスマーク、マイクロテキスト、パンタグラフ、赤外線埋め込み画像、紫外線埋め込み画像および相関マークが含まれる。このような現在および将来の技術が数多く存在する。本開示では、マイクロテキストを一例として言及しているが、印刷ドキュメントの印刷領域と見なされる技術であれば、どのような技術も考慮されるものとする。本開示は特に、汎用、つまりセキュリティ特徴の挿入に特化されていない現在および将来のマシンのクラス上で実現可能なプリントされた形態のセキュリティ技術を提供する。
【００５３】
印刷ドキュメントに挿入される特定のセキュリティ特徴は、好適には動的要素を含む。典型的にはこれらの動的要素は、印刷ドキュメントを生成する企業のポリシーディシジョンを反映する。これらの動的要素は、印刷ジョブ毎に変更、またはある期間一定に維持しもよく、典型的にはドキュメントがその一部を構成するドメイン（どの産業、その産業内のどの企業かなど）に特有となる。
【００５４】
これらのセキュリティ特徴の挿入を実現するためのアプローチとして、現在以下の３つが知られている。
１．セキュリティ特徴を挿入するようデバイスを変更することが可能であり、これは、企業のポリシーサーバが決定する企業ポリシーに基づいて制御されてもよい。このデバイス変更にはコストがかかり、利益が出るまでに売上高の大規模な正当化を必要とする。アプリケーションのドメインが相応して制限されるので、セキュリティ特徴のカスタマイゼーションがより特殊になるほど、この問題を克服するのが困難になる。
２．印刷クライアントが使用するドライバソフトウェアを、恐らく上述のポリシーサーバと共に変更して、セキュリティ特徴を挿入することが可能である。しかしながらそのためには、上記機能の使用を望むすべての印刷クライアントに対して専用ドライバを配布する必要がある。配布およびシステム管理の必要性という負担は、関連する印刷クライアントの台数に比例して増加する。印刷クライアントにこれらのドライバの使用を強制するには、上述のようにドライバの配布を要求するように印刷装置自体を変更する必要があり、このため、ユーザ選択によらずにセキュリティ特徴の挿入を強制することは難しい。さらにユーザは、ドライバによって作成されたジョブの送信前にこのジョブをファイルへ保存し、セキュリティ特徴を変更、例えば、マイクロテキストストリングを編集することも可能であると思われる。
３．印刷する電子ドキュメントの編集に使用するソフトウェアアプリケーションを、セキュリティ特徴を挿入するために変更してもよい。ドライバの場合と同様に、このためには、すべてのクライアントに対して専用のソフトウェアアプリケーションを配布する必要があり、その負担はユーザ数に比例する。また、ユーザはドキュメントの編集および印刷に単純に他のソフトウェアを使用することもできるため、クライアントソフトウェアの使用を強制するのは難しい。ユーザによる印刷前のセキュリティ特徴の編集という上述と同様の問題が、ここでも存在する。
【００５５】
本開示は、上述の問題を解決するためにドキュメントにセキュリティ特徴を挿入する方法とシステムを提供する。クライアントと印刷デバイス間の印刷ジョブは、企業ポリシーに基づいてセキュリティ特徴サービスによって制止され（一般的な制止技術の全詳細については、トレドによる２００８年６月２５日出願の米国特許出願第１２／１４５，５９１「ネットワークデバイスの機能性を拡張する方法と装置」を参照）、セキュリティ特徴は、前記印刷ジョブが印刷デバイスに達する前に、前記印刷ジョブに挿入される。挿入された機能は、セキュリティサービスに供給される印刷ジョブの内容またはその特性に依存してもよい。つまり、セキュリティ特徴の挿入を可能にするために、デバイスやクライアントを変更する必要がない。セキュリティ特徴サービスは、ポリシーサーバの判断および印刷ジョブ自体が既に内包している基準情報に基づいてどの動的内容を挿入するかを決定する。
【００５６】
印刷ジョブにセキュリティ特徴を挿入するための方法は、特定のセキュリティ特徴および対象となる印刷デバイスに対応し、またそれに左右される。最も一般的なケースでは、印刷ジョブはポストスクリプト（商標）ページ記述言語（ＰＤＬ）で記述され、このポストスクリプトはセキュリティ特徴を挿入するよう操作される。例えば、前記機能がマイクロテキストにおけるページフッタとしての動的テキストである場合、マイクロテキストに必要なフォントはポストスクリプトジョブに埋め込まれ、一例として下記のポストスクリプトフラグメントに示すように、動的テキストフッタを描くためのポストスクリプトコマンドは、ポストスクリプトコマンドストリームの上部に挿入される。
【００５７】
2010146559.tif 000003
【００５８】
図５のグラフィックは、普通に読めるように拡大されたマイクロテキスト「ここにストリングを挿入」４０２を、１２ポイントフォント４００と共に示している。
【００５９】
同様の技術を、ＰＣＬ  ＰＤＦまたはＨＰＧＬのような異なるＰＤＬに使用することができる。同様の技術を使用して、他のページ領域上、または印刷されたテキスト自体、または印刷されたページの背景にマーカを配置する。フッタ内のテキストは、ジョブごとにオンデマンドでセキュリティポリシーサーバから取得される。
【００６０】
挿入は制止によって達成されるので、印刷ジョブを生成するソフトウェアクライアントおよびターゲットデバイスを、挿入達成のために変更する必要はない。というのもこの挿入は双方にとって不透明であり、その協力の如何にかかわらず達成可能となっているからである。ドキュメントを編集するためのオフィスソフトウェアであれば、どのようなものでもセキュリティ特徴の挿入を考慮せずに普通に使用することができる。
【００６１】
前記機能を実行するサービスは、ソフトウェアによって実現され、対象となる印刷デバイスまたはクライアント上で実行されるわけではないので、既存の印刷デバイスおよび既存の印刷クライアント構造を使用して企業内で実行可能である。さらに、セキュリティ特徴は動的に決定され、ポリシーに基づいて判断可能であるため、カスタムデバイス装置を必要とする（その場合の問題点は上述のとおりである）ことなしに、機能を現在直面しているビジネス固有の問題ドメイン（「垂直ドメイン」）にカスタマイズすることができる。
【００６２】
図６は、前述したシステムの構成要素である単一デバイス４１０および印刷クライアント４１８の関係を示す。構成要素としてさらにインターディクタ４１２、セキュリティ特徴サーバ４１４および企業ポリシーサーバ４１６を含む。
【００６３】
図６に示すように、印刷ジョブは、クライアントから送り出された後にデバイスに達する途中で制止される。その方法については既に開示されており、ここでさらに詳しく述べることは避けるが、ネットワーク接続により既存のデバイスに「スナップ接続」されるハードウェアにおいて、インターディクタを実現することができることについては再度述べておく。あるいは、インターディクタは、ＭＦＤ自体のケース内に個別の構成要素として収容する、ＭＦＤハードウェア自体に組み込む、または単にデバイス行の物理的なネットワーク接続の途中に配置してもよい。
【００６４】
いかなるケースにおいても、インターディクタは、常に受信トラフィック、送信トラフィック双方のすべてのデバイスネットワークトラフィックにアクセスする。本開示では、セキュリティ特徴挿入の特殊応用に関する技術およびそのための特定サービスについて明らかにしている。開示されたシステムでは、単一のセキュリティ特徴サーバが、多数の印刷デバイスおよび多数のクライアントに同時にサービスを実行可能である。また、そのようなサーバを１台以上配置することにより、本質的な概念を変更せずにスケーラビリティを達成することができる。
【符号の説明】
【００６５】
１１０  システム、２００  メモリ、１３０  プロセッサ、１４０  Ｉ／Ｏデバイス、２１０，３６０  インターディクタ、２２０，３１０  ネットワークデバイス、２３０，３２０  ネットワーク、２４０，３３０  クライアント、２５０，３４０  拡張サービス、３５０  コントローラ。
【図１】
2010146559.tif 000004
【図２】
2010146559.tif 000005
【図３】
2010146559.tif 000006
【図４】
2010146559.tif 000007
【図５】
2010146559.tif 000008
【図６】
2010146559.tif 000009