JP2014178893A - Cooperation processor, program and software updating method - Google Patents

Cooperation processor, program and software updating method Download PDF

Info

Publication number
JP2014178893A
JP2014178893A JP2013052502A JP2013052502A JP2014178893A JP 2014178893 A JP2014178893 A JP 2014178893A JP 2013052502 A JP2013052502 A JP 2013052502A JP 2013052502 A JP2013052502 A JP 2013052502A JP 2014178893 A JP2014178893 A JP 2014178893A
Authority
JP
Japan
Prior art keywords
software
update
processing
cooperation
program
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.)
Pending
Application number
JP2013052502A
Other languages
Japanese (ja)
Inventor
Shuichi Nakamura
秀一 中村
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 JP2013052502A priority Critical patent/JP2014178893A/en
Publication of JP2014178893A publication Critical patent/JP2014178893A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a cooperation processor, a program and a software update method capable of updating software on operation without stopping the operation of a whole information processing system.SOLUTION: A cooperation processor connected to a cooperation apparatus for executing processing by accepting a processing request from the cooperation apparatus includes: software for executing processing corresponding to the processing request; software management means for performing the management of the software; and processing request transmission means for executing processing by transmitting the processing request from the cooperation apparatus to the software. The software management means allows the processing request transmission means to store the processing request from the cooperation apparatus during the update of the software, and acquires data holding the operation content of the software before update, and starts the updated software, and allows the updated software to restore the operation content of the software before update, and to complete the update of the software.

Description

本発明は、連携処理装置、プログラム及びソフトウェア更新方法に関する。   The present invention relates to a cooperation processing apparatus, a program, and a software update method.

従来、複数の情報処理装置へのソフトウェア更新作業を、動作確認作業を含めて自動化してシステム管理者の負荷を軽減させるソフトウェア更新プログラムがある(例えば特許文献1参照)。   2. Description of the Related Art Conventionally, there is a software update program that automates software update work for a plurality of information processing apparatuses including operation check work to reduce the load on a system administrator (see, for example, Patent Document 1).

従来のソフトウェア更新プログラムは、ソフトウェアを更新するための修正ファイルとともに該修正ファイルの適用後のソフトウェアの動作確認をおこなうテストプログラムを配布するファイル配布手順と、前記ファイル配布手順がファイルを配布した情報処理装置において前記修正ファイルの適用が完了した後に、前記テストプログラムの実行を指示するテストプログラム実行指示手順と、前記実行指示手順が実行を指示した前記テストプログラムの実行が完了した後に、該テストプログラムの実行結果を取得するテストプログラム実行結果取得手順と、前記テストプログラム実行結果取得手順が取得した前記実行結果の通知をおこなう結果通知手順と、をコンピュータに実行させていた。   A conventional software update program includes a file distribution procedure for distributing a test file for checking the operation of software after application of the correction file together with a correction file for updating the software, and information processing in which the file distribution procedure distributes the file A test program execution instruction procedure for instructing execution of the test program after application of the correction file is completed in the apparatus; and after execution of the test program instructed to execute by the execution instruction procedure is completed, The computer is caused to execute a test program execution result acquisition procedure for acquiring an execution result and a result notification procedure for notifying the execution result acquired by the test program execution result acquisition procedure.

近年、ユーザは電子データを出力するプリンタ、複合機、プロジェクタなどの様々な電子機器や、携帯電話、スマートフォン、タブレット端末などの様々な端末装置を利用するようになっている。これら電子機器や端末装置を利用する形態(システム)では、様々な電子機器や端末装置を連携させることにより利用価値の向上が期待される。   In recent years, users have come to use various electronic devices such as printers, multifunction devices, and projectors that output electronic data, and various terminal devices such as mobile phones, smartphones, and tablet terminals. In the form (system) in which these electronic devices and terminal devices are used, improvement of utility value is expected by linking various electronic devices and terminal devices.

これら電子機器や端末装置を連携させる処理は、連携処理装置に搭載されているアプリケーションによって行われる場合がある。しかしながら、連携処理装置に搭載されているアプリケーションを更新する場合は電子機器や端末装置を含む情報処理システム全体の動作を停止させなければならなかった。   The process for linking these electronic devices and terminal devices may be performed by an application installed in the cooperation processing apparatus. However, when updating an application installed in the cooperation processing device, the operation of the entire information processing system including the electronic device and the terminal device has to be stopped.

本発明の一実施形態は上記の点に鑑みなされたもので、情報処理システム全体の動作を停止させることなく動作中のソフトウェアを更新できる連携処理装置、プログラム及びソフトウェア更新方法を提供することを目的とする。   An embodiment of the present invention has been made in view of the above points, and an object thereof is to provide a cooperative processing apparatus, a program, and a software update method capable of updating operating software without stopping the operation of the entire information processing system. And

上記目的を達成するため、本願請求項1は、連携機器と接続され、前記連携機器からの処理要求を受け付けて処理を実行する連携処理装置であって、前記処理要求に対応した処理を実施するソフトウェアと、前記ソフトウェアの管理を行うソフトウェア管理手段と、前記連携機器からの処理要求を前記ソフトウェアに送信して処理を実施させる処理要求送信手段とを有し、前記ソフトウェア管理手段は、前記ソフトウェアが更新中の間、前記連携機器からの処理要求を前記処理要求送信手段に保管させ、更新前の前記ソフトウェアの動作内容を保持したデータを取得した上で、更新後の前記ソフトウェアを起動して、更新後の前記ソフトウェアに更新前の前記ソフトウェアの動作内容を復元させ、前記ソフトウェアの更新を完了させることを特徴とする。   In order to achieve the above object, claim 1 of the present application is a cooperative processing apparatus that is connected to a cooperative device, receives a processing request from the cooperative device, and executes processing, and performs processing corresponding to the processing request. Software, software management means for managing the software, and processing request transmission means for transmitting a processing request from the cooperation device to the software and executing the processing, and the software management means includes the software During the update, the processing request from the cooperation device is stored in the processing request transmission unit, the data holding the operation content of the software before the update is acquired, the updated software is started, and after the update Restoring the operation content of the software before the update to the software and completing the update of the software. And butterflies.

本発明の一実施形態によれば、情報処理システム全体の動作を停止させることなく動作中のソフトウェアを更新できる。   According to an embodiment of the present invention, it is possible to update the operating software without stopping the operation of the entire information processing system.

本実施形態に係る情報処理システムの一例の構成図である。It is a lineblock diagram of an example of an information processing system concerning this embodiment. 本実施形態に係るコンピュータシステムの一例のハードウェア構成図である。It is a hardware block diagram of an example of the computer system which concerns on this embodiment. 本実施形態に係る連携処理装置の一例の処理ブロック図である。It is a processing block diagram of an example of a cooperation processing device concerning this embodiment. 連携処理装置の起動時の処理を表した一例のフローチャートである。It is a flowchart of an example showing the process at the time of starting of a cooperation processing apparatus. 連携処理装置の通常運用時の処理を表した一例のフローチャートである。It is a flowchart of an example showing the process at the time of normal operation of a cooperation processing apparatus. 連携処理装置のプログラム更新時の処理を表した一例のフローチャートである。It is a flowchart of an example showing the process at the time of the program update of a cooperation processing apparatus. アプリ管理テーブルの一例の構成図である。It is a block diagram of an example of an application management table. シリアライズされるデータ構造の一例の説明図である。It is explanatory drawing of an example of the data structure serialized. 連携処理装置の通常運用時の処理を表した一例のシーケンス図である。It is a sequence diagram of an example showing the process at the time of normal operation of a cooperation processing apparatus. 連携処理装置のプログラム更新時の処理を表した一例のシーケンス図(1/2)である。It is an example sequence diagram (1/2) showing the process at the time of the program update of a cooperation processing apparatus. 連携処理装置のプログラム更新時の処理を表した一例のシーケンス図(2/2)である。It is an example sequence diagram (2/2) showing the process at the time of the program update of a cooperation processing apparatus.

次に、本発明の実施の形態について、詳細に説明する。
[第1の実施形態]
<システム構成>
図1は本実施形態に係る情報処理システムの一例の構成図である。図1の情報処理システム1は、連携処理装置10がLAN(Local Area Network)やインターネットなどのネットワークN1に接続されている。
Next, embodiments of the present invention will be described in detail.
[First Embodiment]
<System configuration>
FIG. 1 is a configuration diagram of an example of an information processing system according to the present embodiment. In the information processing system 1 of FIG. 1, a cooperation processing apparatus 10 is connected to a network N1 such as a LAN (Local Area Network) or the Internet.

また、情報処理システム1は一台以上のPC11、一台以上の携帯端末12、一台以上の複合機(MFP)13、一台以上のプロジェクタ14がネットワークN1に接続されている。さらに、情報処理システム1はプログラム保存装置15がネットワークN1に接続されている。   In the information processing system 1, one or more PCs 11, one or more portable terminals 12, one or more multifunction peripherals (MFPs) 13, and one or more projectors 14 are connected to a network N1. Further, in the information processing system 1, a program storage device 15 is connected to the network N1.

PC11、携帯端末12はユーザが操作する端末装置16の一例である。PC11はデスクトップPC、ノードPCなど、ユーザが操作できる装置であればよい。携帯端末12はスマートフォン、タブレット端末の他、携帯電話など、ユーザが携帯して操作できる装置であればよい。   The PC 11 and the mobile terminal 12 are examples of the terminal device 16 operated by the user. The PC 11 may be any device that can be operated by the user, such as a desktop PC or a node PC. The mobile terminal 12 may be any device that can be carried and operated by the user, such as a smartphone, a tablet terminal, or a mobile phone.

複合機13及びプロジェクタ14は電子データの入出力(印刷、撮像、投影など)を行う電子機器17の一例である。例えば電子機器17は、複合機13及びプロジェクタ14の他、プリンタ、複写機、画像表示装置など、電子データの入出力を行うことのできる装置であればよい。   The multifunction device 13 and the projector 14 are examples of an electronic device 17 that performs input / output (printing, imaging, projection, etc.) of electronic data. For example, the electronic device 17 may be any device that can input and output electronic data, such as a printer, a copier, and an image display device, in addition to the multifunction machine 13 and the projector 14.

連携処理装置10は例えば汎用OSを採用しており、ネットワークN1を介して様々な端末装置16や電子機器17を接続できる。連携処理装置10は内部にアプリケーションが搭載されている。連携処理装置10は端末装置16や電子機器17からファイル共有などを実現するSMB(Server Message Block)やHTTPリクエストなどの汎用プロトコルにより要求を受け付けることができる。連携処理装置10は受け付けた要求をアプリケーションにより処理し、ネットワークN1を介して結果を返す。   The cooperation processing apparatus 10 employs, for example, a general-purpose OS, and can connect various terminal devices 16 and electronic devices 17 via the network N1. The cooperation processing apparatus 10 has an application installed therein. The cooperation processing apparatus 10 can accept a request from the terminal device 16 or the electronic device 17 by a general protocol such as SMB (Server Message Block) or HTTP request that realizes file sharing. The cooperation processing apparatus 10 processes the received request by the application and returns a result via the network N1.

複合機13は画像形成装置の一例である。複合機13は内部に搭載するブラウザソフトを介して連携処理装置10にアクセスする。ブラウザソフトはHTTPリクエストなどの汎用プロトコルを用いて連携処理装置10に要求を出力する。また、複合機13はファイルシステムをサポートしている。   The multifunction machine 13 is an example of an image forming apparatus. The multifunction machine 13 accesses the cooperation processing apparatus 10 via browser software installed therein. The browser software outputs a request to the cooperation processing apparatus 10 using a general-purpose protocol such as an HTTP request. The multifunction machine 13 supports a file system.

複合機13は連携処理装置10に対してSMBでアクセスすることができれば、複合機13内に保存したファイルを連携処理装置10のネットワーク共有フォルダにコピーすることで、連携処理装置10に対するワークフロー処理の要求を出すことができる。   If the multifunction machine 13 can access the cooperation processing apparatus 10 by SMB, the file stored in the multifunction machine 13 is copied to the network shared folder of the cooperation processing apparatus 10 to perform workflow processing for the cooperation processing apparatus 10. A request can be made.

プロジェクタ14は画像投影装置の一例である。プロジェクタ14は、ネットワークN1経由で端末装置16や他の電子機器17から要求のあった画像を投影することが可能である。プロジェクタ14は連携処理装置10、端末装置16、電子機器17に保存されている画像を選択して投影することも可能である。   The projector 14 is an example of an image projection device. The projector 14 can project an image requested from the terminal device 16 or another electronic device 17 via the network N1. The projector 14 can also select and project an image stored in the cooperation processing device 10, the terminal device 16, and the electronic device 17.

端末装置16はブラウザ機能を有する。端末装置16は連携処理装置10に対してブラウザ経由でSMBやHTTPなどの汎用プロトコルを用いて要求を出力する。また、端末装置16はファイルシステムをサポートしている。端末装置16は連携処理装置10に対してSMBでアクセスすることができれば、端末装置16内に保存したファイルを連携処理装置10のネットワーク共有フォルダにコピーすることで、連携処理装置10に対するワークフロー処理の要求を出すことができる。   The terminal device 16 has a browser function. The terminal device 16 outputs a request to the cooperation processing device 10 using a general-purpose protocol such as SMB or HTTP via a browser. The terminal device 16 supports a file system. If the terminal device 16 can access the cooperation processing device 10 by SMB, the file stored in the terminal device 16 is copied to the network shared folder of the cooperation processing device 10 so that the workflow processing for the cooperation processing device 10 can be performed. A request can be made.

プログラム保存装置15は連携処理装置10内のプログラムの更新情報(更新プログラム情報)と、更新プログラムとを格納している。連携処理装置10は例えば所定期間ごとにプログラム保存装置15にアクセスし、更新プログラムの存在有無を確認する。連携処理装置10は、必要に応じてプログラム保存装置15から更新プログラムをダウンロードする。   The program storage device 15 stores program update information (update program information) in the cooperation processing device 10 and an update program. For example, the cooperation processing device 10 accesses the program storage device 15 every predetermined period and confirms whether or not an update program exists. The cooperation processing device 10 downloads an update program from the program storage device 15 as necessary.

連携処理装置10は複合機13やプロジェクタ14で処理できないような高機能処理の実行や、ファイルサーバとしての処理の実行を行うことができる。連携処理装置10は端末装置16と電子機器17とを連携させることにより利用価値の向上を図れる。連携処理装置10は複数のコンピュータに分散して構成するようにしてもよい。   The cooperation processing apparatus 10 can execute high-function processing that cannot be processed by the multifunction machine 13 or the projector 14, or can execute processing as a file server. The cooperation processing device 10 can improve the utility value by linking the terminal device 16 and the electronic device 17 together. The cooperation processing apparatus 10 may be configured to be distributed among a plurality of computers.

<ハードウェア構成>
連携処理装置10は例えば図2に示すハードウェア構成のコンピュータシステムにより実現される。なお、端末装置16も図2に示すハードウェア構成を含む構成である。図2は本実施形態に係るコンピュータシステムの一例のハードウェア構成図である。
<Hardware configuration>
The cooperation processing apparatus 10 is realized by, for example, a computer system having a hardware configuration shown in FIG. Note that the terminal device 16 also includes the hardware configuration shown in FIG. FIG. 2 is a hardware configuration diagram of an example of a computer system according to the present embodiment.

図2のコンピュータシステム100は、入力装置101、表示装置102、外部I/F103、RAM104、ROM105、CPU106、通信I/F107及びHDD108などを備え、それぞれがバスBで相互に接続されている。入力装置101はキーボードやマウス、タッチパネルなどを含み、コンピュータシステム100に各操作信号を入力するために用いられる。   The computer system 100 of FIG. 2 includes an input device 101, a display device 102, an external I / F 103, a RAM 104, a ROM 105, a CPU 106, a communication I / F 107, an HDD 108, and the like. The input device 101 includes a keyboard, a mouse, a touch panel, and the like, and is used to input each operation signal to the computer system 100.

表示装置102はディスプレイなどを含み、コンピュータシステム100による処理結果を表示する。通信I/F107はコンピュータシステム100をネットワークN1に接続するインターフェースである。これにより、コンピュータシステム100は通信I/F107を介して、プログラム保存装置15、端末装置16、電子機器17等とデータ通信を行うことができる。   The display device 102 includes a display and the like, and displays a processing result by the computer system 100. The communication I / F 107 is an interface that connects the computer system 100 to the network N1. Accordingly, the computer system 100 can perform data communication with the program storage device 15, the terminal device 16, the electronic device 17, and the like via the communication I / F 107.

HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、コンピュータシステム100全体を制御する基本ソフトウェアであるOS(Operating System)、及び、OS上において各種機能を提供するアプリケーションソフトウェアなどがある。また、HDD108は、格納しているプログラムやデータを、所定のファイルシステム及び/又はDB(Data Base)により管理している。   The HDD 108 is a non-volatile storage device that stores programs and data. The stored programs and data include an OS (Operating System) that is basic software for controlling the entire computer system 100, and application software that provides various functions on the OS. The HDD 108 manages stored programs and data by a predetermined file system and / or DB (Data Base).

外部I/F103は、外部装置とのインターフェースである。外部装置には、記録媒体103aなどがある。これにより、コンピュータシステム100は外部I/F103を介して、記録媒体103aの読み取り及び/又は書き込みを行うことができる。なお、記録媒体103aにはフレキシブルディスク、CD、DVD(Digital Versatile Disk)、SDメモリカード(SD Memory card)、USBメモリ(Universal Serial Bus memory)等がある。   The external I / F 103 is an interface with an external device. The external device includes a recording medium 103a. Thereby, the computer system 100 can read and / or write the recording medium 103a via the external I / F 103. The recording medium 103a includes a flexible disk, a CD, a DVD (Digital Versatile Disk), an SD memory card, an USB memory (Universal Serial Bus memory), and the like.

ROM105は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、コンピュータシステム100の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。   The ROM 105 is a nonvolatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. The ROM 105 stores programs and data such as BIOS (Basic Input / Output System), OS settings, and network settings that are executed when the computer system 100 is started. The RAM 104 is a volatile semiconductor memory (storage device) that temporarily stores programs and data.

CPU106は、ROM105やHDD108などの記憶装置からプログラムやデータをRAM104上に読み出し、処理を実行することで、コンピュータシステム100全体の制御や機能を実現する演算装置である。   The CPU 106 is an arithmetic device that realizes control and functions of the entire computer system 100 by reading a program and data from a storage device such as the ROM 105 and the HDD 108 onto the RAM 104 and executing processing.

本実施形態に係るコンピュータシステム100は、上記ハードウェア構成により、後述するような各種処理を実現できる。   The computer system 100 according to the present embodiment can realize various processes as described later with the above hardware configuration.

<ソフトウェア構成>
《連携処理装置》
本実施形態に係る連携処理装置10は例えば図3に示すように構成される。図3は本実施形態に係る連携処理装置の一例の処理ブロック図である。連携処理装置10はプログラムを実行することで、共通フレームワーク20、WebAPI処理部21、WEB制御部22、認証処理部23、画像処理部24、設定情報管理部25、データ管理部26、アプリ管理部27、アップデート処理部28、メッセージ処理部29、データ保存部30、プログラム保存部31、メッセージ保存部32を実現している。
<Software configuration>
<< Cooperation processing device >>
The cooperation processing apparatus 10 according to the present embodiment is configured as shown in FIG. 3, for example. FIG. 3 is a processing block diagram of an example of the cooperation processing apparatus according to the present embodiment. The cooperation processing apparatus 10 executes the program, thereby allowing the common framework 20, the Web API processing unit 21, the WEB control unit 22, the authentication processing unit 23, the image processing unit 24, the setting information management unit 25, the data management unit 26, and application management. 27, an update processing unit 28, a message processing unit 29, a data storage unit 30, a program storage unit 31, and a message storage unit 32 are realized.

共通フレームワーク20は連携処理装置10内の複数あるソフトウェアが通信するための仕組みであり、要求やデータの送受信に用いられる。WebAPI処理部21はネットワークN1に接続された端末装置16や電子機器17からWebAPIを介したアクセスを制御する。WebAPI(Application Programming Interface)は、端末装置16や電子機器17からの要求を受信するために設けられた予め定義されたインターフェースであり、例えば関数やクラス等により構成される。WebAPI処理部21は受信した要求をWEB制御部22に通知する。WEB制御部22はWebAPI処理部21から通知された要求を共通フレームワーク20で解釈できるメッセージに変換し、各種処理部へ送信する。   The common framework 20 is a mechanism for a plurality of software in the cooperation processing apparatus 10 to communicate, and is used for sending and receiving requests and data. The web API processing unit 21 controls access from the terminal device 16 and the electronic device 17 connected to the network N1 via the web API. The Web API (Application Programming Interface) is a predefined interface provided for receiving a request from the terminal device 16 or the electronic device 17, and is configured by, for example, a function or a class. The WebAPI processing unit 21 notifies the received request to the WEB control unit 22. The WEB control unit 22 converts the request notified from the Web API processing unit 21 into a message that can be interpreted by the common framework 20, and transmits the message to various processing units.

認証処理部23はユーザ情報の認証を行う。例えば認証処理部23はデータ保存部30に保存されているアカウント情報にアクセスしてユーザ情報の認証を行う。または、認証処理部23はWebAPIを介した認証サーバ(図示せず)を利用してユーザ情報の認証を行う。例えばデータ保存部30にアカウント情報が保存されている場合、認証処理部23は設定情報管理部25を介してアカウント情報にアクセスする。   The authentication processing unit 23 authenticates user information. For example, the authentication processing unit 23 accesses account information stored in the data storage unit 30 to authenticate user information. Alternatively, the authentication processing unit 23 authenticates user information using an authentication server (not shown) via WebAPI. For example, when account information is stored in the data storage unit 30, the authentication processing unit 23 accesses the account information via the setting information management unit 25.

画像処理部24はWEB制御部22からの要求により、必要な画像処理を行う。画像処理部24はOCR(Optical Character Reader)などの文字読取機能も有する。必要な画像処理が完了すると、画像処理部24は各種処理部へ画像処理の結果を通知する。画像処理部24は、また、WEB制御部22からの要求により、データを他のフォーマットへ変換する。画像処理部24は、各種アプリケーションやPDF、XPSなどのドキュメントフォーマット、JPEGやTIFF、PNGなどの画像フォーマットに対応する。   The image processing unit 24 performs necessary image processing in response to a request from the WEB control unit 22. The image processing unit 24 also has a character reading function such as OCR (Optical Character Reader). When the necessary image processing is completed, the image processing unit 24 notifies the various processing units of the result of the image processing. The image processing unit 24 also converts the data into another format in response to a request from the WEB control unit 22. The image processing unit 24 supports various applications, document formats such as PDF and XPS, and image formats such as JPEG, TIFF, and PNG.

設定情報管理部25は、アカウント情報、システム情報、ユーザに紐付けされたユーザ設定などを、データ保存部30で管理する。データ管理部26は、ユーザが連携処理装置10内に保存したデータを、データ保存部30で管理する。全てのデータは蓄積データとしてユニークなドキュメントIDを割り振られて管理される。連携処理装置10内の蓄積データにアクセスする際はドキュメントIDを元にアクセスする。   The setting information management unit 25 manages account information, system information, user settings associated with a user, and the like in the data storage unit 30. The data management unit 26 manages data stored in the cooperation processing apparatus 10 by the user using the data storage unit 30. All data is managed by assigning a unique document ID as accumulated data. When accessing the stored data in the cooperation processing apparatus 10, the access is made based on the document ID.

アプリ管理部27は連携処理装置10内にあるプログラムを、プログラム保存部31で管理する。共通フレームワーク20が起動すると、アプリ管理部27はプログラム保存部31から読み出したプログラムをロードして起動させる。また、プログラムを更新するようにアップデート処理部28から要求があった場合、アプリ管理部27は更新するプログラムをアンロードする。   The application management unit 27 manages programs in the cooperation processing apparatus 10 with the program storage unit 31. When the common framework 20 is activated, the application management unit 27 loads and activates the program read from the program storage unit 31. When there is a request from the update processing unit 28 to update the program, the application management unit 27 unloads the program to be updated.

アップデート処理部28はプログラムのアップデート情報(更新プログラム)があるかを定期的にプログラム保存装置15に問い合わせる。プログラムのアップデート情報がある場合、アップデート処理部28はアップデート情報をプログラム保存装置15からダウンロードし、プログラム保存部31に格納する。なお、プログラム保存部31に格納されている状態維持用データについては後述する。   The update processing unit 28 periodically inquires of the program storage device 15 whether there is program update information (update program). If there is program update information, the update processing unit 28 downloads the update information from the program storage device 15 and stores it in the program storage unit 31. The state maintenance data stored in the program storage unit 31 will be described later.

メッセージ処理部29は共通フレームワーク20が持つメッセージキューをメッセージ保存部32で管理する。プログラムの状態(例えば更新中)によって要求を受け付けられない場合、要求は一旦、メッセージキューに蓄積される。また、要求を受け付けられるプログラムの状態(稼働中)になると、要求はメッセージキューから順番にプログラムへ送信される。   The message processing unit 29 manages the message queue of the common framework 20 with the message storage unit 32. If the request cannot be accepted due to the state of the program (for example, updating), the request is temporarily accumulated in the message queue. When the program is ready to accept a request (in operation), the request is sequentially transmitted from the message queue to the program.

<処理の詳細>
以下では、本実施形態に係る情報処理システム1の処理の詳細について説明する。
<Details of processing>
Below, the detail of the process of the information processing system 1 which concerns on this embodiment is demonstrated.

《連携処理装置の起動時の処理》
図4は連携処理装置の起動時の処理を表した一例のフローチャートである。ステップS1において、連携処理装置10はOS(システム)を起動する。ステップS2において連携処理装置10はOSから共通フレームワーク20を起動する。共通フレームワーク20はアプリ管理部27の処理を開始する。
<< Processing at startup of the collaboration processing device >>
FIG. 4 is a flowchart illustrating an example of processing when the cooperative processing apparatus is activated. In step S1, the cooperation processing apparatus 10 starts up an OS (system). In step S2, the cooperation processing apparatus 10 activates the common framework 20 from the OS. The common framework 20 starts processing of the application management unit 27.

ステップS3において、アプリ管理部27はプログラム保存部31に格納されているプログラムを順次読み込んで起動させる。ステップS4において、起動したプログラムは初期化処理を行う。ステップS5において、連携処理装置10は起動したプログラムによるサービスの提供を開始する。サービスの提供を開始したあと、アップデート処理部28はステップS6に進み、更新プログラムの確認処理を開始する。   In step S3, the application management unit 27 sequentially reads and activates the programs stored in the program storage unit 31. In step S4, the activated program performs an initialization process. In step S <b> 5, the cooperation processing apparatus 10 starts providing a service using the activated program. After starting the provision of the service, the update processing unit 28 proceeds to step S6, and starts an update program confirmation process.

ステップS6の更新プログラムの確認処理は、連携処理装置10内のプログラムの更新プログラムが、プログラム保存装置15にあるかを定期的に確認する処理である。連携処理装置10内のプログラムの更新プログラムがプログラム保存装置15にあれば、アップデート処理部28は更新プログラムをプログラム保存装置15からダウンロードし、更新プログラムをプログラム保存部31に格納する。そして、アップデート処理部28はプログラムを更新するようにアプリ管理部27に要求する。   The update program confirmation processing in step S6 is processing for periodically confirming whether the program storage device 15 has the program update program in the cooperation processing device 10 or not. If the program storage device 15 has an update program for the program in the cooperative processing device 10, the update processing unit 28 downloads the update program from the program storage device 15 and stores the update program in the program storage unit 31. Then, the update processing unit 28 requests the application management unit 27 to update the program.

したがって、図4のフローチャートの処理によれば、連携処理装置10はプログラム保存装置15に更新プログラムが保存されると、更新プログラムをダウンロードすることができる。また、連携処理装置10は更新プログラムを連携処理装置10からダウンロードしたあと、後述のようなプログラム更新時の処理を開始できる。   Therefore, according to the processing of the flowchart of FIG. 4, the cooperation processing device 10 can download the update program when the update program is stored in the program storage device 15. Further, after downloading the update program from the cooperation processing apparatus 10, the cooperation processing apparatus 10 can start processing at the time of program update as described later.

《連携処理装置の通常運用時の処理》
図5は連携処理装置の通常運用時の処理を表した一例のフローチャートである。端末装置16や電子機器17などの連携機器はステップS11において、WEBメッセージを送信して、連携処理装置10に要求を行う。ここで言う要求とは、連携処理装置10に保存されているデータの取得要求や、必要なデータ形式(フォーマット)への変換要求などであり、連携処理装置10が有する各種機能(提供する各種サービス)を使用するための要求である。連携機器と連携処理装置10とのWEBメッセージのやり取りはWebAPIを介して実施されるため、各々のハードウェアに依存しない形式で行われる。
<Processing during normal operation of the collaboration processing device>
FIG. 5 is a flowchart illustrating an example of processing during normal operation of the cooperation processing apparatus. In step S <b> 11, a cooperation device such as the terminal device 16 or the electronic device 17 transmits a WEB message to make a request to the cooperation processing device 10. The request mentioned here is an acquisition request for data stored in the cooperation processing apparatus 10 or a conversion request to a required data format (format), and includes various functions (provided various services provided) ) Is a request to use. Since the exchange of the WEB message between the cooperation device and the cooperation processing apparatus 10 is performed via the Web API, it is performed in a format that does not depend on each hardware.

ステップS12において、連携処理装置10のWebAPI処理部21はWebAPIによりWEBメッセージを受信する。WebAPIによるWEBメッセージはHTTP又はHTTPSなどの汎用プロトコルにより送受信される。   In step S12, the Web API processing unit 21 of the cooperation processing apparatus 10 receives a WEB message through the Web API. A WEB message by WebAPI is transmitted and received by a general-purpose protocol such as HTTP or HTTPS.

また、ステップS13において、WEB制御部22は受信したWEBメッセージを共通フレームワーク20で解釈できる形式のメッセージに変換する。共通フレームワーク20はXMLスキーマにより定義されたメッセージを送受信する。共通フレームワーク20内で動作するプログラムは全て同じフォーマットのメッセージを使用する。   In step S13, the WEB control unit 22 converts the received WEB message into a message in a format that can be interpreted by the common framework 20. The common framework 20 transmits and receives messages defined by the XML schema. All programs operating within the common framework 20 use messages in the same format.

ステップS14において、共通フレームワーク20はメッセージを解釈し、メッセージに対応した処理を実施するプログラムにメッセージを送信する。メッセージを受信したプログラムはメッセージに対応した処理を実施する。メッセージに対応した処理としては連携処理装置10に保存されているデータの取得処理や、データ形式の変換処理、他の連携機器へのデータの送信処理など、である。   In step S14, the common framework 20 interprets the message and transmits the message to a program that performs processing corresponding to the message. The program that has received the message performs processing corresponding to the message. The processing corresponding to the message includes data acquisition processing stored in the cooperation processing apparatus 10, data format conversion processing, data transmission processing to other cooperation devices, and the like.

ステップS15において、メッセージに対応した処理を実施したプログラムは、処理を実施した結果について、要求元の連携機器に対するメッセージを作成する。共通フレームワーク20はメッセージを解釈し、そのメッセージをWEB制御部22に送信する。WEB制御部22は受信したメッセージをWebAPIで送信できる形式のWEBメッセージに変換する。   In step S <b> 15, the program that has performed the processing corresponding to the message creates a message for the requesting linked device for the result of the processing. The common framework 20 interprets the message and transmits the message to the WEB control unit 22. The WEB control unit 22 converts the received message into a WEB message in a format that can be transmitted using WebAPI.

ステップS16において、連携処理装置10のWebAPI処理部21はWebAPIによりWEBメッセージを送信する。ステップS17において、要求元の連携機器は処理を実施した結果についてのWEBメッセージを受信する。   In step S16, the Web API processing unit 21 of the cooperation processing apparatus 10 transmits a WEB message by Web API. In step S <b> 17, the requesting cooperative device receives a WEB message about the result of the processing.

したがって、図5のフローチャートの処理によれば、連携処理装置10は連携機器からWEBメッセージにて要求された処理を実施し、処理を実施した結果をWEBメッセージにて要求元の連携機器に返すことができる。   Therefore, according to the processing of the flowchart of FIG. 5, the cooperation processing apparatus 10 performs the processing requested by the cooperation device by the WEB message, and returns the result of the processing to the requesting cooperation device by the WEB message. Can do.

《連携処理装置のプログラム更新時の処理》
図5に示した連携処理装置10の通常運用時の処理は、プログラム更新時、図6に示すフローチャートのように変化する。図6は連携処理装置のプログラム更新時の処理を表した一例のフローチャートである。ここでは連携機器からのWEBメッセージを連携処理装置10が受信する前に、アップデート処理部28がプログラムを更新するようにアプリ管理部27に要求していたものとして説明を続ける。
<Processing when updating the program of the cooperation processing device>
The processing during normal operation of the cooperation processing apparatus 10 shown in FIG. 5 changes as shown in the flowchart of FIG. 6 when the program is updated. FIG. 6 is a flowchart illustrating an example of processing at the time of program update of the cooperation processing apparatus. Here, the description is continued assuming that the update processing unit 28 requests the application management unit 27 to update the program before the cooperation processing apparatus 10 receives the WEB message from the cooperation device.

ステップS21において、連携機器はWEBメッセージを送信して、連携処理装置10に要求を行う。ステップS22において、連携処理装置10のWebAPI処理部21はWebAPIによりWEBメッセージを受信する。WEB制御部22はWebAPI処理部21により受信されたWEBメッセージを、共通フレームワーク20で解釈できる形式のメッセージに変換する。   In step S <b> 21, the cooperation device transmits a WEB message and makes a request to the cooperation processing device 10. In step S22, the Web API processing unit 21 of the cooperation processing apparatus 10 receives a WEB message through the Web API. The WEB control unit 22 converts the WEB message received by the Web API processing unit 21 into a message that can be interpreted by the common framework 20.

ステップS23は、連携処理装置10において実施される、プログラム更新時におけるメッセージのキューイング処理を示している。連携処理装置10内におけるメッセージの送信は共通フレームワーク20を介して行われる。   Step S23 shows a message queuing process at the time of program update, which is performed in the cooperation processing apparatus 10. Message transmission in the cooperation processing apparatus 10 is performed via the common framework 20.

メッセージに対応した処理を実施するプログラムが更新中であれば、メッセージ処理部29はメッセージをメッセージキューにキューイングする。更新中のプログラムには通常のメッセージが送信されず、プログラムの更新に必要なメッセージがやり取りされる。   If the program that performs the processing corresponding to the message is being updated, the message processing unit 29 queues the message in the message queue. A normal message is not transmitted to the program being updated, and a message necessary for program update is exchanged.

なお、メッセージに対応した処理を実施するプログラムが更新中であるかの判定は例えば図7に示すようなアプリ管理テーブルを参照して行うことができる。図7はアプリ管理テーブルの一例の構成図である。図7のアプリ管理テーブルは例えばアプリ管理部27により管理される。   Note that it is possible to determine whether a program that performs processing corresponding to a message is being updated with reference to an application management table as shown in FIG. 7, for example. FIG. 7 is a configuration diagram of an example of the application management table. The application management table in FIG. 7 is managed by the application management unit 27, for example.

図7のアプリ管理テーブルはアプリID、アプリ名、状態、保存先、関連アプリIDなどを項目として有する。アプリIDはプログラムを特定する情報の一例である。アプリ名はプログラムの一例としてのアプリケーションの名称である。状態はプログラムの状態を表している。プログラムの状態としては、例えば更新中、稼働中、停止中等がある。保存先はプログラムの保存先を表している。関連アプリIDは関連するアプリケーションのアプリIDを示している。メッセージ処理部29はアプリ管理テーブルの保存先を参照することにより、プログラムが更新中であるか否かを判定できる。   The application management table of FIG. 7 includes an application ID, an application name, a state, a storage destination, a related application ID, and the like as items. The application ID is an example of information that identifies a program. The application name is an application name as an example of the program. The state represents the state of the program. The program status includes, for example, updating, running, and stopping. The save destination represents the save destination of the program. The related application ID indicates the application ID of the related application. The message processing unit 29 can determine whether or not the program is being updated by referring to the storage location of the application management table.

ステップS24において、アプリ管理部27は更新対象のプログラムに対してプログラム更新通知を送信する。プログラム更新通知を受信した更新対象のプログラムは、プログラムの更新が開始されることを把握する。更新対象のプログラムは現在処理中のデータが存在する場合は一旦処理を中断してデータ構造のシリアライズ(バイナリデータ化)を開始する。   In step S24, the application management unit 27 transmits a program update notification to the update target program. The program to be updated that has received the program update notification grasps that the program update is started. If there is data that is currently being processed, the program to be updated temporarily interrupts the processing and starts serialization (binary data conversion) of the data structure.

なお、シリアライズされるデータ構造は例えば図8に示すようなものである。図8はシリアライズされるデータ構造の一例の説明図である。図8に示すように、更新対象のアプリAはデータサブセット、スレッドテーブル、スレッドデータを有する。ステップS24で行うデータ構造のシリアライズは、図8に示すようなデータ構造を退避させるための準備処理である。   Note that the data structure to be serialized is, for example, as shown in FIG. FIG. 8 is an explanatory diagram of an example of a data structure to be serialized. As shown in FIG. 8, the update target application A has a data subset, a thread table, and thread data. The serialization of the data structure performed in step S24 is a preparation process for saving the data structure as shown in FIG.

ステップS25において、更新対象のプログラムはシリアライズしたデータ構造(現在の動作内容を保持したデータ)を取り出し、そのシリアライズしたデータ構造を状態維持用データとしてアプリ管理部27に送信する。アプリ管理部27は、受信した状態維持用データをプログラム保存部31に保存する。   In step S25, the update target program extracts the serialized data structure (data holding the current operation content), and transmits the serialized data structure to the application management unit 27 as state maintenance data. The application management unit 27 stores the received state maintenance data in the program storage unit 31.

更新対象のプログラムから受信した状態維持用データを保存すると、アプリ管理部27はステップS26において更新対象のプログラムのアンロードを行う。プログラムのアンロードは共通フレームワーク20に取り込んだプログラムを一旦メモリ上から外すことを示している。外されたプログラムは再度ロードし直すまで使用できない。   When the state maintenance data received from the update target program is stored, the application management unit 27 unloads the update target program in step S26. The unloading of the program indicates that the program taken in the common framework 20 is once removed from the memory. The removed program cannot be used until it is reloaded.

更新対象のプログラムのアンロードが完了した時点で、アプリ管理部27は更新対象のプログラムの旧モジュールをリネームし、新モジュール(更新プログラム)のロードに失敗した場合などに再利用できるようにする。   When the unloading of the update target program is completed, the application management unit 27 renames the old module of the update target program so that it can be reused when loading of the new module (update program) fails.

ステップS27に進み、アプリ管理部27は更新対象のプログラムの旧モジュールを新モジュール(更新プログラム)と差し替え、更新プログラムを共通フレームワーク20へロードし直す。新モジュール(更新プログラム)は更新前、特別な保存場所に保存されているため、旧モジュールのリネームが完了した時点で適切な保存場所に移動される。新モジュール(更新プログラム)が共通フレームワーク20にロードされると、更新プログラムは起動され、処理が開始される。   In step S27, the application management unit 27 replaces the old module of the program to be updated with the new module (update program), and reloads the update program into the common framework 20. Since the new module (update program) is stored in a special storage location before the update, it is moved to an appropriate storage location when the old module is renamed. When a new module (update program) is loaded into the common framework 20, the update program is activated and processing is started.

ステップS28に進み、アプリ管理部27は状態維持用データをプログラム保存部31から読み出す。アプリ管理部27は状態維持用データを更新プログラムに送信し、プログラムの更新が開始される前のデータ構造を復元させる。プログラムの更新が開始される前のデータ構造に更新プログラムが復元されたあと、メッセージ処理部29はステップS29に進む。   In step S 28, the application management unit 27 reads state maintenance data from the program storage unit 31. The application management unit 27 transmits the state maintenance data to the update program, and restores the data structure before the program update is started. After the update program is restored to the data structure before the program update is started, the message processing unit 29 proceeds to step S29.

ステップS29において、メッセージ処理部29はメッセージキューにキューイングしておいたメッセージを順次、デキューする。更新対象のプログラムの更新中はメッセージ処理部29によりメッセージのキューイングが実施され、メッセージを更新対象のプログラムへ送信しないようにしている。   In step S29, the message processing unit 29 sequentially dequeues the messages queued in the message queue. During the update of the update target program, message queuing is performed by the message processing unit 29 so that the message is not transmitted to the update target program.

このため、連携処理装置10ではプログラムの更新中であっても、更新対象のプログラムへのメッセージの受け付けを継続できるので、情報処理システム1全体の動作を停止させる必要がない。プログラムの更新が開始される前のデータ構造に復元されたあと、更新プログラムは以前と同様にメッセージの受信を再開できる。   For this reason, since the cooperation processing apparatus 10 can continue to accept messages to the program to be updated even while the program is being updated, it is not necessary to stop the operation of the entire information processing system 1. After restoring the data structure before the program update is started, the update program can resume receiving messages as before.

ステップS30において、共通フレームワーク20はメッセージに対応した処理を実施する更新プログラムにメッセージを送信する。そして、メッセージを受信した更新プログラムはメッセージに対応した処理を実施する。   In step S30, the common framework 20 transmits a message to the update program that performs processing corresponding to the message. Then, the update program that has received the message performs processing corresponding to the message.

ステップS31において、メッセージに対応した処理を実施した更新プログラムは処理を実施した結果について要求元の連携機器に対するメッセージを作成する。共通フレームワーク20はメッセージを解釈し、そのメッセージをWEB制御部22に送信する。WEB制御部22は受信したメッセージをWebAPIで送信できる形式のWEBメッセージに変換する。   In step S31, the update program that has performed the processing corresponding to the message creates a message for the requesting linked device regarding the result of the processing. The common framework 20 interprets the message and transmits the message to the WEB control unit 22. The WEB control unit 22 converts the received message into a WEB message in a format that can be transmitted using WebAPI.

連携処理装置10のWebAPI処理部21はWebAPIによりWEBメッセージを送信する。ステップS32において、要求元の連携機器は処理を実施した結果についてのWEBメッセージを受信する。   The Web API processing unit 21 of the cooperation processing apparatus 10 transmits a WEB message using Web API. In step S32, the requesting cooperative device receives a WEB message about the result of the processing.

図6のフローチャートの処理によれば連携処理装置10は更新対象のプログラムの更新中に、更新対象のプログラムへのメッセージの受け付けを継続できる。また、連携処理装置10は更新プログラムのデータ構造を、プログラムの更新が開始される前のデータ構造に復元できる。したがって、図6のフローチャートの処理によれば、情報処理システム1全体の動作を停止させることなく稼働(動作)中のプログラムを更新できる。   According to the process of the flowchart of FIG. 6, the cooperation processing apparatus 10 can continue accepting messages to the update target program while the update target program is being updated. Further, the cooperation processing apparatus 10 can restore the data structure of the update program to the data structure before the program update is started. Therefore, according to the processing of the flowchart of FIG. 6, it is possible to update the operating program (operation) without stopping the operation of the entire information processing system 1.

《連携処理装置の通常運用時の処理のシーケンス図》
図9は連携処理装置の通常運用時の処理を表した一例のシーケンス図である。ステップS101において、連携処理装置10のアップデート処理部28は、連携処理装置10内のプログラムの更新プログラムが、プログラム保存装置15にあるかを確認する。ここでは連携処理装置10内のプログラムの一例としてのアプリAの更新プログラムが、プログラム保存装置15に無かったものとして説明を続ける。
《Sequence diagram of processing during normal operation of the collaboration processing device》
FIG. 9 is a sequence diagram illustrating an example of processing during normal operation of the cooperation processing apparatus. In step S <b> 101, the update processing unit 28 of the cooperation processing apparatus 10 confirms whether an update program for the program in the cooperation processing apparatus 10 exists in the program storage device 15. Here, the description will be continued assuming that the program A update program as an example of the program in the cooperation processing apparatus 10 is not present in the program storage apparatus 15.

連携機器はステップS102において、WEBメッセージを送信して、連携処理装置10に処理要求を行う。連携処理装置10のWebAPI処理部21はWebAPIによりWEBメッセージを受信する。また、WEB制御部22は受信したWEBメッセージを共通フレームワーク20で解釈できる形式のメッセージに変換する。WEB制御部22は共通フレームワーク20を利用し、ステップS103において、メッセージをメッセージ処理部29に送信する。   In step S <b> 102, the cooperation device transmits a WEB message and makes a processing request to the cooperation processing device 10. The Web API processing unit 21 of the cooperation processing apparatus 10 receives a WEB message by Web API. The WEB control unit 22 converts the received WEB message into a message that can be interpreted by the common framework 20. The WEB control unit 22 uses the common framework 20 and transmits a message to the message processing unit 29 in step S103.

ステップS104において、メッセージ処理部29はメッセージに対応した処理を実施するプログラム(アプリA)の状態をアプリ管理部27に要求する。アプリ管理部27は図7に示したようなアプリ管理テーブルからアプリAの状態を読み出し、メッセージ処理部29に返す。ここでは、アプリAの状態が稼働中であったものとして説明を続ける。   In step S <b> 104, the message processing unit 29 requests the application management unit 27 for the state of the program (application A) that performs processing corresponding to the message. The application management unit 27 reads the state of the application A from the application management table as shown in FIG. 7 and returns it to the message processing unit 29. Here, the description will be continued assuming that the state of the app A is in operation.

ステップS105において、メッセージ処理部29はメッセージを、メッセージに対応した処理を実施するアプリAに送信する。ステップS106において、アプリAは受信したメッセージに対応する必要な処理を実施する。そして、アプリAはメッセージ処理部29、WEB制御部22、WebAPI処理部21などを介して、処理結果を要求元の連携機器に通知する。   In step S105, the message processing unit 29 transmits the message to the application A that performs processing corresponding to the message. In step S106, the application A performs necessary processing corresponding to the received message. Then, the application A notifies the request source cooperation device via the message processing unit 29, the WEB control unit 22, the Web API processing unit 21, and the like.

《連携処理装置のプログラム更新時の処理》
図5に示した連携処理装置10の通常運用時の処理は、プログラム更新時、図10及び図11に示すシーケンス図のように変化する。図10及び図11は連携処理装置のプログラム更新時の処理を表した一例のシーケンス図である。
<Processing when updating the program of the cooperation processing device>
The process during normal operation of the cooperation processing apparatus 10 shown in FIG. 5 changes as shown in the sequence diagrams of FIGS. 10 and 11 when the program is updated. 10 and 11 are sequence diagrams illustrating an example of processing at the time of program update of the cooperation processing apparatus.

ステップS201において、連携処理装置10のアップデート処理部28は、連携処理装置10内のアプリAの更新プログラムであるアプリaが、プログラム保存装置15にあるかを確認する。ここでは連携処理装置10内のアプリAの更新プログラムであるアプリaが、プログラム保存装置15にあったものとして説明を続ける。   In step S <b> 201, the update processing unit 28 of the cooperation processing apparatus 10 confirms whether the application “a” that is an update program of the application A in the cooperation processing apparatus 10 exists in the program storage device 15. Here, the description will be continued assuming that the app a, which is an update program for the app A in the cooperation processing device 10, is in the program storage device 15.

ステップS202において、アップデート処理部28はアプリaをプログラム保存装置15からダウンロードする。ステップS203において、アップデート処理部28はダウンロードしたアプリaをプログラム保存部31に保存する。そして、アップデート処理部28はステップS204において、アプリaのプログラム更新通知をアプリ管理部27に対して行う。   In step S202, the update processing unit 28 downloads the app a from the program storage device 15. In step S203, the update processing unit 28 stores the downloaded application a in the program storage unit 31. In step S <b> 204, the update processing unit 28 notifies the application management unit 27 of a program update notification for the application a.

連携機器はステップS205において、WEBメッセージを送信して、連携処理装置10に処理要求を行う。連携処理装置10のWebAPI処理部21はWebAPIによりWEBメッセージを受信する。また、WEB制御部22は受信したWEBメッセージを共通フレームワーク20で解釈できる形式のメッセージに変換する。WEB制御部22は共通フレームワーク20を利用し、ステップS206において、メッセージをメッセージ処理部29に送信する。   In step S205, the cooperation device transmits a WEB message and makes a processing request to the cooperation processing apparatus 10. The Web API processing unit 21 of the cooperation processing apparatus 10 receives a WEB message by Web API. The WEB control unit 22 converts the received WEB message into a message that can be interpreted by the common framework 20. The WEB control unit 22 uses the common framework 20 and transmits a message to the message processing unit 29 in step S206.

ステップS207において、メッセージ処理部29はメッセージに対応した処理を実施するプログラム(アプリA)の状態をアプリ管理部27に要求する。アプリ管理部27は図7に示したようなアプリ管理テーブルからアプリAの状態を読み出し、メッセージ処理部29に返す。ここでは、アプリAの状態が稼働中から更新中に変更される前であったものとして説明を続ける。   In step S207, the message processing unit 29 requests the application management unit 27 for the state of the program (application A) that performs processing corresponding to the message. The application management unit 27 reads the state of the application A from the application management table as shown in FIG. 7 and returns it to the message processing unit 29. Here, the description will be continued assuming that the state of the application A was before being changed from being operated to being updated.

ステップS208において、メッセージ処理部29はメッセージを、メッセージに対応した処理を実施するアプリAに送信する。ステップS209において、アプリAは受信したメッセージに対応する必要な処理を実施する。このように、メッセージ処理部29はアプリ管理部27から後述のプログラム更新開始通知を受信する前であれば、メッセージをアプリAに送信し、アプリAに必要な処理を実施させる。   In step S208, the message processing unit 29 transmits the message to the application A that performs processing corresponding to the message. In step S209, the application A performs necessary processing corresponding to the received message. As described above, the message processing unit 29 transmits a message to the application A and causes the application A to perform processing necessary before receiving a program update start notification described later from the application management unit 27.

ステップS210において、アプリ管理部27はアプリAの状態を稼働中から更新中に変更し、メッセージ処理部29にプログラム更新開始通知を送信する。プログラム更新開始通知を受信後、メッセージ処理部29はアプリAに送信するメッセージのキューイング処理を開始する。   In step S <b> 210, the application management unit 27 changes the state of the application A from operating to updating, and transmits a program update start notification to the message processing unit 29. After receiving the program update start notification, the message processing unit 29 starts queuing processing of a message to be transmitted to the application A.

ステップS211において、アプリ管理部27はアプリAに対してプログラム更新通知を送信する。プログラム更新通知を受信したアプリAは、プログラムの更新が開始されることを把握する。この時点でアプリAはステップS208で受信したメッセージに対応する必要な処理を終了していなかったものとする。   In step S <b> 211, the application management unit 27 transmits a program update notification to the application A. The application A that has received the program update notification grasps that the program update is started. At this time, it is assumed that the application A has not finished the necessary processing corresponding to the message received in step S208.

ステップS212において、アプリAは処理を一時停止する。アプリAはステップS213において、現在処理中のデータ(データ構造)のシリアライズを行う。ステップS214において、アプリAはシリアライズしたデータを状態維持用データとしてアプリ管理部27に送信する。アプリ管理部27は、受信した状態維持用データをプログラム保存部31に保存する。   In step S212, the application A temporarily stops processing. In step S213, the application A serializes data (data structure) currently being processed. In step S214, the application A transmits the serialized data to the application management unit 27 as state maintenance data. The application management unit 27 stores the received state maintenance data in the program storage unit 31.

アプリAから受信した状態維持用データを保存すると、アプリ管理部27はステップS215においてアプリAのアンロードを行う。アプリAのアンロードが完了後、アプリ管理部27はステップS216において、旧モジュール(アプリA)を新モジュール(アプリa)と差し替える。   When the state maintenance data received from the application A is stored, the application management unit 27 unloads the application A in step S215. After the unloading of the application A is completed, the application management unit 27 replaces the old module (application A) with the new module (application a) in step S216.

ステップS217において、アプリ管理部27はアプリaを共通フレームワーク20へロードし直す。アプリaが共通フレームワーク20にロードされると、アプリ管理部27は状態維持用データをプログラム保存部31から読み出す。ステップS218においてアプリ管理部27は状態維持用データをアプリaに送信する。ステップS219においてアプリaは状態維持用データを利用し、プログラムの更新が開始される前のデータ構造を復元させる。   In step S <b> 217, the application management unit 27 reloads the application a into the common framework 20. When the application a is loaded into the common framework 20, the application management unit 27 reads state maintenance data from the program storage unit 31. In step S218, the application management unit 27 transmits the state maintenance data to the application a. In step S219, the application a uses the state maintenance data to restore the data structure before the program update is started.

ステップS220において、アプリaはデータ構造を復元したことをアプリ管理部27に通知する。ステップS221において、アプリ管理部27はプログラム更新完了通知をメッセージ処理部29に送信する。メッセージ処理部29はプログラム更新完了通知を受信することで、プログラムの更新が終了したことを把握する。なお、データ構造を復元したアプリaはステップS222において処理を再開する。   In step S220, the application a notifies the application management unit 27 that the data structure has been restored. In step S <b> 221, the application management unit 27 transmits a program update completion notification to the message processing unit 29. The message processing unit 29 receives the program update completion notification to recognize that the program update has been completed. The application “a” whose data structure has been restored restarts the processing in step S222.

プログラム更新完了通知を受信する前であるステップS223において、連携機器はWEBメッセージを送信して、連携処理装置10に処理要求を行っている。連携処理装置10のWebAPI処理部21はWebAPIによりWEBメッセージを受信する。WEB制御部22は、受信したWEBメッセージを共通フレームワーク20で解釈できる形式のメッセージに変換する。WEB制御部22は共通フレームワーク20を利用し、ステップS224において、メッセージをメッセージ処理部29に送信する。プログラム更新完了通知の受信前であるため、メッセージ処理部29は、ステップS224において受信したメッセージをキューイングする。   In step S223 before receiving the program update completion notification, the cooperation device transmits a WEB message to make a processing request to the cooperation processing device 10. The Web API processing unit 21 of the cooperation processing apparatus 10 receives a WEB message by Web API. The WEB control unit 22 converts the received WEB message into a message that can be interpreted by the common framework 20. The WEB control unit 22 uses the common framework 20 and transmits a message to the message processing unit 29 in step S224. Since the program update completion notification has not been received, the message processing unit 29 queues the message received in step S224.

ステップS226において、アプリaはステップS208で受信したメッセージに対応する必要な処理を終了し、メッセージ処理部29、WEB制御部22、WebAPI処理部21などを介して、処理結果を要求元の連携機器に通知する。   In step S226, the application “a” ends the necessary processing corresponding to the message received in step S208, and the processing result is transmitted to the requesting cooperative device via the message processing unit 29, the WEB control unit 22, the WebAPI processing unit 21, and the like. Notify

ステップS227に進み、メッセージ処理部29はメッセージキューにキューイングしておいたメッセージを順次、デキューし、アプリaに送信する。アプリaはステップS228において、受信したメッセージに対応する必要な処理を実施する。そして、アプリaはメッセージ処理部29、WEB制御部22、WebAPI処理部21などを介して、処理結果を要求元の連携機器に通知する。   In step S227, the message processing unit 29 sequentially dequeues the messages queued in the message queue and transmits them to the application a. In step S228, the application a performs necessary processing corresponding to the received message. Then, the app a notifies the request source linkage device of the processing result via the message processing unit 29, the WEB control unit 22, the Web API processing unit 21, and the like.

本実施形態に係る情報処理システム1は連携処理装置10がプログラム保存装置15に更新プログラムがあるかを定期的に確認しているが、プログラム保存装置15から連携処理装置10に通知することも可能である。本実施形態に係る情報処理システム1の構成は一例であり、用途や目的に応じて様々なシステム構成例があることは言うまでもない。   The information processing system 1 according to the present embodiment periodically checks whether the cooperation processing apparatus 10 has an update program in the program storage apparatus 15, but can also notify the cooperation processing apparatus 10 from the program storage apparatus 15. It is. The configuration of the information processing system 1 according to the present embodiment is an example, and it goes without saying that there are various system configuration examples depending on the application and purpose.

<まとめ>
連携処理装置10は様々な端末装置16や電子機器17等の連携機器を連携させることにより利用価値の向上が期待される一方、連携機器の数の増加により、システム全体としての保守性・信頼性・可用性に与える影響が大きくなっている。また、連携処理装置10に搭載されるソフトウェアは技術力の向上や顧客要求の高まりにより、機能追加や修正のためのプログラム更新のサイクルが短くなっている。従来はソフトウェアを更新するために情報処理システム1全体の動作を停止させる必要があり、ユーザにとって利便性がよくなかった。
<Summary>
The cooperation processing device 10 is expected to improve the utility value by linking various cooperation devices such as the terminal device 16 and the electronic device 17. On the other hand, the increase in the number of cooperation devices increases the maintainability and reliability of the entire system.・ The impact on availability is increasing. In addition, the software installed in the cooperation processing apparatus 10 has a short program update cycle for function addition and correction due to improvement in technical capabilities and customer demand. Conventionally, it is necessary to stop the operation of the entire information processing system 1 in order to update software, which is not convenient for the user.

本実施形態の情報処理システム1はソフトウェアを更新するために情報処理システム1全体の動作を停止させる必要がない。したがって、本実施形態の情報処理システム1はプログラム更新の短いサイクルに対応したとしても、ユーザにとっての利便性を欠くこともない。   The information processing system 1 of the present embodiment does not need to stop the operation of the entire information processing system 1 in order to update the software. Therefore, even if the information processing system 1 of this embodiment is compatible with a short program update cycle, it does not lack convenience for the user.

本実施形態に係る情報処理システム1は更新中のソフトウェアへのメッセージの受け付けを継続できる。また、本実施形態に係る情報処理システム1は更新したソフトウェアのデータ構造を更新が開始される前のデータ構造に復元できる。したがって、本実施形態に係る情報処理システム1によれば情報処理システム1全体の動作を停止させることなく稼働中のソフトウェアを更新できる。   The information processing system 1 according to the present embodiment can continue to accept messages to the software being updated. Further, the information processing system 1 according to the present embodiment can restore the data structure of the updated software to the data structure before the update is started. Therefore, according to the information processing system 1 according to the present embodiment, the operating software can be updated without stopping the operation of the entire information processing system 1.

本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載したソフトウェア管理手段はアプリ管理部27に相当する。また、処理要求送信手段はメッセージ処理部29に相当する。更新前のソフトウェアの動作内容を保持したデータは状態維持用データに相当する。ソフトウェア保存装置はプログラム保存装置15に相当する。更新処理手段はアップデート処理部28に相当する。   The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims. The software management means described in the claims corresponds to the application management unit 27. The processing request transmission unit corresponds to the message processing unit 29. Data holding the operation content of the software before update corresponds to state maintenance data. The software storage device corresponds to the program storage device 15. The update processing means corresponds to the update processing unit 28.

1 情報処理システム
10 連携処理装置
11 PC
12 携帯端末
13 複合機(Multi Function Peripheral:MFP)
14 プロジェクタ
15 プログラム保存装置
20 共通フレームワーク
21 WebAPI処理部
22 WEB制御部
23 認証処理部
24 画像処理部
25 設定情報管理部
26 データ管理部
27 アプリ管理部
28 アップデート処理部
29 メッセージ処理部
30 データ保存部
31 プログラム保存部
32 メッセージ保存部
100 コンピュータシステム
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 RAM
105 ROM
106 CPU
107 通信I/F
108 HDD
B バス
N1 ネットワーク
DESCRIPTION OF SYMBOLS 1 Information processing system 10 Cooperation processing apparatus 11 PC
12 Mobile Terminal 13 Multi Function Peripheral (MFP)
DESCRIPTION OF SYMBOLS 14 Projector 15 Program storage apparatus 20 Common framework 21 WebAPI processing part 22 WEB control part 23 Authentication processing part 24 Image processing part 25 Setting information management part 26 Data management part 27 Application management part 28 Update processing part 29 Message processing part 30 Data preservation | save Unit 31 Program storage unit 32 Message storage unit 100 Computer system 101 Input device 102 Display device 103 External I / F
103a Recording medium 104 RAM
105 ROM
106 CPU
107 Communication I / F
108 HDD
B bus N1 network

特開2006−119848号公報Japanese Patent Laid-Open No. 2006-119848

Claims (7)

連携機器と接続され、前記連携機器からの処理要求を受け付けて処理を実行する連携処理装置であって、
前記処理要求に対応した処理を実施するソフトウェアと、
前記ソフトウェアの管理を行うソフトウェア管理手段と、
前記連携機器からの処理要求を前記ソフトウェアに送信して処理を実施させる処理要求送信手段と
を有し、
前記ソフトウェア管理手段は、前記ソフトウェアが更新中の間、前記連携機器からの処理要求を前記処理要求送信手段に保管させ、更新前の前記ソフトウェアの動作内容を保持したデータを取得した上で、更新後の前記ソフトウェアを起動して、更新後の前記ソフトウェアに更新前の前記ソフトウェアの動作内容を復元させ、前記ソフトウェアの更新を完了させること
を特徴とする連携処理装置。
A cooperation processing apparatus that is connected to a cooperation device, receives a processing request from the cooperation device, and executes a process.
Software for performing processing corresponding to the processing request;
Software management means for managing the software;
Processing request transmission means for transmitting a processing request from the cooperation device to the software and performing processing;
The software management means, while the software is being updated, causes the processing request from the cooperation device to be stored in the processing request transmission means, obtains data holding the operation content of the software before the update, A cooperative processing apparatus, wherein the software is activated, causes the updated software to restore the operation content of the software before the update, and completes the update of the software.
前記処理要求送信手段は、前記ソフトウェアの更新中の間に保管した前記連携機器からの処理要求を、前記ソフトウェアの更新が完了した後で、順次、前記ソフトウェアに送信して処理を実施させること
を特徴とする請求項1記載の連携処理装置。
The processing request transmission means is configured to transmit processing requests from the cooperation device stored during the software update to the software sequentially after the software update is completed. The cooperation processing apparatus according to claim 1.
更新前の前記ソフトウェアは前記ソフトウェア管理手段から更新通知を受け付けると処理を一時停止し、更新前の前記ソフトウェアの動作内容を保持したデータを生成して前記ソフトウェア管理手段に送信すること
を特徴とする請求項1又は2記載の連携処理装置。
When the software before update receives an update notification from the software management unit, the software temporarily stops processing, generates data holding the operation content of the software before update, and transmits the data to the software management unit The cooperation processing apparatus according to claim 1 or 2.
更新後の前記ソフトウェアは、更新前の前記ソフトウェアの動作内容を保持したデータを前記ソフトウェア管理手段から受信し、更新前の前記ソフトウェアの動作内容を復元すること
を特徴とする請求項3記載の連携処理装置。
4. The cooperation according to claim 3, wherein the updated software receives data holding the operation content of the software before the update from the software management unit, and restores the operation content of the software before the update. Processing equipment.
ソフトウェア保存装置から更新後の前記ソフトウェアを取得し、前記ソフトウェア管理手段に、更新前の前記ソフトウェアから更新後の前記ソフトウェアへの更新を要求する更新処理手段を更に有すること
を特徴とする請求項1乃至4何れか一項記載の連携処理装置。
The update processing means for acquiring the updated software from a software storage device and requesting the software management means to update the software before the update from the software before the update. The cooperation processing apparatus as described in any one of thru | or 4.
連携機器と接続され、前記連携機器からの処理要求を受け付けて処理を実行する連携処理装置を、
前記処理要求に対応した処理を実施するソフトウェア、
前記ソフトウェアの管理を行うソフトウェア管理手段、
前記連携機器からの処理要求を前記ソフトウェアに送信して処理を実施させる処理要求送信手段
として機能させ、
前記ソフトウェア管理手段は、前記ソフトウェアが更新中の間、前記連携機器からの処理要求を前記処理要求送信手段に保管させ、更新前の前記ソフトウェアの動作内容を保持したデータを取得した上で、更新後の前記ソフトウェアを起動して、更新後の前記ソフトウェアに更新前の前記ソフトウェアの動作内容を復元させ、前記ソフトウェアの更新を完了させること
を特徴とするプログラム。
A cooperation processing apparatus that is connected to a cooperation device and receives a processing request from the cooperation device and executes a process.
Software for performing processing corresponding to the processing request;
Software management means for managing the software;
Function as processing request transmission means for transmitting a processing request from the cooperation device to the software and performing processing;
The software management means, while the software is being updated, causes the processing request from the cooperation device to be stored in the processing request transmission means, obtains data holding the operation content of the software before the update, A program that activates the software, causes the updated software to restore the operation content of the software before the update, and completes the update of the software.
連携機器と接続され、前記連携機器からの処理要求を受け付けて処理を実行する連携処理装置におけるソフトウェア更新方法であって、
前記連携処理装置は、
前記処理要求に対応した処理を実施するソフトウェアと、
前記ソフトウェアの管理を行うソフトウェア管理手段と、
前記連携機器からの処理要求を前記ソフトウェアに送信して処理を実施させる処理要求送信手段と
を有し、
前記ソフトウェア管理手段が、前記ソフトウェアが更新中の間、前記連携機器からの処理要求を前記処理要求送信手段に保管させるステップと、
更新前の前記ソフトウェアの動作内容を保持したデータを取得した上で、更新後の前記ソフトウェアを起動するステップと、
更新後の前記ソフトウェアに更新前の前記ソフトウェアの動作内容を復元させ、前記ソフトウェアの更新を完了させるステップと
を有することを特徴とするソフトウェア更新方法。
A software update method in a cooperation processing apparatus that is connected to a cooperation device and receives a processing request from the cooperation device and executes a process,
The cooperation processing device
Software for performing processing corresponding to the processing request;
Software management means for managing the software;
Processing request transmission means for transmitting a processing request from the cooperation device to the software and performing processing;
The software management means storing the processing request from the cooperation device in the processing request transmission means while the software is being updated;
After obtaining data holding the operation content of the software before update, starting the software after update;
And a step of restoring the operation content of the software before the update to the software after the update and completing the update of the software.
JP2013052502A 2013-03-14 2013-03-14 Cooperation processor, program and software updating method Pending JP2014178893A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013052502A JP2014178893A (en) 2013-03-14 2013-03-14 Cooperation processor, program and software updating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013052502A JP2014178893A (en) 2013-03-14 2013-03-14 Cooperation processor, program and software updating method

Publications (1)

Publication Number Publication Date
JP2014178893A true JP2014178893A (en) 2014-09-25

Family

ID=51698769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013052502A Pending JP2014178893A (en) 2013-03-14 2013-03-14 Cooperation processor, program and software updating method

Country Status (1)

Country Link
JP (1) JP2014178893A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017076952A (en) * 2015-10-14 2017-04-20 株式会社リコー Apparatus management device, apparatus management system, apparatus management method, and program
JP2018129006A (en) * 2017-02-10 2018-08-16 日本電信電話株式会社 Communication device, component switching method, and computer program
JP2018523871A (en) * 2015-08-03 2018-08-23 アリババ グループ ホウルディング リミテッド Method and apparatus for facilitating a software update process over a network
JP2020013441A (en) * 2018-07-20 2020-01-23 Necプラットフォームズ株式会社 Communication control device, communication control system, communication system, communication control method, and control program
JP2021121056A (en) * 2020-01-30 2021-08-19 ソフトバンク株式会社 Terminal device, update method, and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018523871A (en) * 2015-08-03 2018-08-23 アリババ グループ ホウルディング リミテッド Method and apparatus for facilitating a software update process over a network
JP2017076952A (en) * 2015-10-14 2017-04-20 株式会社リコー Apparatus management device, apparatus management system, apparatus management method, and program
JP2018129006A (en) * 2017-02-10 2018-08-16 日本電信電話株式会社 Communication device, component switching method, and computer program
JP2020013441A (en) * 2018-07-20 2020-01-23 Necプラットフォームズ株式会社 Communication control device, communication control system, communication system, communication control method, and control program
JP2021121056A (en) * 2020-01-30 2021-08-19 ソフトバンク株式会社 Terminal device, update method, and program

Similar Documents

Publication Publication Date Title
US10430135B2 (en) Relay apparatus, information processing apparatus, information processing system, and recording medium storing information processing
JP6364738B2 (en) Information processing system, information processing apparatus, program, and process execution method
US8760692B2 (en) System, apparatus, method, and computer program for information processing resource adjustment
US10114940B2 (en) Information processing system, information processing apparatus, and information processing method
US20100225966A1 (en) System and method for printing using a document conversion server
JP6488673B2 (en) Information processing apparatus, program, information management method, information processing system
JP6064592B2 (en) Printing system, printing method, image forming apparatus, and control device
JP2014178893A (en) Cooperation processor, program and software updating method
JP6848340B2 (en) Information processing system, update method, information processing device and program
JP2013225285A (en) Information processing device, information processing method, and program
JP2015084209A (en) Information processing system, program, authentication method, and portable terminal
US9141321B1 (en) Configurable printer server device
JP6801265B2 (en) Service provision system, information processing device, program, information processing system and cooperative processing method
JP2007323653A (en) Data delivery system, data delivery method and data delivery program
US9323907B2 (en) Distribution apparatus, device, control method for distribution apparatus, and storage medium
US20170078509A1 (en) Information processing system and information processing method
US10291743B2 (en) Configuring service endpoints in native client applications
JP2015153117A (en) document generation system
JP2014220768A (en) Service providing system and service providing method
EP2302512A1 (en) Integration and management apparatus, integration and management system and computer readable information recording medium
JP6999534B2 (en) Information processing equipment, programs and information management methods
JP6089825B2 (en) Information processing system and data input method
JP2018041432A (en) Information processing system, information processing device and program
JP6337532B2 (en) Information processing system and information processing method
JP6863128B2 (en) Information processing equipment, information processing systems and programs