JP7259348B2 - Information processing device, method for starting information processing device, and start program for information processing device - Google Patents
Information processing device, method for starting information processing device, and start program for information processing device Download PDFInfo
- Publication number
- JP7259348B2 JP7259348B2 JP2019008765A JP2019008765A JP7259348B2 JP 7259348 B2 JP7259348 B2 JP 7259348B2 JP 2019008765 A JP2019008765 A JP 2019008765A JP 2019008765 A JP2019008765 A JP 2019008765A JP 7259348 B2 JP7259348 B2 JP 7259348B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- program
- notification
- application
- activation
- 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
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Stored Programmes (AREA)
Description
本発明は、情報処理装置、情報処理装置の起動方法、及び、情報処理装置の起動プログラムに関する。 The present invention relates to an information processing apparatus, an information processing apparatus activation method, and an information processing apparatus activation program.
主要機能を備える本体部と、この本体部の機能を走査するための操作部とを備える情報処理装置において、本体部と操作部とが別のCPUを持つ構成が知られている。このような情報処理装置では、例えば操作部に設けられるアプリケーションが操作部と本体部との接続を管理する。この情報処理装置では、起動時に以下の順番で起動処理が行われる。
(1)本体部と操作部がそれぞれ起動処理を開始
(2)本体部は操作部との接続が必要な処理の手前で、操作部のアプリケーションからの準備完了通知を待つ
(3)操作部のOS起動後にOS上のアプリケーションが起動し、アプリケーションが準備完了通知を本体部へ送信
(4)本体部は準備完了通知を受け取り、操作部と接続して起動処理を完了
2. Description of the Related Art In an information processing apparatus having a main body having main functions and an operating section for scanning the functions of the main body, there is known a configuration in which the main body and the operating section have different CPUs. In such an information processing apparatus, for example, an application provided in the operation unit manages the connection between the operation unit and the main unit. In this information processing apparatus, startup processing is performed in the following order at the time of startup.
(1) The main unit and the operation unit each start startup processing (2) The main unit waits for a preparation completion notification from the operation unit application before processing that requires connection to the operation unit (3) The operation unit starts After the OS starts, the application on the OS starts, and the application sends a preparation completion notification to the main unit. (4) The main unit receives the preparation completion notification, connects to the operation unit, and completes startup processing.
操作部のアプリケーションは操作部用のOS上で動くことから、操作部用OSが立ち上がるまでアプリケーションは起動できず、それまで準備完了通知を送信できない。本体部は早くに準備完了通知の待ち状態になっており、処理を継続できないことで起動に余計な時間がかかるという問題があった。 Since the application of the operation unit runs on the OS for the operation unit, the application cannot be started until the OS for the operation unit is started, and the preparation completion notification cannot be sent until then. There was a problem that the main unit was in a state of waiting for the notification of completion of preparation early, and it took extra time to start up because the processing could not be continued.
本発明は、起動時間を短縮できることを目的とする。 An object of the present invention is to shorten the boot time.
上述した課題を解決するために、本発明の一観点に係る情報処理装置は、本体部と、操作部と、前記操作部のOSと独立して動作可能に前記操作部内に設けられ、前記OSより起動時間が短く、前記操作部の起動処理の一部を実施するプログラムと、を備え、前記本体部と前記操作部とが並行起動する場合に、前記操作部は前記OSと併せて前記プログラムも起動し、前記プログラムによる前記操作部の起動処理が完了した時点で、前記プログラムから前記本体部へ準備完了通知を送信する。 In order to solve the above-described problems, an information processing apparatus according to an aspect of the present invention includes a main unit, an operation unit, and an operation unit provided in the operation unit so as to be operable independently of an OS of the operation unit, and a program that takes a shorter startup time and performs a part of the startup processing of the operation unit, and when the main unit and the operation unit are started in parallel, the operation unit and the OS together with the program is also activated, and when the activation processing of the operation unit by the program is completed, the program transmits a preparation completion notice to the main unit.
起動時間を短縮することができる。 Startup time can be shortened.
以下、添付図面を参照しながら実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。 Embodiments will be described below with reference to the accompanying drawings. In order to facilitate understanding of the description, the same constituent elements in each drawing are denoted by the same reference numerals as much as possible, and overlapping descriptions are omitted.
[実施形態]
図1~図6を参照して実施形態を説明する。図1は、実施形態に係る情報処理装置1の全体構成図である。
[Embodiment]
An embodiment will be described with reference to FIGS. 1 to 6. FIG. FIG. 1 is an overall configuration diagram of an
情報処理装置1は、例えば、MFP(Multifunction Peripheral/Printer/Product)と称される複合機、つまりファクシミリ、スキャナ、コピー、あるいはプリンタなどの画像処理機能、通信機能を有する装置である。図1に示すように、情報処理装置1は、本体部10と、操作部20とから成る単一の装置である。
The
本体部10は、上記の画像処理機能や通信機能などの主要機能を備える。操作部20は、ユーザによる本体部10の各機能の操作を受け付ける。本体部10と操作部20とはそれぞれに別のCPU111,21(第1、第2のCPU)を備えており、本体部10はCPU111により動作し、操作部20はCPU21により動作する。本体部10と操作部20とはUSBなどの通信方式で接続されている。
The
図2は、操作部20のハードウェア構成図である。本実施形態では、操作部20は一般的な情報処理端末と同様の構成を有する。即ち、操作部20は、CPU(Central Processing Unit)21、RAM(Random Access Memory)22、ROM(Read Only Memory)23、HDD(Hard Disk Drive)24及びI/F25がバス26を介して接続されている。また、I/F25にはLCD(Liquid Crystal Display)27及び操作入力部28が接続されている。
FIG. 2 is a hardware configuration diagram of the
CPU21は演算手段であり、操作部20の全体の動作を制御する。
The
RAM22は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU21が情報を処理する際の作業領域として用いられる。
The
ROM23は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。
The
HDD24は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納されている。 The HDD 24 is a non-volatile storage medium from which information can be read and written, and stores an OS (Operating System), various control programs, application programs, and the like.
I/F25は、バス26と各種のハードウェアやネットワーク等を接続し制御する。
The I/F 25 connects and controls the
LCD27は、ユーザが状態を確認するための視覚的ユーザインタフェースである。
The
操作入力部28は、キーボードやマウス等、ユーザが情報を入力するためのユーザインタフェースである。
The
図3は、本体部10のハードウェア構成図である。図3に示すように、本体部10は、コントローラ11とエンジン部15とをPCI(Peripheral Component Interface)バス16で接続した構成となる。
FIG. 3 is a hardware configuration diagram of the
コントローラ11は、本体部10全体の制御と描画、通信、操作部20からの入力を制御する。
The
エンジン部15は、PCIバス16に接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部15には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
The
コントローラ11は、CPU111と、ノースブリッジ(NB)113と、システムメモリ(MEM―P)112と、サウスブリッジ(SB)114と、ローカルメモリ(MEM―C)117と、ASIC(Application Specific Integrated Circuit)116と、ハードディスクドライブ(HDD)118とを有し、ノースブリッジ(NB)113とASIC116との間をAGP(Accelerated Graphics Port)バス115で接続した構成となる。また、MEM―P112は、ROM112aと、RAM112bと、をさらに有する。
The
CPU111は、本体部10の全体制御をおこなうものであり、NB113、MEM―P112およびSB114からなるチップセットを有し、このチップセットを介して他の機器と接続される。
The
NB113は、CPU111とMEM―P112、SB114、AGPバス115とを接続するためのブリッジであり、MEM―P112に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
The
MEM―P112は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM112aとRAM112bとからなる。
The MEM-
ROM112aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM112bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
The
SB114は、NB113とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB114は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。
The SB 114 is a bridge for connecting the
ASIC116は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス115、PCIバス16、HDD118およびMEM―C117をそれぞれ接続するブリッジの役割を有する。
The ASIC 116 is an image processing IC (Integrated Circuit) having hardware elements for image processing, and serves as a bridge connecting the
このASIC116は、PCIターゲットおよびAGPマスタと、ASIC116の中核をなすアービタ(ARB)と、MEM―C117を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のDMAC(Direct Memory Access Controller)と、エンジン部15との間でPCIバス16を介したデータ転送をおこなうPCIユニットとからなる。
This ASIC 116 includes a PCI target and AGP master, an arbiter (ARB) that forms the core of the
このASIC116には、PCIバス16を介してFCU(Facsimile Control Unit)12、USB(Universal Serial Bus)13、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インタフェース14が接続される。 また、このASIC16には、操作部20も直接接続されている。
An FCU (Facsimile Control Unit) 12 , a USB (Universal Serial Bus) 13 , and an IEEE 1394 (the Institute of Electrical and Electronics Engineers 1394)
MEM―C117は、コピー用画像バッファ、符号バッファとして用いるローカルメモリである。 MEM-C 117 is a local memory used as a copy image buffer and code buffer.
HDD118は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。 また、HDD118は、本体部10で実行されるアプリケーションのライセンスファイルを保存する。
The
AGPバス115は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM―P112に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
The
図4は、情報処理装置1の機能ブロック図である。操作部20はOS(Operation System)起動部210、OS220、プログラム起動部230、プログラム240から構成される。
FIG. 4 is a functional block diagram of the
OS起動部210は、OS220を起動する。
The
OS220は、アプリケーション起動部221、アプリケーション222から構成される。アプリケーション起動部221は、アプリケーション222を起動させる。
The
アプリケーション222は、操作部20のOS220内に設けられ、OS220上で作動する。アプリケーション222は、本体部10と操作部20との間の接続を管理すると共に、操作部20の起動処理を行う。アプリケーション222は、起動処理部223、通信部224から構成される。起動処理部223は、操作部20の起動処理を実行する。通信部224を介して本体部10からの通知を受け取り、起動処理に利用する。通信部224は、起動処理に必要な通知を本体部10から受け取り、起動処理部223へ渡す。
The
プログラム起動部230は、プログラム240を起動する。
The
プログラム240は、操作部20内にOS220と分離して設けられ、OS220と独立して動作可能である。プログラム240は、OS220より起動時間が短く、アプリケーション222による操作部20の起動処理の一部を実施する。プログラム240は、起動処理部241、通信部242から構成される。起動処理部241は、操作部20の起動処理を実行する。プログラム240で実施すべき準備処理が完了したら、準備完了通知を作成して通信部242へ渡す。通信部242は、起動処理部241から受け取った準備完了通知を本体部10へ送信する。また、通信部242は、本体部10から受信した通知をアプリケーション222の通信部224へ渡す。
The
本体部10は起動処理部110、通信部120から構成される。
The
起動処理部110は、本体部10の起動に必要な処理を実行する。通信部120から準備完了通知を受信する。また、起動処理部110は、通信部120を経由し、操作部20と起動処理に必要な通知の受け渡しを行う。
The
通信部120は、操作部20のプログラム240の通信部242から準備完了通知を受信し、起動処理部110へ渡す。また、通信部120は、起動処理部110から受信した通知を操作部20へ渡す。
The
図4に示す情報処理装置1の操作部20のOS起動部210、OS220、プログラム起動部230、プログラム240、アプリケーション起動部221、アプリケーション222、起動処理部223,241、通信部224,242の各機能は、操作部20のCPU21、RAM22等のハードウェア上に所定のコンピュータソフトウェア(起動プログラム)を読み込ませることにより、CPU21の制御のもとで各種ハードウェアを動作させるとともに、RAM22やHDD24におけるデータの読み出し及び書き込みを行うことで実現される。また、本体部10の起動処理部110、通信部120の機能は、本体部10のCPU111、RAM112b等のハードウェア上に所定のコンピュータソフトウェア(起動プログラム)を読み込ませることにより、CPU111の制御のもとで各種ハードウェアを動作させるとともに、RAM112bやHDD118におけるデータの読み出し及び書き込みを行うことで実現される。すなわち、本実施形態の情報処理装置1の起動プログラムをコンピュータ上で実行させることで、情報処理装置1の操作部20は、図4のOS起動部210、OS220、プログラム起動部230、プログラム240、アプリケーション起動部221、アプリケーション222、起動処理部223,241、通信部224,242として機能し、情報処理装置1の本体部10は、起動処理部110、通信部120として機能する。
Each of the
図5、図6を参照して、情報処理装置1の起動方法について説明する。図5は、起動時の外部シーケンスについて説明する図である。図6は、起動時の内部シーケンスについて説明する図である。ここで、「外部シーケンス」とは情報処理装置1の外部から視たシーケンスであり、情報処理装置1の外部から各処理を確認可能なシーケンスである。一方、「内部シーケンス」とは、情報処理装置1の内部の機能(起動処理部223,241や通信部224,242など)で視たシーケンスである。
A method for starting the
まず図5を参照して外部シーケンスについて、図中のシーケンス番号と対比させ説明する。 First, referring to FIG. 5, the external sequence will be explained in comparison with the sequence numbers in the figure.
1:単独の起動処理
本体部10は、まず単独でできる起動処理を実行する。単独でできる起動処理が完了したら、準備完了通知が来るのを待つ状態となる。
1: Independent start-up processing The
2:プログラム起動(起動ステップ、起動機能)
操作部20のプログラム240が起動する。プログラム240はOS220の外で動作することができる。
2: Program start (start step, start function)
The
2.1:起動処理(起動処理ステップ、起動処理機能)
プログラム240は起動すると、次に操作部20の起動処理を実行する。ここで、プログラム240で実行すべき操作部20の起動処理とは、例えば、操作部20が本体部10と通信が可能になる最低限の処理を含む。
2.1: Startup processing (startup processing step, startup processing function)
When the
2.1.1:準備完了通知(送信ステップ、送信機能)
プログラム240は実行すべき起動処理が完了すると、準備完了通知を本体部10へ送信する。
2.1.1: Notification of completion of preparation (transmission step, transmission function)
When the activation process to be executed is completed, the
3.OS起動
操作部20のOS220が起動する。
3. The
3.1:アプリケーション起動
OS220の起動が完了すると、OS220上でアプリケーション222が起動する。
3.1: Application activation When the activation of the
3.1.1:起動処理
アプリケーション222は、アプリケーション222の起動が完了すると、操作部20の起動処理を実行する。ここで、アプリケーション222で実行すべき操作部20の起動処理とは、シーケンス2.1でのプログラム240で実行された起動処理を除く他の処理を含む。
3.1.1: Activation process The
4:操作部との通信が必要な処理
本体部10は、準備完了通知が来ると待ちを解除し、操作部20との通信が必要な処理を実行する。
4: The processing
4.1:通信(通知ステップ、通知機能)
本体部10は、操作部20との通信が必要な処理の実行中に、操作部20のプログラム240へ通知を送信する。
4.1: Communication (notification step, notification function)
The
4.1.1:通信(通知送信ステップ、通知送信機能)
操作部20のプログラム240は、通知を受信すると、アプリケーション222へ通知を送信する。
4.1.1: Communication (notification transmission step, notification transmission function)
Upon receiving the notification, the
3.1.1.1:通知を利用
操作部20のアプリケーション222は、受信した通知を起動処理に利用する。
3.1.1.1: Use Notification The
次に図6を参照して内部シーケンスについて、図中のシーケンス番号と対比させ説明する。また以下の説明では、図4の機能ブロックと、図5の外部シーケンス図のシーケンス番号との対応を以下のフォーマットで記載する。 Next, referring to FIG. 6, the internal sequence will be explained in comparison with the sequence numbers in the figure. Also, in the following description, the correspondence between the functional blocks in FIG. 4 and the sequence numbers in the external sequence diagram in FIG. 5 will be described in the following format.
シーケンス番号:機能ブロック名
:シーケンス内容(外部シーケンス図のシーケンス番号)
Sequence number: Function block name
: Sequence content (sequence number of external sequence diagram)
1:起動処理部110:起動処理実行(1)
本体部10の起動処理部110は、起動処理を実行する。単独でできる起動処理が完了したら、準備完了通知が来るのを待つ状態となる。
1: Startup processing unit 110: Startup processing execution (1)
The
2:プログラム起動部230:プログラム起動(2)
操作部20のプログラム起動部230は、プログラム240を起動する。
2: Program activation unit 230: Program activation (2)
A
2.1:起動処理部241:起動処理実行(2.1)
プログラム240の起動処理部241は、操作部20の起動処理を実行する。
2.1: Activation processing unit 241: Execution of activation processing (2.1)
A start-up
2.1.1:起動処理部241:通信部へ準備完了通知を渡す(2.1.1)
プログラム240の起動処理部241は、プログラム240で実行すべき操作部20の起動処理が完了すると、準備完了通知を通信部242へ渡す。ここで、プログラム240で実行すべき操作部20の起動処理とは、例えば、操作部20が本体部10と通信が可能になる最低限の処理を含む。
2.1.1: Activation processing unit 241: Passing the notification of completion of preparation to the communication unit (2.1.1)
The
2.1.1.1:通信部242:準備完了通知を送信(2.1.1)
プログラム240の通信部242は、準備完了通知を本体部10へ送信する。
2.1.1.1: Communication unit 242: Send preparation completion notification (2.1.1)
The
2.1.1.1.1:通信部120:準備完了通知を受信(2.1.1)
本体部10の通信部120は、準備完了通知を受信する。
2.1.1.1.1: Communication unit 120: Receiving preparation completion notification (2.1.1)
2.1.1.1.1.1:通信部120:準備完了通知を起動処理部へ渡す(2.1.1)
本体部10の通信部120は、準備完了通知を起動処理部110へ渡す。
2.1.1.1.1.1: Communication unit 120: Passes preparation completion notification to activation processing unit (2.1.1)
The
3.OS起動部210:OS起動(3)
操作部20のOS起動部210は、OS220を起動する。
3. OS activation unit 210: OS activation (3)
An
3.1:アプリケーション起動部221:アプリケーション起動(3.1)
操作部20のアプリケーション起動部221は、アプリケーション222を起動する。
3.1: Application activation unit 221: Application activation (3.1)
An
3.1.1:起動処理部223:起動処理実行(3.1.1)
アプリケーション222の起動処理部223は、アプリケーション222で実行すべき操作部20の起動処理を実行する。ここで、アプリケーション222で実行すべき操作部20の起動処理とは、シーケンス2.2.1でのプログラム240で実行された起動処理を除く他の処理を含む。
3.1.1: Activation processing unit 223: Execution of activation processing (3.1.1)
A
4:起動処理部110:起動処理再開(4)
本体部10の起動処理部110は、準備完了通知を受け取り、待ちを解除し起動処理を再開する。ここで再開する起動処理は、操作部20との通信が必要な処理である。そのため、処理を再開するには、操作部20が本体部10と通信が可能になる最低限の処理(ここではシーケンス2.2.1の「プログラム240で実行すべき操作部20の起動処理」を指す)を完了して、本体部10との通信が可能になっている状態である必要がある。
本実施形態では、この準備完了通知の受け取りが早くなることで、この待ち時間をなくす、もしくは短縮できる。
4: Boot processing unit 110: Resume boot process (4)
The
In the present embodiment, this waiting time can be eliminated or shortened by receiving this preparation completion notification earlier.
4.1:起動処理部110:通知を通信部へ渡す(4.1)
本体部10の起動処理部110は、操作部20への通知を通信部120へ渡す。
4.1: Startup processing unit 110: Pass notification to communication unit (4.1)
The
4.1.1:通信部120:通知を送信(4.1)
本体部10の通信部120は、通知を操作部20の通信部242へ送信する。
4.1.1: Communication unit 120: Send notification (4.1)
4.1.1.1:通信部242:通知を受信(4.1)
操作部20のプログラム240の通信部242は、本体部10からの通知を受信する。
4.1.1.1: Communication unit 242: Receive notification (4.1)
The
4.1.1.1.1:通信部242:通知を送信(4.1.1)
プログラム240の通信部242は、アプリケーション222の通信部224へ通知を送信する。この送信前や送信時にプログラム240で何らかの処理(例えば通知をアプリケーション向けに変換するなど)を実行しても良い。
4.1.1.1.1: Communication unit 242: Send notification (4.1.1)
3.1.1.1:通信部224:通知を起動処理部へ渡す(4.1.1)
アプリケーション222の通信部224は、通知を受信し、起動処理部223へ渡す。
3.1.1.1: Communication unit 224: Pass notification to activation processing unit (4.1.1)
The
3.1.1.1.1:起動処理部223:通知を利用(3.1.1.1)
アプリケーション222の起動処理部223は、受け取った通知を起動処理に利用する。この通知の内容は操作部20の起動処理をする上で必要な本体部10の持つパラメータなどの情報を含む。
3.1.1.1.1: Startup processing unit 223: Use notification (3.1.1.1)
The
なお、本実施形態では、本体部10から操作部20への方向の通知の送信について説明しているが、逆方向(操作部20から本体部10へ)の通知の送信も行ってよい。
In this embodiment, the transmission of the notification in the direction from the
本実施形態の効果を説明する。図5、図6を参照して説明したように、本実施形態の情報処理装置1では、本体部10と操作部20とが同時起動(並行起動状態が存在すればよく、必ずしも同時でなくてもよい)する場合に、操作部20はOS220と併せてプログラム240も起動し、プログラム240による操作部20の起動処理が完了した時点で、プログラム240から本体部へ準備完了通知が送信される。本体部10は、準備完了通知の受信に応じて、アプリケーション222への通知をプログラムに送信し、プログラム240は本体部10から受信した通知を、OS220の起動完了後に起動したアプリケーション222へ送信する。
Effects of the present embodiment will be described. As described with reference to FIGS. 5 and 6, in the
従来の本体部10と操作部20とが別のCPUによって動作する装置では、装置起動時には、本体部10が操作部20との通信が必要な処理を行うためには、操作部20のOS220の起動が完了し、さらにOS220内のアプリケーション222の起動が完了して、アプリケーション222から準備完了通知を受信するまで待機する必要があった。これに対して本実施形態では、上記構成により、アプリケーション222による操作部20の起動処理の一部を担うプログラム240をOS220から独立して動作可能に操作部20内に設け、アプリケーション222の起動が完了する前にプログラム240が準備完了通知を前倒しで本体部10に送信する。これにより、本体部10では、従来の操作部20にプログラム240を設けない構成と比べて、操作部20から準備完了通知を早く受信できるので、「操作部との通信が必要な処理」を早く実施することが可能となり、「単独の起動処理」から「操作部との通信が必要な処理」までの待ち時間を無くす、または減らすことができる。この結果、起動時間を短縮することができる。
In a conventional device in which the
次に、上述のとおり、操作部20はOS220、アプリケーション222、プログラム240を備えるが、それぞれの具体的な形式について説明する。
Next, as described above, the operating
OS220はAndroidやWindows、macOSといった一般的なOSが想定される。本実施形態ではOS220の形式はAndroidである。
The
アプリケーション222の形式はOS220によって異なることが想定される。本実施形態のようにOS220がAndroidの場合は、Android用アプリが一般的である。
It is assumed that the format of the
プログラム240の形式は、アプリケーション222よりも起動が早い形式であることが条件となる。本実施形態ではdeamonという一般的なバックグラウンドで動作するプログラム形式である。
The format of the
アプリケーション222とプログラム240の間の通信は、プロセスが異なることからプロセス間での通信手段をとる必要がある。プロセス間通信の手段としては、一般的なBinder方式が想定され、他の手段を用いても良い。
Communication between the
プログラム240の処理は、もとは一つのアプリケーション222が実行する処理であったため、処理を分離した場合も通知にてパラメータを通知する手段が必要である。Binder方式はパラメータの通知が可能であるが、パラメータの通知が可能であれば他の方式を用いても良い。
Since the processing of the
操作部20と本体部10との間の通信はUSB接続や無線LANといった一般的な接続手段が想定される。本実施形態の構成では操作部20のプログラム240の通信部242が本体部10の通信部120と通信を行うが、通信の頻度を減らすために本体部10からの通知内容をプログラム240が内部で保管しておいてもよい。保管の手段としては、一般的なC言語やC++などのファイル入出力手段によるファイル(記憶部)への書き出しが想定される。また、通知内容をアプリケーション222側で利用する場合は、プログラム240からアプリケーション222へ通知し、アプリケーション222側で保管することもまた可能である。
Communication between the
[第1変形例]
図7を参照して第1変形例を説明する。図7は、第1変形例における起動時のシーケンス図である。
[First modification]
A first modification will be described with reference to FIG. FIG. 7 is a sequence diagram at startup in the first modified example.
本実施形態では、従来はアプリケーション222で完結していた処理(例えば操作部20の起動処理)が、アプリケーション222とプログラム240に分かれる。このため、処理によっては、アプリケーション222とプログラム240との間で処理依頼の通知を送信、受信して処理を実施する必要がある。
In the present embodiment, processing that was conventionally completed by the application 222 (for example, activation processing of the operation unit 20) is divided into the
プログラム240はアプリケーション222よりも早く起動するため、例えば図7に区間Aで示すように、プログラム240からアプリケーション222へ処理依頼を送信しようとするタイミングで、まだアプリケーション222が起動していないというケースが発生する。しかしプログラム240がアプリケーション222の起動を待ち処理を完全に止めてしまうと、新たな待ちが発生して起動時間が長くなるという課題が発生する。
Since the
この課題を解決するため、第1変形例では、例えば図7に区間Bで示すように、アプリケーション222は起動後に、プログラム240へアプリケーション222の起動が完了をしたことを知らせる起動完了通知を送信し、プログラム240は起動完了通知をアプリケーション222から受信した後に、アプリケーション222へ処理依頼通知を送信する仕組みにする。
In order to solve this problem, in the first modification, the
図7に示す処理を実施するために、アプリケーション222は例えば以下の機能を備えることができる。
・アプリケーション222の起動完了通知をプログラム240に送信する、通知送信部
・プログラム240からの処理依頼を受信する、通知受信部
・プログラム240からの処理依頼を受けて処理を実行する、処理実行部
In order to implement the processing shown in FIG. 7, the
A notification transmission unit that transmits the activation completion notification of the
同様に、プログラム240は、例えば以下の機能を備えることができる。
・アプリケーション222からの起動通知を受信する、通知受信部
Similarly,
- A notification receiving unit that receives a start notification from the
[第2変形例] [Second modification]
図8を参照して第2変形例を説明する。図8は、第2変形例におけるアプリケーション222とプログラム240の間の処理シーケンス図である。
A second modification will be described with reference to FIG. FIG. 8 is a processing sequence diagram between the
第1変形例で説明したアプリケーション222からの起動完了通知を待つことによって、プログラム240の処理が止まってしまうことが無いよう、第2変形例では図8に示すように、プログラム240内において処理を実行する「実行スレッド」と、アプリケーション222起動を待つ「待ちスレッド」とを分ける。
In order to prevent the processing of the
実行スレッドはアプリケーション222へ処理依頼したい場合に、例えば図8に区間Cで示すように、待ちスレッドへ一度処理の蓄積依頼をする。この処理により、実行スレッドは、そのままプログラム240の処理を続行することができ、アプリケーション222の起動待ちが発生しなくなる。
When the execution thread wants to request the
図8に示す処理を実施するために、プログラム240は例えば以下の機能を備えることができる。
・プログラム240の処理を実行し、アプリケーション222へ処理の蓄積依頼を行い、再開依頼を受け取り、送信依頼を行う、実行スレッド
・実行スレッドからの蓄積依頼を受けて蓄積し、アプリケーション222の起動通知を受けたら再開依頼を行う、待ちスレッド
・処理依頼通知、起動通知の送受信を行い、スレッドへ通知を渡す、送受信スレッド
・蓄積依頼を受け取った順番を保持して記憶し、起動通知を受けた際に順番通りに再開依頼を行う、蓄積手段
In order to carry out the processing shown in FIG. 8, the
- Executes the processing of the
同様に、アプリケーション222は以下の機能を備えることができる。
・処理依頼通知、起動通知の送受信を行い、実効スレッドへ通知を渡す、送受信スレッド
・アプリケーション222起動処理を実行し、プログラム240からの処理依頼を受け取り処理を実行する、実行スレッド
Similarly,
・Transmitting/receiving thread for transmitting/receiving processing request notifications and startup notifications, and passing notifications to effective threads ・Execution threads for executing
[第3変形例]
図9~図14を参照して第3変形例を説明する。第3変形例は、第1変形例の特徴と第2変形例の特徴とを纏めて実施形態の構成に適用したものである。
[Third Modification]
A third modification will be described with reference to FIGS. 9 to 14. FIG. The third modification is obtained by collectively applying the features of the first modification and the features of the second modification to the configuration of the embodiment.
図9は、第3変形例の情報処理装置1の機能ブロック図である。図9に示すように、第3変形例では、プログラム240が、通知蓄積部243と、送信不可判断部244とをさらに備える。
FIG. 9 is a functional block diagram of the
アプリケーション222の通信部224は、上記実施形態の機能に加えて、アプリケーション222自体の起動が完了したとき、起動完了通知をプログラム240の通信部242へ送信する。
In addition to the functions of the above embodiment, the
プログラム240の通信部242は、起動処理部241から受け取った準備完了通知を本体部10へ送信する。また、通信部242は、本体部10から受信した通知を通知蓄積部243へ渡す。また、通信部242は、アプリケーション222の通信部224から受け取ったアプリケーション222の起動完了通知を送信不可判断部244へ渡す。
The
プログラム240の通知蓄積部243は、定期的に送信不可判断部244の保持する判断の値を受け取り、値が「不可」の間は通信部242から受け取った通知を受け取った順に蓄積する。値が「可能」に変化したら、それまで蓄積していた通知を受け取った順に通信部242へ渡す。
The
プログラム240の送信不可判断部244は、通信部242から判断を求められたときに内部で保持する値(「可能」「不可」のどちらか)を渡す。値の初期値は「不可」であり、プログラム240の通信部242から起動完了通知を受け取った時に「可能」に変化する。
The transmission
図10は、第3変形例における起動時の外部シーケンス図である。図5を参照して説明した実施形態の外部シーケンス図との相違点のみを説明する。 FIG. 10 is an external sequence diagram at startup in the third modification. Only differences from the external sequence diagram of the embodiment described with reference to FIG. 5 will be described.
4.1.1:通知を蓄積
操作部20のプログラム240は、アプリケーション222からの起動完了通知を受信していない間、ステップ4.1にて本体部10から通知を受信したときには、その通知を蓄積する。
4.1.1: Accumulation of notification When the
4.1.2:送信以外の続けられる処理
操作部20のプログラム240は、通知を蓄積した後、通知を送信する以外の続けられる処理を続行する。処理を続行することで、完全なアプリケーション起動待ち状態に陥るのを回避できる。
4.1.2: Continued processing other than sending After the
3.1.1:起動完了通知
アプリケーション222は、ステップ3.1におけるアプリケーション222の起動が完了すると、起動完了通知をプログラム240に送信する。
3.1.1: Activation Completion Notification The
3.1.1.1:通知を送信
操作部20のプログラム240は、アプリケーション222から起動完了通知を受信したら、ステップ4.1.1にて蓄積していた通知をアプリケーション222へ送信する。このとき、蓄積した順に通知を送信する。
3.1.1.1: Send notification When the
なお、図10の「3.1.2:起動処理」と「3.1.2.1:通知を利用」は、図5の「3.1.1:起動処理」と「3.1.1.1:通知を利用」と同様の処理である。 Note that "3.1.2: startup processing" and "3.1.2.1: use notification" in FIG. 10 correspond to "3.1.1: startup processing" and "3.1. 1.1: Use notification”.
図11A,図11Bは、第3変形例における起動時の内部シーケンス図である。図6を参照して説明した実施形態の内部シーケンス図との相違点のみを説明する。 11A and 11B are internal sequence diagrams at startup in the third modification. Only differences from the internal sequence diagram of the embodiment described with reference to FIG. 6 will be described.
4.1.1.1.1:通信部242:通知蓄積部243へ通知を渡す(4.1.1)
操作部20のプログラム240の通信部242は、ステップ4.1.1.1にて受信した通知を通知蓄積部243へ渡す。
4.1.1.1.1: Communication unit 242: Pass notification to notification storage unit 243 (4.1.1)
The
4.1.1.1.1.1:通知蓄積部243:送信不可判断部244から判断を受け取る(4.1.1)
操作部20のプログラム240の通知蓄積部243は、送信不可判断部244から判断の値を受け取る。判断の初期値は「不可」であるため、ここでは「不可」が渡される。
4.1.1.1.1.1: Notification storage unit 243: Receives judgment from transmission impossibility judgment unit 244 (4.1.1)
The
4.1.1.1.1.1.1:通知蓄積部243:通知を蓄積する(4.1.1)
操作部20のプログラム240の通知蓄積部243は、「不可」の判断を受け取ったため通知を内部的に蓄積する。複数の通知を受信し順番に蓄積していく場合は、受信した順番を保持して蓄積する必要がある。この蓄積の方法としては、スレッド間のメッセージ送受信の仕組みでわざとメッセージを受信しないでおくことでメッセージキューに蓄積する方式や、一般的なデータ構造のキュー構造を実装して格納・取り出しを行う方式などの実施例が想定される。通知の蓄積の実施例については図12、図13を参照して後述する。
4.1.1.1.1.1.1: Notification Accumulator 243: Accumulating Notifications (4.1.1)
The
3.1.1:通信部224:起動完了通知を送信(3.1.1)
操作部20のアプリケーション222の通信部224は、ステップ3.1におけるアプリケーション222の起動が完了したら、アプリケーション222の起動完了通知をプログラム240へ送信する。この起動完了の判断基準は任意だが、通知を送信するために必要なプログラム240との通信準備が完了していることは必須条件となる。
3.1.1: Communication unit 224: Transmit activation completion notification (3.1.1)
The
3.1.1.1:通信部242:起動完了通知を送信不可判断部244へ渡す(3.1.1.1)
操作部20のプログラム240の通信部242は、アプリケーション222から起動完了通知を受信したら送信不可判断部244へ渡す。
3.1.1.1: Communication unit 242: Passes activation completion notification to transmission failure determination unit 244 (3.1.1.1)
The
3.1.1.1.1:送信不可判断部244:判断を「可能」に変更する(3.1.1.1)
操作部20のプログラム240の送信不可判断部244は、送信不可判断部244が内部的に持つ判断の値を「不可」から「可能」に変更する。
3.1.1.1.1: Transmission impossibility determination unit 244: Change the determination to “possible” (3.1.1.1)
The transmission
3.1.1.1.2:通知蓄積部243:送信不可判断部244から判断を受け取る(3.1.1.1)
操作部20のプログラム240の通知蓄積部243は、定期的に送信不可判断部244から判断を受け取って判断の値を確認する。
3.1.1.1.2: Notification accumulation unit 243: Receives judgment from transmission impossibility judgment unit 244 (3.1.1.1)
The
3.1.1.1.2.1:通知蓄積部243:通知を取り出し通信部242へ渡す(3.1.1.1)
操作部20のプログラム240の通知蓄積部243は、確認した判断が「可能」の場合、蓄積していた通知を取り出し通信部242へ渡す。
3.1.1.1.2.1: Notification accumulation unit 243: Takes out notification and passes it to communication unit 242 (3.1.1.1)
The
3.1.1.1.2.2:通信部242:通知を送信する(3.1.1.1)
操作部20のプログラム240の通信部242は、送信不可判断部244から受け取った判断が「可能」であった場合、蓄積していた通知をアプリケーション222へ送信する。蓄積していた通知の取り出しの実施例については図12、図13を参照して後述する。
3.1.1.1.2.2: Communication unit 242: Send notification (3.1.1.1)
The
図12、図13を参照して、通知の蓄積方式の例について説明する。図12は、第3変形例におけるアプリケーション222とプログラム240の間の処理シーケンス図である。
An example of a notification accumulation method will be described with reference to FIGS. 12 and 13. FIG. FIG. 12 is a processing sequence diagram between the
図12で用いる「メッセージ」とは、プロセス間やスレッド間でのやりとりに用いられ、送信関数と受信関数が用意されている。送信側が送信関数を用いてメッセージ送信すると、メッセージは一度メッセージキューと呼ばれる場所に蓄積される。受信側が受信関数を1回呼び出すと、メッセージキューに蓄積された順番に、メッセージを1個受信することができるという仕組みである。 The “message” used in FIG. 12 is used for communication between processes or between threads, and has a send function and a receive function. When a sender sends a message using the send function, the message is once stored in a place called a message queue. When the receiving side calls the receive function once, it is possible to receive one message in the order in which it was accumulated in the message queue.
メッセージ管理の仕組みは、例えばC言語にあらかじめ用意されている一般的なメッセージ管理の仕組みなどでよい。例えばC言語では、snd_msg関数でメッセージ送信、rcv_msg関数でメッセージ受信ができる。 The message management mechanism may be, for example, a general message management mechanism prepared in advance in the C language. For example, in C language, messages can be sent with the snd_msg function and messages can be received with the rcv_msg function.
図12の例では、アプリケーション222の起動完了通知待ちの間、わざと通知送信処理のトリガーとなるメッセージを待ちスレッドが受信しないでおくことで、メッセージキューにメッセージが送信順に蓄積され、結果的に通知を蓄積したことと同義になる。
In the example of FIG. 12, while the
以下、図12のシーケンス図について詳しく説明する。 The sequence diagram of FIG. 12 will be described in detail below.
1:起動完了通知待ち状態
起動完了通知待ちを行う専用のスレッドであるプログラム240の「待ちスレッド」は、まずアプリケーション222の起動完了通知待ち状態になる。これは機能ブロックの通知蓄積部243と送信不可判断部244に該当する。待ちスレッドは、待ち状態の間メッセージの受信関数を呼ばない。
1: Activation Completion Notification Waiting State The “waiting thread” of the
2:メッセージA
3:メッセージB
メインで処理を行うプログラム240の「実行スレッド」が、アプリケーション222へ通知送信をしたいため待ちスレッドへ通知送信処理のトリガーとなるメッセージを送信する。この例ではメッセージA(通知Aの送信処理のトリガー)、メッセージB(通知Bの送信処理のトリガー)の順に2個送信している。実行スレッドは、機能ブロックの起動処理部241に該当する。
2: Message A
3: Message B
The “execution thread” of the
4:アプリケーション起動
4.1:起動完了通知の送信
4.1.1:起動完了通知を渡す
アプリケーション222が起動完了すると、アプリケーション222はプログラム240へ起動完了通知を送信する。プログラム240の「送受信スレッド」は起動完了通知を受信すると、待ちスレッドへ起動完了通知を渡す。送受信スレッドは、機能ブロックの通信部242に該当する。
4: Application activation 4.1: Transmission of activation completion notification 4.1.1: Transfer of activation completion notification When the
5:メッセージ受信
6:再開依頼A
6.1:通知送信依頼A
6.1.1:通知Aを送信
プログラム240の待ちスレッドは起動完了通知を受け取ると、待ち状態を解除し、メッセージの受信関数を呼ぶ。メッセージAが最初にメッセージキューに蓄積されていたため、ここではメッセージAを受信することになる。待ちスレッドはメッセージA(通知Aの送信処理のトリガー)を受け取ったことで、実行スレッドに通知Aの送信処理の再開依頼Aをする。送信処理を再開した実行スレッドは送受信スレッドへ通知送信依頼Aをする。送信スレッドは通知Aをアプリケーション222へ送信する。
5: Message received 6: Resume request A
6.1: Notification transmission request A
6.1.1: Send Notification A When the waiting thread of the
7:メッセージ受信
8:再開依頼B
8.1:通知送信依頼B
8.1.1:通知Bを送信
プログラム240の待ちスレッドが次にメッセージ受信関数を呼ぶと、メッセージBを受信する。その後はメッセージAの処理と同様にメッセージBについて処理を行い、通知Bをアプリケーション222へ送信する。
7: Message received 8: Resume request B
8.1: Notification transmission request B
8.1.1: Send notification B When the waiting thread of
図13は、キュー構造を利用した蓄積構造の例を示す模式図である。図12の例では、図13に示すキュー構造と呼ばれる一般的なデータ構造を実装により実現する。キュー構造は格納されたデータについて、片方の端からデータを蓄積し、もう片方の端からデータを取り出す。この仕組みにより、蓄積した順番通りにデータを取り出すことができる構造である。 FIG. 13 is a schematic diagram showing an example of a storage structure using a queue structure. In the example of FIG. 12, a general data structure called a queue structure shown in FIG. 13 is implemented by implementation. A queue structure accumulates data from one end and retrieves data from the other end of stored data. This mechanism allows data to be retrieved in the order in which it was stored.
このキュー構造実装部分は機能ブロックのプログラム240の通知蓄積部243に該当する。図11の内部シーケンスのステップ「4.1.1.1.1.1.1:通知蓄積部:通知を蓄積する」でキュー構造に通知を蓄積し、ステップ「3.1.1.1.2.1:通知蓄積部:通知を取り出し通信部へ渡す」でキュー構造に蓄積していた通知を順番に取り出し、通信部242に渡し送信することとなる。
This queue structure implementation part corresponds to the
なお、通知または通知の送信トリガーを蓄積する方法については、図12、図13に例示した方法以外の他の方法を用いてもよい。 As for the method of accumulating notifications or notification transmission triggers, methods other than the methods illustrated in FIGS. 12 and 13 may be used.
第3変形例の効果を説明する。プログラム240はアプリケーション222よりも早く起動するため、プログラム240からアプリケーション222へ処理依頼を送信しようとするタイミングで、まだアプリケーション222が起動していないというケースが発生し得る。しかしプログラム240がアプリケーション222の起動を待って処理を完全に止めてしまうと、新たな待ちが発生して起動時間が長くなる。これに対して第3変形例では、アプリケーション222は、アプリケーション222の起動処理が完了したときに起動完了通知をプログラム240に送信し、プログラム240は、起動完了通知を受信した後に、本体部10から受信した通知をアプリケーション222に送信する。この構成により、上記の課題を解決でき、プログラム240はアプリケーション222の起動が完了した後に確実に通知を送信することが可能となる。また、プログラム240はアプリケーション222から起動完了通知を受信するまでは他の処理を実行できるので、プログラム240が待ち状態となるのを回避でき、起動時間を短縮化できる。
The effects of the third modified example will be described. Since the
また、第3変形例では、プログラム240は、プログラム240の処理を実行する実行スレッドと、処理のうちアプリケーション222の起動完了後に行う処理を蓄積する待ちスレッドと、を有する。プログラム240は、起動完了通知をアプリケーション222から受信した後に、待ちスレッドに蓄積されていた処理を実行スレッドに実行させる。この構成により、実行スレッドはアプリケーション222へ処理依頼したい場合に、待ちスレッドへ一度処理の蓄積依頼をし、そのままプログラム240の処理を続行することができる。これにより、アプリケーション222の起動完了通知を待つためにプログラム240の処理が止まってしまうことを防止でき、起動時間をさらに短縮化できる。
In addition, in the third modification, the
また、第3変形例では、プログラム240は、本体部10から受信した通知をアプリケーション222に送信可能か否かを判断する送信不可判断部244と、送信不可判断部244により送信不可と判断された通知を蓄積する通知蓄積部243と、を有する。送信不可判断部244は、起動完了通知をアプリケーション222から受信するとき、通知をアプリケーション222に送信可能との判断に切り替え、プログラム240は、送信不可判断部244の判断の切り替えに応じて、通知蓄積部243に蓄積されている通知をアプリケーション222へ送信する。
Further, in the third modification, the
この構成により、プログラム240は、アプリケーション222への通知の送信可否、すなわち、アプリケーション222の起動が完了したか否かを精度良く判断できるので、通知蓄積部243への通知の蓄積要否や、アプリケーション222への通知の送信可否の判断を精度よく行うことができる。これにより、プログラム240によるアプリケーション222への通知の送信処理をより効率よく行うことが可能となる。
With this configuration, the
図14は、通知をアプリケーションへ送信するかの要否判断する場合の内部シーケンス図である。 FIG. 14 is an internal sequence diagram when determining whether or not to send a notification to an application.
本体部10から受け取った通知の中には、アプリケーション222へ送信する必要のない、プログラム240だけで利用する通知も含まれる可能性がある。そのため、すべての通知をアプリケーション222へ送信するのではなく、アプリケーション222へ送信する必要のある通知かを判断して、必要ある通知のみ通知蓄積部243へ蓄積することも可能である。これにより、本体部10からの通知のうち、アプリケーション222へ送信する必要がない(プログラム内の処理のみで利用する)通知について、通知蓄積部243への蓄積と、アプリケーション222への送信を省略でき、起動処理を早めることができる。
Notifications received from the
概要の流れとしては、プログラム240の通信部242が本体部10から通知を受信したとき、通信部242は通知を通知蓄積部243ではなく起動処理部241へ渡す。起動処理部241はアプリケーション222へ渡す必要がある通知内容か要否を判断し、渡す必要がなければプログラム240での起動処理に利用し、渡す必要があれば通知蓄積部243へ通知を渡す。通知蓄積部243は通常通りに送信不可判断部244からの判断「不可」に従い蓄積する、となる。
As an overview flow, when the
このような要否判断を行う場合の処理について、図11の内部シーケンス図から該当部分のみを抜粋した図14を参照して説明する。 Processing for making such a necessity determination will be described with reference to FIG. 14, which is an excerpt from the internal sequence diagram of FIG.
4.1.1.1.1:通信部242:起動処理部241へ通知を渡す
プログラム240の通信部242は、ステップ4.1.1.1にて本体部10から受信した通知を、起動処理部241へ渡す。
4.1.1.1.1: Communication unit 242: Passing notification to
4.1.1.1.1.1:起動処理部241:アプリケーション222への送信要否を判断
プログラム240の起動処理部241は、アプリケーション222へ渡す必要がある通知内容か要否を判断する。本ステップにてアプリケーション222へ送信する必要ある通知と判断した場合には、以降のステップに進む。
4.1.1.1.1.1: Activation processing unit 241: Determining whether or not transmission to
4.1.1.1.1.2:起動処理部241:通知を通知蓄積部243へ渡す
プログラム240の起動処理部241は、アプリケーション222へ送信する必要がなければプログラム240での起動処理に利用し、アプリケーション222へ送信する必要があれば通知蓄積部243へ通知を渡す。
4.1.1.1.1.2: Activation processing unit 241: Passing notification to
4.1.1.1.1.3:通知蓄積部243;送信不可判断部244から判断を受け取る
4.1.1.1.1.3.1:通知蓄積部:通知を蓄積する
この蓄積のシーケンスは図12のステップ4.1.1.1.1.1と、ステップ4.1.1.1.1.1.1から変更はない。
4.1.1.1.1.3:
なお、ステップ4.1.1.1.1.1においてアプリケーション222へ送信する必要ある通知と判断したとき、既に起動完了通知をアプリケーション222から受信済みの場合には、この通知を通知蓄積部243へ蓄積せずにアプリケーション222へ送信してもよい。これにより、既にアプリケーション222が起動完了している場合に、一度通知を蓄積する時間を省略でき、アプリケーション222へ通知をより早く送信することができる。
When it is determined in step 4.1.1.1.1.1 that the notification needs to be sent to the
また、プログラム240が、本体部10から受信した通知からアプリケーション222へ送信する必要がある情報のみを取り出して新たな通知を作成し、作成した新たな通知をアプリケーション222へ送信する構成でもよい。これにより、アプリケーション222には不要な情報をプログラム240側で削ることで、送信データ量を減らすことができ、送信時間を短縮することができる。
Alternatively, the
以上、具体例を参照しつつ本実施形態について説明した。しかし、本開示はこれらの具体例に限定されるものではない。これら具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。 The present embodiment has been described above with reference to specific examples. However, the present disclosure is not limited to these specific examples. Design modifications to these specific examples by those skilled in the art are also included in the scope of the present disclosure as long as they have the features of the present disclosure. Each element included in each specific example described above and its arrangement, conditions, shape, etc. are not limited to those illustrated and can be changed as appropriate. As long as there is no technical contradiction, the combination of the elements included in the specific examples described above can be changed as appropriate.
1 情報処理装置
10 本体部
111 CPU(第1のCPU)
20 操作部
21 CPU(第2のCPU)
210 OS起動部
220 OS
221 アプリケーション起動部
222 アプリケーション
230 プログラム起動部
240 プログラム
241 起動処理部
242 通信部
1
20
210
221
Claims (12)
操作部と、
前記操作部のOSと独立して動作可能に前記操作部内に設けられ、前記OSより起動時間が短く、前記操作部の起動処理の一部を実施するプログラムと、
を備え、
前記本体部と前記操作部とが並行起動する場合に、前記操作部は前記OSと併せて前記プログラムも起動し、前記プログラムによる前記操作部の起動処理が完了した時点で、前記プログラムから前記本体部へ準備完了通知を送信する、
情報処理装置。 a main body;
an operation unit;
a program that is provided in the operation unit so as to be operable independently of the OS of the operation unit, has a shorter startup time than the OS, and executes a part of the startup process of the operation unit;
with
When the main unit and the operation unit are started in parallel, the operation unit starts up the program together with the OS, and when the program completes the startup process of the operation unit, the program starts the main unit. send a ready notification to the department,
Information processing equipment.
前記本体部は、前記準備完了通知の受信に応じて、前記アプリケーションへの通知を前記プログラムに送信し、
前記プログラムは前記本体部から受信した前記通知を、前記OSの起動完了後に起動した前記アプリケーションへ送信する、
請求項1に記載の情報処理装置。 an application that is provided in the OS of the operation unit, operates on the OS, manages the connection between the main unit and the operation unit, and performs startup processing of the operation unit;
The main unit transmits a notification to the application to the program in response to receiving the preparation completion notification,
wherein the program transmits the notification received from the main unit to the application started after the completion of starting the OS;
The information processing device according to claim 1 .
前記OSは、前記OS上で作動する前記アプリケーションと、前記アプリケーションを起動するアプリケーション起動部と、を有し、
前記プログラムは、前記操作部の起動処理を行い前記準備完了通知を作成する起動処理部と、前記起動処理部が作成した前記準備完了通知を前記本体部に送信し、前記本体部から前記通知を受信して前記通知を前記アプリケーションに送信する通信部と、を有する、
請求項2に記載の情報処理装置。 The operation unit has an OS activation unit that activates the OS and a program activation unit that activates the program,
The OS has the application that operates on the OS and an application launcher that launches the application,
The program comprises: an activation processing unit that activates the operation unit and creates the preparation completion notification; and transmits the preparation completion notification created by the activation processing unit to the main unit, and transmits the notification from the main unit. a communication unit that receives and sends the notification to the application;
The information processing apparatus according to claim 2.
請求項2または3に記載の情報処理装置。 The program has a storage unit that stores the content of the notification received from the main unit,
The information processing apparatus according to claim 2 or 3.
前記プログラムは、前記起動完了通知を受信した後に、前記本体部から受信した前記通知を前記アプリケーションに送信する、
請求項2~4のいずれか1項に記載の情報処理装置。 The application transmits a startup completion notification to the program when startup processing of the application is completed;
After receiving the activation completion notification, the program transmits the notification received from the main unit to the application.
The information processing apparatus according to any one of claims 2 to 4.
前記プログラムの処理を実行する実行スレッドと、前記処理のうち前記アプリケーションの起動完了後に行う処理を蓄積する待ちスレッドと、を有し、
前記起動完了通知を前記アプリケーションから受信した後に、前記待ちスレッドに蓄積されていた処理を前記実行スレッドに実行させる、
請求項5に記載の情報処理装置。 Said program
an execution thread for executing the processing of the program, and a waiting thread for accumulating processing to be performed after the completion of activation of the application among the processing,
causing the executing thread to execute the processing accumulated in the waiting thread after receiving the activation completion notification from the application;
The information processing device according to claim 5 .
前記本体部から受信した前記通知を前記アプリケーションに送信可能か否かを判断する送信不可判断部と、
前記送信不可判断部により送信不可と判断された前記通知を蓄積する通知蓄積部と、
を有し、
前記送信不可判断部は、前記起動完了通知を前記アプリケーションから受信するとき、前記通知を前記アプリケーションに送信可能との判断に切り替え、
前記プログラムは、前記送信不可判断部の判断の切り替えに応じて、前記通知蓄積部に蓄積されている前記通知を前記アプリケーションへ送信する、
請求項5または6に記載の情報処理装置。 Said program
a transmission impossibility determination unit that determines whether or not the notification received from the main unit can be transmitted to the application;
a notification accumulation unit for accumulating the notification determined to be unsendable by the unsendable determination unit;
has
the transmission-impossibility determination unit, when receiving the activation completion notification from the application, switches to determining that the notification can be transmitted to the application;
wherein the program transmits the notification stored in the notification storage unit to the application in response to switching of the determination of the transmission failure determination unit;
The information processing apparatus according to claim 5 or 6.
前記送信不可判断部が前記本体部から受信した前記通知を前記アプリケーションに送信可能と判断する場合、前記通知を前記通知蓄積部に蓄積せずに前記アプリケーションへ送信する、
請求項7に記載の情報処理装置。 Said program
When the transmission-impossibility determination unit determines that the notification received from the main unit can be transmitted to the application, the notification is transmitted to the application without being stored in the notification storage unit;
The information processing apparatus according to claim 7.
請求項7に記載の情報処理装置。 The program determines whether the notification received from the main unit needs to be transmitted to the application, and accumulates the notification determined to need to be transmitted to the application in the notification storage unit.
The information processing apparatus according to claim 7 .
請求項7に記載の情報処理装置。 The program extracts only information that needs to be transmitted to the application from the notification received from the main unit, creates a new notification, and transmits the new notification to the application.
The information processing apparatus according to claim 7 .
操作部と、
前記操作部のOSと独立して動作可能に前記操作部内に設けられ、前記OSより起動時間が短く、前記操作部の起動処理の一部を実施するプログラムと、
を備える情報処理装置の起動方法であって、
前記本体部と前記操作部とが並行起動する場合に、前記操作部が前記OSと併せて前記プログラムを起動する起動ステップと、
前記起動ステップにて起動された前記プログラムが前記操作部の起動処理を実施する起動処理ステップと、
前記起動処理ステップにて実施された前記プログラムによる前記起動処理が完了した時点で、前記プログラムから前記本体部へ準備完了通知を送信する送信ステップと、
を含む、
情報処理装置の起動方法。 a main body;
an operation unit;
a program that is provided in the operation unit so as to be operable independently of the OS of the operation unit, has a shorter startup time than the OS, and executes a part of the startup process of the operation unit;
A method for starting an information processing device comprising
a start-up step in which the operation unit starts up the program together with the OS when the main unit and the operation unit are started in parallel;
an activation processing step in which the program activated in the activation step performs activation processing of the operation unit;
a transmission step of transmitting a preparation completion notification from the program to the main unit when the activation processing by the program executed in the activation processing step is completed;
including,
A method for starting an information processing device.
前記操作部のOSと独立して動作可能に前記操作部内に設けられ、前記OSより起動時間が短く、前記操作部の起動処理の一部を実施するプログラムと、
前記本体部と前記操作部とが並行起動する場合に、前記操作部により前記OSと併せて前記プログラムを起動する起動機能と、
前記起動機能により起動された前記プログラムが前記操作部の起動処理を実施する起動処理機能と、
前記起動処理機能により実施された前記プログラムによる前記起動処理が完了した時点で、前記プログラムから前記本体部へ準備完了通知を送信する送信機能と、
をコンピュータに実現させるための情報処理装置の起動プログラム。 A startup program for an information processing device comprising a main body and an operation unit,
a program that is provided in the operation unit so as to be operable independently of the OS of the operation unit, has a shorter startup time than the OS, and executes a part of the startup process of the operation unit;
an activation function that activates the program together with the OS by the operation unit when the main unit and the operation unit are activated in parallel;
an activation processing function in which the program activated by the activation function performs activation processing of the operation unit;
a transmission function for transmitting a preparation completion notification from the program to the main unit when the activation process by the program executed by the activation process function is completed;
A start-up program for an information processing device for realizing on a computer.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/675,590 US11403112B2 (en) | 2018-11-08 | 2019-11-06 | Information processing apparatus, method of starting up an information processing apparatus |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018210535 | 2018-11-08 | ||
| JP2018210535 | 2018-11-08 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020077354A JP2020077354A (en) | 2020-05-21 |
| JP7259348B2 true JP7259348B2 (en) | 2023-04-18 |
Family
ID=70725135
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019008765A Active JP7259348B2 (en) | 2018-11-08 | 2019-01-22 | Information processing device, method for starting information processing device, and start program for information processing device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7259348B2 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013200602A (en) | 2012-03-23 | 2013-10-03 | Sharp Corp | Image processing apparatus |
| US20170351623A1 (en) | 2014-09-19 | 2017-12-07 | Alab Inc. | Device proxy and control method |
-
2019
- 2019-01-22 JP JP2019008765A patent/JP7259348B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013200602A (en) | 2012-03-23 | 2013-10-03 | Sharp Corp | Image processing apparatus |
| US20170351623A1 (en) | 2014-09-19 | 2017-12-07 | Alab Inc. | Device proxy and control method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2020077354A (en) | 2020-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7501761B2 (en) | Application Program | |
| US9507584B2 (en) | Electronic device including a memory technology device | |
| EP3702900B1 (en) | Image formation apparatus, control method therefor, and computer readable storage medium | |
| US11140291B2 (en) | Information processing apparatus, control method thereof, and storage medium | |
| US8730490B2 (en) | Printer driver, information processing apparatus, and computer program product | |
| US9317281B2 (en) | Information processing apparatus, program update method for information processing apparatus, and storage medium | |
| US20080304090A1 (en) | Information processing apparatus and information processing program | |
| US7886268B2 (en) | Information processing apparatus and computer product | |
| US10996998B2 (en) | Information processing apparatus and control method thereof | |
| US10846033B2 (en) | Print server, control method, and storage medium | |
| JP7259348B2 (en) | Information processing device, method for starting information processing device, and start program for information processing device | |
| US9047552B2 (en) | Forming system and image forming apparatus that generate image log data to server | |
| JP2007306143A (en) | Image processing device | |
| US10691383B2 (en) | Image forming apparatus and control method | |
| JP6961412B2 (en) | Image forming device, control method of image forming device, and program | |
| US11403112B2 (en) | Information processing apparatus, method of starting up an information processing apparatus | |
| US20220129212A1 (en) | Image forming apparatus capable of preventing phenomenon that printing by schedule setting will not be started due to display of confirmation screen, control method for image forming apparatus, and storage medium | |
| US10740171B2 (en) | Information processing apparatus, memory control method for information processing apparatus, and program | |
| US20180146111A1 (en) | Image forming apparatus, control method therefor, and storage medium | |
| US10203983B2 (en) | Execution control device that causes other electronic device to execute task, non-transitory computer-readable recording medium that includes execution control program, and task execution system | |
| CN110572527A (en) | image processing apparatus, control method thereof, and computer-readable storage medium | |
| US10992834B2 (en) | Image processing apparatus, method for controlling the same, and computer-readable storage medium | |
| US20250252019A1 (en) | Information processing system and non-transitory computer-readable storage medium | |
| JP3347580B2 (en) | Information processing device and storage medium | |
| JP2008011513A (en) | Pipelined dataflow document processing system and method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211021 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220817 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220913 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221102 |
|
| 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: 20230307 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230320 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 7259348 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |