JP7434039B2 - 情報処理装置、及び情報処理装置におけるコンテナとプロセスとの間の通信を制御する制御方法 - Google Patents

情報処理装置、及び情報処理装置におけるコンテナとプロセスとの間の通信を制御する制御方法 Download PDF

Info

Publication number
JP7434039B2
JP7434039B2 JP2020070007A JP2020070007A JP7434039B2 JP 7434039 B2 JP7434039 B2 JP 7434039B2 JP 2020070007 A JP2020070007 A JP 2020070007A JP 2020070007 A JP2020070007 A JP 2020070007A JP 7434039 B2 JP7434039 B2 JP 7434039B2
Authority
JP
Japan
Prior art keywords
communication
container
destination
information
information processing
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.)
Active
Application number
JP2020070007A
Other languages
English (en)
Other versions
JP2021166019A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2020070007A priority Critical patent/JP7434039B2/ja
Priority to EP21164686.4A priority patent/EP3893111B1/en
Priority to US17/213,385 priority patent/US11928527B2/en
Priority to CN202110346123.0A priority patent/CN113496030A/zh
Priority to KR1020210044975A priority patent/KR20210125432A/ko
Publication of JP2021166019A publication Critical patent/JP2021166019A/ja
Application granted granted Critical
Publication of JP7434039B2 publication Critical patent/JP7434039B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00209Transmitting or receiving image data, e.g. facsimile data, via a computer, e.g. using e-mail, a computer network, the internet, I-fax
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/566Routing instructions carried by the data packet, e.g. active networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2166Intermediate information storage for mass storage, e.g. in document filing systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Facsimiles In General (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、情報処理装置、及び情報処理装置におけるコンテナとプロセスとの間の通信を制御する制御方法に関する。
アプリケーションは1つ以上のプロセスと呼ばれるプログラムで構成される。一般的に1つのアプリケーションが1つのプロセスで構成されることは少なく、多くの場合、役割毎にプロセスが分かれている。そのため1つのアプリケーションを動かすために、複数のプロセス間で通信を行う必要がある。これらプロセス間の通信方法は、ソケット通信やパイプ、共有メモリ、メッセージキューなど様々あり、同じマシンで動いているプロセスがOS(オペレーティングシステム)の機能を経由して通信する。
一方で、コンテナ型仮想化と呼ばれる技術が普及してきている。コンテナ型仮想化は、コンテナと呼ばれるプロセスの実行ファイルと、その実行ファイルを動かす環境(ライブラリ等)とをまとめたパッケージを、従来のプロセスが動く空間とは隔離された仮想的な空間で動かす技術のことである。サーバ業界では、このコンテナ型仮想化技術を使用して、隔離されていない通常のプロセス群で構成されていた従来のアプリケーションを、コンテナで構築する方式へ移行してきている。従来のプロセス協調動作のためのプロセス間通信は、コンテナ間通信で代替され、コンテナ間通信はネットワーク通信で行われる形となる(例えば特許文献1)。
前述のようにコンテナ型仮想化技術をサーバアプリケーションで使用する場合、基本的に全てのプロセスをコンテナ化することが可能である。一方で、組み込みアプリケーションにコンテナ型仮想化技術を導入する場合、一般的に組み込みシステム特有のハードウェアを制御するプロセスはコンテナ化されず、ホストマシン上のプロセスとして構成される。これは仮想マシンであるコンテナがホストマシンと隔離されており、ホストマシンのハードウェアをコンテナから制御することが基本的には不可能になっているためである。
コンテナの隔離性を下げ、ホストマシンへアクセスすることでハードウェア制御を可能にする手法も存在する。しかしながら、OSより下の層を仮想化しないコンテナ型仮想化では、ホストマシンへのアクセスによって、例えば他のコンテナが使用するファイルを誤って削除してしまったり、OSの設定を変更するなどの不具合が混入する恐れがある。このため、この手法を採用するのは望ましくない。従って、コンテナ型仮想化技術を用いて組み込みアプリケーションを構築する場合、ホストマシン上で動くプロセスと、コンテナで動くプロセスとが共存することになるため、コンテナとホストマシンを跨いだプロセス間通信が必要となる。
特開2016-173741号公報
しかしながら、コンテナとホストマシン間でプロセス間通信を行うためには、コンテナからホストマシンへのアクセスを可能にする、つまり前述の隔離性を下げる手法を採用しなければならない。これでは前述したような不具合の混入のリスクをはらむため、作成するアプリケーションごとに隔離性を下げたコンテナを、可能な限り生成しないことが望ましい。
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
本発明の目的は、コンテナからホストマシンへのプロセス間通信を行う際の不具合の混入の抑制、通信の責務を集約できる技術を提供することにある。
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
コンテナ型仮想化技術により構築された一つ以上のコンテナと、物理マシンであるホストマシン上に構築された一つ以上のプロセスとを有する情報処理装置であって、
送信元のコンテナ或いはプロセスと、送信先のコンテナ或いはプロセスとに関連付けて通信方式を記憶する第1記憶手段と、
前記コンテナと前記プロセスとの間の通信を制御する通信手段とを有し、
前記通信手段は、
送信元のコンテナ或いはプロセスから、前記送信元を示す送信元情報と、送信先のコンテナ或いはプロセスを示す送信先情報と通信データを含むデータを受信する受信手段と、
前記受信手段が受信した前記送信元情報及び前記送信先情報とに基づいて前記第1記憶手段を参照して、前記通信データの通信方式を取得する第1取得手段と、
前記第1取得手段が取得した前記通信方式に従って前記通信データを前記送信先のコンテナ或いはプロセスに送信する送信手段と、を有することを特徴とする。
本発明によれば、コンテナに対してホストマシンへのアクセス権をいたずらに付与しないため、誤ったファイルの書き込みや、メモリ破壊等の不具合の発生を防止できるという効果がある。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。尚、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
本発明の実施形態1に係る画像形成装置のハードウェア構成を説明するブロック図。 実施形態1に係る画像形成装置を動作させるファームウェアの構成を説明するブロック図。 実施形態1に係る通信コンテナの機能構成を説明する機能ブロック図。 実施形態1に係る通信方式変換テーブルの構成の一例を示す図。 実施形態1に係る通信対象情報の一例を示す図。 実施形態1に係る画像形成装置における、コンテナからホストプロセスへの通信を説明するフローチャート。 実施形態1に係る画像形成装置における、ホストプロセスからコンテナへの通信を説明するフローチャート。 実施形態1に係る画像形成装置において、ユーザがリモートUIから画像形成装置に保存されているデータをプリントする際の処理の流れを説明するシーケンス図。 実施形態2に係る画像形成装置における、コンテナからホストプロセスへの通信処理を説明するフローチャート。 実施形態2に係る画像形成装置における、ホストプロセスからコンテナへの通信処理を説明するフローチャート。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これら複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一もしくは同様の構成に同一の参照番号を付し、重複した説明は省略する。また本実施形態では、本発明に係る情報処理装置の一例を、例えば複合機等の画像形成装置を例に説明する。
最初に、実施形態を説明する上で重要となるコンテナ型仮想化技術について説明する。このコンテナ型仮想化は、コンテナと呼ばれるプロセスの実行ファイルと、その実行ファイルを動かす環境(ライブラリ等)とをまとめたパッケージを、Linux(登録商標)の機能により、物理マシン上で動く通常のプロセスとは隔離された仮想的な空間で動かす技術のことである。このとき隔離された空間で動くコンテナは、仮想マシンと呼ばれる。またコンテナを動かしている物理マシンはホストマシン、そのホストマシン上で動くプロセスはホストプロセスと呼ばれる。コンテナ型仮想化のプラットフォームとしては、具体的にはDocker(登録商標)などが挙げられる。或いは自らLinux(登録商標)の機能を活用して作成したプラットフォームを備えていても良い。コンテナ型仮想化のプラットフォームは、本発明の本質を逸脱しない範囲で変更可能である。
[実施形態1]
図1は、本発明の実施形態1に係る画像形成装置101のハードウェア構成を説明するブロック図である。実施形態1では、画像形成装置101は、プリント機能、スキャナ機能、データ通信機能等を備える複合機とするが、本発明はこのような複合機に限定されるものではない。
画像形成装置101は、コントローラ102、スキャナ108、プリンタ110、FAX部112、操作部114、フィニッシャ116及びNIC118を有する。NICは、Network Interface Cardの略称である。画像形成装置101は、これら以外に別のハードウェアを備えていても良い。スキャナ108は、原稿の画像を光学的に読み取ってデジタル画像として出力する。プリンタ110は、画像データに従ってシート等の紙デバイスに出力(印刷)する。FAX部112は、電話回線等を介してデジタル画像データを送受信する。操作部114は、画像形成装置101に対する操作をユーザから受け付けたり、処理状態を表示するためのタッチパネルやハードキーを備えている。フィニッシャ116は、画像形成装置101のプリンタ110の排紙ユニットから出力された紙デバイスに対して、排紙、ソート、ステープル、パンチ、裁断、などの加工を施す。NIC118は、通信ネットワークLANに画像形成装置101を接続する。
コントローラ102は、プリント機能、スキャン機能等を実現するために、この画像形成装置101全体の動作を制御している。コントローラ102は、スキャナ108と接続するためのスキャナI/F(インタフェース)107、プリンタ110と接続するためのプリンタI/F109、FAX部112と接続するためのFAXI/F111を有する。コントローラ102は更に、操作部114と接続するための操作部I/F113、フィニッシャ116と接続するためのフィニッシャI/F115、NIC118と接続するためのネットワークI/F117を備える。NIC118は、LANを介してコンピュータ119と接続され、コンピュータ119からの情報を受け付ける。
またコントローラ102は、画像形成装置101を動作させるためのソフトウェアを実行する中央演算処理装置(以下、CPU103)、CPU103が演算を行うためのデータ等を保管するメモリであるRAM104、CPU103が実行するファームウェアを保管するメモリであるROM105、長期間のデータ保存等に使用されるストレージ106等を備える。
以下、画像形成装置101の実行可能な機能の一例を説明する。
・複写機能
スキャナ108が原稿を読み取って得られた画像データをストレージ106に記憶し、同時にプリンタ110を使用して印刷を行なう。
・画像送信機能
スキャナ108が原稿を読み取って得られた画像データを、NIC118を介してネットワークと接続されているコンピュータ119に送信する。
・画像保存機能
スキャナ108が原稿を読み取って得られた画像データをストレージ106に記憶し、必要に応じて画像送信や画像印刷を行なう。
。画像印刷機能
ネットワークに接続されたコンピュータ119から送信された、例えばページ記述言語を解析し、プリンタ110で印刷する。
操作部114は、コントローラ102に接続され、タッチパネルや、節電ボタン、コピーボタン、キャンセルボタン、リセットボタン、テンキー、ユーザモードキー等を備え、ユーザI/F(UI)を提供する。
図2は、実施形態1に係る画像形成装置101を動作させるファームウェア201の構成を説明するブロック図である。
画像形成装置101のCPU103は、ファームウェア201の内容に従って各種機能を実行する。ファームウェア201は、コンテナ制御部203及び通信コンテナ202を有する。更に、画像形成装置101によって実行される各種アプリケーション216~220をコンテナ型仮想化技術によりコンテナ化したアプリケーションコンテナ221~225を有する。また更に、画像形成装置101の持つハードウェアを制御する制御部204~209、及びデバイスドライバ210~215を有している。
例えば、コピーアプリケーション216は、画像形成装置101の持つ複写機能を実現するソフトウェアであり、コピーアプリケーション216をコンテナ化したものがコピーコンテナ221である。同様にFAXアプリケーション217をコンテナ化したものがFAXコンテナ222、プリントアプリケーション218をコンテナ化したものがプリントコンテナ223である。更に、リモートUIアプリケーション219をコンテナ化したものがリモートUIコンテナ224、Webブラウザアプリケーション220をコンテナ化したものがWebブラウザコンテナ225である。これらアプリケーションコンテナ221~225が画像形成装置101の持つハードウェアを操作する場合、通信コンテナ202を介して制御部204~209と通信を行う。
スキャナ制御部204は、スキャナドライバ210によって提供される制御関数を使用してスキャナ108を制御する。同様に、プリント制御部205は、プリンタドライバ211が提供する制御関数を使用してプリンタ110を制御する。またFAX制御部206は、FAXドライバ212が提供する制御関数を使用してFAX部112を制御する。操作部制御部207は、操作部ドライバ213が提供する制御関数を使用して操作部114を制御する。フィニッシャ制御部208は、フィニッシャドライバ214が提供する制御関数を使用してフィニッシャ116を制御する。ネットワーク制御部209は、ネットワークドライバ215が提供する制御関数を使用してNIC118を制御する。
通信コンテナ202及びアプリケーションコンテナ221~225は、コンテナ制御部203によって、その起動、終了、停止等が管理される。
実施形態1では、コンテナ制御部203のようなコンテナを一元管理する制御部を用いるが、コンテナ制御部203を持たず、各アプリケーションコンテナが個別に、その起動、終了、停止等を行う形態であっても良い。また図2に記載されているプロセスの数や種類はあくまでも一例であり、本発明の適用範囲を限定するものではない。
図3は、実施形態1に係る通信コンテナ202の機能構成を説明する機能ブロック図である。
通信コンテナ202は、通信方式変換部301、宛先変換部302、通信方式変換テーブル303、通信対象情報304を有する。尚、実施形態1では、通信コンテナ202をコンテナとしているが、後述する通信方式の変換及び宛先変換が行えるのであれば、その他の態様であっても良い。
通信方式変換部301は、送信元情報と送信先情報とに基づいて、通信方式変換テーブル303を参照して通信方式を変更する。また通信方式変換部301は通信方式の変更に伴い、データのフォーマットも併せて変換する。宛先変換部302は、通信対象情報304から、通信方式変換部301で変換した通信方式で使用される実体情報を取得する。例えば、メッセージキュー通信を行う場合は、宛先変換部302はメッセージキーなどを取得する。通信コンテナ202が持つ通信方式変換テーブル303及び通信対象情報304は、実施形態1では組み込みシステムを想定しているため既知情報としているが、動的に追加、削除できる仕組みであっても良い。
図4は、実施形態1に係る通信方式変換テーブル303の構成の一例を示す図である。
通信方式変換テーブル303は、送信元情報401と送信先情報402とから、通信方式情報403を導き出すためのテーブルで、図示のように、送信元情報401と送信先情報402とに関連付けて通信方式情報403が記憶されている。尚、このテーブルは、例えばストレージ106に記憶されている。このときの送信元情報401、送信先情報402は、コンテナIDやプロセスID、コンテナ名やプロセス名などの情報である。また通信方式情報403は、通信コンテナ202から送信先情報402が示すコンテナ221~225、又は制御部(ホストプロセス)204~209への通信の際に使用する通信方式の情報である。例えば、コピーコンテナ221からスキャナ制御部204に対して通信を行う場合は、ソケット通信という情報が取得される。またコピーコンテナ221からFAX制御部206などの通信を行わない経路については未使用を示す情報(「未使用」)が記述されている。尚、図4において、「ソケット」はソケット通信、「共有メモリ」は、メモリ上に他のプロセスやコンテナからアクセスできるメモリ領域を作成し、そのメモリ領域を介して通信する。「メッセージキュー」は、キューに置かれたメッセージにより通信する。
尚、図4(A)は、送信元情報401がアプリケーションコンテナ221~225、送信先情報402がホストプロセス204~209の場合の通信方式変換テーブル303を示す。また図4(B)は、送信元情報401がホストプロセス204~209、送信先情報402がアプリケーションコンテナ221~225の場合の通信方式変換テーブル303を示す。
通信方式情報403は、通信コンテナ202から送信先情報402が示すコンテナ221~225、又はホストプロセス204~209への通信の際に使用する通信方式を示す情報である。従って、図4(B)のように送信先情報402がコンテナを示している場合は、基本的にネットワーク通信が想定される。仮に全ての通信の組み合わせでネットワーク通信が使用される場合、図4(B)の通信方式変換テーブルは保持せずに、全ての通信をネットワーク通信に変換するようにしても良い。
尚、送信元から通信コンテナ202への通信に関しては特に限定せずに、本発明の本質を逸脱しない範囲で自由に選択できるものとする。
図5は、実施形態1に係る通信対象情報304の一例を示す図である。
この通信対象情報304は、送信元501と送信先502とから送信先の実体情報503を取得するために使用される。この送信先の実体情報503は、複数のプロセス間の通信に対応するために様々な形態を取り得る。尚、送信先の実体情報503は、通信方式変換テーブル303に組み込み、通信方式情報403を変換する際にまとめて取得できる構成であっても良い。
例えば、コピーコンテナ221からスキャナ制御部204への送信は、図4(A)からソケット通信である。従って、その送信先の実体情報503は、ソケットへのパスを示す、例えば「/path/to/socket.sock」となる。またFAXコンテナ222からFAX制御部206への送信は、図4(A)から共有メモリである。従って、その送信先の実体情報503は、共有メモリのアドレスを示す。更に、リモートUIコンテナ224からプリント制御部205への送信は、図4(A)からメッセージキューである。従って、その送信先の実体情報503は、メッセージキューのキー情報(msgKey)を示す。
図6は、実施形態1に係る画像形成装置101における、コンテナからホストプロセスへの通信を説明するフローチャートである。
通信コンテナ202を介してコンテナからホストプロセスへ通信を行う場合、まずS601で送信元コンテナは、(送信元情報401+送信先情報402+送信したい実データ情報)を通信コンテナ202に送信する。これにより通信コンテナ202は、そのデータを受信する。尚、ここで送信元情報401を、このデータ構成に含めず、通信コンテナ202が通信を確立する際に、その送信元情報401を取得するようにしても良い。
次にS602に進み通信コンテナ202は、S601で受信したデータに基づいて、通信方式変換テーブル303を参照して通信方式を決定する。
次にS603に進み通信コンテナ202は、送信元情報401と送信先情報402とに基づいて、例えば図5の通信対象情報304を参照して送信先の実体情報503を取得する。そしてS604に進み通信コンテナ202は、S603で取得した送信先(ホストプロセス)の実体情報503に対応する宛先に対して通信データを送信する。こうしてコンテナからホストプロセスへの通信を実現することができる。
図7は、実施形態1に係る画像形成装置101における、ホストプロセスからコンテナへの通信を説明するフローチャートである。
通信コンテナ202を介してホストプロセスからコンテナへ通信を行う場合、まずS701で送信元プロセスは、(送信元情報401+送信先情報402+送信したい実データ情報)を通信コンテナ202に送信する。これにより通信コンテナ202は、そのデータを受信する。尚、ここで送信元情報401を、このデータ構成に含めず、通信コンテナ202が通信を確立する際に、その送信元情報401を取得するようにしても良い。
次にS702に進み通信コンテナ202は、S701で受信したデータに基づいて、通信方式変換テーブル303を参照して通信方式を決定する。これは前述の図6のS602の処理と同じである。
次にS703に進み通信コンテナ202は、送信元情報401と送信先情報402とに基づいて、例えば図5の通信対象情報304を参照して送信先(コンテナ)の実体情報503を取得する。そしてS704に進み通信コンテナ202は、S703で取得した通信対象コンテナの実体情報503に対応する宛先に対して通信データを送信する。こうしてホストプロセスからコンテナへの通信を実現することができる。
図8は、実施形態1に係る画像形成装置101において、ユーザがリモートUIから画像形成装置101に保存されているデータをプリントする際の処理の流れを説明するシーケンス図である。
ユーザが、コンピュータ119を用いて外部ネットワークから画像形成装置101にアクセスし、リモートUIApp(アプリ)219を利用している。この状態で、まずS801で、ユーザはコンピュータ119を用いてプリント操作を行う。これによりS802で、コンピュータ119はネットワークを介して画像形成装置101に対して操作情報を送信する。これによりS803で画像形成装置101のNIC118は、S802で送信された操作情報を受信する。そしてS803で、その受信した操作情報をネットワーク制御部209に通知する。
次にS804でネットワーク制御部209は、その通知された操作情報を、リモートUIApp219に送信するためにデータを生成する。そしてS805でネットワーク制御部209は、通信コンテナ202に対して操作情報を送信する。尚、S804で生成されるデータの構成は、(送信元情報401+送信先情報402+送信したい実データ情報)である。具体的には、S804でネットワーク制御部209は、「ネットワーク制御部209のID+リモートUIコンテナ224のID+プリント操作情報、プリントデータの置き場」などを含むデータを生成する。前述のように送信元情報401については、通信コンテナ202がデータ構成に含めず、通信を確立する際に取得する構成であっても良い。またプロトコルについては、データ構成が含まれていればどのような形式であっても良い。
次に通信コンテナ202は、S806で通信方式を決定する。この通信方式の決定は、通信方式変換テーブル303を参照して行われる。次にS807に進み通信コンテナ202は、宛先変換を行う。この宛先変換処理は、通信対象情報304を使用して行われる。具体的には、ネットワーク制御部209からリモートUIコンテナ224への通信方式はネットワーク通信であるため、通信対象情報304から、送信先のコンテナのIPアドレスや、コンテナIDなどを取得して宛先に設定する。
その後S808で通信コンテナ202は、リモートUIApp219に対して操作情報を転送する。この操作情報は、S805で受信した操作情報である。
次にS809でリモートUIApp219は、S808で受信した操作情報を解析する。そしてS810でリモートUIApp219は、プリントApp218に対してプリント情報を送信する。これによりS811でプリントApp218は、そのプリント情報を解釈する。そしてS812でプリントApp218は、通信コンテナ202と通信するためのデータを生成する。このデータの構成は、前述と同様に(送信元情報401+送信先情報402+送信したい実データ情報)を含む。具体的には、「プリントコンテナ223のID+プリント制御部205のプロセスID+プリント情報」などを含む。そしてS813でプリントApp218は、S812で作成したプリント制御情報を通信コンテナ202に対して送信する。
これにより通信コンテナ202はS814で、通信方式を決定する。ここでは送信元がプリントコンテナ223で、送信先がプリント制御部205であるため、通信方式はソケット通信となる。そしてS815で宛先を変換する。具体的には、プリントコンテナ223からプリント制御部205への通信方式はソケット通信であるため、通信対象情報304から、送信先のプリント制御部205へのパスなどを取得して宛先に設定する。
その後、S816で通信コンテナ202は、プリンタ制御部205に対してプリント制御情報を転送する。これによりプリンタ制御部215はS817で、ストレージ106に保存されているプリントデータを取り出す。そしてS818でプリンタ制御部205は、そのプリントデータに従ってプリントするようにプリンタ110を制御する。その結果、S819で、プリンタ110で形成された成果物をユーザに対して提供することができる。
以上説明したように実施形態1によれば、組み込みアプリケーションを構築する際、複数のコンテナに対してホストマシンへのアクセス権をいたずらに付与しない。これにより、誤ったファイルの書き込みや、メモリのデータの破壊等の不具合の混入が抑制され、品質向上に寄与することができる。
また通信の役割を集約できるため、プログラムの複雑化を防ぎ、管理性の向上に繋がる。さらにアクセス経路が限定されるため、プログラムのデバッグ観測性が向上するという効果がある。
[実施形態2]
上述の実施形態1では、通信が確実に成立する形態を説明した。現実には動作中の状態次第で、対象プロセス又はコンテナが起動していない場合や、悪質なコードによりコンテナやプロセスがハックされる場合がある。従って、リトライ手段や対象外からのアクセスを防止する機構が含まれる構成であっても良い。
図9は、実施形態2に係る画像形成装置101における、コンテナからホストプロセスへの通信処理を説明するフローチャートである。尚、図9において、前述の図6のフローチャートと同じ処理を実行するステップは同じ参照番号を付し、それらの説明を省略する。
まずS901で通信の要である通信コンテナ202がrun状態(稼働状態)であるか否か判定する。ここでrun状態でないと判定したときはS902に進み、通信コンテナ202をrun(稼働)させか、又はrun制御を行っているプロセス、例えばコンテナ制御部203に通知してS901に進む。図9では、このステップを実行するのがコンテナである。よって、コンテナから他のコンテナをrunできる他の経路、例えばDockerであれば、Dockerデーモンdockerdとの対話のためのdocker.sockをマウントしておくようにしても良い。また或いは、コンテナ制御部203とだけ全てのコンテナが通信可能にしておくなどの構成が考えられる。
S903では、送信先情報(ホストプロセス)が通信方式変換テーブル303に存在するか否か判定する。このとき通信方式変換テーブル303に存在しなければS907に進み、通信失敗を送信元のコンテナンに通知して、この処理を終了する。このステップは不正アクセスの防止に繋がりソフトウェアの品質向上に寄与する。
またS903で、送信先情報が通信方式変換テーブル303に存在すると判定するとS904に進み、送信先プロセスが起動しているか否か判定する。ここで送信先プロセスが起動していないと判定するとS905に進み、その送信先プロセスをkick(起動)するか、或いはkick制御が可能なプロセスに通知してS904に進む。
そしてS603,S604で、通信コンテナ202が、送信先の実体情報503を取得し、その取得した宛先に対して通信データを送信する。こうしてコンテナからホストプロセスへの通信を実現する。そしてS906に進み、通信が完了するのを待って通信成功を送信元のコンテナに通知する。これはS907の失敗と区別するためである。
このようにコンテナからホストプロセスへの送信時、通信コンテナが起動していないときは、その起動を待って、コンテナが通信コンテナにデータを送信する。更に通信コンテナが、送信先のプロセスが起動していないときは、そのプロセスが起動するのを待ってデータを送信する。これにより、対象のプロセスが起動していないために、悪質なコードによりプロセスがハックされるのを防止できるという効果がある。
図10は、実施形態2に係る画像形成装置101における、ホストプロセスからコンテナへの通信処理を説明するフローチャートである。尚、図10において、前述の図6、図7、及び図9のフローチャートと同じ処理を実行するステップは同じ参照番号を付し、それらの説明を省略する。
S1001で、送信先のコンテナが起動しているか否かを判定する。S1001で送信先のコンテナが起動していないと判定するとS1002に進み、その送信先コンテナをrun(起動)するか、或いはrun制御可能なプロセスに通知してS1001に進む。図10では、このステップを実行するのがホストプロセスであるため、コンテナ制御部203と通信する経路を持たせるなどが考えられる。そしてS1003では、送信元のホストプロセスに対して送信完了を通知する。一方、S1004では、送信元のホストプロセスに対して通信失敗を通知する。
以上説明したように実施形態2によれば、前述の実施形態1に係る効果に加えて、送信先のプロセス又は送信先のコンテナが起動していない場合、そのプロセス又はコンテナを起動した後でデータ送信を行う。これにより、悪質なコードによりコンテナやプロセスがハックされるのを防止できるという効果がある。
101…画像形成装置、202…通信コンテナ、301…通信方式変換部、302…宛先変換部、303…通信方式変換テーブル、304…通信対象情報

Claims (11)

  1. コンテナ型仮想化技術により構築された一つ以上のコンテナと、物理マシンであるホストマシン上に構築された一つ以上のプロセスとを有する情報処理装置であって、
    送信元のコンテナ或いはプロセスと、送信先のコンテナ或いはプロセスとに関連付けて通信方式を記憶する第1記憶手段と、
    前記コンテナと前記プロセスとの間の通信を制御する通信手段とを有し、
    前記通信手段は、
    送信元のコンテナ或いはプロセスから、前記送信元を示す送信元情報と、送信先のコンテナ或いはプロセスを示す送信先情報と通信データを含むデータを受信する受信手段と、
    前記受信手段が受信した前記送信元情報及び前記送信先情報とに基づいて前記第1記憶手段を参照して、前記通信データの通信方式を取得する第1取得手段と、
    前記第1取得手段が取得した前記通信方式に従って前記通信データを前記送信先のコンテナ或いはプロセスに送信する送信手段と、
    を有することを特徴とする情報処理装置。
  2. 前記送信元情報及び前記送信先情報とに関連付けて、前記送信先の実体情報を取得する第2取得手段を、更に有し、
    前記送信手段は、前記送信先の実体情報に対応する宛先に前記通信データを送信することを特徴とする請求項1に記載の情報処理装置。
  3. 前記送信元情報及び前記送信先情報とに関連付けて、前記送信先の実体情報を記憶する第2記憶手段を、更に有し、
    前記第2取得手段は、前記第2記憶手段を参照して前記送信先の実体情報を取得することを特徴とする請求項2に記載の情報処理装置。
  4. 前記通信方式は、ソケット通信、メッセージキュー、メモリ領域を介した通信、及びネットワーク通信の少なくともいずれかを含むことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記通信方式は、前記送信先情報がコンテナを示す場合はネットワーク通信であることを特徴とする請求項1に記載の情報処理装置。
  6. 前記実体情報は、前記通信方式がソケット通信の場合はソケットへのパス、前記通信方式がメッセージキューの場合はメッセージキー、前記通信方式がメモリ領域を介した通信の場合は、前記メモリ領域のアドレスであることを特徴とする請求項3に記載の情報処理装置。
  7. 前記コンテナ及び前記プロセスは、前記通信手段に前記データを送信する際に、前記通信手段が起動していない場合は、当該通信手段を起動させることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 前記通信手段は更に、前記コンテナから前記プロセスへデータを送信する際に、送信先のプロセスが起動していない場合は、当該送信先のプロセスを起動させることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. 前記通信手段は更に、前記プロセスから前記コンテナへデータを送信する際に、送信先のコンテナが起動していない場合は、当該送信先のコンテナを起動させることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  10. 前記通信手段は、前記第1取得手段が前記通信データの通信方式を取得できない場合は、前記送信元情報に対応する送信元に通信失敗を通知して、前記受信手段が受信して前記データに基づく送信を実行しないことを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. コンテナ型仮想化技術により構築された一つ以上のコンテナと、物理マシンであるホストマシン上に構築された一つ以上のプロセスとを有し、送信元のコンテナ或いはプロセスと、送信先のコンテナ或いはプロセスとに関連付けて通信方式を記憶する記憶手段を有する情報処理装置において、前記コンテナと前記プロセスとの間の通信を制御する制御方法であって、
    送信元のコンテナ或いはプロセスから、前記送信元を示す送信元情報と、送信先のコンテナ或いはプロセスを示す送信先情報と通信データを含むデータを受信する受信工程と、
    前記受信工程で受信した前記送信元情報及び前記送信先情報とに基づいて前記記憶手段を参照して、前記通信データの通信方式を取得する取得工程と、
    前記取得工程で取得した前記通信方式に従って前記通信データを前記送信先のコンテナ或いはプロセスに送信する送信工程と、
    を有することを特徴とする制御方法。
JP2020070007A 2020-04-08 2020-04-08 情報処理装置、及び情報処理装置におけるコンテナとプロセスとの間の通信を制御する制御方法 Active JP7434039B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020070007A JP7434039B2 (ja) 2020-04-08 2020-04-08 情報処理装置、及び情報処理装置におけるコンテナとプロセスとの間の通信を制御する制御方法
EP21164686.4A EP3893111B1 (en) 2020-04-08 2021-03-24 Information processing apparatus, and method of controlling communication between container and process in the information processing apparatus
US17/213,385 US11928527B2 (en) 2020-04-08 2021-03-26 Information processing apparatus, and method of controlling communication between container and process in the information processing apparatus
CN202110346123.0A CN113496030A (zh) 2020-04-08 2021-03-31 信息处理装置及在其中控制容器与进程之间的通信的方法
KR1020210044975A KR20210125432A (ko) 2020-04-08 2021-04-07 정보 처리 장치, 및 정보 처리 장치에서의 컨테이너와 프로세스 사이의 통신을 제어하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020070007A JP7434039B2 (ja) 2020-04-08 2020-04-08 情報処理装置、及び情報処理装置におけるコンテナとプロセスとの間の通信を制御する制御方法

Publications (2)

Publication Number Publication Date
JP2021166019A JP2021166019A (ja) 2021-10-14
JP7434039B2 true JP7434039B2 (ja) 2024-02-20

Family

ID=75223060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020070007A Active JP7434039B2 (ja) 2020-04-08 2020-04-08 情報処理装置、及び情報処理装置におけるコンテナとプロセスとの間の通信を制御する制御方法

Country Status (5)

Country Link
US (1) US11928527B2 (ja)
EP (1) EP3893111B1 (ja)
JP (1) JP7434039B2 (ja)
KR (1) KR20210125432A (ja)
CN (1) CN113496030A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116244099B (zh) * 2023-05-11 2023-09-08 深圳比特微电子科技有限公司 嵌入式系统内进程通讯方法、装置、电子设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011108202A (ja) 2009-11-20 2011-06-02 Fujitsu Ltd コンピュータ、プロセス間通信プログラム、およびプロセス間通信方法
JP2014503867A (ja) 2010-11-05 2014-02-13 騰訊科技(深▲セン▼)有限公司 クロスプロセス通信のための方法および装置、ならびにコンピュータ記憶媒体
JP2016173741A (ja) 2015-03-17 2016-09-29 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
JP2017107555A (ja) 2015-12-11 2017-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・コンテナ中のソフトウェアの識別を決定するための方法、システム、およびプログラム
US20170257357A1 (en) 2015-08-25 2017-09-07 Huawei Technologies Co., Ltd. Data Communication Method, User Equipment, and Server
JP2018001666A (ja) 2016-07-06 2018-01-11 京セラドキュメントソリューションズ株式会社 接続システム、電子機器、接続プログラム
JP2018512087A (ja) 2015-02-04 2018-05-10 アマゾン テクノロジーズ インコーポレイテッド プログラムコードの低レイテンシ実行のためのセキュリティプロトコル
US20190379579A1 (en) 2018-06-11 2019-12-12 Nicira, Inc. Providing shared memory for access by multiple network service containers executing on single service machine
JP2021117841A (ja) 2020-01-28 2021-08-10 コニカミノルタ株式会社 情報処理システム、制御装置、周辺装置制御方法および周辺装置制御プログラム
JP2021519452A (ja) 2018-03-26 2021-08-10 カズアー アドヴァンスド テクノロジーズ リミテッドKAZUAR Advanced Technologies Ltd. 保護されたコンテナ間のセキュア通信方法およびそのシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558029B2 (en) * 2015-05-17 2017-01-31 Nicira, Inc. Logical processing for containers
US10063469B2 (en) * 2015-12-16 2018-08-28 Nicira, Inc. Forwarding element implementation for containers
US10866767B2 (en) * 2016-05-31 2020-12-15 Vmware, Inc. Enforcing limits on a self-serve model for provisioning data volumes for containers running in virtual machines
US11500699B2 (en) * 2019-01-24 2022-11-15 Hewlett Packard Enterprise Development Lp Communication of data between virtual processes
US11025564B2 (en) * 2019-02-22 2021-06-01 Microsoft Technology Licensing, Llc RDMA transport with hardware integration and out of order placement

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011108202A (ja) 2009-11-20 2011-06-02 Fujitsu Ltd コンピュータ、プロセス間通信プログラム、およびプロセス間通信方法
JP2014503867A (ja) 2010-11-05 2014-02-13 騰訊科技(深▲セン▼)有限公司 クロスプロセス通信のための方法および装置、ならびにコンピュータ記憶媒体
JP2018512087A (ja) 2015-02-04 2018-05-10 アマゾン テクノロジーズ インコーポレイテッド プログラムコードの低レイテンシ実行のためのセキュリティプロトコル
JP2016173741A (ja) 2015-03-17 2016-09-29 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
US20170257357A1 (en) 2015-08-25 2017-09-07 Huawei Technologies Co., Ltd. Data Communication Method, User Equipment, and Server
JP2017107555A (ja) 2015-12-11 2017-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウェア・コンテナ中のソフトウェアの識別を決定するための方法、システム、およびプログラム
JP2018001666A (ja) 2016-07-06 2018-01-11 京セラドキュメントソリューションズ株式会社 接続システム、電子機器、接続プログラム
JP2021519452A (ja) 2018-03-26 2021-08-10 カズアー アドヴァンスド テクノロジーズ リミテッドKAZUAR Advanced Technologies Ltd. 保護されたコンテナ間のセキュア通信方法およびそのシステム
US20190379579A1 (en) 2018-06-11 2019-12-12 Nicira, Inc. Providing shared memory for access by multiple network service containers executing on single service machine
JP2021117841A (ja) 2020-01-28 2021-08-10 コニカミノルタ株式会社 情報処理システム、制御装置、周辺装置制御方法および周辺装置制御プログラム

Also Published As

Publication number Publication date
JP2021166019A (ja) 2021-10-14
KR20210125432A (ko) 2021-10-18
CN113496030A (zh) 2021-10-12
EP3893111B1 (en) 2023-08-09
US20210318918A1 (en) 2021-10-14
EP3893111A1 (en) 2021-10-13
US11928527B2 (en) 2024-03-12

Similar Documents

Publication Publication Date Title
JP5550297B2 (ja) 通信装置及び通信装置の通信方法並びにプログラム
JP7422469B2 (ja) サーバシステム、印刷装置、制御方法、及び通信システム
JP7379123B2 (ja) サーバシステム
US9509868B2 (en) Image forming apparatus and image forming system
JP7501761B2 (ja) アプリケーションプログラム
JP2012088838A (ja) 情報処理装置、情報処理装置を制御する制御方法、およびそのプログラム
JP3903024B2 (ja) 出力管理方法及び情報処理装置
JP2023053961A (ja) システムおよび制御方法
JP7434039B2 (ja) 情報処理装置、及び情報処理装置におけるコンテナとプロセスとの間の通信を制御する制御方法
JP5768406B2 (ja) デバイス統合用プログラム、デバイス統合方法、及び、ホスト装置
JP2004070871A (ja) ネットワークプリンタ及びデータ共有印刷システム
JP6768544B2 (ja) 情報処理装置、制御方法およびプログラム
JP2010141854A (ja) 印刷システム
JP2008010993A (ja) 電子機器、アプリケーション実行システム及びプログラム
JP6572683B2 (ja) スキャナ、スキャナの制御プログラム、および通信システム
JP6399164B2 (ja) 画像形成システム、その制御方法及びプログラム
JP2004166244A (ja) 複合機能を同時に実行するシステム
JP2009134584A (ja) 情報処理装置管理システム及び情報処理装置管理方法ならびに、プログラムおよび記憶媒体
JP2005074881A (ja) 画像形成システム
JP2022147547A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP2024063454A (ja) 情報処理装置、情報処理装置の制御方法、情報処理システム、およびプログラム
JP2013084186A (ja) 印字システム
JP2020120168A (ja) 画像形成装置、情報処理方法及びプログラム
JP6464657B2 (ja) 画像処理装置、プログラム更新方法、およびコンピュータプログラム
JP2024075074A (ja) 画像形成装置、制御方法、プログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240207

R151 Written notification of patent or utility model registration

Ref document number: 7434039

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151