Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7259348B2 - Information processing device, method for starting information processing device, and start program for information processing device - Google Patents
[go: Go Back, main page]

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 PDF

Info

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
Application number
JP2019008765A
Other languages
Japanese (ja)
Other versions
JP2020077354A (en
Inventor
まみ 荒井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US16/675,590 priority Critical patent/US11403112B2/en
Publication of JP2020077354A publication Critical patent/JP2020077354A/en
Application granted granted Critical
Publication of JP7259348B2 publication Critical patent/JP7259348B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

実施形態に係る情報処理装置の全体構成図Overall configuration diagram of an information processing apparatus according to an embodiment 操作部のハードウェア構成図Hardware configuration diagram of the operation unit 本体部のハードウェア構成図Main unit hardware configuration diagram 情報処理装置の機能ブロック図Functional block diagram of information processing device 起動時の外部シーケンスについて説明する図Diagram explaining the external sequence at startup 起動時の内部シーケンスについて説明する図Diagram explaining the internal sequence at startup 第1変形例における起動時のシーケンス図Sequence diagram at startup in the first modified example 第2変形例におけるアプリケーションとプログラムの間の処理シーケンス図Processing sequence diagram between an application and a program in the second modification 第3変形例の情報処理装置の機能ブロック図Functional block diagram of the information processing device of the third modification 第3変形例における起動時の外部シーケンス図External sequence diagram at startup in the third modification 第3変形例における起動時の内部シーケンス図Internal sequence diagram at startup in the third modification 第3変形例における起動時の内部シーケンス図Internal sequence diagram at startup in the third modification 第3変形例におけるアプリケーションとプログラムの間の処理シーケンス図Processing sequence diagram between an application and a program in the third modified example キュー構造を利用した蓄積構造の例を示す模式図Schematic diagram showing an example of a storage structure using a queue structure 通知をアプリケーションへ送信するかの要否判断する場合の内部シーケンス図Internal sequence diagram when judging whether or not to send a notification to the application

以下、添付図面を参照しながら実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。 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 information processing apparatus 1 according to an embodiment.

情報処理装置1は、例えば、MFP(Multifunction Peripheral/Printer/Product)と称される複合機、つまりファクシミリ、スキャナ、コピー、あるいはプリンタなどの画像処理機能、通信機能を有する装置である。図1に示すように、情報処理装置1は、本体部10と、操作部20とから成る単一の装置である。 The information processing apparatus 1 is, for example, a multifunction peripheral called MFP (Multifunction Peripheral/Printer/Product), that is, a device having image processing functions and communication functions such as a facsimile machine, a scanner, a copier, or a printer. As shown in FIG. 1, the information processing device 1 is a single device comprising a main unit 10 and an operation unit 20. As shown in FIG.

本体部10は、上記の画像処理機能や通信機能などの主要機能を備える。操作部20は、ユーザによる本体部10の各機能の操作を受け付ける。本体部10と操作部20とはそれぞれに別のCPU111,21(第1、第2のCPU)を備えており、本体部10はCPU111により動作し、操作部20はCPU21により動作する。本体部10と操作部20とはUSBなどの通信方式で接続されている。 The main unit 10 has main functions such as the above image processing function and communication function. The operation unit 20 receives user's operation of each function of the main unit 10 . The main unit 10 and the operation unit 20 are provided with separate CPUs 111 and 21 (first and second CPUs), respectively. The main unit 10 and the operation unit 20 are connected by a communication method such as USB.

図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 operation unit 20. As shown in FIG. In this embodiment, the operation unit 20 has a configuration similar to that of a general information processing terminal. That is, the operation unit 20 includes a CPU (Central Processing Unit) 21, a RAM (Random Access Memory) 22, a ROM (Read Only Memory) 23, a HDD (Hard Disk Drive) 24, and an I/F 25 connected via a bus 26. ing. An LCD (Liquid Crystal Display) 27 and an operation input section 28 are connected to the I/F 25 .

CPU21は演算手段であり、操作部20の全体の動作を制御する。 The CPU 21 is computing means and controls the overall operation of the operating section 20 .

RAM22は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU21が情報を処理する際の作業領域として用いられる。 The RAM 22 is a volatile storage medium capable of reading and writing information at high speed, and is used as a work area when the CPU 21 processes information.

ROM23は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。 The ROM 23 is a read-only non-volatile storage medium and stores programs such as firmware.

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 bus 26 and various hardware and networks.

LCD27は、ユーザが状態を確認するための視覚的ユーザインタフェースである。 The LCD 27 is a visual user interface for the user to check the status.

操作入力部28は、キーボードやマウス等、ユーザが情報を入力するためのユーザインタフェースである。 The operation input unit 28 is a user interface such as a keyboard and a mouse for the user to input information.

図3は、本体部10のハードウェア構成図である。図3に示すように、本体部10は、コントローラ11とエンジン部15とをPCI(Peripheral Component Interface)バス16で接続した構成となる。 FIG. 3 is a hardware configuration diagram of the main unit 10. As shown in FIG. As shown in FIG. 3 , the main unit 10 has a configuration in which a controller 11 and an engine unit 15 are connected by a PCI (Peripheral Component Interface) bus 16 .

コントローラ11は、本体部10全体の制御と描画、通信、操作部20からの入力を制御する。 The controller 11 controls the overall control of the main unit 10 , drawing, communication, and input from the operation unit 20 .

エンジン部15は、PCIバス16に接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部15には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。 The engine unit 15 is a printer engine or the like connectable to the PCI bus 16, such as a black-and-white plotter, a 1-drum color plotter, a 4-drum color plotter, a scanner, or a facsimile unit. The engine section 15 includes an image processing section such as error diffusion and gamma conversion in addition to a so-called engine section such as a plotter.

コントローラ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 controller 11 includes a CPU 111, a north bridge (NB) 113, a system memory (MEM-P) 112, a south bridge (SB) 114, a local memory (MEM-C) 117, and an ASIC (Application Specific Integrated Circuit). 116 and a hard disk drive (HDD) 118 , and an AGP (Accelerated Graphics Port) bus 115 connects between a north bridge (NB) 113 and an ASIC 116 . The MEM-P 112 further has a ROM 112a and a RAM 112b.

CPU111は、本体部10の全体制御をおこなうものであり、NB113、MEM―P112およびSB114からなるチップセットを有し、このチップセットを介して他の機器と接続される。 The CPU 111 performs overall control of the main unit 10, has a chipset composed of the NB 113, MEM-P 112 and SB 114, and is connected to other devices via this chipset.

NB113は、CPU111とMEM―P112、SB114、AGPバス115とを接続するためのブリッジであり、MEM―P112に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。 The NB 113 is a bridge for connecting the CPU 111, the MEM-P 112, the SB 114, and the AGP bus 115, and has a memory controller that controls reading and writing with respect to the MEM-P 112, a PCI master, and an AGP target.

MEM―P112は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM112aとRAM112bとからなる。 The MEM-P 112 is a system memory used as a memory for storing programs and data, a memory for developing programs and data, a drawing memory for a printer, and the like, and consists of a ROM 112a and a RAM 112b.

ROM112aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM112bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。 The ROM 112a is a read-only memory used as a memory for storing programs and data, and the RAM 112b is a writable and readable memory used as a memory for developing programs and data, a drawing memory for a printer, and the like.

SB114は、NB113とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB114は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。 The SB 114 is a bridge for connecting the NB 113 with PCI devices and peripheral devices. The SB 114 is connected to the NB 13 via a PCI bus, to which a network interface (I/F) section and the like are also connected.

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 AGP bus 115, PCI bus 16, HDD 118 and MEM-C 117, respectively.

この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 ASIC 116, a memory controller that controls the MEM-C 117, and a plurality of DMACs (Direct Memory) that rotate image data using hardware logic. and a PCI unit that transfers data to and from the engine unit 15 via the PCI bus 16 .

この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) interface 14 are connected to the ASIC 116 via a PCI bus 16 . An operation unit 20 is also directly connected to the ASIC 16 .

MEM―C117は、コピー用画像バッファ、符号バッファとして用いるローカルメモリである。 MEM-C 117 is a local memory used as a copy image buffer and code buffer.

HDD118は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。 また、HDD118は、本体部10で実行されるアプリケーションのライセンスファイルを保存する。 The HDD 118 is a storage for storing image data, programs, font data, and forms. HDD 118 also stores license files for applications executed on main unit 10 .

AGPバス115は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM―P112に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。 The AGP bus 115 is a bus interface for graphics accelerator cards proposed for speeding up graphics processing, and speeds up the graphics accelerator card by directly accessing the MEM-P 112 with high throughput. is.

図4は、情報処理装置1の機能ブロック図である。操作部20はOS(Operation System)起動部210、OS220、プログラム起動部230、プログラム240から構成される。 FIG. 4 is a functional block diagram of the information processing device 1. As shown in FIG. The operation unit 20 includes an OS (Operation System) activation unit 210 , an OS 220 , a program activation unit 230 and a program 240 .

OS起動部210は、OS220を起動する。 The OS activation unit 210 activates the OS 220 .

OS220は、アプリケーション起動部221、アプリケーション222から構成される。アプリケーション起動部221は、アプリケーション222を起動させる。 The OS 220 is composed of an application launcher 221 and an application 222 . The application activation unit 221 activates the application 222 .

アプリケーション222は、操作部20のOS220内に設けられ、OS220上で作動する。アプリケーション222は、本体部10と操作部20との間の接続を管理すると共に、操作部20の起動処理を行う。アプリケーション222は、起動処理部223、通信部224から構成される。起動処理部223は、操作部20の起動処理を実行する。通信部224を介して本体部10からの通知を受け取り、起動処理に利用する。通信部224は、起動処理に必要な通知を本体部10から受け取り、起動処理部223へ渡す。 The application 222 is provided within the OS 220 of the operation unit 20 and operates on the OS 220 . The application 222 manages the connection between the main unit 10 and the operating unit 20 and performs activation processing of the operating unit 20 . The application 222 is composed of a startup processing unit 223 and a communication unit 224 . The activation processing unit 223 executes activation processing of the operation unit 20 . It receives a notification from the main unit 10 via the communication unit 224 and uses it for activation processing. The communication unit 224 receives a notification necessary for activation processing from the main unit 10 and transfers it to the activation processing unit 223 .

プログラム起動部230は、プログラム240を起動する。 The program activation unit 230 activates the program 240 .

プログラム240は、操作部20内にOS220と分離して設けられ、OS220と独立して動作可能である。プログラム240は、OS220より起動時間が短く、アプリケーション222による操作部20の起動処理の一部を実施する。プログラム240は、起動処理部241、通信部242から構成される。起動処理部241は、操作部20の起動処理を実行する。プログラム240で実施すべき準備処理が完了したら、準備完了通知を作成して通信部242へ渡す。通信部242は、起動処理部241から受け取った準備完了通知を本体部10へ送信する。また、通信部242は、本体部10から受信した通知をアプリケーション222の通信部224へ渡す。 The program 240 is provided separately from the OS 220 within the operation unit 20 and can operate independently of the OS 220 . The program 240 takes a shorter startup time than the OS 220 and executes part of the startup processing of the operation unit 20 by the application 222 . The program 240 is composed of a startup processing unit 241 and a communication unit 242 . The activation processing unit 241 executes activation processing of the operation unit 20 . When the preparation process to be executed by the program 240 is completed, a preparation completion notice is created and passed to the communication unit 242 . The communication unit 242 transmits the preparation completion notification received from the activation processing unit 241 to the main unit 10 . Also, the communication unit 242 passes the notification received from the main unit 10 to the communication unit 224 of the application 222 .

本体部10は起動処理部110、通信部120から構成される。 The main unit 10 is composed of an activation processing unit 110 and a communication unit 120 .

起動処理部110は、本体部10の起動に必要な処理を実行する。通信部120から準備完了通知を受信する。また、起動処理部110は、通信部120を経由し、操作部20と起動処理に必要な通知の受け渡しを行う。 The boot processing unit 110 executes processing necessary for booting the main unit 10 . A notification of completion of preparation is received from the communication unit 120 . In addition, the activation processing unit 110 exchanges notifications necessary for activation processing with the operation unit 20 via the communication unit 120 .

通信部120は、操作部20のプログラム240の通信部242から準備完了通知を受信し、起動処理部110へ渡す。また、通信部120は、起動処理部110から受信した通知を操作部20へ渡す。 The communication unit 120 receives the preparation completion notification from the communication unit 242 of the program 240 of the operation unit 20 and passes it to the activation processing unit 110 . Also, the communication unit 120 passes the notification received from the activation processing unit 110 to the operation unit 20 .

図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 OS activation unit 210, the OS 220, the program activation unit 230, the program 240, the application activation unit 221, the application 222, the activation processing units 223 and 241, and the communication units 224 and 242 of the operation unit 20 of the information processing apparatus 1 shown in FIG. The function is to load predetermined computer software (startup program) onto hardware such as the CPU 21 and RAM 22 of the operation unit 20 to operate various hardware under the control of the CPU 21, and to read data in the RAM 22 and HDD 24. This is achieved by reading and writing the The functions of the startup processing unit 110 and the communication unit 120 of the main unit 10 can be controlled by the CPU 111 by reading predetermined computer software (startup program) into hardware such as the CPU 111 and the RAM 112b of the main unit 10. This is achieved by operating various hardware with and reading and writing data in the RAM 112 b and the HDD 118 . That is, by causing the boot program of the information processing apparatus 1 of the present embodiment to be executed on a computer, the operation unit 20 of the information processing apparatus 1 can operate the OS activation unit 210, the OS 220, the program activation unit 230, the program 240, It functions as an application activation unit 221 , an application 222 , activation processing units 223 and 241 , and communication units 224 and 242 .

図5、図6を参照して、情報処理装置1の起動方法について説明する。図5は、起動時の外部シーケンスについて説明する図である。図6は、起動時の内部シーケンスについて説明する図である。ここで、「外部シーケンス」とは情報処理装置1の外部から視たシーケンスであり、情報処理装置1の外部から各処理を確認可能なシーケンスである。一方、「内部シーケンス」とは、情報処理装置1の内部の機能(起動処理部223,241や通信部224,242など)で視たシーケンスである。 A method for starting the information processing apparatus 1 will be described with reference to FIGS. 5 and 6. FIG. FIG. 5 is a diagram for explaining an external sequence at startup. FIG. 6 is a diagram illustrating an internal sequence at startup. Here, the “external sequence” is a sequence viewed from the outside of the information processing apparatus 1 , and is a sequence in which each process can be confirmed from the outside of the information processing apparatus 1 . On the other hand, the “internal sequence” is a sequence seen by internal functions of the information processing apparatus 1 (start processing units 223 and 241, communication units 224 and 242, etc.).

まず図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 main unit 10 first executes start-up processing that can be performed independently. When the activation process that can be performed independently is completed, it waits for the notification of completion of preparation.

2:プログラム起動(起動ステップ、起動機能)
操作部20のプログラム240が起動する。プログラム240はOS220の外で動作することができる。
2: Program start (start step, start function)
The program 240 of the operation unit 20 is activated. Program 240 can run outside OS 220 .

2.1:起動処理(起動処理ステップ、起動処理機能)
プログラム240は起動すると、次に操作部20の起動処理を実行する。ここで、プログラム240で実行すべき操作部20の起動処理とは、例えば、操作部20が本体部10と通信が可能になる最低限の処理を含む。
2.1: Startup processing (startup processing step, startup processing function)
When the program 240 is activated, next, the operation unit 20 is activated. Here, the startup processing of the operation unit 20 to be executed by the program 240 includes, for example, the minimum processing that enables the operation unit 20 to communicate with the main unit 10 .

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 program 240 transmits a preparation completion notification to the main unit 10 .

3.OS起動
操作部20のOS220が起動する。
3. The OS 220 of the OS activation operation section 20 is activated.

3.1:アプリケーション起動
OS220の起動が完了すると、OS220上でアプリケーション222が起動する。
3.1: Application activation When the activation of the OS 220 is completed, the application 222 is activated on the OS 220 .

3.1.1:起動処理
アプリケーション222は、アプリケーション222の起動が完了すると、操作部20の起動処理を実行する。ここで、アプリケーション222で実行すべき操作部20の起動処理とは、シーケンス2.1でのプログラム240で実行された起動処理を除く他の処理を含む。
3.1.1: Activation process The application 222 executes the activation process of the operation unit 20 when the activation of the application 222 is completed. Here, the start-up processing of the operation unit 20 to be executed by the application 222 includes processing other than the start-up processing executed by the program 240 in sequence 2.1.

4:操作部との通信が必要な処理
本体部10は、準備完了通知が来ると待ちを解除し、操作部20との通信が必要な処理を実行する。
4: The processing main unit 10 that requires communication with the operation unit cancels the waiting state when the notification of completion of preparation arrives, and executes the processing that requires communication with the operation unit 20 .

4.1:通信(通知ステップ、通知機能)
本体部10は、操作部20との通信が必要な処理の実行中に、操作部20のプログラム240へ通知を送信する。
4.1: Communication (notification step, notification function)
The main unit 10 transmits a notification to the program 240 of the operation unit 20 during execution of processing that requires communication with the operation unit 20 .

4.1.1:通信(通知送信ステップ、通知送信機能)
操作部20のプログラム240は、通知を受信すると、アプリケーション222へ通知を送信する。
4.1.1: Communication (notification transmission step, notification transmission function)
Upon receiving the notification, the program 240 of the operation unit 20 transmits the notification to the application 222 .

3.1.1.1:通知を利用
操作部20のアプリケーション222は、受信した通知を起動処理に利用する。
3.1.1.1: Use Notification The application 222 of the operation unit 20 uses the received notification for activation processing.

次に図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 activation processing unit 110 of the main unit 10 executes activation processing. When the activation process that can be performed independently is completed, it waits for the notification of completion of preparation.

2:プログラム起動部230:プログラム起動(2)
操作部20のプログラム起動部230は、プログラム240を起動する。
2: Program activation unit 230: Program activation (2)
A program activation unit 230 of the operation unit 20 activates a program 240 .

2.1:起動処理部241:起動処理実行(2.1)
プログラム240の起動処理部241は、操作部20の起動処理を実行する。
2.1: Activation processing unit 241: Execution of activation processing (2.1)
A start-up processing unit 241 of the program 240 executes start-up processing of the operation unit 20 .

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 activation processing unit 241 of the program 240 passes a preparation completion notification to the communication unit 242 when the activation processing of the operation unit 20 to be executed by the program 240 is completed. Here, the startup processing of the operation unit 20 to be executed by the program 240 includes, for example, the minimum processing that enables the operation unit 20 to communicate with the main unit 10 .

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 communication unit 242 of the program 240 transmits a preparation completion notice to the main unit 10 .

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)
Communication unit 120 of main unit 10 receives the preparation completion notification.

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 communication unit 120 of the main unit 10 passes the preparation completion notification to the activation processing unit 110 .

3.OS起動部210:OS起動(3)
操作部20のOS起動部210は、OS220を起動する。
3. OS activation unit 210: OS activation (3)
An OS activation unit 210 of the operation unit 20 activates an OS 220 .

3.1:アプリケーション起動部221:アプリケーション起動(3.1)
操作部20のアプリケーション起動部221は、アプリケーション222を起動する。
3.1: Application activation unit 221: Application activation (3.1)
An application activation unit 221 of the operation unit 20 activates an application 222 .

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 startup processing unit 223 of the application 222 executes startup processing of the operation unit 20 to be executed by the application 222 . Here, the startup processing of the operation unit 20 to be executed by the application 222 includes processing other than the startup processing executed by the program 240 in sequence 2.2.1.

4:起動処理部110:起動処理再開(4)
本体部10の起動処理部110は、準備完了通知を受け取り、待ちを解除し起動処理を再開する。ここで再開する起動処理は、操作部20との通信が必要な処理である。そのため、処理を再開するには、操作部20が本体部10と通信が可能になる最低限の処理(ここではシーケンス2.2.1の「プログラム240で実行すべき操作部20の起動処理」を指す)を完了して、本体部10との通信が可能になっている状態である必要がある。
本実施形態では、この準備完了通知の受け取りが早くなることで、この待ち時間をなくす、もしくは短縮できる。
4: Boot processing unit 110: Resume boot process (4)
The activation processing unit 110 of the main unit 10 receives the preparation completion notification, cancels the waiting state, and restarts the activation process. The activation process restarted here is a process that requires communication with the operation unit 20 . Therefore, in order to restart the process, the minimum processing that enables the operation unit 20 to communicate with the main body unit 10 (here, "activation processing of the operation unit 20 to be executed by the program 240" in sequence 2.2.1) ) is completed and communication with the main unit 10 is enabled.
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 activation processing unit 110 of the main unit 10 passes the notification to the operation unit 20 to the communication unit 120 .

4.1.1:通信部120:通知を送信(4.1)
本体部10の通信部120は、通知を操作部20の通信部242へ送信する。
4.1.1: Communication unit 120: Send notification (4.1)
Communication unit 120 of main unit 10 transmits the notification to communication unit 242 of operation unit 20 .

4.1.1.1:通信部242:通知を受信(4.1)
操作部20のプログラム240の通信部242は、本体部10からの通知を受信する。
4.1.1.1: Communication unit 242: Receive notification (4.1)
The communication section 242 of the program 240 of the operation section 20 receives the notification from the main body section 10 .

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)
Communication unit 242 of program 240 sends a notification to communication unit 224 of application 222 . Before or during this transmission, the program 240 may perform some processing (for example, converting the notification for the application).

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 communication unit 224 of the application 222 receives the notification and passes it to the activation processing unit 223 .

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 activation processing unit 223 of the application 222 uses the received notification for activation processing. The content of this notification includes information such as parameters of the main unit 10 that are necessary for starting the operation unit 20 .

なお、本実施形態では、本体部10から操作部20への方向の通知の送信について説明しているが、逆方向(操作部20から本体部10へ)の通知の送信も行ってよい。 In this embodiment, the transmission of the notification in the direction from the main unit 10 to the operation unit 20 is described, but the notification may be transmitted in the opposite direction (from the operation unit 20 to the main unit 10).

本実施形態の効果を説明する。図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 information processing apparatus 1 of the present embodiment, the main unit 10 and the operation unit 20 are activated simultaneously (it is sufficient if there is a parallel activation state, but not necessarily simultaneously). ), the operation unit 20 also activates the program 240 together with the OS 220, and when the activation process of the operation unit 20 by the program 240 is completed, the program 240 transmits a preparation completion notification to the main unit. The main unit 10 transmits a notification to the application 222 to the program in response to the reception of the preparation completion notification, and the program 240 transmits the notification received from the main unit 10 to the application 222 started after the OS 220 completes starting.

従来の本体部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 main unit 10 and the operation unit 20 are operated by different CPUs, the OS 220 of the operation unit 20 must be installed in order for the main unit 10 to perform processing that requires communication with the operation unit 20 when the device is started. It was necessary to wait until the activation was completed, the activation of the application 222 in the OS 220 was completed, and the preparation completion notification was received from the application 222 . On the other hand, in the present embodiment, the program 240 responsible for part of the startup processing of the operation unit 20 by the application 222 is provided in the operation unit 20 so as to be operable independently of the OS 220, and the application 222 can be started up. Before completion, the program 240 forwards the preparation completion notification to the main unit 10 . As a result, the main unit 10 can receive the preparation completion notification from the operation unit 20 more quickly than the conventional configuration in which the operation unit 20 is not provided with the program 240, so that the "processing that requires communication with the operation unit" can be performed more quickly. This makes it possible to eliminate or reduce the waiting time from "single activation processing" to "processing requiring communication with the operation unit". As a result, start-up time can be shortened.

次に、上述のとおり、操作部20はOS220、アプリケーション222、プログラム240を備えるが、それぞれの具体的な形式について説明する。 Next, as described above, the operating unit 20 includes the OS 220, the application 222, and the program 240, and each specific format will be described.

OS220はAndroidやWindows、macOSといった一般的なOSが想定される。本実施形態ではOS220の形式はAndroidである。 The OS 220 is assumed to be a general OS such as Android, Windows, and macOS. In this embodiment, the format of the OS 220 is Android.

アプリケーション222の形式はOS220によって異なることが想定される。本実施形態のようにOS220がAndroidの場合は、Android用アプリが一般的である。 It is assumed that the format of the application 222 differs depending on the OS 220 . When the OS 220 is Android as in this embodiment, an Android application is generally used.

プログラム240の形式は、アプリケーション222よりも起動が早い形式であることが条件となる。本実施形態ではdeamonという一般的なバックグラウンドで動作するプログラム形式である。 The format of the program 240 must be a format that starts up faster than the application 222 . In this embodiment, it is a program format that operates in a general background called daemon.

アプリケーション222とプログラム240の間の通信は、プロセスが異なることからプロセス間での通信手段をとる必要がある。プロセス間通信の手段としては、一般的なBinder方式が想定され、他の手段を用いても良い。 Communication between the application 222 and the program 240 requires communication between processes because the processes are different. As a means of inter-process communication, a general Binder system is assumed, and other means may be used.

プログラム240の処理は、もとは一つのアプリケーション222が実行する処理であったため、処理を分離した場合も通知にてパラメータを通知する手段が必要である。Binder方式はパラメータの通知が可能であるが、パラメータの通知が可能であれば他の方式を用いても良い。 Since the processing of the program 240 was originally a processing executed by one application 222, means for notifying parameters by notification is required even when the processing is separated. Although the Binder method can notify the parameters, other methods may be used as long as the parameters can be notified.

操作部20と本体部10との間の通信はUSB接続や無線LANといった一般的な接続手段が想定される。本実施形態の構成では操作部20のプログラム240の通信部242が本体部10の通信部120と通信を行うが、通信の頻度を減らすために本体部10からの通知内容をプログラム240が内部で保管しておいてもよい。保管の手段としては、一般的なC言語やC++などのファイル入出力手段によるファイル(記憶部)への書き出しが想定される。また、通知内容をアプリケーション222側で利用する場合は、プログラム240からアプリケーション222へ通知し、アプリケーション222側で保管することもまた可能である。 Communication between the operation unit 20 and the main unit 10 is assumed to be a general connection means such as USB connection or wireless LAN. In the configuration of this embodiment, the communication unit 242 of the program 240 of the operation unit 20 communicates with the communication unit 120 of the main unit 10. In order to reduce the frequency of communication, the program 240 internally receives notification contents from the main unit 10. You can keep it. As a storage means, writing to a file (storage unit) by general file input/output means such as C language or C++ is assumed. Moreover, when the notification content is used on the application 222 side, it is also possible to notify the application 222 from the program 240 and store it on the application 222 side.

[第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 application 222 and the program 240. FIG. Therefore, depending on the process, it is necessary to transmit and receive a process request notification between the application 222 and the program 240 to execute the process.

プログラム240はアプリケーション222よりも早く起動するため、例えば図7に区間Aで示すように、プログラム240からアプリケーション222へ処理依頼を送信しようとするタイミングで、まだアプリケーション222が起動していないというケースが発生する。しかしプログラム240がアプリケーション222の起動を待ち処理を完全に止めてしまうと、新たな待ちが発生して起動時間が長くなるという課題が発生する。 Since the program 240 starts up earlier than the application 222, there is a case where the application 222 has not started yet when the program 240 tries to send the processing request to the application 222, as shown in section A in FIG. Occur. However, if the program 240 waits for the activation of the application 222 and completely stops the processing, a new wait occurs and the activation time becomes longer.

この課題を解決するため、第1変形例では、例えば図7に区間Bで示すように、アプリケーション222は起動後に、プログラム240へアプリケーション222の起動が完了をしたことを知らせる起動完了通知を送信し、プログラム240は起動完了通知をアプリケーション222から受信した後に、アプリケーション222へ処理依頼通知を送信する仕組みにする。 In order to solve this problem, in the first modification, the application 222 sends an activation completion notification to the program 240 to notify that the activation of the application 222 has been completed, for example, as shown in section B in FIG. , the program 240 transmits a processing request notification to the application 222 after receiving the activation completion notification from the application 222 .

図7に示す処理を実施するために、アプリケーション222は例えば以下の機能を備えることができる。
・アプリケーション222の起動完了通知をプログラム240に送信する、通知送信部
・プログラム240からの処理依頼を受信する、通知受信部
・プログラム240からの処理依頼を受けて処理を実行する、処理実行部
In order to implement the processing shown in FIG. 7, the application 222 can have, for example, the following functions.
A notification transmission unit that transmits the activation completion notification of the application 222 to the program 240 A notification reception unit that receives a processing request from the program 240 A processing execution unit that receives a processing request from the program 240 and executes processing

同様に、プログラム240は、例えば以下の機能を備えることができる。
・アプリケーション222からの起動通知を受信する、通知受信部
Similarly, program 240 may have, for example, the following functions.
- A notification receiving unit that receives a start notification from the application 222

[第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 application 222 and the program 240 in the second modified example.

第1変形例で説明したアプリケーション222からの起動完了通知を待つことによって、プログラム240の処理が止まってしまうことが無いよう、第2変形例では図8に示すように、プログラム240内において処理を実行する「実行スレッド」と、アプリケーション222起動を待つ「待ちスレッド」とを分ける。 In order to prevent the processing of the program 240 from being stopped by waiting for the activation completion notification from the application 222 described in the first modification, in the second modification, processing is performed within the program 240 as shown in FIG. The “execution thread” that executes is separated from the “waiting thread” that waits for the application 222 to start.

実行スレッドはアプリケーション222へ処理依頼したい場合に、例えば図8に区間Cで示すように、待ちスレッドへ一度処理の蓄積依頼をする。この処理により、実行スレッドは、そのままプログラム240の処理を続行することができ、アプリケーション222の起動待ちが発生しなくなる。 When the execution thread wants to request the application 222 to process, it requests the waiting thread to store the process once, as indicated by section C in FIG. 8, for example. This processing allows the execution thread to continue processing the program 240 as it is, and the wait for the application 222 to start up does not occur.

図8に示す処理を実施するために、プログラム240は例えば以下の機能を備えることができる。
・プログラム240の処理を実行し、アプリケーション222へ処理の蓄積依頼を行い、再開依頼を受け取り、送信依頼を行う、実行スレッド
・実行スレッドからの蓄積依頼を受けて蓄積し、アプリケーション222の起動通知を受けたら再開依頼を行う、待ちスレッド
・処理依頼通知、起動通知の送受信を行い、スレッドへ通知を渡す、送受信スレッド
・蓄積依頼を受け取った順番を保持して記憶し、起動通知を受けた際に順番通りに再開依頼を行う、蓄積手段
In order to carry out the processing shown in FIG. 8, the program 240 can have, for example, the following functions.
- Executes the processing of the program 240, requests the application 222 to store the processing, receives a restart request, and issues a transmission request. Send and receive waiting threads, processing request notifications, and startup notifications, pass notifications to threads, retain and store the order in which transmission/reception threads and accumulation requests are received, and when receiving startup notifications Accumulation means for performing restart requests in order

同様に、アプリケーション222は以下の機能を備えることができる。
・処理依頼通知、起動通知の送受信を行い、実効スレッドへ通知を渡す、送受信スレッド
・アプリケーション222起動処理を実行し、プログラム240からの処理依頼を受け取り処理を実行する、実行スレッド
Similarly, application 222 may have the following functionality.
・Transmitting/receiving thread for transmitting/receiving processing request notifications and startup notifications, and passing notifications to effective threads ・Execution threads for executing application 222 startup processing, receiving processing requests from program 240 and executing processing

[第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 information processing device 1 of the third modified example. As shown in FIG. 9, in the third modified example, the program 240 further includes a notification accumulation unit 243 and a transmission impossibility determination unit 244 .

アプリケーション222の通信部224は、上記実施形態の機能に加えて、アプリケーション222自体の起動が完了したとき、起動完了通知をプログラム240の通信部242へ送信する。 In addition to the functions of the above embodiment, the communication unit 224 of the application 222 transmits an activation completion notice to the communication unit 242 of the program 240 when the activation of the application 222 itself is completed.

プログラム240の通信部242は、起動処理部241から受け取った準備完了通知を本体部10へ送信する。また、通信部242は、本体部10から受信した通知を通知蓄積部243へ渡す。また、通信部242は、アプリケーション222の通信部224から受け取ったアプリケーション222の起動完了通知を送信不可判断部244へ渡す。 The communication unit 242 of the program 240 transmits the preparation completion notification received from the activation processing unit 241 to the main unit 10 . Also, the communication unit 242 passes the notification received from the main unit 10 to the notification storage unit 243 . In addition, the communication unit 242 passes the activation completion notification of the application 222 received from the communication unit 224 of the application 222 to the transmission disapproval determination unit 244 .

プログラム240の通知蓄積部243は、定期的に送信不可判断部244の保持する判断の値を受け取り、値が「不可」の間は通信部242から受け取った通知を受け取った順に蓄積する。値が「可能」に変化したら、それまで蓄積していた通知を受け取った順に通信部242へ渡す。 The notification accumulation unit 243 of the program 240 periodically receives the judgment value held by the transmission failure judgment unit 244, and accumulates the notifications received from the communication unit 242 in the order received while the value is "impossible". When the value changes to "possible", the notifications accumulated up to that point are passed to the communication unit 242 in the order in which they were received.

プログラム240の送信不可判断部244は、通信部242から判断を求められたときに内部で保持する値(「可能」「不可」のどちらか)を渡す。値の初期値は「不可」であり、プログラム240の通信部242から起動完了通知を受け取った時に「可能」に変化する。 The transmission impossibility determination unit 244 of the program 240 delivers an internally held value (either “possible” or “impossible”) when the communication unit 242 requests a determination. The initial value of the value is “impossible”, and changes to “possible” when a startup completion notification is received from the communication unit 242 of the program 240 .

図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 program 240 of the operation unit 20 receives a notification from the main unit 10 in step 4.1 while not receiving the activation completion notification from the application 222, the program 240 stores the notification. accumulate.

4.1.2:送信以外の続けられる処理
操作部20のプログラム240は、通知を蓄積した後、通知を送信する以外の続けられる処理を続行する。処理を続行することで、完全なアプリケーション起動待ち状態に陥るのを回避できる。
4.1.2: Continued processing other than sending After the program 240 of the operating unit 20 accumulates the notification, it continues processing other than sending the notification. By continuing the process, it is possible to avoid falling into a complete application startup waiting state.

3.1.1:起動完了通知
アプリケーション222は、ステップ3.1におけるアプリケーション222の起動が完了すると、起動完了通知をプログラム240に送信する。
3.1.1: Activation Completion Notification The application 222 sends an activation completion notification to the program 240 when the activation of the application 222 in step 3.1 is completed.

3.1.1.1:通知を送信
操作部20のプログラム240は、アプリケーション222から起動完了通知を受信したら、ステップ4.1.1にて蓄積していた通知をアプリケーション222へ送信する。このとき、蓄積した順に通知を送信する。
3.1.1.1: Send notification When the program 240 of the operation unit 20 receives the activation completion notification from the application 222 , it transmits the notification accumulated in step 4.1.1 to the application 222 . At this time, notifications are transmitted in the order in which they are accumulated.

なお、図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 communication unit 242 of the program 240 of the operation unit 20 passes the notification received in step 4.1.1.1 to the notification storage unit 243. FIG.

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 notification accumulation unit 243 of the program 240 of the operation unit 20 receives the judgment value from the transmission impossibility judgment unit 244 . Since the initial value of the judgment is "impossible", "impossible" is passed here.

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 notification accumulation unit 243 of the program 240 of the operation unit 20 internally accumulates the notification since it has received the "impossible" judgment. When receiving multiple notifications and accumulating them in order, the order in which they are received must be retained and accumulated. As a method of this accumulation, there is a method of accumulating messages in a message queue by intentionally not receiving messages in the mechanism of sending and receiving messages between threads, and a method of storing and retrieving by implementing a queue structure of a general data structure. Examples such as An example of accumulation of notifications will be described later with reference to FIGS.

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 communication unit 224 of the application 222 of the operation unit 20 transmits a start-up completion notification of the application 222 to the program 240 after the application 222 has been started in step 3.1. Although the criterion for determining the completion of activation is arbitrary, it is an essential condition that the preparation for communication with the program 240 necessary for sending the notification has been completed.

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 communication unit 242 of the program 240 of the operation unit 20 , upon receiving the activation completion notification from the application 222 , passes it to the transmission disapproval determination unit 244 .

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 impossibility determination unit 244 of the program 240 of the operation unit 20 changes the internal determination value of the transmission impossibility determination unit 244 from "impossible" to "possible".

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 notification accumulation unit 243 of the program 240 of the operation unit 20 periodically receives the determination from the transmission impossibility determination unit 244 and checks the value of the determination.

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 notification accumulation unit 243 of the program 240 of the operation unit 20 extracts the accumulated notification and transfers it to the communication unit 242 when the confirmed determination is “possible”.

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 communication unit 242 of the program 240 of the operation unit 20 transmits the accumulated notification to the application 222 when the judgment received from the transmission impossibility judgment unit 244 is “possible”. An example of retrieval of accumulated notifications will be described later with reference to FIGS. 12 and 13. FIG.

図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 application 222 and the program 240 in the third modified example.

図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 application 222 is waiting for the activation completion notification, the message that triggers the notification transmission process is intentionally not received by the waiting thread. is synonymous with accumulating

以下、図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 program 240 , which is a dedicated thread that waits for activation completion notification, first enters the activation completion notification waiting state of the application 222 . This corresponds to the notification accumulation unit 243 and the transmission impossibility determination unit 244 of the functional block. A waiting thread does not call the receive message function while waiting.

2:メッセージA
3:メッセージB
メインで処理を行うプログラム240の「実行スレッド」が、アプリケーション222へ通知送信をしたいため待ちスレッドへ通知送信処理のトリガーとなるメッセージを送信する。この例ではメッセージA(通知Aの送信処理のトリガー)、メッセージB(通知Bの送信処理のトリガー)の順に2個送信している。実行スレッドは、機能ブロックの起動処理部241に該当する。
2: Message A
3: Message B
The “execution thread” of the program 240 that performs the main process sends a message that triggers the notification sending process to the waiting thread in order to send a notification to the application 222 . In this example, message A (trigger for transmission processing of notification A) and message B (trigger for transmission processing of notification B) are transmitted in this order. The execution thread corresponds to the activation processing part 241 of the function block.

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 application 222 completes activation, the application 222 transmits an activation completion notification to the program 240 . When the "send/receive thread" of the program 240 receives the activation completion notification, it passes the activation completion notification to the waiting thread. A transmission/reception thread corresponds to the communication unit 242 of the function block.

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 program 240 receives the startup completion notification, it cancels the waiting state and calls the message reception function. Since message A was first accumulated in the message queue, message A will be received here. Upon receipt of message A (trigger for transmission processing of notification A), the waiting thread requests the execution thread to resume processing for transmission of notification A. The execution thread that has restarted the transmission process makes a notification transmission request A to the transmission/reception thread. The send thread sends notification A to application 222 .

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 program 240 next calls the receive message function, it receives message B. Thereafter, message B is processed in the same manner as message A, and notification B is sent to application 222 .

図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 notification accumulation part 243 of the program 240 of the function block. The notification is accumulated in the queue structure in step "4.1.1.1.1.1.1: notification accumulation unit: accumulate notification" in the internal sequence of FIG. 11, and step "3.1.1.1. 2.1: Notification accumulating unit: Takes out notifications and passes them to the communication unit” sequentially retrieves the notifications accumulated in the queue structure and transfers them to the communication unit 242 for transmission.

なお、通知または通知の送信トリガーを蓄積する方法については、図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 program 240 starts earlier than the application 222, there may be cases where the application 222 has not yet started when the program 240 attempts to send the processing request to the application 222. FIG. However, if the program 240 waits for the activation of the application 222 and completely stops processing, additional waiting occurs and the activation time becomes longer. On the other hand, in the third modified example, the application 222 transmits an activation completion notification to the program 240 when the activation processing of the application 222 is completed, and the program 240 receives the activation completion notification from the main unit 10. Send the received notification to the application 222 . With this configuration, the above problem can be solved, and the program 240 can reliably send the notification after the activation of the application 222 is completed. Also, since the program 240 can execute other processes until it receives the activation completion notification from the application 222, it is possible to avoid the program 240 from entering a waiting state and shorten the activation time.

また、第3変形例では、プログラム240は、プログラム240の処理を実行する実行スレッドと、処理のうちアプリケーション222の起動完了後に行う処理を蓄積する待ちスレッドと、を有する。プログラム240は、起動完了通知をアプリケーション222から受信した後に、待ちスレッドに蓄積されていた処理を実行スレッドに実行させる。この構成により、実行スレッドはアプリケーション222へ処理依頼したい場合に、待ちスレッドへ一度処理の蓄積依頼をし、そのままプログラム240の処理を続行することができる。これにより、アプリケーション222の起動完了通知を待つためにプログラム240の処理が止まってしまうことを防止でき、起動時間をさらに短縮化できる。 In addition, in the third modification, the program 240 has an execution thread that executes the processing of the program 240 and a waiting thread that accumulates processing to be performed after the application 222 has been activated. After receiving the activation completion notification from the application 222, the program 240 causes the executing thread to execute the process accumulated in the waiting thread. With this configuration, when the execution thread wants to request the application 222 to process, it can once request the waiting thread to accumulate the processing and continue the processing of the program 240 as it is. As a result, it is possible to prevent the processing of the program 240 from stopping due to waiting for the activation completion notification of the application 222, thereby further shortening the activation time.

また、第3変形例では、プログラム240は、本体部10から受信した通知をアプリケーション222に送信可能か否かを判断する送信不可判断部244と、送信不可判断部244により送信不可と判断された通知を蓄積する通知蓄積部243と、を有する。送信不可判断部244は、起動完了通知をアプリケーション222から受信するとき、通知をアプリケーション222に送信可能との判断に切り替え、プログラム240は、送信不可判断部244の判断の切り替えに応じて、通知蓄積部243に蓄積されている通知をアプリケーション222へ送信する。 Further, in the third modification, the program 240 includes a transmission disapproval determination unit 244 that determines whether or not the notification received from the main unit 10 can be transmitted to the application 222, and the transmission disapproval determination unit 244 determines that the and a notification accumulation unit 243 for accumulating notifications. When receiving the activation completion notification from the application 222, the transmission disapproval determination unit 244 switches to the determination that the notification can be sent to the application 222. The notification stored in the unit 243 is sent to the application 222 .

この構成により、プログラム240は、アプリケーション222への通知の送信可否、すなわち、アプリケーション222の起動が完了したか否かを精度良く判断できるので、通知蓄積部243への通知の蓄積要否や、アプリケーション222への通知の送信可否の判断を精度よく行うことができる。これにより、プログラム240によるアプリケーション222への通知の送信処理をより効率よく行うことが可能となる。 With this configuration, the program 240 can accurately determine whether or not the notification to the application 222 can be transmitted, that is, whether or not the application 222 has been activated. It is possible to accurately determine whether or not to send a notification to. This makes it possible for the program 240 to more efficiently transmit the notification to the application 222 .

図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 main unit 10 may include notifications that are used only by the program 240 and do not need to be sent to the application 222 . Therefore, instead of transmitting all notifications to the application 222 , it is also possible to determine whether or not a notification needs to be transmitted to the application 222 and accumulate only necessary notifications in the notification accumulation unit 243 . As a result, among the notifications from the main unit 10, for notifications that do not need to be transmitted to the application 222 (used only in processing within the program), accumulation in the notification accumulation unit 243 and transmission to the application 222 can be omitted. , can expedite the startup process.

概要の流れとしては、プログラム240の通信部242が本体部10から通知を受信したとき、通信部242は通知を通知蓄積部243ではなく起動処理部241へ渡す。起動処理部241はアプリケーション222へ渡す必要がある通知内容か要否を判断し、渡す必要がなければプログラム240での起動処理に利用し、渡す必要があれば通知蓄積部243へ通知を渡す。通知蓄積部243は通常通りに送信不可判断部244からの判断「不可」に従い蓄積する、となる。 As an overview flow, when the communication unit 242 of the program 240 receives a notification from the main unit 10 , the communication unit 242 passes the notification to the activation processing unit 241 instead of the notification accumulation unit 243 . The activation processing unit 241 determines whether or not the notification content needs to be passed to the application 222, and if it is not necessary, it is used for activation processing in the program 240, and if it is necessary, the notification is passed to the notification storage unit 243. The notification accumulating section 243 accumulates according to the judgment "impossible" from the transmission disapproval judging section 244 as usual.

このような要否判断を行う場合の処理について、図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 activation processing unit 241 The communication unit 242 of the program 240 receives the notification received from the main unit 10 in step 4.1.1. It is passed to the processing unit 241 .

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 application 222 is necessary The activation processing unit 241 of program 240 determines whether notification content needs to be passed to application 222. . If it is determined in this step that the notification needs to be sent to the application 222, the process proceeds to the subsequent steps.

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 notification storage unit 243 The activation processing unit 241 of the program 240 starts the activation process in the program 240 if there is no need to send it to the application 222. If it is necessary to use it and transmit it to the application 222 , the notification is passed to the notification accumulation unit 243 .

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: Notification Accumulation Unit 243; Receives judgment from transmission impossibility judgment unit 244 4.1.1.1.1.3.1: Notification Accumulation Unit: This accumulation unit for accumulating notifications sequence is unchanged from steps 4.1.1.1.1.1 and 4.1.1.1.1.1.1 in FIG.

なお、ステップ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 application 222, if the activation completion notification has already been received from the application 222, this notification is sent to the notification storage unit 243. may be transmitted to the application 222 without being stored in the . As a result, when the application 222 has already been activated, the time for accumulating the notification once can be omitted, and the notification can be sent to the application 222 more quickly.

また、プログラム240が、本体部10から受信した通知からアプリケーション222へ送信する必要がある情報のみを取り出して新たな通知を作成し、作成した新たな通知をアプリケーション222へ送信する構成でもよい。これにより、アプリケーション222には不要な情報をプログラム240側で削ることで、送信データ量を減らすことができ、送信時間を短縮することができる。 Alternatively, the program 240 may extract only information that needs to be transmitted to the application 222 from the notification received from the main unit 10, create a new notification, and transmit the created new notification to the application 222. As a result, the program 240 deletes unnecessary information for the application 222, so that the amount of data to be transmitted can be reduced, and the transmission time can be shortened.

以上、具体例を参照しつつ本実施形態について説明した。しかし、本開示はこれらの具体例に限定されるものではない。これら具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。 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 information processing device 10 main unit 111 CPU (first CPU)
20 operation unit 21 CPU (second CPU)
210 OS activation unit 220 OS
221 application activation unit 222 application 230 program activation unit 240 program 241 activation processing unit 242 communication unit

特開2003-337711号公報JP-A-2003-337711 特開2005-202105号公報Japanese Unexamined Patent Application Publication No. 2005-202105

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内に設けられ、前記OS上で動作し、前記本体部と前記操作部との間の接続を管理すると共に、前記操作部の起動処理を行うアプリケーションを備え、
前記本体部は、前記準備完了通知の受信に応じて、前記アプリケーションへの通知を前記プログラムに送信し、
前記プログラムは前記本体部から受信した前記通知を、前記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起動部と、前記プログラムを起動するプログラム起動部と、を有し、
前記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.
JP2019008765A 2018-11-08 2019-01-22 Information processing device, method for starting information processing device, and start program for information processing device Active JP7259348B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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