(57)【要約】【課題】様々な外部システム言語フォーマットをサポートするための単一のインタフェースを提供すること。【解決手段】一実施形態に係るシステムは、アプリケーション統合ロジックを記憶している少なくとも１つのメモリデバイスと、前記少なくとも１つのメモリデバイスに接続された１つ以上のプロセッサであって、前記１つ以上のプロセッサは、前記アプリケーション統合ロジックを実行し、前記アプリケーション統合ロジックは、印刷マネージャと、複数の言語フォーマットをサポートする１つ以上のクライアントデバイスと、の間のインタフェースを提供し、前記複数の言語フォーマットから、前記印刷マネージャによりサポートされる言語フォーマットに、印刷ジョブ命令を変換する、１つ以上のプロセッサと、を含む。【選択図】図２
2019194846.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサにより実行されたときに、前記１つ以上のプロセッサに、
クライアントデバイスから、印刷マネージャにおいて１つ以上の印刷ジョブを処理するための印刷ジョブ命令を含む１つ以上のオーダーを受ける動作であって、前記印刷ジョブ命令は、第１の言語フォーマットで構成されている、動作と、
前記第１の言語フォーマットから、前記印刷マネージャによりサポートされる第２の言語フォーマットに、前記印刷ジョブ命令を変換する動作と、
前記第２の言語フォーマットに従って前記１つ以上の印刷ジョブを処理するために、前記印刷ジョブ命令を前記印刷マネージャに送信する動作と、
を実行させる、プログラム。
【請求項２】
前記第１の言語フォーマットから前記第２の言語フォーマットに前記印刷ジョブ命令を変換することは、前記第１の言語フォーマットからの属性を、前記第２の言語フォーマットの属性にマッピングすることを含む、請求項１に記載のプログラム。
【請求項３】
前記プログラムは、前記１つ以上のプロセッサにより実行されたときに、前記１つ以上のプロセッサに、
前記クライアントデバイスから前記１つ以上のオーダーを受ける前に、前記クライアントデバイスを登録する動作
をさらに実行させる、請求項２に記載のプログラム。
【請求項４】
前記プログラムは、前記１つ以上のプロセッサにより実行されたときに、前記１つ以上のプロセッサに、
前記印刷マネージャにより処理される前記１つ以上のオーダーについて前記クライアントデバイスに問い合わせる動作と、
前記問い合わせる動作に応じて、前記クライアントデバイスから入力呼び出しを受信する動作と、
をさらに実行させる、請求項３に記載のプログラム。
【請求項５】
前記プログラムは、前記１つ以上のプロセッサにより実行されたときに、前記１つ以上のプロセッサに、
前記第１の言語フォーマットから前記第２の言語フォーマットに前記入力呼び出しを変換する動作
をさらに実行させる、請求項４に記載のプログラム。
【請求項６】
前記プログラムは、前記１つ以上のプロセッサにより実行されたときに、前記１つ以上のプロセッサに、
前記印刷マネージャが前記１つ以上のオーダーを処理することを完了したことを示す通知を、前記クライアントデバイスに提供する動作
をさらに実行させる、請求項４に記載のプログラム。
【請求項７】
前記第２の言語フォーマットは、ジョブ定義フォーマット（ＪＤＦ）を含む、請求項１に記載のプログラム。
【請求項８】
前記第１の言語フォーマットは、ウェブサービスと第２のＪＤＦと拡張マークアップ言語（ＸＭＬ）とアプリケーションプログラミングインタフェース（ＡＰＩ）とのうちの少なくとも１つを含む、請求項７に記載のプログラム。
【請求項９】
アプリケーション統合ロジックを記憶している少なくとも１つのメモリデバイスと、
前記少なくとも１つのメモリデバイスに接続された１つ以上のプロセッサであって、前記１つ以上のプロセッサは、前記アプリケーション統合ロジックを実行し、前記アプリケーション統合ロジックは、印刷マネージャと、複数の言語フォーマットをサポートする１つ以上のクライアントデバイスと、の間のインタフェースを提供し、前記複数の言語フォーマットから、前記印刷マネージャによりサポートされる言語フォーマットに、印刷ジョブ命令を変換する、１つ以上のプロセッサと、
を有するシステム。
【請求項１０】
前記アプリケーション統合ロジックは、クライアントデバイスから、前記印刷マネージャにおいて印刷するための１つ以上の印刷ジョブを処理するための印刷ジョブ命令を含む１つ以上のオーダーを受け、第１の言語フォーマットから、前記印刷マネージャによりサポートされる第２の言語フォーマットに、前記印刷ジョブ命令を変換し、前記第２の言語フォーマットに従って前記１つ以上の印刷ジョブを処理するために、前記印刷ジョブ命令を前記印刷マネージャに送信する、請求項９に記載のシステム。
【請求項１１】
前記第１の言語フォーマットから前記第２の言語フォーマットに前記印刷ジョブ命令を変換することは、前記第１の言語フォーマットからの属性を、前記第２の言語フォーマットの属性にマッピングすることを含む、請求項１０に記載のシステム。
【請求項１２】
前記アプリケーション統合ロジックは、前記クライアントデバイスから前記１つ以上のオーダーを受ける前に、前記クライアントデバイスを登録する、請求項１１に記載のシステム。
【請求項１３】
前記アプリケーション統合ロジックは、前記印刷マネージャにより処理される前記１つ以上のオーダーについて前記クライアントデバイスに問い合わせ、前記問い合わせに応じて、前記クライアントデバイスから入力呼び出しを受信する、請求項１２に記載のシステム。
【請求項１４】
前記アプリケーション統合ロジックは、前記第１の言語フォーマットから前記第２の言語フォーマットに前記入力呼び出しを変換する、請求項１３に記載のシステム。
【請求項１５】
前記アプリケーション統合ロジックは、前記印刷マネージャが前記１つ以上のオーダーを処理することを完了したことを示す通知を、前記クライアントデバイスに提供する、請求項１３に記載のシステム。
【請求項１６】
前記第２の言語フォーマットは、ジョブ定義フォーマット（ＪＤＦ）を含む、請求項１０に記載のシステム。
【請求項１７】
前記第１の言語フォーマットは、ウェブサービスと第２のＪＤＦと拡張マークアップ言語（ＸＭＬ）とアプリケーションプログラミングインタフェース（ＡＰＩ）とのうちの少なくとも１つを含む、請求項１６に記載のシステム。
【請求項１８】
ホスト言語フォーマットに従って印刷ジョブを処理する印刷マネージャをホストする１つ以上のホストサーバと、
前記印刷マネージャにおいて１つ以上の印刷ジョブを処理するための印刷ジョブ命令を含むオーダーを依頼する複数のクライアントサーバであって、各クライアントサーバにより依頼される前記印刷ジョブ命令は、異なる言語フォーマットで構成される、複数のクライアントサーバと、
前記印刷マネージャと前記複数のクライアントサーバとの間のインタフェースを提供し、各クライアントサーバに関連付けられた言語フォーマットから前記ホスト言語フォーマットに印刷ジョブ命令を変換するアプリケーション統合ロジックをホストする１つ以上のクラウドサーバと、
を有するシステム。
【請求項１９】
前記アプリケーション統合ロジックは、前記ホスト言語フォーマットに従って前記１つ以上の印刷ジョブを処理するために、前記印刷ジョブ命令を前記印刷マネージャに送信する、請求項１８に記載のシステム。
【請求項２０】
第１の言語フォーマットから前記ホスト言語フォーマットに印刷ジョブ命令を変換することは、前記第１の言語フォーマットからの属性を、前記ホスト言語フォーマットの属性にマッピングすることを含む、請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、印刷サービスの分野に関する。より詳細には、本発明は、印刷サービス環境とインタフェースすることに関する。
【背景技術】
【０００２】
相当の印刷需要を伴うエンティティは、一般に、ボリューム印刷のために高速プロダクションプリンタを使用している（例えば、毎分１００ページ以上）。プロダクションプリンタは、大きなロール上に供給される印刷媒体のウェブ上に印刷する連続形式プリンタを含み得る。プロダクションプリンタは、一般に、印刷システムの動作全般を制御する局所的な印刷コントローラと、１つ以上の印刷ヘッドアセンブリを含む印刷エンジンと、を含み、ここで、各アセンブリは、印刷ヘッドコントローラ及び印刷ヘッド（又は印刷ヘッドのアレイ）を含む。
【０００３】
最近では、インターネットに接続されたサーバシステムによりサービスが提供されるクラウドサービスと呼ばれるインフラストラクチャの確立が進められている。インターネットを介して印刷するための印刷サービスも提供されている。このようなサービスは、クラウドアプリケーションを介したユーザインタラクションに応じて、インターネット上のサーバを用いて、印刷データを生成して分散させる機能を提供する。現在、前述のクラウドを使用することによりそのような印刷サービスを提供するシステムが開発されている。
【０００４】
そのようなシステムは、一般に、通信インタフェースを実装している。例えば、ジョブ定義フォーマット（ＪＤＦ）及びその相補的なメッセージングフォーマットであるジョブメッセージングフォーマット（ＪＭＦ）が、急速に、プリントプロダクションワークフローにおいて様々なシステムのための通信の選択になってきている。これらのシステムは、プリンタ、インサータ、フォルダ、カッター、及び印刷ソフトウェアを含む。しかしながら、これらのシステムは、他の通信プロトコルを実装しているかもしれない外部システムとも通信しなければならない。例えば、外部システムクライアントは、印刷システムベンダの間では共通のＪＤＦフォーマットが存在しないので、他のＪＤＦバージョンを実装しているかもしれない。
【０００５】
さらに、クライアントは、クラウドにアクセスして、ウェブサービス等、他の通信プロトコルを介して、印刷サービスを要求することがある。ウェブサービスは、様々なメタデータ言語（例えば、拡張マークアップ言語（ＸＭＬ）、ＪＳＯＮ（JavaScript（登録商標）  Object  Notation）メッセージング）を用いて、情報が、１つのシステムから別のシステムに渡されることを可能にする。現在、ＪＭＦを介して、ウェブサービス又は他の形態のＪＤＦを実装している外部システムクライアントと通信するための唯一の方法は、各異なるシステムによりサポートされるソフトウェア言語を用いて通信するためのカスタマイズされたインタフェースを生成することである。しかしながら、システムごとに異なるインタフェースを生成することは、効率的でなく、不要なコストをもたらす。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、様々な外部システム言語フォーマットをサポートするための単一のインタフェースを提供するアプリケーションインタフェースメカニズムが望まれる。
【課題を解決するための手段】
【０００７】
一実施形態において、方法が開示される。この方法は、クライアントデバイスから、印刷マネージャにおいて１つ以上の印刷ジョブを処理するための印刷ジョブ命令を含む１つ以上の印刷ジョブオーダーを受けるステップであって、１つ以上の印刷ジョブは、第１の言語フォーマットで構成されている、ステップと、第１の言語フォーマットから、印刷マネージャによりサポートされる第２の言語フォーマットに、印刷ジョブ命令を変換するステップと、第２の言語フォーマットに従って１つ以上の印刷ジョブを処理するために、印刷ジョブ命令を印刷マネージャに送信するステップと、を含む。
【０００８】
さらなる実施形態において、ホスト言語フォーマットに従って印刷ジョブを処理する印刷マネージャをホストする１つ以上のホストサーバと、印刷マネージャにおいて１つ以上の印刷ジョブを処理するための印刷ジョブ命令を含むオーダーを依頼する複数のクライアントサーバであって、各クライアントサーバにより依頼される印刷ジョブ命令は、異なる言語フォーマットで構成される、複数のクライアントサーバと、印刷マネージャと複数のクライアントサーバとの間のインタフェースを提供し、各クライアントサーバに関連付けられた言語フォーマットからホスト言語フォーマットに印刷ジョブ命令を変換するアプリケーション統合ロジックをホストする１つ以上のクラウドサーバと、を含むシステムが開示される。
【図面の簡単な説明】
【０００９】
図面において、同様の参照符号は、同様の要素を指すように使用されている。図面は、様々な例を示しているが、１つ以上の実施形態は、図面に示されている例に限定されるものではない。
【図１】一実施形態に従った、アプリケーション統合メカニズムを使用するコンピューティングデバイスを有するシステムを示す図。
【図２】一実施形態に従ったアプリケーション統合メカニズムを示す図。
【図３】印刷システムの一実施形態を示す図。
【図４】クラウドコンピューティング環境において実装されるアプリケーション統合メカニズムの別の実施形態を示す図。
【図５】アプリケーション統合を実行するための方法の一実施形態を示すフロー図。
【図６】アプリケーション統合メカニズムを実行するための一実施形態を示すシーケンス図。
【図７】本開示の実施形態を実現するのに適したコンピューティングデバイスを示す図。
【発明を実施するための形態】
【００１０】
様々な外部システム言語フォーマットをサポートするための単一のインタフェースを提供するアプリケーション統合メカニズムが記載される。以下の記載において、説明の目的のために、多数の具体的な詳細が、本発明の完全な理解を提供するように記載されている。しかしながら、本発明は、これらの具体的な詳細の一部がなくても実施され得ることが、当業者には明らかであろう。他の例において、周知の構造及びデバイスが、本発明の基礎となる原理を曖昧にしないようにするために、ブロック図の形で示されている。
【００１１】
本明細書における「一実施形態」又は「ある実施形態」との言及は、その実施形態との関連で記載される特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書の様々な箇所における「一実施形態において」という語句の出現は、必ずしも、全て同じ実施形態を指しているとは限らない。
【００１２】
本文書を通じて、「ロジック」、「コンポーネント」、「モジュール」、「エンジン」、「モデル」、「インタフェース」等といった用語は、同義に参照され得、例えば、ソフトウェア、ハードウェア、及び／又は、ファームウェア等のソフトウェアとハードウェアとの何らかの組み合わせを含み得る。さらに、特定のブランド、単語、用語、句、名称、及び／又は頭字語のいかなる使用も、製品において又は本文書外の文献においてそのようなラベルを有するソフトウェア又はデバイスに実施形態を限定するように解釈されるべきではない。
【００１３】
任意の数及びタイプのコンポーネントが、所定の特徴を追加、除去、及び／又は拡張することを含む様々な実施形態を促進するために、追加及び／又は除去され得ることが企図されている。簡潔さ、明瞭さ、及び理解のしやすさのために、コンピューティングデバイスの標準的な且つ／又は既知のコンポーネント等の標準的な且つ／又は既知のコンポーネントの多くは、図示されていない又はここでは説明されていない。本明細書に記載の実施形態は、いかなる特定の技術、トポロジ、システム、アーキテクチャ、及び／又は標準にも限定されるものではなく、将来の変化を取り入れ将来の変化に適応するのに十分動的である。
【００１４】
図１は、一実施形態に従った、アプリケーション統合メカニズム１１０を使用するコンピューティングデバイス１２０を有するシステム１００を示している。一実施形態において、コンピューティングデバイス１２０は、コンピューティングデバイス１２０の印刷サービスコンポーネントと、印刷サービスコンポーネントとは異なるソフトウェア言語フォーマットを介して印刷サービスコンポーネントにアクセスすることを試みる複数の外部システムクライアントと、の間のインタフェースを提供するアプリケーション統合メカニズム１１０を使用するホストマシンとしての機能を果たすホストサーバコンピュータを含む。
【００１５】
コンピューティングデバイス１２０は、サーバコンピュータ（例えば、クラウドサーバコンピュータ等）、デスクトップコンピュータ、クラスタベースのコンピュータ、セットトップボックス（例えば、インターネットベースのケーブルテレビジョンセットトップボックス等）等を含み得る（が、これらに限定されるものではない）。コンピューティングデバイス１２０は、コンピューティングデバイス１２０の１つ以上のハードウェア／物理リソースと１つ以上のクライアントデバイス１３０Ａ〜１３０Ｎ等の１つ以上のハードウェア／物理リソースとの間のインタフェースとしての機能を果たすオペレーティングシステム（「ＯＳ」）１０６を含む。コンピューティングデバイス１２０は、１つ以上のプロセッサ１０２、メモリ１０４、入力／出力（「Ｉ／Ｏ」）ソース１０８（タッチスクリーン、タッチパネル、タッチパッド、仮想又は標準キーボード、仮想又は標準マウス等）等をさらに含む。
【００１６】
一実施形態において、ホスト組織１０１は、さらに、ホスト組織１０１を介してクライアントデバイス１３０Ａ〜１３０Ｎと通信可能にインタフェースがとられるプリントプロダクション環境を使用し得る。クライアントデバイス１３０Ａ〜１３０Ｎは、顧客組織ベースのサーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ、携帯情報端末、電子リーダ等のモバイルコンピューティングデバイス、メディアインターネットデバイス、スマートテレビジョン、テレビジョンプラットフォーム、ウェアラブルデバイス（例えば、眼鏡、時計、ブレスレット、スマートカード、宝石類、衣料品等）、メディアプレーヤ、全地球測位システムベースのナビゲーションシステム、ケーブルセットアップボックス等を含み得る（が、これらに限定されるものではない）。
【００１７】
一実施形態において、図示されている１つ以上のデータベース１４０は、顧客組織１２１Ａ〜１２１Ｎに代わって、文書及び／又は印刷ジョブを処理するための顧客及びユーザデータを有する基礎となるデータベースレコード及び情報を格納する（が、これらに限定されるものではない）。いくつかの実施形態において、ホスト組織１０１は、１つ以上のネットワーク１３５を介して、複数の顧客組織１２１Ａ〜１２１Ｎから入力及び他の要求を受け取る。例えば、入来する印刷ジョブ及び／又は文書処理要求、若しくは他の入力が、データベースシステム１４０を使用して処理されるように、顧客組織１２１Ａ〜１２１Ｎから受け取られ得る。
【００１８】
一実施形態において、各顧客組織１２１Ａ〜１２１Ｎは、相異なる遠隔組織、ホスト組織１１０内の組織グループ、ホスト組織１０１のビジネスパートナー、ホスト組織１０１により提供されるクラウドコンピューティングサービスにサブスクライブしている顧客組織１２１Ａ〜１２１Ｎ等からなる群から選択されるエンティティである。一実施形態において、要求は、ホスト組織１０１内のウェブサーバにおいて受信される又はホスト組織１０１内のウェブサーバに送信される。ホスト組織１０１は、ホスト組織１０１により処理される多様な要求を受け取り得る。例えば、ウェブサーバにおいて受信される入来する要求は、ホスト組織１０１からの印刷サービスが提供されるべきであることを指定し得る。
【００１９】
図２は、一実施形態に従った、図１のアプリケーション統合メカニズム１１０を示している。一実施形態において、アプリケーション統合メカニズム１１０は、印刷マネージャ２０５とクライアントコンピュータ１３０等の外部システムとの間のインタフェースを動作させるウェブサービスを提供する。そのような実施形態において、アプリケーション統合メカニズム１１０は、登録ロジック２０１、インタフェースロジック２０２、及び変換ロジック２０３等の任意の数及びタイプのコンポーネントを含み得る。さらに、コンピューティングデバイス１２０は、アプリケーション統合メカニズム１１０の実行を促進するための、ユーザインタフェース２０６及び通信／互換性ロジック２０７等の他のコンポーネントを含む。例えば、通信／互換性ロジック２０７は、変化する技術、パラメータ、プロトコル、標準等との互換性を保証しつつ、任意の数及びタイプのソフトウェア／アプリケーション開発ツール、モデル、データ処理サーバ、データベースプラットフォーム及びアーキテクチャ、プログラミング言語及び対応するプラットフォーム等と動的に通信し、これらとともに構成されるように保つ能力を促進することができる。
【００２０】
コンピューティングデバイス１２０は、１つ以上のネットワーク１３５（例えば、クラウドネットワーク、インターネット、近接ネットワーク、イントラネット、インターネットオブシングス（「ＩｏＴ」）、クラウドオブシングス（「ＣｏＴ」）等）等の１つ以上のネットワークを介してリモートに配置され得る又はローカルに配置され得る１つ以上のデータベース１４０等の１つ以上のデータベース又は記憶リポジトリとさらに通信し得るサーバコンピュータを含み得る。コンピューティングデバイス１２０は、さらに、１つ以上のネットワーク１３５等の１つ以上のネットワークを介してクライアントコンピューティングデバイス１３０Ａ〜１３０Ｎ等の任意の数及びタイプの他のコンピューティングデバイスと通信するよう図示されている。
【００２１】
一実施形態において、コンピューティングデバイス１２０は、ソフトウェアアズアサービス（ＳａａＳ）としてアプリケーション統合メカニズム１１０をホスト及び維持するためのサービスプロバイダコアとして動作し、１つ以上のネットワーク１３５を介して、１つ以上のクライアントコンピュータ１３０Ａ〜１３０Ｎと通信することができ、任意の数及びタイプの専用ノードと通信することができる。
【００２２】
一実施形態に従うと、コンピューティングデバイス１２０は、１つ以上の印刷システムを介して、クライアントデバイス１３０のための印刷サービスを実行することができる。したがって、コンピューティングデバイス１２０における印刷マネージャ２０５は、印刷のための印刷ジョブの送信のために、１つ以上の印刷システムと通信する。一実施形態において、印刷マネージャ２０５は、印刷システムにおいて処理される文書ワークフローについての印刷ジョブ管理を提供する。さらなる実施形態において、印刷マネージャ２０５のインタフェースが、印刷管理を実行するために他のコンピューティングデバイスにおいて実装され得る。
【００２３】
図３は、そのような印刷システム３００の一実施形態を示している。プリンタ３００は、制御ユニット３５０及び印刷エンジン３５８を含む。一実施形態に従うと、制御ユニット３５０は、印刷ジョブデータにおいて受信されたオブジェクトを処理及びレンダリングし、印刷のためのシートマップを印刷エンジン３５８に提供する。制御ユニット（例えば、ＤＦＥすなわちデジタルフロントエンド）３５０は、ラスタ画像プロセッサ（ＲＩＰ）により、制御ユニットにおいて受信された画像オブジェクトを処理して、ベクタグラフィックスフォーマット（例えば形状）で表された画像を、印刷エンジン３５８への出力のためにメモリアレイ（図示せず）においてスキャンラインデータとして記憶されるラスタ画像（例えば画素）に変換するように、実現される。実施形態において、印刷エンジン３５８は、顧客組織１２１に関連付けられた施設に配置され得る。そのような実施形態において、制御ユニット３５０は、印刷ジョブ情報を処理し、出力を生成するためにラスタ画像をリモートの印刷エンジンに送信する。
【００２４】
同じコンピューティングデバイス１２０において実装されるとして図示されているが、他の実施形態は、別のコンピューティングデバイス１２０において実装されるとして、印刷マネージャ２０５及びアプリケーション統合メカニズム１１０を特徴付けてもよい。例えば、アプリケーション統合メカニズム１１０は、クラウドコンピューティング環境において別個に実装されてもよい。図４は、クラウドコンピューティング環境４００において実装されるアプリケーション統合メカニズム１１０のそのような実施形態を示している。図４に示されているように、環境４００は、各ホストデバイスが印刷マネージャ２０５を含むホストデバイス４２０及びクライアントデバイス４３０と通信するクラウドサーバ４０５を含む。
【００２５】
図２を再度参照すると、アプリケーション統合メカニズム１１０は、異なるソフトウェア言語フォーマットを実装している様々な外部システム（例えばクライアント１３０）から印刷ジョブデータを受信するように、実現され得る。これらの言語フォーマットは、異なるＪＤＦフォーマット、ウェブサービス、ＪＭＦ、Ｈｏｔ  Ｆｏｌｄｅｒ、プライベートアプリケーションプログラミングインタフェース（ＡＰＩ）等を含み得る。
【００２６】
一実施形態に従うと、提供されている印刷ジョブデータ（例えば印刷ジョブ命令）に対応するジョブチケット命令が、外部システムによりサポートされるフォーマット（例えば、命令言語フォーマット）から、印刷マネージャ２０５によりサポートされる命令言語フォーマット（例えば、ホスト言語フォーマット）に変換される。そのような実施形態において、印刷ジョブ命令は、ジョブがどのように処理及び／又は印刷されるべきであるかについての命令を提供するために、ジョブチケットに含められ得る。さらに、印刷ジョブ命令は、ステータス要求、及び、ステータスがどのように伝達されるべきであるかについてのインジケーションを含み得る。
【００２７】
一実施形態において、印刷ジョブ命令言語フォーマットが、印刷マネージャ２０５によりサポートされるＪＤＦフォーマットに変換される。しかしながら、他の実施形態において、ジョブ命令言語は、他のフォーマット（例えば、オープンドキュメントフォーマット（ＯＤＦ））に変換されることもある。さらなる実施形態において、アプリケーション統合メカニズム１１０は、印刷マネージャ２０５から、外部システムに送信されるメッセージを受信することができる。この実施形態において、アプリケーション統合メカニズム１１０は、送信の前に、このようなメッセージを、外部システムによりサポートされる命令言語を有する呼び出し（call）に変換する。
【００２８】
一実施形態において、登録ロジック２０１は、外部システム（例えば、図４に示されているクライアントデバイス４３０）に対する印刷マネージャ２０５の登録を提供するウェブサービスとして動作する。一実施形態において、外部システムは、印刷マネージャ２０５における印刷ワークフローを（例えば、ユーザインタフェース２０６を介してユーザにより）発生させ得、印刷マネージャ２０５は、印刷ワークフローを登録するように登録ロジック２０１を実行する。インタフェースロジック２０２は、アプリケーション統合メカニズム１１０が外部システムと通信するためのインタフェースを提供する。そのような実施形態において、インタフェースロジック２０２は、クライアントデバイス４３０により実装されている関連付けられた命令言語フォーマットに基づいて、クライアントデバイス４３０から入力呼び出しを受信し、クライアントデバイス４３０にメッセージを送信する。
【００２９】
一実施形態に従うと、印刷マネージャ２０５は、クライアントデバイス４３０に問い合わせるようにインタフェースロジック２０２に要求することにより、クライアントデバイス４３０とのインタラクションをトリガする。この実施形態において、インタフェースロジック２０２は、印刷マネージャ２０５により処理される１つ以上の印刷ジョブを含む１つ以上のオーダーについてクライアントデバイス１３０に問い合わせることができる。結果として、インタフェースロジック２０２は、クライアントデバイス４３０から入力呼び出しを受信することができる。次いで、１つ以上のオーダーからのジョブが、インタフェースロジック２０２を介して、印刷マネージャ２０５にプッシュされる。オーダーにおけるジョブが処理されると、インタフェースロジック２０２は、印刷ジョブが印刷されたというインジケーションとして通知をクライアントデバイス４３０に送信することができる。
【００３０】
変換ロジック２０３は、受信された印刷ジョブに対応する印刷ジョブ命令を、印刷マネージャによりサポートされるフォーマット（例えばＪＤＦ）に変換し、サポートされるメッセージングフォーマット（例えばＪＭＦ）に基づいて、命令を印刷マネージャ２０５に送信する。さらなる実施形態において、変換ロジック２０３は、受信された入力呼び出しも変換する。例えば、変換ロジック２０３は、入力呼び出しを、クライアントデバイス４３０によりサポートされるＸＭＬフォーマットから、印刷マネージャ２０５によりサポートされるＸＭＬフォーマットに変換することができる。
【００３１】
一実施形態に従うと、変換ロジック２０３は、受信された呼び出しの言語フォーマットを判別し、この呼び出し言語に基づいて、ＪＭＦへの変換を実行する。さらなる実施形態において、変換ロジック２０３は、クライアントデバイス４３０の言語フォーマットからの属性をＪＤＦ属性にマッピングすることにより、変換を実行する。例えば、変換ロジック２０３は、ＸＭＬをサポートするクライアントデバイス４３０について、ＸＭＬ属性をＪＤＦ属性にマッピングすることができる。
【００３２】
さらなる実施形態において、アプリケーション統合メカニズム１１０によりサポートされる様々な言語についての属性のマッピングを有するライブラリが、データベース１４０に格納され得る。この実施形態において、変換ロジック２０３は、インタフェースロジック２０２を介して印刷ジョブ命令データを受信すると、データベース１４０にアクセスして、適用可能なＪＤＦマッピングを取得する。したがって、変換ロジック２０３は、クライアントデバイス４３０が、その固有の言語フォーマットで呼び出しを印刷マネージャ２０５に発行し、印刷マネージャ２０５にその固有の言語フォーマット（例えばＪＤＦ）で呼び出しを受信させることを可能にする。図４に示されているように、クライアントデバイス４３０（例えば４３０Ａ〜４３０Ｄ）は、それぞれの言語フォーマット（例えば、ウェブサービス、ＸＭＬ、ＡＰＩ、ＪＤＦ）を用いてクラウド４０５に通信し、ホストデバイス４２０Ａ及び４２０Ｂは、ＪＤＦを用いてクラウド４０５と通信する。
【００３３】
図５は、印刷マネージャとの外部システムのアプリケーション統合を実行するためのプロセス５００の一実施形態を示すフロー図である。プロセス５００は、ハードウェア（例えば、回路、専用ロジック、プログラマブルロジック等）、ソフトウェア（処理デバイス上で実行される命令等）、又はこれらの組み合わせを含み得る処理ロジックにより実行され得る。一実施形態において、プロセス５００は、アプリケーション統合メカニズム１１０により実行され得る。プロセス５００は、提示における簡潔さ及び明瞭さのために、直線的なシーケンスで示されている。しかしながら、任意の数の動作が、並列に、非同期的に、又は異なる順序で、実行され得ることが、企図されている。簡潔さ、明瞭さ、及び理解のしやすさのために、図１〜図４を参照して説明された詳細の多くが、ここでは説明されない又は繰り返されない。
【００３４】
プロセス５００は、処理ブロック５１０で開始し、処理ブロック５１０において、クライアントが、アプリケーション統合ウェブサービスを提供する１つ以上のクラウドサーバに登録される。処理ブロック５２０において、クライアントは、印刷マネージャ２０５により処理される１つ以上のオーダーについて問い合わせられる。処理ブロック５３０において、問い合わせに応じて、入力呼び出しが受信される。上述したように、受信された入力呼び出しは、クライアント命令言語フォーマットが印刷マネージャ２０５の命令言語フォーマットとは異なるという判定に応じて、処理のために印刷マネージャ２０５に送信される前に、変換され得る。
【００３５】
処理ブロック５４０において、１つ以上の印刷ジョブオーダーが、対応する命令とともに、クライアントから取得される。一実施形態において、呼び出しが、１つ以上の基準（例えば、日付、時間等）に基づくオーダーを受ける印刷マネージャから受信される。これに応じて、サービス呼び出しが、提供された基準に基づくオーダーを要求するクライアントに対して発行される。一実施形態に従うと、オーダー識別子（ＩＤ）が、各オーダーについて受信されるとともに、いくつかのジョブが受信されていない場合に印刷マネージャ２０５がエラー修復を実行することを可能にするために、オーダーにおける各ジョブについてのジョブＩＤが受信される。
【００３６】
処理ブロック５５０において、ジョブオーダーが処理される。一実施形態に従うと、命令に基づいて、各受信されたジョブが印刷可能であるかどうかが判定され、印刷可能なジョブについての命令の属性マッピングが、オーダーをＪＤＦに変換するために実行される。次いで、印刷ジョブが、印刷マネージャ２０５において処理（例えば印刷）され、ジョブオーダーが処理される。処理ブロック５６０において、印刷マネージャ２０５がオーダーを処理することを完了したことを示す通知が、クライアントに提供される。図６は、アプリケーション統合を実行するための別の実施形態を示すシーケンス図である。
【００３７】
上述したアプリケーション統合メカニズムは、多様な他の業界に対してＪＭＦ印刷を可能にするクラウドベースのマイクロサービスを提供する。例えば、アプリケーション統合メカニズムは、プリンタ及び印刷ソフトウェアが、業界標準（例えばＪＭＦ／ＪＤＦ）に従って通信することを可能にしつつ、変換を指示する必要なく、他の領域（例えば、ウェブサービス、電子請求書提示・決済（ＥＢＰＰ）プロバイダフォルダベースのソリューション、電子メールプロバイダのＡＰＩベースの統合等）にわたって通信することができる。
【００３８】
図７は、コンピューティングデバイス１２０及び／又は１２１が実現され得るコンピューティングシステム９００を示している。コンピュータシステム９００は、情報を伝達するためのシステムバス９２０、及び、情報を処理するためにバス９２０に接続されたプロセッサ９１０を含む。
【００３９】
コンピュータシステム９００は、プロセッサ９１０により実行される命令及び情報を記憶するためにバス９２０に接続されたランダムアクセスメモリ（ＲＡＭ）及び／又は他の動的記憶デバイス９２５（本開示においてメインメモリと呼ばれる）をさらに含む。メインメモリ９２５はまた、プロセッサ９１０による命令の実行中に一時変数又は他の中間情報を記憶するために使用され得る。コンピュータシステム９００はまた、プロセッサ９１０により使用される静的な情報及び命令を記憶するためにバス９２０に接続された読み取り専用メモリ（ＲＯＭ）及び／又は他の静的記憶デバイス９２６を含み得る。
【００４０】
磁気ディスク又は光ディスク及びその対応するドライブ等のデータ記憶デバイス９２７も、情報及び命令を記憶するためにコンピュータシステム９００に接続され得る。コンピュータシステム９００はまた、Ｉ／Ｏインタフェース９３０を介して第２のＩ／Ｏバス９５０に接続され得る。ディスプレイデバイス９２４、入力デバイス（例えば、キーボード（又は英数字入力デバイス）９２３、及び／又はカーソル制御デバイス９２２）等を含む複数のＩ／Ｏデバイスが、Ｉ／Ｏバス９５０に接続され得る。通信デバイス９２１は、他のコンピュータ（サーバ又はクライアント）にアクセスするためのデバイスである。通信デバイス９２１は、モデム、ネットワークインタフェースカード、又は、Ｅｔｈｅｒｎｅｔ（登録商標）、トークンリング、若しくは他のタイプのネットワークに接続するために使用されるデバイス等の他の周知のインタフェースデバイスを含み得る。
【００４１】
実施形態は、ペアレントボードを使用して相互接続される１つ以上のマイクロチップ又は集積回路、ハードワイヤードロジック、メモリデバイスに記憶されマイクロプロセッサにより実行されるソフトウェア、ファームウェア、特定用途向け集積回路（ＡＳＩＣ）、及び／又はフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のいずれか又は組み合わせとして実現され得る。「ロジック」という用語は、例えば、ソフトウェア、ハードウェア、及び／又はソフトウェアとハードウェアとの組み合わせを含み得る。
【００４２】
実施形態は、例えば、マシン実行可能な命令を記憶した１つ以上のマシン読み取り可能な媒体であって、マシン実行可能な命令が、コンピュータ、コンピュータのネットワーク、又は他の電子デバイス等の１つ以上のマシンにより実行されたときに、マシン実行可能な命令が、１つ以上のマシンに、本明細書に記載の実施形態に従った動作を実行させ得る、１つ以上のマシン読み取り可能な媒体を含み得るコンピュータプログラム製品として提供され得る。マシン読み取り可能な媒体は、フロッピー（登録商標）ディスケット、光ディスク、ＣＤ−ＲＯＭ（コンパクトディスク読み取り専用メモリ）、光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ（消去可能なプログラム可能な読み取り専用メモリ）、ＥＥＰＲＯＭ（電気的に消去可能なプログラム可能な読み取り専用メモリ）、磁気カード、光カード、フラッシュメモリ、又は、マシン実行可能な命令を記憶するのに適した他のタイプの媒体／マシン読み取り可能な媒体を含み得るが、これらに限定されるものではない。
【００４３】
さらに、実施形態は、コンピュータプログラム製品であって、プログラムが、搬送波又は他の伝搬媒体内に具現化された且つ／又は搬送波又は他の伝搬媒体により変調された１つ以上のデータ信号により、通信リンク（例えばモデム及び／又はネットワーク接続）を介して、リモートコンピュータ（例えばサーバ）から要求元コンピュータ（例えばクライアント）に転送され得る、コンピュータプログラム製品として、ダウンロードされ得る。
【００４４】
図面及び前述の説明は、実施形態の例を提供している。当業者であれば、説明された要素のうちの１つ以上は、単一の機能要素に組み合わせられてもよいことが理解されよう。あるいは、所定の要素は、複数の機能要素に分割されてもよい。１つの実施形態からの要素は、別の実施形態に付加されることもある。例えば、本明細書に記載のプロセスの順序は、変更されることもあり、本明細書に記載の態様に限定されるものではない。さらに、フロー図における動作は、必ずしも示されている順序で実行される必要はない。また、全ての動作が実行される必要があるわけでもない。また、他の動作に依存しない動作は、他の動作と並列に実行されることもある。実施形態の範囲は、これらの特定の例により限定されるものではない。本明細書において明示的に提供されているか否かにかかわらず、構造、寸法、及び、材料の使用における差異等の多数の変形が可能である。実施形態の範囲は、少なくとも請求項により提供されるのと同じだけの広さである。
【符号の説明】
【００４５】
１００    システム
１０１    ホスト組織
１０２    プロセッサ
１０４    メモリ
１０６    オペレーティングシステム（ＯＳ）
１０８    入力／出力（Ｉ／Ｏ）ソース
１１０    アプリケーション統合メカニズム
１２０    コンピューティングデバイス
１２１Ａ  顧客組織
１２１Ｂ  顧客組織
１２１Ｎ  顧客組織
１３０Ａ  コンピューティングデバイス
１３０Ｂ  コンピューティングデバイス
１３０Ｎ  コンピューティングデバイス
１３５    ネットワーク
１４０    データベース
２０１    登録ロジック
２０２    インタフェースロジック
２０３    変換ロジック
２０５    印刷マネージャ
２０６    ユーザインタフェース
２０７    通信／互換性ロジック
３００    印刷システム
３５０    制御ユニット
３５８    印刷エンジン
４２０Ａ  ホストデバイス
４２０Ｂ  ホストデバイス
４３０Ａ  クライアントデバイス
４３０Ｂ  クライアントデバイス
４３０Ｃ  クライアントデバイス
４３０Ｄ  クライアントデバイス
【図１】
2019194846.tif 000003
【図２】
2019194846.tif 000004
【図３】
2019194846.tif 000005
【図４】
2019194846.tif 000006
【図５】
2019194846.tif 000007
【図６】
2019194846.tif 000008
【図７】
2019194846.tif 000009