JP2008146250A - Update system, update method, and program - Google Patents

Update system, update method, and program Download PDF

Info

Publication number
JP2008146250A
JP2008146250A JP2006331053A JP2006331053A JP2008146250A JP 2008146250 A JP2008146250 A JP 2008146250A JP 2006331053 A JP2006331053 A JP 2006331053A JP 2006331053 A JP2006331053 A JP 2006331053A JP 2008146250 A JP2008146250 A JP 2008146250A
Authority
JP
Japan
Prior art keywords
update
program
subsystem
network
updating
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
JP2006331053A
Other languages
Japanese (ja)
Inventor
Masaru Okazaki
大 岡▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006331053A priority Critical patent/JP2008146250A/en
Publication of JP2008146250A publication Critical patent/JP2008146250A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

<P>PROBLEM TO BE SOLVED: To perform update of a system which can be prevented from becoming a hinderance to the use of a user while suppressing the power consumption of remotely controlled equipment connected to a network. <P>SOLUTION: This equipment is configured to independently manage the power sources of a network communication subsystem and the other system parts. The network communication sub-system itself interprets a TCP or UDP header, and discriminates a protocol which can be processed only by the communication sub-system and a protocol which is processed by the system part. Furthermore, the communication sub-system itself confirms the operating state of the system part, and acquires data including an update program in a proper timing, and performs the update of the system part. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、システムを構成する主たる部分とは独立に動作するネットワーク通信機能を持つサブシステムを用いてシステムをアップデートする技術に関するものである。   The present invention relates to a technology for updating a system using a subsystem having a network communication function that operates independently of a main part constituting the system.

近年の機器のネットワーク対応に伴い、操作者が遠隔地に置かれた機器に対して操作を行い、機器の制御を行うケースが増えてきた。   Along with the recent networking of devices, there are increasing cases in which an operator operates a device placed at a remote place and controls the device.

例えば監視用途のネットワークカメラの場合、屋内、屋外、公共スペースなど、電源が確保でき、ネットワークに接続できる環境であれば、どこでも設置することが可能である。これらの多くはWANまたはLANに接続することで、TCP/IP通信を行い、別の場所で接続されたTCP/IP機器からの操作要求を受け付け、動作する。   For example, in the case of a network camera for surveillance purposes, it can be installed anywhere, such as indoors, outdoors, and public spaces, as long as the power source can be secured and can be connected to the network. Many of these perform TCP / IP communication by connecting to a WAN or LAN, accepting an operation request from a TCP / IP device connected at another location, and operating.

このような機器については、悪意のあるネットワークを通じた攻撃に対処したり、その他の機能の追加を行うためにも、システムソフトウェアのアップデートする機能が要求され、その方法についても多くの提案がされている。   For such devices, a function to update system software is required in order to cope with attacks through malicious networks and to add other functions, and many proposals have been made for how to do so. Yes.

例えば、ダウンロードしたプログラムをRAMに展開しておく。そして、この展開したRAMからプログラムを起動し、アップデートしたプログラムが正常に動作することを確認した後に機器内部のフラッシュメモリに書き込む方法(例えば、特許文献1参照)が提案されている。   For example, the downloaded program is expanded in the RAM. Then, a method has been proposed in which a program is started from the expanded RAM, and after the updated program is confirmed to operate normally, the program is written to the flash memory inside the device (see, for example, Patent Document 1).

特開平11−298550号公報Japanese Patent Laid-Open No. 11-298550

しかしながら、ネットワークに接続された機器においても、動作する必要がない場合には電力消費を抑えるために動作を停止させることが望ましく、一方で、動作が停止している場合には外部からのソフトウェアアップデート要求に応えることができない。   However, even in devices connected to the network, it is desirable to stop the operation in order to reduce power consumption when it is not necessary to operate. On the other hand, when the operation is stopped, an external software update Can't meet the demand.

そこで、本発明の目的は、このようにネットワークに接続された機器に対して、無駄な電力消費を抑えつつも、時間的に余裕のある時にシステムのソフトウェアアップデートを行うことにある。   Therefore, an object of the present invention is to update the system software when there is a sufficient time while suppressing wasteful power consumption for the devices connected to the network in this way.

本発明のアップデートシステムは、システムを構成する主たる部分とは独立に電源管理されたネットワーク通信機能をもつアップデートシステムにおいて、TCP又はUDPのポート番号を検出する手段と、前記ポート番号によりサブシステムで処理を行うか、システム部で処理を行うかを決定する手段とを有し、前記サブシステムは、ネットワークを通じて外部機器からのシステムアップデート要求を判別する手段と、ネットワークを通じてアップデートするためのプログラムを含むデータを取得する手段とを有することを特徴とする。
本発明のアップデート方法は、システムを構成する主たる部分とは独立に電源管理されたネットワーク通信機能をもつアップデート方法において、TCP又はUDPのポート番号を検出する工程と、前記ポート番号によりサブシステムで処理を行うか、システム部で処理を行うかを決定する工程とを含み、前記サブシステムは、ネットワークを通じて外部機器からのシステムアップデート要求を判別する工程と、ネットワークを通じてアップデートするためのプログラムを含むデータを取得する工程とを含むことを特徴とする。
The update system of the present invention is a system for detecting a TCP or UDP port number in an update system having a network communication function in which power management is performed independently of the main part constituting the system, and processing by a subsystem based on the port number The subsystem determines whether to perform processing in the system unit, and the subsystem includes means for determining a system update request from an external device through the network, and data including a program for updating through the network And a means for acquiring.
The update method of the present invention includes a step of detecting a TCP or UDP port number in the update method having a network communication function in which power management is performed independently of a main part constituting the system, and processing by a subsystem based on the port number. And determining whether to perform processing in the system unit, wherein the subsystem includes a step of determining a system update request from an external device through the network, and data including a program for updating through the network. And a step of acquiring.

本発明によれば、1つのシステムを通信サブシステム部とその他のシステム部に分離し、独立して電源管理することで、電力消費の大きなシステム部は稼動させる必要がなければ電源を切断する。サブシステム部だけ稼動させてネットワークからの稼動要求を常時監視することで、無駄な電力消費を抑えることができる。また、システム部の処理負荷が大きな場合においても、通信処理に関しては,定常的に性能を確保することができる。   According to the present invention, one system is separated into a communication subsystem unit and other system units, and power management is performed independently, so that a system unit with high power consumption is turned off when it is not necessary to operate it. By operating only the subsystem unit and constantly monitoring operation requests from the network, wasteful power consumption can be suppressed. In addition, even when the processing load on the system unit is large, it is possible to constantly ensure performance with respect to communication processing.

また、TCPまたはUDPのポート番号を検出、判別し、通信システム部のみで処理が可能な通信内容については、システム部を介在する必要性がなく、システム部の電源や負荷の状態によらずに、処理を完遂することができる。   In addition, it is not necessary to intervene in the system unit for communication contents that can be detected and discriminated by the TCP or UDP port number and processed only by the communication system unit, regardless of the state of the power supply or load of the system unit. , Can complete the process.

また、通信サブシステム部が外部機器からのアップデート要求を判別し、通信サブシステム部は、外部機器から直接アップデートするためのデータを受信したり、アップデートデータの格納されている位置のみを通信により取得し、保持しておく。これにより、システムの稼動状況により、アップデートを行なうタイミングを制御することができ、稼動中のシステムに対しては影響を及ぼさないタイミングでシステムのアップデートを行なうことができる。   In addition, the communication subsystem section determines the update request from the external device, and the communication subsystem section receives data for direct update from the external device or acquires only the location where the update data is stored by communication. And keep it. Thereby, the update timing can be controlled according to the operating status of the system, and the system can be updated at a timing that does not affect the operating system.

(第1の実施形態)
以下、図1〜6に基づき、本発明の実施形態に係るシステムのアップデートシステム及びアップデート方法について説明する。
(First embodiment)
The system update system and update method according to the embodiment of the present invention will be described below with reference to FIGS.

本実施形態においては、システムのアップデート手段および方法の適用例として、ネットワークに接続される動画カメラ(以下、ネットワークカメラ)を用いて説明する。   In this embodiment, as an application example of the system update means and method, a description will be given using a moving image camera (hereinafter referred to as a network camera) connected to a network.

図1は本実施形態のネットワークカメラのハードウェア構成を表すブロック図である。本実施形態のネットワークカメラは大きく分けて、破線100と破線110で囲まれた領域により構成され、それぞれ、カメラシステム部(100)と通信サブシステム(110)であり、それぞれを個別に電源の投入、切断を制御できる。   FIG. 1 is a block diagram showing the hardware configuration of the network camera of this embodiment. The network camera according to the present embodiment is roughly divided into areas surrounded by a broken line 100 and a broken line 110, which are a camera system unit (100) and a communication subsystem (110), respectively. Can control the cutting.

カメラシステム部(100)は、CPU101、読み込み専用メモリ102(フラッシュROM)、ランダムアクセスメモリ103(RAM)及びレンズを含む。CPU101は、システム全体を制御する。読み込み専用メモリ102は、プログラムや頻繁には書き換えないデータを保持する。ランダムアクセスメモリ103は、プログラムや実行時のデータを読み書きする。   The camera system unit (100) includes a CPU 101, a read-only memory 102 (flash ROM), a random access memory 103 (RAM), and a lens. The CPU 101 controls the entire system. The read-only memory 102 holds programs and data that are not frequently rewritten. The random access memory 103 reads and writes programs and data at the time of execution.

これは、撮像部104、画像処理部105、ペリフェラル106及びシステムバス107から成る。撮像部104は、光を電気信号に変換し、更に電気信号をデジタルデータに変換する。画像処理部105は、撮像部104において取得したデジタルデータからノイズを除去したり色味の調整を行い、画像圧縮を行う。ペリフェラル106は、取得した画像を保存しておくための二次記憶装置等を含む。システムバス107は、これらのデータの送受信や制御を行う。   This includes an imaging unit 104, an image processing unit 105, a peripheral 106, and a system bus 107. The imaging unit 104 converts light into an electrical signal, and further converts the electrical signal into digital data. The image processing unit 105 removes noise from the digital data acquired by the imaging unit 104 and adjusts the color to perform image compression. The peripheral 106 includes a secondary storage device for storing the acquired image. The system bus 107 performs transmission / reception and control of these data.

プログラムの起動は通常、一度フラッシュROM102からRAM103にコピーし、実行プログラムはRAM103上で実行される。   Normally, the program is once copied from the flash ROM 102 to the RAM 103 and the execution program is executed on the RAM 103.

通信サブシステム110は、通信制御部111、ランダムアクセスメモリ(ローカルRAM)112、プロトコル処理部113、通信サブシステム内部バス114及びバスブリッジ115により構成される。通信制御部111は、TCP/IPヘッダの中身を解釈し、TCPのハンドシェイクを行う等、通信パケットの送受信を制御する。ランダムアクセスメモリ(ローカルRAM)112は、通信サブシステムで専用に使うことのできるメモリである。プロトコル処理部113は、通信制御部111で受信したパケットを解釈し、その後の内部処理を行う。通信サブシステム内部バス114は、これらのデータの送受信を行う。バスブリッジ115は、システムバス107と通信サブシステム内部バス114を接続する。   The communication subsystem 110 includes a communication control unit 111, a random access memory (local RAM) 112, a protocol processing unit 113, a communication subsystem internal bus 114, and a bus bridge 115. The communication control unit 111 controls transmission / reception of communication packets by interpreting the contents of the TCP / IP header and performing a TCP handshake. The random access memory (local RAM) 112 is a memory that can be used exclusively by the communication subsystem. The protocol processing unit 113 interprets the packet received by the communication control unit 111 and performs subsequent internal processing. The communication subsystem internal bus 114 transmits and receives these data. The bus bridge 115 connects the system bus 107 and the communication subsystem internal bus 114.

図には示していないが,本実施形態においては、通信サブシステム110からカメラシステム部100のCPU101のリセットを解除する手段を有するものとする。   Although not shown in the figure, in this embodiment, it is assumed that the communication subsystem 110 has means for canceling the reset of the CPU 101 of the camera system unit 100.

プロトコル処理部113は、ハードウェアにより構成しても良いし、プログラムの一部をローカルRAM112においてこれを逐次読みながら実行を行うCPUで構成しても良い。   The protocol processing unit 113 may be configured by hardware, or may be configured by a CPU that executes a part of the program while reading it sequentially in the local RAM 112.

一般的なネットワークカメラにおいては、通信処理は、カメラシステム部100のCPUにおいて行う場合が多い。本実施形態のように、通信制御に特化した構成を追加することで、カメラシステムの動作や通信動作それぞれが高速化される効果がある。近年の通信インフラの通信速度向上に伴い、複数の動画ストリームの処理を行うために、このような構成をとるネットワークカメラは今後増えると思われる。   In a general network camera, communication processing is often performed by the CPU of the camera system unit 100. By adding a configuration specialized for communication control as in this embodiment, there is an effect of speeding up the operation of the camera system and the communication operation. With the recent improvement in communication speed of communication infrastructure, it is expected that the number of network cameras having such a configuration will increase in the future in order to process a plurality of video streams.

本実施形態においては、通信サブシステムにおいて図2に示した階層で処理を行う。
通信パケットのうち、IP層に該当する処理をIP処理部201で行い、TCP層に該当する処理をTCP処理部202において行う。
In the present embodiment, processing is performed in the hierarchy shown in FIG. 2 in the communication subsystem.
Of the communication packets, processing corresponding to the IP layer is performed by the IP processing unit 201, and processing corresponding to the TCP layer is performed by the TCP processing unit 202.

これらIP処理部201、TCP処理部202は、図1の通信制御部111に該当する。また、プロトコル処理部113においては、本実施形態のネットワークカメラの通信サブシステムのみで処理できる通信内容であるかどうかを判別する。通信サブシステムのみで処理ができないものに関しては、ソケット処理部203(a)からシステム部にデータを転送し、通信サブシステムのみで処理できる内容についてはプロトコル処理部203で処理を行う。   The IP processing unit 201 and the TCP processing unit 202 correspond to the communication control unit 111 in FIG. Further, the protocol processing unit 113 determines whether or not the communication content can be processed only by the communication subsystem of the network camera of the present embodiment. Data that cannot be processed only by the communication subsystem is transferred from the socket processing unit 203 (a) to the system unit, and contents that can be processed only by the communication subsystem are processed by the protocol processing unit 203.

本実施形態において,ソフトウェアのアップデート処理については、ソフトウェア更新処理部203(b)において行う。   In the present embodiment, software update processing is performed by the software update processing unit 203 (b).

図3にソフトウェアのアップデート処理の流れを示す。
まず、通信サブシステムがネットワークを通じて外部からTCPまたはUDPのコネクション要求を受信すると(s301)、ヘッダを解析して接続を要求されたポート番号を検出する(s302)。
FIG. 3 shows the flow of software update processing.
First, when the communication subsystem receives a TCP or UDP connection request from the outside through the network (s301), it analyzes the header and detects the port number for which connection is requested (s302).

このポート番号がソフトウェア更新処理を行うためのポート番号でなければ(s303)、受信処理を行ったのち、システム側へソケットを通じてデータを転送し(s306)、システム側で処理を行う。   If this port number is not a port number for performing software update processing (s303), after performing reception processing, data is transferred to the system side through a socket (s306), and processing is performed on the system side.

一方、s303において、ソフトウェア更新処理を行うポート番号と判定した場合は、システムアップデート処理を行う(s304)。   On the other hand, if it is determined in s303 that the port number is to be subjected to software update processing, system update processing is performed (s304).

次に、システムアップデート処理(s304)の流れについて図4を用いて説明する。   Next, the flow of the system update process (s304) will be described with reference to FIG.

まず、通信コネクションが張られた状態で、アップデートするためのプログラムを含むアップデートデータを格納した位置(URL)を、外部機器であるアップデート要求側から受信する(s401)。そして、アップデートデータを格納した位置を通信サブシステムが保持する(s402)。   First, in a state where a communication connection is established, a location (URL) storing update data including a program for updating is received from the update request side which is an external device (s401). Then, the communication subsystem holds the position where the update data is stored (s402).

次に、s403で、アップデート可能になるまで待つ。アップデートが可能であるか否かは、通信サブシステムがシステム部と通信を行って決定する。システム部は、実際に撮影中である場合はアップデート不可能であり、撮影が停止した時点で、システムアップデートを許可する。   Next, in s403, the process waits until update is possible. Whether the update is possible is determined by the communication subsystem communicating with the system unit. The system unit cannot update when the shooting is actually being performed, and permits the system update when the shooting is stopped.

この時点で、システム部の動作は停止する。通信サブシステムは、システムアップデートが可能になったら、s402で保持したアップデートデータ位置のアップデートデータの受信要求を行い(s404)、アップデートデータの受信を行う(s405)。   At this point, the operation of the system unit stops. When the system update is possible, the communication subsystem makes a request to receive update data at the update data position held in s402 (s404), and receives the update data (s405).

アップデートデータの受信が終了したら、データ(プログラム)をRAM103に展開し、蓄積する(s406)。   When the reception of the update data is completed, the data (program) is expanded and stored in the RAM 103 (s406).

次に、通信サブシステムは、システムのCPUをリセットし(s407)、s406でRAMに展開したプログラムを実行し(s408)、実行が正常かどうかをプログラムが自己判定する(s409)。正常であれば、プログラムflashROM102に書き込んで(s410)、アップデートを終了する。   Next, the communication subsystem resets the CPU of the system (s407), executes the program expanded in the RAM in s406 (s408), and the program self-determines whether the execution is normal (s409). If it is normal, it is written in the program flash ROM 102 (s410), and the update is terminated.

s409において、プログラムによる動作チェックが失敗した場合には、アップデート失敗とし、従来から用いているフラッシュROMに書き込まれているプログラムを用いてシステムを起動する(s411)。   If the operation check by the program fails in s409, it is determined that the update has failed, and the system is started up using the program written in the flash ROM used conventionally (s411).

次に、図5を用いて、本実施形態のネットワークカメラのアップデートを行うための通信シーケンスについて説明する。これは、図4で説明したs401からs405に相当する。   Next, a communication sequence for updating the network camera of this embodiment will be described with reference to FIG. This corresponds to s401 to s405 described in FIG.

本実施形態のネットワークカメラ520の繋がったネットワーク上に、アップデートの要求を行う操作機521とファイルサーバ522が存在しているものとする。   Assume that an operating device 521 and a file server 522 that make an update request exist on a network to which the network camera 520 of the present embodiment is connected.

まず、操作機521からネットワークカメラ520に対して、予め決められたシステムアップデートに該当するポート番号を指定して接続要求を行う(s501)。   First, the controller 521 makes a connection request to the network camera 520 by designating a port number corresponding to a predetermined system update (s501).

ネットワークカメラ520は接続応答をし(s502)、操作機521はネットワークカメラ520が現在動作しているソフトウェアのバージョンの要求を行う(s503)。ネットワークカメラ520がバージョン番号を操作機521に送信する(s504)。操作機はこれからアップデートしようとするソフトウェアのバージョンとs504で取得したネットワークカメラの現在のバージョンが異なれば、新しいアップデートデータ(プログラムを含む)の位置を示すURLと共に、アップデートの要求を行う(s505)。   The network camera 520 makes a connection response (s502), and the controller 521 requests a version of software on which the network camera 520 is currently operating (s503). The network camera 520 transmits the version number to the controller 521 (s504). If the version of the software to be updated is different from the current version of the network camera acquired in s504, the operating device requests an update together with a URL indicating the location of new update data (including the program) (s505).

ネットワークカメラはこのアップデート要求を受信し、応答を返し(s506)、操作機521とのコネクションを切断する。   The network camera receives this update request, returns a response (s506), and disconnects the connection with the controller 521.

次に、ネットワークカメラはアップデートを行うタイミングで、s505で取得したアップデートデータの格納されているファイルサーバ522に対し、接続要求を行う(s507)。   Next, the network camera issues a connection request to the file server 522 in which the update data acquired in s505 is stored at the timing of updating (s507).

このときは、実際にデータを受け取るためにFTPやHTTPのような標準的なデータ転送を行うプロトコルでの接続を行う。標準的なプロトコルで接続した後は,ファイルサーバ522とネットワークカメラ520の通信内容は、接続した通信プロトコルに従ってデータを受信する(s508〜s513)。   At this time, in order to actually receive data, connection is performed using a protocol that performs standard data transfer such as FTP or HTTP. After the connection with the standard protocol, the communication contents between the file server 522 and the network camera 520 receive data according to the connected communication protocol (s508 to s513).

次に、システム部がリセットされた後(s407)の起動の動作について図6を用いて説明する。   Next, the startup operation after the system unit is reset (s407) will be described with reference to FIG.

システム部はリセットがかかると、ROM上のローダプログラムを起動し(s601)、通信サブシステムは既に動作しているかどうかチェックする(s602)。   When the system unit is reset, the loader program on the ROM is activated (s601), and it is checked whether the communication subsystem is already operating (s602).

通信サブシステムが動作していなければ、通常のコールドブートと認識し、ROM上のプログラムをRAMに配置しなおし(s603)、RAM上のプログラムに制御を移し、実行する(s604)。   If the communication subsystem is not operating, it is recognized as a normal cold boot, the program on the ROM is rearranged in the RAM (s603), control is transferred to the program on the RAM and executed (s604).

コールドブートの場合は、通信サブシステムを初期化して(s606)、起動シーケンスを終了する。   In the case of cold boot, the communication subsystem is initialized (s606), and the activation sequence is terminated.

s602で通信サブシステムが既に動作していた場合には、通信サブシステムにアップデートプログラムが存在するかどうかを問い合わせる。アップデートプログラムがなければ、s603を実行し、通常のコールドブートと同様にROMのプログラムをRAMに配置して起動を行なう。   If the communication subsystem has already been operated in s602, an inquiry is made as to whether an update program exists in the communication subsystem. If there is no update program, s603 is executed, and the ROM program is placed in the RAM and activated in the same manner as in a normal cold boot.

ただし、s605に示されるように、通信サブシステムの初期化を行なう必要はない。   However, as shown in s605, there is no need to initialize the communication subsystem.

s607においてアップデートプログラムが存在していた場合、アップデートプログラムの配置場所を通信サブシステムに確認する(s608)。そして、ローダプログラムからアップデートプログラムに制御を移し、アップデートプログラムを実行する(s609)。   If there is an update program in s607, the location of the update program is confirmed with the communication subsystem (s608). Then, control is transferred from the loader program to the update program, and the update program is executed (s609).

アップデートプログラムには、プログラムの動作の有効性を判定する機能(s610)をもち、有効であると判定した場合には、アップデートプログラムをフラッシュROMに書き込んで(s611)、起動シーケンスを終了する。   The update program has a function (s610) for determining the validity of the operation of the program. If it is determined that it is valid, the update program is written in the flash ROM (s611), and the activation sequence is terminated.

以上により、個別に電源管理されたメインシステム部と通信サブシステムを持つシステムにおいて、メインシステムの状態がいかなる状態でもサブシステム部が独立して、システムアップデートの要求を外部から受け付ける。そして、システムの都合の良いときにシステムのアップデートを行うことができる。   As described above, in a system having a main system unit and a communication subsystem that are individually power-managed, the subsystem unit independently accepts a system update request from the outside regardless of the state of the main system. The system can be updated when the system is convenient.

本実施形態においては、システムがアップデート可能な状態になってからアップデートプログラムを含むアップデートデータを受信する方式について説明した。但し、システム側のRAMまたはサブシステムのRAMに余裕があれば、システムがアップデート可能な状態になる前に予めアップデートデータをダウンロードして保持しておいても良い。   In the present embodiment, the method of receiving update data including an update program after the system is ready for update has been described. However, if the RAM on the system side or the RAM on the subsystem has room, the update data may be downloaded and held in advance before the system is ready for update.

この場合、システムのアップデート可能な状態になった時点でアップデートデータが既にダウンロードされていることになるため、アップデートにかかる時間が短縮され、システムのダウンタイムを減らすことができる。   In this case, since update data has already been downloaded when the system is ready for update, the time required for the update can be shortened, and the system downtime can be reduced.

また、アップデートするプログラムをフラッシュROMに書き込む前に一度RAMに展開しておき、ここからシステムを立ち上げる。これにより、アップデートプログラムが正しく動作することを確認した後にフラッシュROMにアップデートデータを書き込むことができ、安全なシステムプログラムのアップデートを実現することができる。   Further, the program to be updated is once expanded in the RAM before being written in the flash ROM, and the system is started up from here. Thereby, after confirming that the update program operates correctly, the update data can be written in the flash ROM, and a safe system program update can be realized.

(第2の実施形態)
以下、図7に基づき、本発明によるシステムのアップデート手段および方法の好適な第2の実施形態を説明する。
(Second Embodiment)
The second preferred embodiment of the system update means and method according to the present invention will be described below with reference to FIG.

本実施形態においては、システムのアップデート手段および方法の適用例として、第1の実施形態と同様にネットワークに接続される動画カメラ(以下、ネットワークカメラ)を用いて説明する。   In the present embodiment, as an application example of the system update means and method, a moving image camera (hereinafter referred to as a network camera) connected to a network will be described as in the first embodiment.

第1の実施形態においては、ネットワークカメラのアップデートを行う命令をリモートで行う。そして、ネットワークカメラ自身が既存のプロトコルを用いて指定された場所(URL)からアップデートプログラムを含むアップデートデータを取得し、システムプログラムとしてインストールする手順について述べた。本実施形態においては、リモートからアップデート要求とともに直接アップデートデータを送信する実施形態について述べる。   In the first embodiment, an instruction to update the network camera is performed remotely. Then, a procedure has been described in which the network camera itself acquires update data including an update program from a location (URL) designated using an existing protocol and installs it as a system program. In the present embodiment, an embodiment will be described in which update data is transmitted directly together with an update request from a remote location.

システムのハードウェア構成については、第1の実施形態で説明した通り、図1で示したハードウェア構成である。また、リモートから通信コネクションを張ってシステムアップデートを行うおおまかな流れについても第1の実施形態で説明したように図3に示した流れとなる。   The hardware configuration of the system is the hardware configuration shown in FIG. 1 as described in the first embodiment. In addition, the general flow for performing a system update by establishing a communication connection from the remote is the flow shown in FIG. 3 as described in the first embodiment.

本実施形態においては、アップデートを行うデータを受け取る仕組みが異なる。この流れを図7に示す。   In this embodiment, the mechanism for receiving data to be updated is different. This flow is shown in FIG.

本実施形態においては、アップデートを行うためのポートに対する接続要求が行われたら、ソフトウェアアップデートが必要かどうかをネゴシエーションした後に、リモートからアップデートデータが送信されてくるためにデータを受信する(s701)。そして、RAMに保持する(s702)。   In this embodiment, when a connection request to a port for updating is made, after negotiating whether or not a software update is necessary, the update data is transmitted from a remote location (s701). Then, it is held in the RAM (s702).

データの送受信は図8に示すようになる。操作機821は、ネットワークカメラ820に対し、ある特定のポート番号に対して接続要求を行い(s801)、ネットワークカメラ820は操作機821に対して接続に対する応答をする(s802)。   Data transmission / reception is as shown in FIG. The operating device 821 makes a connection request to the network camera 820 for a specific port number (s801), and the network camera 820 sends a response to the connection to the operating device 821 (s802).

次に、操作機はネットワークカメラの保持するソフトウェアのバージョンを確認するためにバージョン要求を行い(s803)、ネットワークカメラ820はソフトウェアのバージョン番号を返す(s804)。   Next, the operating device makes a version request to confirm the version of the software held by the network camera (s803), and the network camera 820 returns the version number of the software (s804).

操作機821は、s804で得られたバージョンから、アップデートが必要かどうかを判定する。必要であれば、アップデートデータの送信開始メッセージをネットワークカメラ820に送信する(s805)。ネットワークカメラからの応答(s806)があれば、データの送信を開始し、複数のパケットに分けて送信する(s807、s808)。送信すべきデータを全て送信したら、終了メッセージを送信してデータ送信を終了する(s809)。   The controller 821 determines whether or not an update is necessary from the version obtained in s804. If necessary, an update data transmission start message is transmitted to the network camera 820 (s805). If there is a response (s806) from the network camera, data transmission is started and divided into a plurality of packets (s807, s808). When all the data to be transmitted is transmitted, an end message is transmitted to end the data transmission (s809).

ネットワークカメラの通信サブシステムは、プログラムの受信が終了したら(s703)、システムのアップデートが可能になるまで待機する(s704)。   When the communication subsystem of the network camera finishes receiving the program (s703), it waits until the system can be updated (s704).

以後は、第1の実施形態で説明した方法と同様の方法により、取得したアップデートプログラムが正常に動作することを確認して、システムのフラッシュROMに書き込む。   Thereafter, it is confirmed that the obtained update program operates normally by a method similar to the method described in the first embodiment, and is written in the flash ROM of the system.

図8に図7のフローチャートのs701からs703迄の通信内容を示す。
ネットワークカメラ820をリモートで操作するための操作機821から、アップデートするためのポート番号を指定して、ネットワークカメラ820に対して接続要求を行う(s801)。
FIG. 8 shows communication contents from s701 to s703 in the flowchart of FIG.
A port number for updating is designated from the controller 821 for remotely operating the network camera 820, and a connection request is made to the network camera 820 (s801).

ネットワークカメラ820はこれに対して応答する(s802)。次に操作機821は、ネットワークカメラ820が現在動作しているのソフトウェアバージョンの問い合わせ要求を行い(s803)、ネットワークカメラ820は、これに対してソフトウェアバージョンを操作機に返す(s804)。   The network camera 820 responds to this (s802). Next, the operating device 821 makes an inquiry request for the software version that the network camera 820 is currently operating (s803), and the network camera 820 returns the software version to the operating device (s804).

操作機側は応答されたソフトウェアバージョンに対して更新が必要かどうかを判定し、更新が必要であれば、ネットワークカメラ820に対してアップデートデータの送信を開始する(s805、s806)。全てのデータの転送を終了するまで送信し(s807、s808)、終了してコネクションを切断する(s809)。   The controller side determines whether or not the updated software version needs to be updated. If the update is necessary, transmission of update data to the network camera 820 is started (s805 and s806). The transmission is performed until the transfer of all data is completed (s807, s808), and the connection is terminated (s809).

ネットワークカメラ820は、受信したデータを通信サブシステムのRAMに保持しても良いし、システム側のRAMの一部に保持しても良い。   The network camera 820 may hold the received data in the RAM of the communication subsystem or may be held in a part of the system-side RAM.

ただし、いずれにしても保持したアップデートデータのうち、システムのプログラム部分は少なくとも、システム側のCPU101からの読み込みが可能な構成でなければならない。   However, in any case, at least the program part of the system in the stored update data must be configured to be readable from the CPU 101 on the system side.

以上説明したように、本実施形態においては、第1の実施形態とは異なり,操作者側からリモートでアップデートデータをアップロードされる場合のシステムのアップデート手段および方法について説明した。   As described above, in the present embodiment, unlike the first embodiment, the update means and method of the system when update data is uploaded remotely from the operator side has been described.

この場合においては、FTPサーバのようなアップデートデータをダウンロードする用途のサーバを立てる必要がなくなる。また、システムをアップデートするターゲット個別に対して個別のアップデートデータを配布することも容易となる。また、FTPのような汎用的なサーバを用いず独自のアップデートデータ転送プロトコルを用いることで、セキュリティの高いアップデートシステムを構築しやすいという利点もある。   In this case, there is no need to set up a server for downloading update data such as an FTP server. Also, it becomes easy to distribute individual update data to each target for updating the system. In addition, there is an advantage that it is easy to construct an update system with high security by using a unique update data transfer protocol without using a general-purpose server such as FTP.

また、操作者側とネットワークカメラ間の通信コネクションを確立した後に、双方で通信を行う。そして、操作者側からアップデートデータをネットワークカメラにアップロードするか、ネットワークカメラが任意の時間にアップデートデータを指定された位置(URL)に対してダウンロードを行うことでアップデートデータを取得する。これらを選択できるようなプロトコルを用いることでアップデートデータの取得する方法を切り替えることができるような実装を行っても良い。また、通信サブシステムは、自らの通信負荷を検出し、通信負荷の低いときにアップデートするためのプログラムを含むデータを取得するようにしてもよい。   Further, after establishing a communication connection between the operator side and the network camera, both sides communicate with each other. Then, the update data is acquired by uploading the update data to the network camera from the operator side or by downloading the update data to the designated position (URL) at an arbitrary time. You may implement so that the method of acquiring update data can be switched by using the protocol which can select these. Further, the communication subsystem may detect its own communication load and acquire data including a program for updating when the communication load is low.

また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或いは装置に供給し、そのシステム等のコンピュータが記憶媒体からプログラムコードを読み出し実行することによっても達成される。   Another object of the present invention is to supply a storage medium storing software program codes for realizing the functions of the above-described embodiments to a system or apparatus, and a computer such as the system reads and executes the program codes from the storage medium. Is also achieved.

この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。   In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the program code itself and the storage medium storing the program code constitute the present invention.

プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。   As a storage medium for supplying the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.

また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼動しているOS等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。   In addition, the case where the functions of the above-described embodiment are realized by performing part or all of the actual processing by an OS or the like running on the computer based on the instruction of the program code read by the computer. It is.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに接続された機能拡張ユニット等に備わるメモリに書込まれた後、そのプログラムコードの指示に基づきCPU等が実際の処理を行い、前述した実施形態の機能が実現される場合も含まれる。   Further, after the program code read from the storage medium is written in a memory provided in a function expansion unit connected to the computer, the CPU or the like performs actual processing based on the instruction of the program code, and the above-described processing is performed. The case where the functions of the embodiment are realized is also included.

本発明の実施形態のネットワークカメラのハードウェア構成を表すブロック図である。It is a block diagram showing the hardware constitutions of the network camera of embodiment of this invention. 本発明の実施形態に係る通信サブシステムの論理的なソフトウェア構成図である。It is a logical software block diagram of the communication subsystem which concerns on embodiment of this invention. 本発明の第1の実施形態のシステムソフトウェアのアップデートを行うおおまかなフローチャートである。It is a rough flowchart which updates the system software of the 1st Embodiment of this invention. 本発明の第1の実施形態のシステムソフトウェアのアップデートを行う詳細をあらわしたフローチャートである。It is a flowchart showing the details which perform the update of the system software of the 1st Embodiment of this invention. 本発明の第1の実施形態のシステムソフトウェアのアップデートを行うために、操作側とネットワークカメラ、ファイルサーバの通信内容をあらわすシーケンス図である。It is a sequence diagram showing the communication contents of the operation side, the network camera, and the file server in order to update the system software of the first embodiment of the present invention. アップデートデータを取得後のシステムの起動シーケンスをあらわすフローチャートである。It is a flowchart showing the starting sequence of the system after acquiring update data. 本発明の第2の実施形態のシステムソフトウェアのアップデートを行うおおまかなフローチャートである。It is a rough flowchart which updates the system software of the 2nd Embodiment of this invention. 本発明の第2の実施形態のシステムソフトウェアのアップデートを行うために、操作側とネットワークカメラ、ファイルサーバの通信内容をあらわすシーケンス図である。It is a sequence diagram showing the communication contents of an operation side, a network camera, and a file server in order to update the system software of the 2nd Embodiment of this invention.

符号の説明Explanation of symbols

100 システム部
110 通信サブシステム部
101 メインCPU
102 フラッシュROM
103 RAM
107 バス
112 ローカルROM
113 プロトコル処理部
114 通信サブシステム内部バス
115 バスブリッジ
111 通信制御部
112 通信サブシステムRAM
121 電源制御部
100 System Unit 110 Communication Subsystem Unit 101 Main CPU
102 flash ROM
103 RAM
107 Bus 112 Local ROM
113 Protocol processing unit 114 Communication subsystem internal bus 115 Bus bridge 111 Communication control unit 112 Communication subsystem RAM
121 Power control unit

Claims (8)

システムを構成する主たる部分とは独立に電源管理されたネットワーク通信機能をもつアップデートシステムにおいて、
TCP又はUDPのポート番号を検出する手段と、
前記ポート番号によりサブシステムで処理を行うか、システム部で処理を行うかを決定する手段とを有し、
前記サブシステムは、
ネットワークを通じて外部機器からのシステムアップデート要求を判別する手段と、
ネットワークを通じてアップデートするためのプログラムを含むデータを取得する手段とを有することを特徴とするシステムのアップデートシステム。
In an update system with a network communication function that is power-managed independently of the main parts of the system,
Means for detecting a TCP or UDP port number;
Means for determining whether to perform processing in the subsystem or in the system unit according to the port number;
The subsystem is
Means for determining a system update request from an external device via a network;
An update system for a system, comprising: means for acquiring data including a program for updating through a network.
前記システムアップデート要求を判別する手段は、外部からのネットワーク接続を受信したポート番号により、システムアップデート要求を判別することを特徴とする請求項1に記載のアップデートシステム。   2. The update system according to claim 1, wherein the means for discriminating the system update request discriminates the system update request from a port number that has received an external network connection. 前記サブシステムは、ネットワークを通じてアップデートするためのプログラムを含むデータをアップデート要求元から送信されたものを蓄積することにより取得することを特徴とする請求項1に記載のアップデートシステム。   The update system according to claim 1, wherein the subsystem acquires data including a program for updating through a network by accumulating data transmitted from an update request source. 前記サブシステムは、ネットワークを通じてアップデートするためのプログラムを含むデータが格納された場所をアップデート要求元から取得し、アップデートするためのプログラムを含むデータを格納された場所からアップデートするためのデータを取得することを特徴とする請求項1に記載のアップデートシステム。   The subsystem acquires a location where data including a program for updating through a network is stored from an update request source, and acquires data for updating data including a program for updating from the stored location. The update system according to claim 1. 前記サブシステムは、サブシステムの通信負荷を検出する手段を有し、前記サブシステムの通信負荷の低いときにアップデートするためのプログラムを含むデータを取得することを特徴とする請求項1に記載のアップデートシステム。   The said subsystem has a means to detect the communication load of a subsystem, and acquires the data containing the program for updating when the communication load of the said subsystem is low. Update system. 前記サブシステムは、システムに対してリセット信号を送る手段を有することを特徴とする請求項1に記載のアップデートシステム。   The update system according to claim 1, wherein the subsystem includes means for sending a reset signal to the system. システムを構成する主たる部分とは独立に電源管理されたネットワーク通信機能をもつアップデート方法において、
TCP又はUDPのポート番号を検出する工程と、
前記ポート番号によりサブシステムで処理を行うか、システム部で処理を行うかを決定する工程とを含み、
前記サブシステムは、
ネットワークを通じて外部機器からのシステムアップデート要求を判別する工程と、
ネットワークを通じてアップデートするためのプログラムを含むデータを取得する工程とを含むことを特徴とするアップデート方法。
In an update method having a network communication function in which power management is performed independently of the main parts constituting the system,
Detecting a TCP or UDP port number;
Determining whether to perform processing in the subsystem or processing in the system unit according to the port number,
The subsystem is
Determining a system update request from an external device via a network;
Obtaining data including a program for updating through a network.
請求項7に記載のアップデート方法をコンピュータに実行させるためのプログラム。   A program for causing a computer to execute the update method according to claim 7.
JP2006331053A 2006-12-07 2006-12-07 Update system, update method, and program Pending JP2008146250A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006331053A JP2008146250A (en) 2006-12-07 2006-12-07 Update system, update method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006331053A JP2008146250A (en) 2006-12-07 2006-12-07 Update system, update method, and program

Publications (1)

Publication Number Publication Date
JP2008146250A true JP2008146250A (en) 2008-06-26

Family

ID=39606378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006331053A Pending JP2008146250A (en) 2006-12-07 2006-12-07 Update system, update method, and program

Country Status (1)

Country Link
JP (1) JP2008146250A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072920A (en) * 2008-09-18 2010-04-02 Fuji Xerox Co Ltd Program-distribution device, image-processing device, computer system, and program
JP2010198387A (en) * 2009-02-25 2010-09-09 Kyocera Corp Electronic apparatus
US8555045B2 (en) 2010-08-06 2013-10-08 Samsung Electro-Mechanics Co., Ltd. Electronic meter for concurrently updating firmware and collecting meter usage with a micro controller calculates the usage when a reset time is longer than a predetermined period of storing time
JP2014115717A (en) * 2012-12-06 2014-06-26 Kyocera Corp Communication system and update method
JP2018106251A (en) * 2016-12-22 2018-07-05 Necプラットフォームズ株式会社 Information processing apparatus, updating method of operation program and program
JP2022071009A (en) * 2009-07-01 2022-05-13 ハンド ヘルド プロダクツ インコーポレーティッド Universal connectivity for non-universal devices
JP7292459B2 (en) 2018-03-29 2023-06-16 株式会社Fuji Software update method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072920A (en) * 2008-09-18 2010-04-02 Fuji Xerox Co Ltd Program-distribution device, image-processing device, computer system, and program
JP2010198387A (en) * 2009-02-25 2010-09-09 Kyocera Corp Electronic apparatus
JP2022071009A (en) * 2009-07-01 2022-05-13 ハンド ヘルド プロダクツ インコーポレーティッド Universal connectivity for non-universal devices
JP7385688B2 (en) 2009-07-01 2023-11-22 ハンド ヘルド プロダクツ インコーポレーティッド Universal connectivity for non-universal equipment
US8555045B2 (en) 2010-08-06 2013-10-08 Samsung Electro-Mechanics Co., Ltd. Electronic meter for concurrently updating firmware and collecting meter usage with a micro controller calculates the usage when a reset time is longer than a predetermined period of storing time
JP2014115717A (en) * 2012-12-06 2014-06-26 Kyocera Corp Communication system and update method
JP2018106251A (en) * 2016-12-22 2018-07-05 Necプラットフォームズ株式会社 Information processing apparatus, updating method of operation program and program
JP7292459B2 (en) 2018-03-29 2023-06-16 株式会社Fuji Software update method

Similar Documents

Publication Publication Date Title
JP4898269B2 (en) Communication device and installation method thereof
JP2008146250A (en) Update system, update method, and program
US20100007768A1 (en) Wireless storage device
JP5377091B2 (en) Information processing apparatus and control method thereof
CN111083685A (en) Data processing system, data processing method, and storage medium
US9213879B1 (en) Barcode reader which obtains supplemental operating instructions from a remote server
JP5745424B2 (en) Device control apparatus, client apparatus, device control method, and device control system
JP2010113606A (en) System, client and method for sharing device
JP5517417B2 (en) Monitoring device, control method therefor, and program
JP2008205925A (en) Communication device, and control method and program thereof
US20140300763A1 (en) Recording medium and control method thereof
JP5171598B2 (en) Communication apparatus, providing apparatus, control method, program, and system.
CN105451156A (en) Wireless communication apparatus capable of communicating with external apparatus, and controlling method for wireless communication apparatus
JP2010258894A (en) Video receiving apparatus, method of receiving video, and program
JP2006301857A (en) Communication device, communication system, communication method and communication program
EP3663914B1 (en) Image capturing apparatus, system, control method for image capturing apparatus, and non-transitory computer-readable storage medium
US9106608B2 (en) Communication device, communication method, and non-transitory computer-readable recording medium
KR20170130817A (en) Operation Method Of Dual Structure Network Device And Device Of Thereof
US20140307109A1 (en) Recording medium and control method thereof
JP4667246B2 (en) Imaging device and image data control method
JP7303083B2 (en) Behavior monitoring device, behavior monitoring method, behavior monitoring program, and behavior monitoring system
JP7305710B2 (en) PRINT CONTROL DEVICE AND CONTROL METHOD THEREOF
JP2019068364A (en) Imaging device, information processing device, control method of those, and information processing system
JP2006148487A (en) Communication device and its control method
JP2006318359A (en) Usb system