[go: up one dir, main page]

JP2013020481A - Software distribution server, software distribution method, software distribution program, and recording medium - Google Patents

Software distribution server, software distribution method, software distribution program, and recording medium Download PDF

Info

Publication number
JP2013020481A
JP2013020481A JP2011153839A JP2011153839A JP2013020481A JP 2013020481 A JP2013020481 A JP 2013020481A JP 2011153839 A JP2011153839 A JP 2011153839A JP 2011153839 A JP2011153839 A JP 2011153839A JP 2013020481 A JP2013020481 A JP 2013020481A
Authority
JP
Japan
Prior art keywords
terminal
software
distribution
bandwidth
status
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.)
Granted
Application number
JP2011153839A
Other languages
Japanese (ja)
Other versions
JP5839664B2 (en
Inventor
Shinichiro Aiba
慎一朗 饗庭
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.)
Hitachi Systems Ltd
Original Assignee
Hitachi Systems 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 Hitachi Systems Ltd filed Critical Hitachi Systems Ltd
Priority to JP2011153839A priority Critical patent/JP5839664B2/en
Publication of JP2013020481A publication Critical patent/JP2013020481A/en
Application granted granted Critical
Publication of JP5839664B2 publication Critical patent/JP5839664B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To execute software distribution without inviting pressure on a network band, an increased load on an object terminal, any delay in the progress of software distribution, or concentration of software distribution on adjoining terminals.SOLUTION: A software distribution server comprises: a memory unit 102B that stores a distribution state table 111 that stores, in association with one another, terminal identifying information for identifying terminals, operational information on terminals, and band information on a network; a status determining unit 104 that determines an operational state of the terminals and causes the result of determination to be stored as part of the operational information; a band determining unit 106 that determines whether or not the band of the network satisfies requirements for distribution of software and causes the result of determination to be stored as part of the band information; and a distribution control unit 103 that causes the software to be distributed to a terminal identified by the terminal identifying information, when no halt of the terminal is stored as operational information and satisfaction by the network band of the requirements for distribution of software is stored as band information.

Description

本発明は、ソフトウェアの配布対象端末とのネットワーク利用状況、対象端末の状態を考慮した上で、ソフトウェア配布を実現するソフトウェア配布サーバ、ソフトウェア配布方法、ソフトウェア配布プログラム、および記録媒体に関するものである。   The present invention relates to a software distribution server, a software distribution method, a software distribution program, and a recording medium that realize software distribution in consideration of a network usage situation with respect to a software distribution target terminal and a state of the target terminal.

従来の技術では、端末へのソフトウェア配布について、あらかじめ定義した時間帯によって配布制限を行う方法が知られている(例えば、特許文献1)。   In the prior art, there is known a method for restricting the distribution of software to terminals in a predetermined time zone (for example, Patent Document 1).

特開2001−166943号公報Japanese Patent Laid-Open No. 2001-166943

上述した特許文献1に開示された技術では、ソフトウェア配布における事前定義可能な項目として、時間帯によるソフトウェアの配布制限を設けているが、本項目についての考慮のみでは下記(1)〜(3)に示すような課題がある。   In the technique disclosed in Patent Document 1 described above, software distribution restrictions based on time zones are provided as predefinable items in software distribution. However, only in consideration of this item, the following (1) to (3) There are issues as shown in.

まず、(1)対象端末とのネットワーク利用状況が考慮されておらず、ネットワーク帯域の圧迫を引き起こす可能性がある。次に、(2)対象端末の状況(稼働中、休止中、停止中)に対する考慮がなされていない為、稼働中端末に対してソフトウェアの配布によって生じる対象端末負荷の懸念、休止中端末への優先配布、停止中端末への配布等の制御ができない。さらに、(3)対象端末の選定方法が順次的であり、隣接端末へのソフトウェア配布が集中する可能性がある。   First, (1) the network usage status with the target terminal is not taken into consideration, and there is a possibility that network bandwidth will be compressed. Next, because (2) the status of the target terminal (operating, inactive, out of service) has not been considered, there is concern about the target terminal load caused by software distribution to the operating terminal, Priority distribution and distribution to stopped terminals cannot be controlled. Furthermore, (3) the selection method of the target terminal is sequential, and there is a possibility that software distribution to adjacent terminals is concentrated.

本発明の目的は、これらの従来技術の課題を解決し、ネットワーク帯域の圧迫や対象端末負荷増大、ソフトウェア配布進捗の遅延、隣接端末へのソフトウェア配布集中を引き起こすことなく、ソフトウェア配布を実行することを可能とするソフトウェア配布サーバ、ソフトウェア配布方法、ソフトウェア配布プログラム、および記録媒体を提供することである。   The object of the present invention is to solve these problems of the prior art and execute software distribution without causing network bandwidth pressure, increased load on target terminals, delay in software distribution progress, and concentration of software distribution to neighboring terminals. A software distribution server, a software distribution method, a software distribution program, and a recording medium.

上述した目的を達成するために、本発明にかかるソフトウェア配布サーバは、ネットワークを介して接続された端末にソフトウェアを配布するソフトウェア配布サーバであって、前記端末を識別するための端末識別情報と、少なくとも前記端末が停止しているか否かを示す稼動状況を含む前記端末の稼働情報と、前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしているか否かを示す帯域情報とを対応付けて記憶する配布状況テーブルを記憶する記憶部と、前記端末の稼動状況を判定し、判定した結果を前記稼動情報に記憶させるステータス判定部と、前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしているか否かを判定し、判定した結果を前記帯域情報に記憶させる帯域判定部と、前記稼動情報として前記端末が停止している旨が記憶されていない場合であって、前記帯域情報として前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしている旨が記憶されている場合に、前記端末識別情報によって識別される前記端末に前記ソフトウェアを配布させる配布制御部と、を備えることを特徴とする。   In order to achieve the above-described object, a software distribution server according to the present invention is a software distribution server that distributes software to terminals connected via a network, terminal identification information for identifying the terminals, The terminal operation information including at least the operation status indicating whether or not the terminal is stopped is associated with the band information indicating whether or not the network band satisfies a condition necessary for distribution of the software. A storage unit that stores a distribution status table to be stored, a status determination unit that determines an operation status of the terminal, stores the determined result in the operation information, and a condition that the network bandwidth is necessary for distributing the software And a bandwidth determination unit that stores the determined result in the bandwidth information; and In the case where it is not stored that the terminal is stopped, and the bandwidth information stores that the bandwidth of the network satisfies the conditions necessary for distribution of the software, A distribution control unit that distributes the software to the terminal identified by the terminal identification information.

また、本発明は、上記ソフトウェア配布サーバで実行されるソフトウェア配布方法、ソフトウェア配布プログラム、およびこれを格納した記録媒体である。   The present invention also provides a software distribution method, a software distribution program, and a recording medium storing the software distribution method executed by the software distribution server.

本発明によれば、ネットワーク帯域の圧迫、対象端末負荷増大、ソフトウェア配布進捗の遅延、隣接端末へのソフトウェア配布の集中を引き起こすことなく、ソフトウェア配布を実行することが可能となり、その結果として高品質なソフトウェア配布を提供できる。   According to the present invention, it is possible to execute software distribution without causing network bandwidth pressure, target terminal load increase, delay of software distribution progress, and concentration of software distribution to adjacent terminals, resulting in high quality. Secure software distribution.

本実施の形態におけるソフトウェア配布システムのシステム全体構成図である。1 is an overall system configuration diagram of a software distribution system according to an embodiment. 端末管理テーブルの例を示す図である。It is a figure which shows the example of a terminal management table. 配布計画テーブルの例を示す図である。It is a figure which shows the example of a distribution plan table. 配布状況テーブルの例を示す図である。It is a figure which shows the example of a distribution status table. 必要帯域テーブルの例を示す図である。It is a figure which shows the example of a required bandwidth table. 配布制御部が行うソフトウェア配布処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the software distribution process which a distribution control part performs. 配布制御部が行うソフトウェア配布処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the software distribution process which a distribution control part performs. 配布制御部が行うソフトウェア配布処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the software distribution process which a distribution control part performs. 端末ステータス判定部が行うステータス判定処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the status determination process which a terminal status determination part performs. 端末遠隔操作部が行う端末遠隔操作処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the terminal remote operation process which a terminal remote control part performs. 帯域判定部が行う帯域判定処理の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the band determination process which a band determination part performs.

以下に添付図面を参照して、この発明にかかるソフトウェア配布サーバ、ソフトウェア配布方法、ソフトウェア配布プログラム、および記録媒体の実施の形態を詳細に説明する。   Exemplary embodiments of a software distribution server, a software distribution method, a software distribution program, and a recording medium according to the present invention will be explained below in detail with reference to the accompanying drawings.

図1は、本実施の形態におけるソフトウェア配布システム1000のシステム全体構成図である。図1に示すように、ソフトウェア配布システム1000は、ソフトウェア配布サーバ101と対象端末群114とを有し、これらが互いにネットワーク網113によって接続されている。なお、ネットワーク網113は、例えば、LAN(Local Area Network)やWAN(Wide Area Network)等の一般的な通信回線網である。まず、ソフトウェア配布サーバ101について説明する。   FIG. 1 is an overall system configuration diagram of a software distribution system 1000 according to the present embodiment. As shown in FIG. 1, the software distribution system 1000 includes a software distribution server 101 and a target terminal group 114, which are connected to each other via a network 113. The network 113 is a general communication line network such as a LAN (Local Area Network) or a WAN (Wide Area Network). First, the software distribution server 101 will be described.

ソフトウェア配布サーバ101は、対象端末群114を構成するそれぞれの端末(以下、対象端末、あるいは単に端末等と呼ぶ。)に対して所定のソフトウェアを配布するものである。図1に示すように、ソフトウェア配布サーバ101は、主制御部102Aと、記憶部102Bとを有している。   The software distribution server 101 distributes predetermined software to each terminal constituting the target terminal group 114 (hereinafter referred to as a target terminal or simply a terminal). As illustrated in FIG. 1, the software distribution server 101 includes a main control unit 102A and a storage unit 102B.

主制御部102Aは、例えば、CPU(Central Processing Unit)等の演算装置から構成され、後述する各種の処理やソフトウェア配布サーバ101を構成する各部の動作を制御するものである。主制御部102Aは、機能的には、配布制御部103と、端末ステータス判定部104と、端末遠隔操作部105と、帯域判定部106とを有している。   The main control unit 102A is composed of, for example, an arithmetic device such as a CPU (Central Processing Unit), and controls various processes to be described later and the operation of each unit constituting the software distribution server 101. The main control unit 102A functionally includes a distribution control unit 103, a terminal status determination unit 104, a terminal remote operation unit 105, and a band determination unit 106.

配布制御部103は、端末管理テーブル108、配布計画テーブル110、配布状況テーブル111等を参照することにより、端末の状況を確認しつつソフトウェアを配布するものである。配布制御部103が行う具体的な処理については、図6A〜6Cを用いて後述する。   The distribution control unit 103 distributes software while checking the status of the terminal by referring to the terminal management table 108, the distribution plan table 110, the distribution status table 111, and the like. Specific processing performed by the distribution control unit 103 will be described later with reference to FIGS.

端末ステータス判定部104は、配布制御部103がソフトウェアを配布する際における端末の状況を判定するものである。端末ステータス判定部104が行う具体的な処理については、図7を用いて後述する。   The terminal status determination unit 104 determines the status of the terminal when the distribution control unit 103 distributes software. Specific processing performed by the terminal status determination unit 104 will be described later with reference to FIG.

端末遠隔操作部105は、ソフトウェアが配布される対象端末を遠隔起動または停止させるものである。端末遠隔操作部105が行う具体的な処理については、図8を用いて後述する。   The terminal remote operation unit 105 remotely activates or stops the target terminal to which software is distributed. Specific processing performed by the terminal remote control unit 105 will be described later with reference to FIG.

帯域判定部106は、ソフトウェアが配布される際に必要となるネットワーク帯域が確保されていることを確認するものである。帯域判定部106は、が行う具体的な処理については、図9を用いて後述する。   The bandwidth determination unit 106 confirms that a network bandwidth necessary for distributing software is secured. Specific processing performed by the band determination unit 106 will be described later with reference to FIG.

なお、ソフトウェア配布サーバ101が有する各部は、配布制御部103、端末ステータス判定部104、端末遠隔操作部105、および帯域判定部106の各機能を実現するためのプログラムにより実行される。これらのプログラムは、例えば、上述した各部を含むモジュール構成となっており、実際のハードウェアとしては、CPU等の制御部がHDD(Hard Disk Drive)等の記録装置からこれらのプログラムを読み出して実行することにより、上記各部が主記憶装置上にロードされ、配布制御部103、端末ステータス判定部104、端末遠隔操作部105、および帯域判定部106の各部が主記憶装置上に生成されるようになっている。   Each unit included in the software distribution server 101 is executed by a program for realizing the functions of the distribution control unit 103, the terminal status determination unit 104, the terminal remote operation unit 105, and the bandwidth determination unit 106. These programs have, for example, a module configuration including the above-described units, and as actual hardware, a control unit such as a CPU reads these programs from a recording device such as an HDD (Hard Disk Drive) and executes them. As a result, the above-described units are loaded on the main storage device, and the distribution control unit 103, the terminal status determination unit 104, the terminal remote operation unit 105, and the bandwidth determination unit 106 are generated on the main storage device. It has become.

また、上述したプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disc)等のコンピュータで読み取り可能な記録媒体に記録されて提供することも可能である。さらに、これらのプログラムを、ネットワーク経由でダウンロードさせて提供または配布するように構成してもよい。続いて、記憶部102Bについて説明する。   The above-mentioned program is recorded in a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, and a DVD (Digital Versatile Disc) as a file in an installable or executable format. Can also be provided. Furthermore, these programs may be configured to be provided or distributed by being downloaded via a network. Next, the storage unit 102B will be described.

記憶部102Bは、例えば、HDD(Hard Disk Drive)等の記憶装置から構成され、後述する各種の処理で用いられる種々のデータを記憶するものである。記憶部102Bは、端末管理DB(Data Base)107と、端末管理テーブル108と、ソフト配布DB109と、計画テーブル110と、配布状況テーブル111と、帯域テーブル112とを有している。図1に示すように、端末管理テーブル108は、端末管理DB107の内部に記憶され、計画テーブル110と、配布状況テーブル111と、帯域テーブル112とは、ソフト配布DB109の内部に記憶されている。   The storage unit 102B is composed of a storage device such as an HDD (Hard Disk Drive), for example, and stores various data used in various processes to be described later. The storage unit 102B includes a terminal management DB (Data Base) 107, a terminal management table 108, a software distribution DB 109, a plan table 110, a distribution status table 111, and a bandwidth table 112. As shown in FIG. 1, the terminal management table 108 is stored in the terminal management DB 107, and the plan table 110, the distribution status table 111, and the bandwidth table 112 are stored in the software distribution DB 109.

図2は、端末管理テーブル108の例を示す図である。図2に示すように、端末管理テーブル108は、ソフトウェアの配布対象となる端末を識別するための端末IDと、その端末のIPアドレスと、その端末のMACアドレスと、その端末を使用する社員を識別するための社員番号と、その社員の氏名と、その社員が所属する部署と、その社員の連絡先とが対応付けて記憶されている。図2では、例えば、端末ID「1000001」、IPアドレス「10.100.1.1」、MACアドレス「00−22−15−03−07−D1」の端末は、「経理部」に所属する社員番号「30001」の「田中一郎」が使用している端末であり、連絡先が「00−1111−2222」であることを示している。この端末管理テーブル108に記憶されるデータは、あらかじめ管理者等によって設定されているものとする。続いて、配布計画テーブル110について説明する。   FIG. 2 is a diagram illustrating an example of the terminal management table 108. As shown in FIG. 2, the terminal management table 108 includes a terminal ID for identifying a terminal to which software is distributed, an IP address of the terminal, a MAC address of the terminal, and an employee who uses the terminal. An employee number for identification, the name of the employee, the department to which the employee belongs, and the contact information of the employee are stored in association with each other. In FIG. 2, for example, a terminal having a terminal ID “1000001”, an IP address “10.100.1.1”, and a MAC address “00-22-15-03-07-D1” belongs to the “accounting department”. This is a terminal used by “Ichiro Tanaka” of the employee number “30001”, and indicates that the contact is “00-1111-2222”. It is assumed that data stored in the terminal management table 108 is set in advance by an administrator or the like. Next, the distribution plan table 110 will be described.

図3は、配布計画テーブル110の例を示す図である。図3に示すように、配布計画テーブル110は、配布するソフトウェアを識別するためのソフトウェア名と、そのソフトウェアの配布を開始する日時を示す開始日時と、そのソフトウェアの配布を終了する日時を示す終了日時と、そのソフトウェアの配布対象となる端末の指定方法を示す端末選択方式と、指定された端末の状態を示す対象端末ステータスとが対応付けて記憶されている。図3では、例えば、「ソフトウェアA」のソフトウェアは、「2010年12月24日 0:00」に配布が開始され、「2010年12月24日 11:00」にその配布が終了する予定であり、そのソフトウェアの端末への配布方法は「ランダム」方式であり、その「ランダム」方式によって指定された配布対象端末のうち、「休止」状態、「停止」状態、「稼動」状態のステータスとなっている端末に対して、そのソフトウェアを配布することを示している。   FIG. 3 is a diagram illustrating an example of the distribution plan table 110. As shown in FIG. 3, the distribution plan table 110 includes a software name for identifying software to be distributed, a start date / time indicating the date / time when distribution of the software is started, and an end / date indicating when the software distribution is ended. The date and time, a terminal selection method indicating a method for specifying a terminal to which software is to be distributed, and a target terminal status indicating the state of the specified terminal are stored in association with each other. In FIG. 3, for example, the distribution of the software “Software A” is started at “0:00 on December 24, 2010” and is scheduled to end at “12:00 on December 24, 2010”. Yes, the distribution method of the software to the terminal is a “random” method, and among the distribution target terminals specified by the “random” method, the statuses of “pause” state, “stop” state, “operation” state and This means that the software is distributed to the terminals.

なお、配布計画テーブル110が有する端末選択方式には、「ランダム」方式と「順次」方式とが設定されている。「ランダム」方式は、配布対象端末が、端末対象ステータスに設定されたステータスを満たしている端末であれば、任意の順序でソフトウェアを配布することを示している。また、「順次」方式は、配布対象端末が、端末対象ステータスに設定されたステータスを満たしている場合に、例えば、端末ID順、IPアドレス順、MACアドレス順、あるいは社員番号順等、あらかじめ定められた順序でソフトウェアを配布することを示している。   As the terminal selection method included in the distribution plan table 110, a “random” method and a “sequential” method are set. The “random” method indicates that software is distributed in an arbitrary order if the distribution target terminal is a terminal satisfying the status set in the terminal target status. In addition, the “sequential” method is determined in advance when the distribution target terminal satisfies the status set as the terminal target status, for example, terminal ID order, IP address order, MAC address order, or employee number order. It shows that software is distributed in the specified order.

また、配布計画テーブル110が有する対象端末ステータスは、ソフトウェアを配布する際に必要な端末の状況を示すものであり、「停止」状態、「休止」状態、「稼動」状態の3つの状態、あるいはこれらの組み合わせが設定されている。「停止」状態は、配布対象端末が稼動していない状態であり、「休止」状態は、配布対象端末が稼動しているものの、アクティブではない状態であり、「稼動」状態は、配布対象端末が稼動し、アクティブな状態であることを示している。したがって、上述した「ソフトウェアA」を配布する場合の例では、これら3つの状態にある配布対象端末に対して配布されることとなる。この配布計画テーブル110に記憶されるデータは、上述した端末管理テーブル108と同様に、あらかじめ管理者等によって設定されているものとする。続いて、配布状況テーブル111について説明する。   In addition, the target terminal status included in the distribution plan table 110 indicates the status of the terminal necessary for distributing the software, and includes three states of “stop” state, “pause” state, and “operation” state, or These combinations are set. The “stopped” state is a state where the distribution target terminal is not operating, the “pause” state is a state where the distribution target terminal is operating but not active, and the “active” state is a distribution target terminal. Indicates that it is up and active. Therefore, in the example of distributing the “software A” described above, it is distributed to the distribution target terminals in these three states. It is assumed that the data stored in the distribution plan table 110 is set in advance by an administrator or the like, like the terminal management table 108 described above. Next, the distribution status table 111 will be described.

図4は、配布状況テーブル111の例を示す図である。図4に示すように、配布状況テーブル111は、端末を識別するための端末ID端末IDと、ソフトウェアのインストール対象となっている端末であることを示すインストールフラグと、その端末の状態を示す端末ステータスと、そのソフトウェアをインストールする場合に必要となるネットワーク上の帯域を満たしていることを示す帯域フラグと、配布計画テーブル110が有する端末対象ステータスを満たすことを示す対象ステータスとが対応付けて記憶されている。図4では、例えば、端末ID「1000001」の端末は、あるソフトウェア(例えば、ソフトウェアA)のインストール対象であり、現在は「休止」状態であることを示しており、端末が接続されたネットワークの現在の回線状況は、ソフトウェアを配布するための帯域を満たしている状態であり(ソフトウェアの配布に必要な帯域が確保された状態にあり)、現在の端末ステータスは、配布計画テーブル110が有する対象端末ステータスを満たしている(含まれている)状態にあることを示している。   FIG. 4 is a diagram illustrating an example of the distribution status table 111. As shown in FIG. 4, the distribution status table 111 includes a terminal ID terminal ID for identifying a terminal, an installation flag indicating that the terminal is a software installation target, and a terminal indicating the status of the terminal. The status, the bandwidth flag indicating that the bandwidth on the network necessary for installing the software is satisfied, and the target status indicating that the terminal target status included in the distribution plan table 110 is satisfied are stored in association with each other. Has been. In FIG. 4, for example, a terminal with a terminal ID “1000001” is an installation target of a certain software (for example, software A), and is currently in a “pause” state. The current line status is a state in which the bandwidth for software distribution is satisfied (the bandwidth necessary for software distribution is secured), and the current terminal status is the target of the distribution plan table 110 Indicates that the terminal status is satisfied (included).

なお、配布状況テーブル111が有するインストールフラグには、「Y」(インストール対象である)、「N」(インストール対象でない)、「−」(未設定)のいずれかが設定されている。また、配布状況テーブル111が有する端末ステータスには、上述した配布計画テーブル110が有する対象端末ステータスと同様に、「休止」状態、「停止」状態、「稼動」状態の各ステータスのほか、「休止」状態にある配布対象端末を遠隔操作によって起動している状態を示す「遠隔起動」状態のいずれかが設定されている。   The installation flag included in the distribution status table 111 is set to any one of “Y” (installation target), “N” (not installation target), and “-” (unset). In addition, the terminal status of the distribution status table 111 includes, in addition to the statuses of “suspended” state, “stopped” state, and “operating” state, as well as the “suspended” status, similar to the target terminal status of the distribution plan table 110 described above. One of the “remote activation” states indicating the state where the distribution target terminal in the “state” is activated by remote operation is set.

さらに、配布状況テーブル111が有する帯域フラグには、「Y」(端末が接続されたネットワークの現在の回線がソフトウェアの配布に必要な帯域が確保された状態である)、「N」(端末が接続されたネットワークの現在の回線がソフトウェアの配布に必要な帯域が確保されていない状態である)、「−」(未設定)のいずれかが設定されている。また、配布状況テーブル111が有する対象ステータスには、「Y」(現在の端末の状態が、配布計画テーブル110が有する対象端末ステータスを満たしている(含まれている))、「N」(現在の端末の状態が、配布計画テーブル110が有する対象端末ステータスを満たしていない(含まれていない))、「−」(未設定)のいずれかが設定されている。この配布状況テーブル111に記憶されるデータは、端末の状態に応じて設定あるいは更新されるものとする。また、配布状況テーブル111は、配布されるソフトウェアごとに作成されるものとする。続いて、必要帯域テーブル112について説明する。   Furthermore, the bandwidth flag included in the distribution status table 111 includes “Y” (the current line of the network to which the terminal is connected is in a state in which a bandwidth necessary for software distribution is secured), “N” (the terminal has The current line of the connected network is in a state where the bandwidth necessary for software distribution is not secured), or “-” (not set) is set. The distribution status table 111 includes “Y” (the current terminal state satisfies (includes) the target terminal status of the distribution plan table 110) and “N” (current). The status of the terminal of the distribution plan table 110 does not satisfy the target terminal status (not included)) or “-” (not set) is set. Data stored in the distribution status table 111 is set or updated according to the state of the terminal. The distribution status table 111 is created for each software to be distributed. Next, the necessary bandwidth table 112 will be described.

図5は、必要帯域テーブル112の例を示す図である。図5に示すように、必要帯域テーブル112は、配布されるソフトウェアのソフトウェア名と、そのソフトウェアを配布して端末にインストールする場合の必要帯域(帯域条件)とが対応付けて記憶されている。図5では、例えば、「ソフトウェアA」を配布対象端末にインストールする場合には、少なくともネットワーク回線の帯域が10KB必要であることを示している。この必要帯域テーブル112に記憶されるデータは、上述した端末管理テーブル108等と同様に、あらかじめ管理者等によって設定されているものとする。続いて、本実施の形態におけるソフトウェア配布システム1000で行われる各種の処理について説明する。   FIG. 5 is a diagram illustrating an example of the necessary bandwidth table 112. As shown in FIG. 5, the necessary bandwidth table 112 stores a software name of software to be distributed and a necessary bandwidth (bandwidth condition) when the software is distributed and installed in a terminal. FIG. 5 shows that, for example, when “Software A” is installed in a distribution target terminal, at least a network line bandwidth of 10 KB is required. It is assumed that the data stored in the necessary bandwidth table 112 is set in advance by an administrator or the like, like the terminal management table 108 described above. Next, various processes performed in the software distribution system 1000 according to the present embodiment will be described.

図6A〜Cは、配布制御部103が行うソフトウェア配布処理の処理手順を示すフローチャートである。図6Aに示すように、配布制御部103は、配布計画テーブル110にアクセスし、ソフトウェア名と、開始時間と、終了時間とを読み込み、現時点でソフトウェアの配布予定となっているソフトウェア名を抽出して、その対象があるか否かを判定し(ステップS601)、対象がないと判定した場合(ステップS601;No)、図6に示すソフトウェア配布処理を終了させる。なお、現時点でソフトウェアの配布予定となっているか否かは、例えば、タイマ(不図示)の時刻が開始時間となっているか、タイマの日付が開始日となっているか等によって判定する。   6A to 6C are flowcharts showing a processing procedure of software distribution processing performed by the distribution control unit 103. As shown in FIG. 6A, the distribution control unit 103 accesses the distribution plan table 110, reads the software name, the start time, and the end time, and extracts the software name that is currently scheduled to be distributed. Then, it is determined whether or not the target exists (step S601). When it is determined that there is no target (step S601; No), the software distribution process illustrated in FIG. 6 is terminated. Whether or not the software is scheduled to be distributed at this time is determined based on, for example, whether the time of a timer (not shown) is the start time or whether the date of the timer is the start date.

一方、配布制御部103は、対象があると判定した場合(ステップS601;Yes)、そのソフトウェアのソフトウェア名をキーとして、ソフト配布DB203に、そのソフトウェア向けの配布状況テーブル111が存在するか否かを判定し(ステップS602)、そのソフトウェア向けの配布状況テーブル111が存在しないと判定した場合(ステップS602;No)、そのソフトウェアについて、端末管理テーブル108が有する端末IDで識別される全ての端末を含む配布状況テーブル111を生成し(ステップS603)、ステップS604に進む。一方、配布制御部103は、そのソフトウェア向けの配布状況テーブル111が存在したと判定した場合(ステップS602;Yes)、そのままステップS604に進む。   On the other hand, if the distribution control unit 103 determines that there is a target (step S601; Yes), whether or not the distribution status table 111 for the software exists in the software distribution DB 203 using the software name of the software as a key. (Step S602), and when it is determined that the distribution status table 111 for the software does not exist (step S602; No), all terminals identified by the terminal IDs of the terminal management table 108 for the software are displayed. The distribution status table 111 including the information is generated (step S603), and the process proceeds to step S604. On the other hand, when the distribution control unit 103 determines that the distribution status table 111 for the software exists (step S602; Yes), the process directly proceeds to step S604.

次に、配布制御部103は、配布計画テーブル110にアクセスし、そのソフトウェアのソフトウェア名をキーとして、そのソフトウェアに対応する端末選択方式と対象端末ステータスとを抽出する(ステップS604)。そして、配布制御部103は、さらに配布状況テーブル111にアクセスし、抽出した端末選択方式をキーとして、そのソフトウェアの配布候補となる端末IDを抽出し、その対象があるか否かを判定する(ステップS605)。このとき、既にそのソフトウェアがインストールされている端末への配布をしないように、配布状況テーブル111のインストールフラグ「Y」、帯域フラグ「−」以外、対象ステータス「−」以外となっている端末は除外するものとする。   Next, the distribution control unit 103 accesses the distribution plan table 110, and extracts the terminal selection method and target terminal status corresponding to the software using the software name of the software as a key (step S604). Then, the distribution control unit 103 further accesses the distribution status table 111, extracts terminal IDs as distribution candidates of the software using the extracted terminal selection method as a key, and determines whether or not there is the target ( Step S605). At this time, in order not to distribute to terminals that already have the software installed, terminals other than the installation flag “Y” and the band flag “−” in the distribution status table 111 and other than the target status “−” Shall be excluded.

そして、配布制御部103は、そのソフトウェアの配布候補となる端末IDを抽出し、その対象がないと判定した場合(ステップS605;No)、図6A〜Cに示したソフトウェア配布処理を終了させる。   Then, the distribution control unit 103 extracts a terminal ID that is a distribution candidate of the software, and when it is determined that there is no target (step S605; No), the software distribution processing illustrated in FIGS.

一方、配布制御部103は、そのソフトウェアの配布候補となる端末IDを抽出し、その対象があると判定した場合(ステップS605;Yes)、ステップS605において抽出した端末IDをキーとして端末管理テーブル108にアクセスし、その端末IDに対応するIPアドレスとMACアドレスを抽出し(ステップS606)、図6Bに示すステータス判定処理(ステップS607)に進む。   On the other hand, when the distribution control unit 103 extracts a terminal ID that is a candidate for distribution of the software and determines that there is an object (step S605; Yes), the terminal management table 108 uses the terminal ID extracted in step S605 as a key. , The IP address and the MAC address corresponding to the terminal ID are extracted (step S606), and the process proceeds to the status determination process (step S607) shown in FIG. 6B.

図7は、端末ステータス判定部104が行うステータス判定処理の処理手順を示すフローチャートである。図7に示すように、端末ステータス判定部104は、ステップS606で取得したIPアドレスに対して、1バイトのpingパケットを5回送信し、端末ステータスを確認する(ステップS608)。具体的には、端末ステータス判定部104は、ステップS606で取得したIPアドレスに対して、コマンド「ping−llt 5<IPアドレス>|find“bytes=1”>NUL」を発行し、そのリターンコードがゼロであるか否かを判定する。   FIG. 7 is a flowchart illustrating a processing procedure of status determination processing performed by the terminal status determination unit 104. As illustrated in FIG. 7, the terminal status determination unit 104 transmits a 1-byte ping packet to the IP address acquired in step S606 five times to check the terminal status (step S608). Specifically, the terminal status determination unit 104 issues a command “ping-llt 5 <IP address> | find“ bytes = 1 ”> NUL” to the IP address acquired in step S606, and its return code. Whether or not is zero.

そして、端末ステータス判定部104は、発行したコマンドに対するリターンコードがゼロではないと判定した場合(ステップS701;No)、その端末は停止状態にあると判断し、その端末IDに対応する配布状況テーブル111の端末ステータスを「停止」に更新する(ステップS702)。   If the terminal status determination unit 104 determines that the return code for the issued command is not zero (step S701; No), the terminal status determination unit 104 determines that the terminal is in a stopped state, and the distribution status table corresponding to the terminal ID. The terminal status 111 is updated to “stop” (step S702).

一方、端末ステータス判定部104は、発行したコマンドに対するリターンコードがゼロであると判定した場合(ステップS701;Yes)、その端末は少なくとも稼動した状態になると判断し、さらにその端末上でスクリーンセーバプロセスが稼動しているか否かを判定する(ステップS703)。具体的には、端末ステータス判定部104は、その端末上で稼動しているプロセスの中から、拡張子が「.scr」であるプロセスがあるか否かを判定する。   On the other hand, if the terminal status determination unit 104 determines that the return code for the issued command is zero (step S701; Yes), the terminal status determination unit 104 determines that the terminal is at least in an operating state, and further performs a screen saver process on the terminal. It is determined whether or not it is operating (step S703). Specifically, the terminal status determination unit 104 determines whether there is a process having an extension “.scr” from among processes running on the terminal.

そして、端末ステータス判定部104は、その端末上でスクリーンセーバプロセスが稼動していると判定した場合(ステップS703;Yes)、その端末は休止状態にあると判断し、その端末IDに対応する配布状況テーブル111の端末ステータスを「休止」に更新する(ステップS704)。   If the terminal status determination unit 104 determines that the screen saver process is operating on the terminal (step S703; Yes), the terminal status determination unit 104 determines that the terminal is in the dormant state, and the distribution status corresponding to the terminal ID. The terminal status in the table 111 is updated to “pause” (step S704).

一方、端末ステータス判定部104は、その端末上でスクリーンセーバプロセスが稼動していないと判定した場合(ステップS703;No)、その端末は稼動状態にあると判断し、その端末IDに対応する配布状況テーブル111の端末ステータスを「稼動」に更新する(ステップS705)。そして、ステップS702、S704、S705のいずれかの処理が終了すると、図7に示したステータス判定処理のすべての処理が終了する。続いて、図6Bに戻り、ステップS607以降の各処理について説明する。   On the other hand, if the terminal status determination unit 104 determines that the screen saver process is not operating on the terminal (step S703; No), the terminal status determination unit 104 determines that the terminal is in the operating state, and the distribution status corresponding to the terminal ID. The terminal status in the table 111 is updated to “operation” (step S705). When any one of steps S702, S704, and S705 ends, all the status determination processing illustrated in FIG. 7 ends. Subsequently, returning to FIG. 6B, each process after step S <b> 607 will be described.

図6Bにおいて、ステータス判定処理(ステップS607)が終了すると、配布制御部103は、ステップS605において抽出した端末IDをキーとして、その端末IDに対応する端末ステータスと、ステップS604で抽出した対象端末ステータスとを比較し、両者が一致するか否か(あるいは端末ステータスが対象端末ステータスに含まれるか否か)を判定する(ステップS608)。   6B, when the status determination process (step S607) ends, the distribution control unit 103 uses the terminal ID extracted in step S605 as a key, the terminal status corresponding to the terminal ID, and the target terminal status extracted in step S604. Are compared to determine whether or not they match (or whether or not the terminal status is included in the target terminal status) (step S608).

そして、配布制御部103は、両者が一致しない(あるいは端末ステータスが対象端末ステータスに含まれない)と判定した場合(ステップS608;No)、その端末IDに対応する配布状況テーブル111の対象ステータスを「N」に更新し、ステップS605に戻って以降の処理を繰り返す。   When the distribution control unit 103 determines that the two do not match (or the terminal status is not included in the target terminal status) (step S608; No), the distribution control unit 103 sets the target status in the distribution status table 111 corresponding to the terminal ID. Update to “N” and return to step S605 to repeat the subsequent processing.

一方、配布制御部103は、両者が一致する(あるいは端末ステータスが対象端末ステータスに含まれる)と判定した場合(ステップS608;Yes)、その端末IDに対応する配布状況テーブル111の対象ステータスを「Y」に更新し、さらに、その端末IDに対応する配布状況テーブル111の端末ステータスが「停止」となっているか否かを判定する(ステップS609)。   On the other hand, when the distribution control unit 103 determines that the two match (or the terminal status is included in the target terminal status) (step S608; Yes), the target status in the distribution status table 111 corresponding to the terminal ID is “ In addition, it is determined whether or not the terminal status of the distribution status table 111 corresponding to the terminal ID is “stopped” (step S609).

配布制御部103は、その端末IDに対応する配布状況テーブル111の端末ステータスが「停止」となっていると判定した場合(ステップS609;Yes)、ステップS610に進み、端末遠隔操作部105は端末遠隔操作処理を行う(ステップS610)
図8は、端末遠隔操作部105が行う端末遠隔操作処理の処理手順を示すフローチャートである。この端末遠隔操作処理は、上述したステップS609または後述するステップS616の後続処理となっており、各処理が実行されるタイミングによって、端末を遠隔起動するか否かが分かれることとなる。
When the distribution control unit 103 determines that the terminal status of the distribution status table 111 corresponding to the terminal ID is “stopped” (step S609; Yes), the process proceeds to step S610, and the terminal remote operation unit 105 Remote operation processing is performed (step S610).
FIG. 8 is a flowchart illustrating a processing procedure of terminal remote operation processing performed by the terminal remote operation unit 105. This terminal remote operation process is a process subsequent to step S609 described above or step S616 described later, and whether or not to remotely start the terminal depends on the timing at which each process is executed.

図8に示すように、端末遠隔操作部105は、ステップS605において抽出した端末IDをキーとして、その端末IDに対応する配布状況テーブル111の端末ステータスが「停止」となっているか否か判定する(ステップS801)。   As illustrated in FIG. 8, the terminal remote control unit 105 determines whether the terminal status of the distribution status table 111 corresponding to the terminal ID is “stopped” using the terminal ID extracted in step S605 as a key. (Step S801).

端末遠隔操作部105は、その端末IDに対応する配布状況テーブル111の端末ステータスが「停止」となっていると判定した場合(ステップS801;Yes)、ステップS606で取得した端末のMACアドレスに対して、WakeOnLan仕様に準拠したMagicPacketを送信し(ステップS802)、配布状況テーブル111の端末ステータスを「遠隔起動」に更新する(ステップS803)。   If the terminal remote operation unit 105 determines that the terminal status of the distribution status table 111 corresponding to the terminal ID is “stopped” (step S801; Yes), the terminal remote operation unit 105 determines the MAC address of the terminal acquired in step S606. Then, a MagicPacket conforming to the WakeOnLan specification is transmitted (step S802), and the terminal status in the distribution status table 111 is updated to “remote activation” (step S803).

一方、端末遠隔操作部105は、その端末IDに対応する配布状況テーブル111の端末ステータスが「停止」となっておらず、「遠隔起動」となっていると判定した場合(ステップS801;No)、ステップS606で取得した端末のIPアドレスに対して、shutdown命令を発行し(ステップS804)、配布状況テーブル111の端末ステータスを「−」に更新する(ステップS805)。   On the other hand, when the terminal remote operation unit 105 determines that the terminal status in the distribution status table 111 corresponding to the terminal ID is not “stopped” but “remote activation” (step S801; No). Then, a shutdown command is issued to the IP address of the terminal acquired in step S606 (step S804), and the terminal status in the distribution status table 111 is updated to “−” (step S805).

このステップS803またはステップS805の処理が終了すると、図8に示した全ての処理が終了する。なお、図8に示す端末遠隔操作処理のステップS802およびS803の各処理は、ステップS609の処理においてYesと判定された際に実行され、ステップS804およびS805の各処理は、その後、配布状況テーブル111の端末ステータスが「遠隔起動」に更新された状態で、ステップS616の処理においてYESと判定された場合に行われることとなる。続いて、図6Bに戻って、ステップS611以降の処理について説明する。   When the process of step S803 or step S805 ends, all the processes shown in FIG. 8 end. Note that the processes of steps S802 and S803 of the terminal remote operation process shown in FIG. 8 are executed when it is determined Yes in the process of step S609, and the processes of steps S804 and S805 are thereafter performed in the distribution status table 111. This is performed when it is determined YES in the process of step S616 in a state where the terminal status is updated to “remote activation”. Subsequently, returning to FIG. 6B, the processing after step S611 will be described.

ステップS609において、ステップS605において抽出した端末IDに対応する配布状況テーブル111の端末ステータスが「停止」となっていないと判定した場合(ステップS609;No)、またはステップS610において、端末遠隔操作処理が行われると、帯域判定部106は、帯域判定処理を行う(ステップS611)。   If it is determined in step S609 that the terminal status of the distribution status table 111 corresponding to the terminal ID extracted in step S605 is not “stopped” (step S609; No), or in step S610, the terminal remote operation process is performed. When performed, the band determination unit 106 performs band determination processing (step S611).

図9は、帯域判定部106が行う帯域判定処理の処理手順を示すフローチャートである。図9に示すように、帯域判定部106は、ステップS601において配布制御部103がキーとしたソフトウェアのソフトウェア名をキーとして、必要帯域テーブル112にアクセスし、そのソフトウェア名に対応する必要帯域を抽出する(ステップS901)。   FIG. 9 is a flowchart illustrating the processing procedure of the bandwidth determination process performed by the bandwidth determination unit 106. As shown in FIG. 9, the bandwidth determination unit 106 accesses the required bandwidth table 112 using the software name of the software that the distribution control unit 103 uses as a key in step S601, and extracts the required bandwidth corresponding to the software name. (Step S901).

次に、帯域判定部106は、ステップS606において配布制御部103が取得したIPアドレスに対して、64キロバイトのpingパケットを5回送信し、その平均応答時間を取得する(ステップS902)。具体的には、帯域判定部106は、そのIPアドレスに対して、コマンド「ping−l 64000−t 5 <IPアドレス>|find “Average”」を発行して平均応答時間を取得する。   Next, the bandwidth determination unit 106 transmits a 64 kilobyte ping packet five times to the IP address acquired by the distribution control unit 103 in step S606, and acquires the average response time (step S902). Specifically, the bandwidth determination unit 106 issues the command “ping-1 64000-t 5 <IP address> | find“ Average ”” to the IP address to acquire the average response time.

そして、帯域判定部106は、帯域速度を算出する(ステップS903)。具体的には、帯域判定部106は、計算式「(64KB×2)÷平均応答時間=帯域速度」を用いて帯域速度を計算する。   Then, the band determination unit 106 calculates a band speed (step S903). Specifically, the band determination unit 106 calculates the band speed using the calculation formula “(64 KB × 2) ÷ average response time = band speed”.

次に、帯域判定部106は、ステップS901で抽出した必要帯域と、ステップS903で算出した帯域速度とを比較して帯域速度が必要帯域以上であるか否かを判定し(ステップS904)、帯域速度が必要帯域以上であると判定した場合(ステップS904;Yes)、配布状況テーブル111の帯域フラグを「Y」に更新する(ステップS905)。   Next, the bandwidth determination unit 106 compares the required bandwidth extracted in step S901 with the bandwidth speed calculated in step S903 to determine whether the bandwidth speed is equal to or higher than the required bandwidth (step S904). When it is determined that the speed is equal to or higher than the necessary bandwidth (step S904; Yes), the bandwidth flag in the distribution status table 111 is updated to “Y” (step S905).

一方、帯域判定部106は、帯域速度が必要帯域以上でないと判定した場合(ステップS904;No)、配布状況テーブル111の帯域フラグを「N」に更新する(ステップS906)。このステップS905またはS906の処理が終了すると、図9に示す全ての処理が終了する。続いて、図6Bに戻り、ステップS612以降の処理について説明する。   On the other hand, if the bandwidth determination unit 106 determines that the bandwidth speed is not equal to or higher than the required bandwidth (step S904; No), the bandwidth flag in the distribution status table 111 is updated to “N” (step S906). When the process of step S905 or S906 ends, all the processes shown in FIG. 9 end. Subsequently, returning to FIG. 6B, the processing after step S612 will be described.

ステップS611において帯域判定処理が終了すると、配布制御部103は、配布状況テーブル111から帯域フラグを読み込み、帯域フラグが「Y」であるか否か判定し(ステップS612)、帯域フラグが「Y」であると判定した場合(ステップS612;Yes)、図6Cに示すステップS613に進む。一方、配布制御部103が、帯域フラグが「Y」でないと判定した場合(ステップS612;No)、ステップS605に戻って以降の処理を繰り返す。   When the bandwidth determination process ends in step S611, the distribution control unit 103 reads the bandwidth flag from the distribution status table 111, determines whether or not the bandwidth flag is “Y” (step S612), and the bandwidth flag is “Y”. If it is determined that it is (step S612; Yes), the process proceeds to step S613 shown in FIG. 6C. On the other hand, if the distribution control unit 103 determines that the bandwidth flag is not “Y” (step S612; No), the process returns to step S605 and the subsequent processing is repeated.

そして、配布制御部103は、ステップS606で取得したIPアドレスを有する端末に対して、ステップS601において配布対象としたソフトウェアを送信してそのリターンコードを取得し、取得したリターンコードが「0」であるか否かを判定する(ステップS613)。   Then, the distribution control unit 103 transmits the software targeted for distribution in step S601 to the terminal having the IP address acquired in step S606, acquires the return code, and the acquired return code is “0”. It is determined whether or not there is (step S613).

配布制御部103は、取得したリターンコードが「0」であると判定した場合(ステップS613;Yes)、さらに、ソフトウェアのインストール処理を行ってそのリターンコードを取得し、取得したリターンコードが「0」であるか否かを判定する(ステップS614)。一方、配布制御部103が、取得したリターンコードが「0」でないと判定した場合(ステップS613;No)、ステップS605に戻って以降の処理を繰り返す。   When the distribution control unit 103 determines that the acquired return code is “0” (step S613; Yes), the distribution control unit 103 further performs software installation processing to acquire the return code, and the acquired return code is “0”. ] Is determined (step S614). On the other hand, when the distribution control unit 103 determines that the acquired return code is not “0” (step S613; No), the process returns to step S605 to repeat the subsequent processing.

そして、配布制御部103は、取得したリターンコードが「0」であると判定した場合(ステップS614;Yes)、ソフトウェアが正常にインストールできたと判断し、配布状況テーブル111のインストールフラグを「Y」に更新する(ステップS615)。一方、配布制御部103が、取得したリターンコードが「0」でないと判定した場合(ステップS614;No)、ステップS605に戻って以降の処理を繰り返す。   When the distribution control unit 103 determines that the acquired return code is “0” (step S614; Yes), the distribution control unit 103 determines that the software has been successfully installed, and sets the installation flag of the distribution status table 111 to “Y”. (Step S615). On the other hand, when the distribution control unit 103 determines that the acquired return code is not “0” (step S614; No), the process returns to step S605 to repeat the subsequent processing.

次に、配布制御部103は、配布状況テーブル111の端末ステータスを読み込み、端末ステータスが「遠隔起動」であるか否かを判定し(ステップS616)、端末ステータスが「遠隔起動」であると判定した場合(ステップS616;Yes)、端末遠隔操作部105は、図8に示した端末遠隔操作処理を行う(ステップS617)。このとき、上述したように、ステップS803において配布状況テーブル111の端末ステータスが「遠隔起動」に更新されているので、この段階では、端末遠隔操作処理のうちのステップS804およびS805の各処理が行われることとなる。一方、配布制御部103は、端末ステータスが「遠隔起動」でないと判定した場合(ステップS616;No)、何もせずにステップS618に進む。   Next, the distribution control unit 103 reads the terminal status in the distribution status table 111, determines whether the terminal status is “remote activation” (step S616), and determines that the terminal status is “remote activation”. If it has been performed (step S616; Yes), the terminal remote control unit 105 performs the terminal remote control process shown in FIG. 8 (step S617). At this time, as described above, since the terminal status of the distribution status table 111 is updated to “remote activation” in step S803, each process of steps S804 and S805 of the terminal remote operation processing is performed at this stage. Will be. On the other hand, when the distribution control unit 103 determines that the terminal status is not “remote activation” (step S616; No), the process proceeds to step S618 without doing anything.

配布制御部103は、配布計画テーブル110にアクセスし、インストールしたソフトウェアのソフトウェア名に対応する開始時間および終了時間の読み込み処理を実行し、現在の時刻が計画時間内であるか否かを判定し(ステップS618)、現在の時刻が計画時間内であると判定した場合(ステップS618;Yes)、ステップS605に戻って以降の処理を繰り返す。一方、配布制御部103が、現在の時刻が計画時間内でないと判定した場合(ステップS618;No)、配布状況テーブル111の帯域フラグを「−」に更新するとともに、対象ステータスを「−」に更新してリセットする(ステップS619)。このステップS619の処理が終了すると、図6A〜6Cに示した全ての処理が終了する。   The distribution control unit 103 accesses the distribution plan table 110, executes a read process of the start time and end time corresponding to the software name of the installed software, and determines whether or not the current time is within the planned time. If it is determined that the current time is within the planned time (step S618) (step S618; Yes), the process returns to step S605 and the subsequent processing is repeated. On the other hand, when the distribution control unit 103 determines that the current time is not within the planned time (step S618; No), the bandwidth flag of the distribution status table 111 is updated to “−” and the target status is set to “−”. Update and reset (step S619). When the process of step S619 ends, all the processes shown in FIGS. 6A to 6C end.

このように、本実施の形態におけるソフトウェア配布システムでは、ソフトウェア配布の条件として必要となるネットワーク帯域を予め設定し、ソフトウェア配布時におけるネットワーク帯域を測定し、設定した条件を満たす場合のみソフトウェア配布を行い、ネットワーク帯域が混み合っている場合には、ソフトウェア配布は見送られる。このことにより、ソフトウェア配布によるネットワーク帯域の圧迫を防止することができる。すなわち、ネットワーク帯域の圧迫、対象端末負荷増大、ソフトウェア配布進捗の遅延、隣接端末へのソフトウェア配布の集中を引き起こすことなく、ソフトウェア配布を実行することが可能となり、その結果として高品質なソフトウェア配布を提供できる。   As described above, in the software distribution system according to the present embodiment, the network bandwidth required as the software distribution condition is set in advance, the network bandwidth at the time of software distribution is measured, and software distribution is performed only when the set condition is satisfied. If the network bandwidth is congested, software distribution will be postponed. As a result, network bandwidth pressure due to software distribution can be prevented. In other words, software distribution can be performed without causing network bandwidth pressure, increased load on target terminals, delay in software distribution progress, and concentration of software distribution to neighboring terminals, resulting in high-quality software distribution. Can be provided.

また、ソフトウェア配布の対象端末を端末状況(稼働中、休止中、停止中)毎に選定させる。このことによって、稼働中の対象端末への負荷の増大を防止し、停止中の対象端末を遠隔起動してソフトウェア配布を実行させることで、ソフトウェア配布の進捗遅延を防止するといった、端末状況の応じたソフトウェアの配布を実施することができる。   Also, the target terminals for software distribution are selected for each terminal status (operating, inactive, inactive). As a result, it is possible to prevent an increase in the load on the target terminal in operation, and to prevent the delay in progress of software distribution by remotely starting the target terminal being stopped and executing software distribution. Software distribution.

さらに、対象端末の選定方式として順次選択とランダム選択を指定可能としており、順次選択時には、例えば、ある部署の配置されている同じネットワーク領域にある端末へのソフトウェア配布によって、その部署のネットワーク帯域が込み合ってレスポンスの低下を招く等、インストール対象となる端末の場所が1箇所に集中してしまうことによる弊害を回避することも可能となる。   Furthermore, sequential selection and random selection can be specified as the target terminal selection method. At the time of sequential selection, for example, by distributing software to terminals in the same network area where a certain department is arranged, the network bandwidth of that department is reduced. It is also possible to avoid the adverse effects caused by the concentration of the terminals to be installed in one place, such as crowding and a decrease in response.

なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。例えば、ソフトウェアの配布対象となる対象端末の台数が多く処理負荷が大きい場合には、ソフトウェア配布サーバ101が有する複数の機能を物理的に2以上のサーバに分ける等、実施の形態に示される全構成要素からいくつかの構成要素を変更したり、構成要素を適宜組み合わせても良い。   It should be noted that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. For example, when the number of target terminals to which software is distributed is large and the processing load is large, a plurality of functions of the software distribution server 101 are physically divided into two or more servers. Some components may be changed from the components, or the components may be appropriately combined.

1000 ソフトウェア配布システム
101 ソフトウェア配布サーバ
102A 主制御部
102B 記憶部
103 配布制御部
104 端末ステータス判定部
105 端末遠隔操作部
106 帯域判定部
107 端末管理DB
108 端末管理テーブル
109 ソフト配布DB
110 計画テーブル
111 配布状況テーブル
112 帯域テーブル
113 ネットワーク網
114 対象端末群。
1000 Software distribution system 101 Software distribution server 102A Main control unit 102B Storage unit 103 Distribution control unit 104 Terminal status determination unit 105 Terminal remote operation unit 106 Band determination unit 107 Terminal management DB
108 Terminal management table 109 Software distribution DB
110 Plan table 111 Distribution status table 112 Band table 113 Network 114 Target terminal group.

Claims (8)

ネットワークを介して接続された端末にソフトウェアを配布するソフトウェア配布サーバであって、
前記端末を識別するための端末識別情報と、少なくとも前記端末が停止しているか否かを示す稼動状況を含む前記端末の稼働情報と、前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしているか否かを示す帯域情報とを対応付けて記憶する配布状況テーブルを記憶する記憶部と、
前記端末の稼動状況を判定し、判定した結果を前記稼動情報に記憶させるステータス判定部と、
前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしているか否かを判定し、判定した結果を前記帯域情報に記憶させる帯域判定部と、
前記稼動情報として前記端末が停止している旨が記憶されていない場合であって、前記帯域情報として前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしている旨が記憶されている場合に、前記端末識別情報によって識別される前記端末に前記ソフトウェアを配布させる配布制御部と、
を備えることを特徴とするソフトウェア配布サーバ。
A software distribution server that distributes software to terminals connected via a network,
Terminal identification information for identifying the terminal, operation information of the terminal including at least an operation status indicating whether or not the terminal is stopped, and a bandwidth of the network satisfy a condition necessary for distribution of the software A storage unit for storing a distribution status table for storing the band information indicating whether or not the band information is associated with each other;
A status determination unit that determines the operating status of the terminal and stores the determined result in the operating information;
A bandwidth determination unit that determines whether or not a bandwidth of the network satisfies a condition necessary for distribution of the software, and stores the determined result in the bandwidth information;
The fact that the terminal is stopped is not stored as the operation information, and the fact that the bandwidth of the network satisfies the conditions necessary for the software distribution is stored as the bandwidth information A distribution control unit that distributes the software to the terminal identified by the terminal identification information;
A software distribution server comprising:
前記端末が停止している旨の稼動情報が記憶されている場合に、前記端末を遠隔起動させる遠隔操作部をさらに備え、
前記配布制御部は、前記遠隔操作部が前記端末を遠隔起動させ、前記帯域情報として前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしている旨が記憶されている場合に、前記端末識別情報によって識別される前記端末に前記ソフトウェアを配布させる、
ことを特徴とする請求項1に記載のソフトウェア配布サーバ。
A remote control unit for remotely starting the terminal when operation information indicating that the terminal is stopped is stored;
The distribution control unit, when the remote operation unit remotely activates the terminal, and storing that the band of the network satisfies a condition necessary for distribution of the software as the band information Distributing the software to the terminal identified by the identification information;
The software distribution server according to claim 1.
前記記憶部は、あらかじめ、前記ソフトウェアを識別するためのソフトウェア識別情報と、前記ソフトウェアを配布する際に必要な前記端末の状況を示す対象端末ステータス情報とを対応付けて記憶する配布計画テーブルをさらに記憶し、
前記配布制御部は、前記配布状況テーブルが記憶する前記稼動情報が、前記配布計画テーブルが記憶する前記対象端末ステータス情報に含まれる場合に、前記端末識別情報によって識別される前記端末に前記ソフトウェアを配布させる、
ことを特徴とする請求項1または2に記載のソフトウェア配布サーバ。
The storage unit further includes a distribution plan table for previously storing software identification information for identifying the software and target terminal status information indicating the status of the terminal necessary for distributing the software in association with each other. Remember,
The distribution control unit, when the operation information stored in the distribution status table is included in the target terminal status information stored in the distribution plan table, distributes the software to the terminal identified by the terminal identification information. Distribute
The software distribution server according to claim 1, wherein the software distribution server is a software distribution server.
前記配布制御部は、前記ネットワークに前記端末が複数接続されている場合には、あらかじめ定められた所定の順序より、または前記順序とは無関係に前記ソフトウェアを前記端末に配布させる、
ことを特徴とする請求項1〜3のいずれか1項に記載のソフトウェア配布サーバ。
The distribution control unit, when a plurality of the terminals are connected to the network, to distribute the software to the terminals in a predetermined order or regardless of the order;
The software distribution server according to any one of claims 1 to 3.
前記遠隔操作部は、前記端末を遠隔起動させ、前記配布制御部が前記ソフトウェアを前記端末に配布させた後、前記端末を遠隔起動前の停止状態に戻して前記稼動情報をリセットする、
ことを特徴とする請求項2〜4のいずれか1項に記載のソフトウェア配布サーバ。
The remote operation unit remotely activates the terminal, and after the distribution control unit distributes the software to the terminal, the operation information is reset by returning the terminal to a stop state before remote activation.
The software distribution server according to claim 2, wherein the software distribution server is a software distribution server.
ネットワークを介して接続された端末にソフトウェアを配布するソフトウェア配布サーバで行われるソフトウェア配布方法であって、
前記端末の稼動状況を判定し、判定した結果を少なくとも前記端末が停止しているか否かを示す稼動状況を含む前記端末の稼動情報として記憶させるステータス判定ステップと、
前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしているか否かを判定し、判定した結果を前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしているか否かを示す帯域情報に記憶させる帯域判定ステップと、
前記稼動情報として前記端末が停止している旨が記憶されているか否かを判定する第1の判定ステップと、
前記稼動情報として前記端末が停止している旨が記憶されていないと判定された場合において、前記帯域情報として前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしている旨が記憶されているか否かを判定する第2の判定ステップと、
前記帯域情報として前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしている旨が記憶されていると判定された場合において、前記端末を識別するための端末識別情報によって識別される前記端末に前記ソフトウェアを配布させる配布ステップと、
を含むことを特徴とするソフトウェア配布方法。
A software distribution method performed by a software distribution server that distributes software to terminals connected via a network,
A status determination step of determining an operating status of the terminal, and storing the determined result as operating information of the terminal including an operating status indicating whether or not the terminal is at least stopped;
Band information indicating whether or not the network bandwidth satisfies a condition necessary for software distribution, and the result of the determination indicates whether or not the network bandwidth satisfies a condition necessary for software distribution. Bandwidth determination step to be stored in
A first determination step for determining whether or not the terminal is stopped as the operation information;
When it is determined that the fact that the terminal is stopped is not stored as the operation information, it is stored that the bandwidth of the network satisfies the conditions necessary for the software distribution as the bandwidth information. A second determination step of determining whether or not,
The terminal identified by terminal identification information for identifying the terminal when it is determined that the bandwidth of the network satisfies the condition necessary for distribution of the software as the band information A distribution step for distributing the software to
A software distribution method comprising:
コンピュータに、
ネットワークを介して接続された端末の稼動状況を判定し、判定した結果を少なくとも前記端末が停止しているか否かを示す稼動状況を含む前記端末の稼動情報として記憶させるステータス判定ステップと、
前記ネットワークの帯域がソフトウェアの配布に必要な条件を満たしているか否かを判定し、判定した結果を前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしているか否かを示す帯域情報に記憶させる帯域判定ステップと、
前記稼動情報として前記端末が停止している旨が記憶されているか否かを判定する第1の判定ステップと、
前記稼動情報として前記端末が停止している旨が記憶されていないと判定された場合において、前記帯域情報として前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしている旨が記憶されているか否かを判定する第2の判定ステップと、
前記帯域情報として前記ネットワークの帯域が前記ソフトウェアの配布に必要な条件を満たしている旨が記憶されていると判定された場合において、前記端末を識別するための端末識別情報によって識別される前記端末に前記ソフトウェアを配布させる配布ステップと、
を実行させることを特徴とするソフトウェア配布プログラム。
On the computer,
A status determination step of determining an operating status of a terminal connected via a network, and storing the determined result as operating information of the terminal including an operating status indicating whether or not the terminal is stopped;
It is determined whether or not the network bandwidth satisfies a condition necessary for software distribution, and the determined result is band information indicating whether or not the network bandwidth satisfies a condition necessary for software distribution. Bandwidth determination step for storing;
A first determination step for determining whether or not the terminal is stopped as the operation information;
When it is determined that the fact that the terminal is stopped is not stored as the operation information, it is stored that the bandwidth of the network satisfies the conditions necessary for the software distribution as the bandwidth information. A second determination step of determining whether or not,
The terminal identified by terminal identification information for identifying the terminal when it is determined that the bandwidth of the network satisfies the condition necessary for distribution of the software as the band information A distribution step for distributing the software to
Software distribution program characterized by causing
請求項7に記載されたソフトウェア配布プログラムを格納したコンピュータの読み取り可能な記録媒体。   A computer-readable recording medium storing the software distribution program according to claim 7.
JP2011153839A 2011-07-12 2011-07-12 Software distribution server, software distribution method, software distribution program, and recording medium Expired - Fee Related JP5839664B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011153839A JP5839664B2 (en) 2011-07-12 2011-07-12 Software distribution server, software distribution method, software distribution program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011153839A JP5839664B2 (en) 2011-07-12 2011-07-12 Software distribution server, software distribution method, software distribution program, and recording medium

Publications (2)

Publication Number Publication Date
JP2013020481A true JP2013020481A (en) 2013-01-31
JP5839664B2 JP5839664B2 (en) 2016-01-06

Family

ID=47691848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011153839A Expired - Fee Related JP5839664B2 (en) 2011-07-12 2011-07-12 Software distribution server, software distribution method, software distribution program, and recording medium

Country Status (1)

Country Link
JP (1) JP5839664B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015068518A1 (en) * 2013-11-05 2015-05-14 株式会社リコー Communication device, communication system, communication method, and communication program
US10127031B2 (en) 2013-11-26 2018-11-13 Ricoh Company, Ltd. Method for updating a program on a communication apparatus
JP2018181376A (en) * 2018-07-31 2018-11-15 住友電気工業株式会社 Relay device, program update system, and program update method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0689181A (en) * 1992-04-16 1994-03-29 Nec Corp System for updating program by down load
JP2001320773A (en) * 2000-05-11 2001-11-16 Nec Corp Device and method for software downloading in subscriber radio system
JP2005251125A (en) * 2004-03-08 2005-09-15 Toshiba Corp MEDICAL DEVICE PROTOCOL DISTRIBUTION SYSTEM, MEDICAL DEVICE PROTOCOL DISTRIBUTION METHOD, AND MEDICAL DEVICE PROTOCOL DISTRIBUTION PROGRAM
JP2006134354A (en) * 1999-09-24 2006-05-25 Hitachi Ltd Computer system and program installation method
JP2006171918A (en) * 2004-12-13 2006-06-29 Internatl Business Mach Corp <Ibm> Data transmission to client and execution control method of update data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0689181A (en) * 1992-04-16 1994-03-29 Nec Corp System for updating program by down load
JP2006134354A (en) * 1999-09-24 2006-05-25 Hitachi Ltd Computer system and program installation method
JP2001320773A (en) * 2000-05-11 2001-11-16 Nec Corp Device and method for software downloading in subscriber radio system
JP2005251125A (en) * 2004-03-08 2005-09-15 Toshiba Corp MEDICAL DEVICE PROTOCOL DISTRIBUTION SYSTEM, MEDICAL DEVICE PROTOCOL DISTRIBUTION METHOD, AND MEDICAL DEVICE PROTOCOL DISTRIBUTION PROGRAM
JP2006171918A (en) * 2004-12-13 2006-06-29 Internatl Business Mach Corp <Ibm> Data transmission to client and execution control method of update data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015068518A1 (en) * 2013-11-05 2015-05-14 株式会社リコー Communication device, communication system, communication method, and communication program
JPWO2015068518A1 (en) * 2013-11-05 2017-03-09 株式会社リコー COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
US10127031B2 (en) 2013-11-26 2018-11-13 Ricoh Company, Ltd. Method for updating a program on a communication apparatus
JP2018181376A (en) * 2018-07-31 2018-11-15 住友電気工業株式会社 Relay device, program update system, and program update method

Also Published As

Publication number Publication date
JP5839664B2 (en) 2016-01-06

Similar Documents

Publication Publication Date Title
US9940598B2 (en) Apparatus and method for controlling execution workflows
EP3387527A1 (en) Model-driven updates distributed to changing topologies
JPWO2017179537A1 (en) SOFTWARE UPDATE CONTROL DEVICE, SOFTWARE UPDATE CONTROL SYSTEM, SOFTWARE UPDATE CONTROL METHOD, AND RECORDING MEDIUM CONTAINING SOFTWARE UPDATE CONTROL PROGRAM
US10901722B2 (en) Collaborative maintenance of software programs
US8850023B2 (en) Method for changing placement of virtual machine and apparatus for changing placement of virtual machine
US9417909B2 (en) Scheduling work in a multi-node computer system based on checkpoint characteristics
JP5839664B2 (en) Software distribution server, software distribution method, software distribution program, and recording medium
CN112131188A (en) Batch file distribution processing method and device
CN105786539B (en) File downloading method and device
CN107463390B (en) Software upgrading method and upgrading server
CN103457968B (en) A kind of method and system disposing cloud service
US20130117447A1 (en) Computer-readable recording medium storing process for monitoring computer, its method and apparatus
JP2016177324A (en) Information processing apparatus, information processing system, information processing method, and program
CN103747034B (en) A kind of method and device of the state machine state conversion of terminal
US9335984B2 (en) Data transmission method, transmission-source information processing apparatus, data transmission system, and data transmission program
US10338651B2 (en) Computing device location
KR102300191B1 (en) Method and server of updating block in blockchain for content
JP5658621B2 (en) Signal distribution duplication destination determination system, signal distribution duplication destination determination method and program
US20190386928A1 (en) System and method for utilizing idle network resources
CN116185676B (en) Job recovery methods and computing equipment
CN109962938B (en) Data updating and accessing method and device and cluster system
US11853101B2 (en) Adaptation apparatus
US10078452B2 (en) Performance information management system, management computer, and performance information management method
CN121233233A (en) A container deployment method, system, apparatus, equipment, medium, and product.
CN118020060A (en) Virtual machine distributed service management

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130701

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151109

R150 Certificate of patent or registration of utility model

Ref document number: 5839664

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees