技术领域 本发明涉及一种针对需要分发电子数据的PC等,一边分散与电子数据的 分发有关的分发服务器的负荷,一边分发电子数据的电子数据分发系统。 背景技术 近年来,在办公室等中,使用PC(Personal Computer)等信息设备,进 行文件生成等各种业务。并且,通过使用在PC等中安装的程序来进行这些业 务。 但是,很多时候由于改进等要变更程序,当变更了程序时,需要得到变更 后的程序安装在PC等中。然后,得到变更后的程序以及安装对于PC等操作 者来说是比较麻烦的作业,因此已知有用于减轻这些作业负担的各种技术。 例如,为了减轻要得到变更后的程序而导致的PC等的操作者的作业负担, 广泛地采取以下措施:设置程序分发服务器,经由网络向PC等分发变更后的 程序。 并且,在程序分发服务器向PC等分发变更后的程序时,当分发目的地PC 等的台数增加时,众所周知,有程序分发服务器以及网络的负荷增大的问题。 特别是近年来,由于因特网的发达,盛行通过分发服务器,不仅对PC分发程 序,还对PC等分发文件或音乐数据等(以下统称为“电子数据”),因此,与 分发有关的负荷分散的要求日益强烈。 为了解决该问题,在专利文献1中公开了以下的技术:在PC等中管理程 序的使用频度,仅对使用频度高的程序,要求程序分发服务器分发变更后的程 序。 【专利文献1】特开平9-231086号公报 发明内容 但是,在变更后的程序,例如是像病毒免疫软件(virus vaccine soft)或病 毒码文件(virus pattern file)那样的与安全等有关的电子数据时,与使用频度 的高低无关需要分发变更后的电子数据。因此,如此对于需要分发的电子数据, 无法使用在专利文献1中表示的例子。 鉴于以上的现状,本发明的目的在于提供一种对于需要分发电子数据的 PC等,一边分散与电子数据的分发有关的分发服务器的负荷,一边分发电子 数据的电子数据分发系统。 为了解决上述的课题,本发明提供以下的结构。 第一方式的发明提供一种电子数据分发系统,其是通信自由地连接发送电 子数据的分发物的分发服务器、接收分发物的分发客户机的电子数据分发系 统,其特征在于, 所述分发客户机具备: 对所述分发服务器请求发送分发计划的至少一部分的分发信息请求单元; 以及 对所述分发服务器请求发送分发物的分发请求单元, 所述分发服务器具备: 由应该成为分发对象的电子数据作成电子数据的分发物的分发物作成单 元; 向所述分发客户机发送所述分发服务器具备的分发信息数据库中存储的 作为分发计划的分发信息的至少一部分的分发信息发送单元;以及 将请求发送的分发物发送给分发客户机的分发单元, 所述分发物作成单元具备: 根据包含所述分发服务器的操作者输入的分发客户机、分发开始日期时间 以及分散期间的输入信息取得分发信息的单元;以及 参照所述分发信息,从所述分发服务器具备的存储装置取得电子数据作成 电子数据的分发物的单元;以及在各数据项目中设定所述分发信息来作成分发 信息记录,并存储在所述分发数据库中的单元, 所述分发信息请求单元具备: 对所述分发服务器发送分发信息发送请求消息的单元; 当从所述分发服务器接收到分发信息时,根据接收到的分发信息设定分发 请求日期时间以及失败次数来作成请求信息,并存储在所述分发客户机所具备 的请求信息数据库中的单元, 所述分发信息发送单元具备: 在从所述分发客户机接收到分发信息发送请求消息时,依次参照所述分发 信息数据库的全部的分发信息的记录,判定作为分发信息记录的分发目的地, 是否设定了发送了分发信息发送请求消息的分发客户机的单元; 在已设定了时,判定该分发客户机的分发信息记录的分发状况是否为“未 发送”,在为“未发送”时,将该分发客户机判定为分发物的分发对象的单元; 以及 在将该分发客户机判定为分发物的分发对象时,作成包含分发信息记录的 分发物ID以及分散期间的分发信息,将其发送给所述分发客户机的单元, 所述分发请求单元具备: 依次参照所述请求信息数据库的全部的请求信息记录,将分发请求日期时 间与处理时刻的分发客户机的系统年月日时刻进行比较的单元; 如果系统年月日时刻为分发请求日期时间之后,则作成分发物请求消息发 送给分发服务器的单元; 当从分发服务器接收到分发消息时,参照在分发消息中包含的可否分发代 码的单元; 在可否分发代码为“可分发”时,把分发消息中包含的分发物存储在所述 分发客户机所具备的存储装置中的单元;以及 删除所述请求信息数据库的请求信息记录中的、分发物ID与分发消息中 包含的分发物ID一致的记录的单元, 所述分发单元具备: 当所述分发服务器从所述分发客户机接收到分发物请求消息时,判断被请 求的分发物是否为分发对象的单元; 在判断为分发对象时,参照所述分发物存储场所取得分发物,作成包含设 置为“可分发”的可否分发代码、分发物ID、以及分发物的分发消息,然后 发送给所述分发客户机的单元;以及 对该分发目的地的状况设定“发送完”,更新所述分发信息记录的单元。 第二方式的发明的特征为:在第一方式记载的电子数据分发系统中,所述 分发物作成单元具备在作成所述分发信息记录时,代替所述分发开始日期时间 以及分散期间,参照由所述分发服务器的操作者输入的信息分发,来进行分发 开始日、分发开始·结束时刻、以及最大分发台数的设定的单元, 所述分发信息请求单元具备:将接收到的分发信息中包含的分发请求日期 时间设定为请求信息的分发请求日期时间的单元, 所述分发信息发送单元具备: 在将分发客户机判定为分发物的分发对象时,计算分发请求日期时间,以 使在各分发请求日成为分发对象的分发客户机的数量不超过所述最大分发台 数,同时在各请求日的分发开始·结束时刻谋求负荷分散的单元; 作成包含分发信息记录的分发物ID以及计算出的分发请求日期时间的分 发信息,发送给所述分发客户机的单元;以及 对该分发客户机的分发状况设定“计划完”,更新分发信息记录的单元, 分发单元具备: 在将发送了分发物请求消息的分发客户机设定为分发目的地时,判定分发 信息记录的该分发目的地的分发状况是否为“计划完”的单元; 在为“计划完”时,把在处理时刻的分发服务器的系统年月日时刻与分发 开始日以及分发开始·结束时刻进行比较的单元;以及 在系统年月日为分发开始日之后,并且系统时刻为分发开始·结束时刻的 开始时刻之后、结束时刻之前时,设为分发对象的单元。 第三方式的发明的特征为:在第一方式记载的电子数据分发系统中, 所述分发物作成单元具备: 参照由所述分发服务器的操作者输入的信息,代替所述分发信息记录的所 述分发开始日期时间以及分散期间,来设定分发方法的单元; 在分发方法为“在一日中分发”时,进一步设定分发开始日期时间以及分 散期间的单元; 在分发方法为“分为多日分发”时,进一步设定分发开始日、分发开始·结 束时刻以及最大分发台数的单元, 所述分发信息请求单元具备: 在接收到的分发信息中包含的分发方法为“在一日中分发”时,参照接收 到的分发信息中包含的分散期间决定分发请求日期时间,设定接收到的分发信 息中包含的分发物ID、分发请求日期时间,设定失败次数来作成分发请求记 录的单元; 另一方面,在接收到的分发信息中包含的分发方法为“分为多日分发”时, 设定接收到的分发信息中包含的分发物ID、分发请求日期时间,设定失败次 数,来作成分发请求记录的单元, 所述分发信息发送单元具备: 在分发信息记录的分发方法为“在一日中分发”时,判定该分发客户机的 分发状况是否为“未发送”,在为“未发送”时,将该分发客户机判定为分发 物的分发对象的单元; 在分发方法为“分为多日分发”的情况下,在将该分发客户机判定为分发 物的分发对象时,计算分发请求日期时间,以使在各分发请求日成为分发对象 的分发客户机的数量不超过所述最大分发台数,同时在各分发请求日的分发开 始·结束时刻谋求负荷分散的单元; 作成包含分发信息记录的分发物ID以及计算出的分发请求日期时间的分 发信息,并发送给分发客户机的单元;以及 对该分发客户机的分发状况设定“计划完”,更新所述分发信息记录的单 元, 所述分发单元具有: 在分发信息记录的分发方法为“在一日中分发”时,判定被请求的分发物 是否为分发对象的单元; 在判定为分发对象时,参照所述分发物存储场所取得分发物,作成包含设 置为“可分发”的可否分发代码、分发物ID以及分发物的分发消息,然后发 送给所述分发客户机的单元; 对该分发目的地的分发状况设定“发送完”,更新所述分发信息记录的单 元; 在分发方法为“分为多日分发”时,判定是否将发送了分发物请求消息的 分发客户机设定成了所述分发信息记录的分发目的地的单元; 在已设定的情况下,判定该分发目的地的分发状况是否为“计划完”的单 元;以及 在为“计划完”时,把在处理时刻的分发服务器3的系统年月日时刻与分 发开始日以及分发开始·结束时刻进行比较的单元;以及 在系统年月日在分发开始日之后,并且系统时刻在分发开始·结束时刻的 开始时刻之后、结束时刻之前的情况下,设为分发对象的单元。 根据本发明第一方式的发明,可以提供一种对于需要分发电子数据的PC 等,一边分散与电子数据的分发有关的分发服务器的负荷,一边来分发电子数 据的电子数据分发系统。 根据第二方式的发明,除了第一方式的发明的效果之外,在分发对象的分 发客户机的台数比较多时,可以通过分散进行分发的天数,来分散与分发有关 的负荷。 根据第三方式的发明,除了第一方式的发明的效果之外,分发服务器的操 作者在作成分发物时,可以选择在一日中分发还是分为多日进行分发,可以考 虑与电子数据的分发有关的分发服务器的负荷来选择分发的方法。 附图说明 图1是本发明第一实施方式的电子数据分发系统的系统结构图。 图2是本发明的请求信息DB的数据结构图。 图3是本发明的分发信息DB的数据结构图。 图4是表示本发明的分发物作成单元的动作的流程图。 图5是表示本发明的分发信息请求单元的动作的流程图。 图6是表示本发明的分发信息发送单元的动作的流程图。 图7是表示本发明的分发请求单元的动作的流程图。 图8是表示本发明的分发单元的动作的流程图。 图9时本发明第二实施方式的电子数据分发系统的系统结构图。 图10是本发明第三实施方式的电子数据分发系统的系统结构图。 符号说明 1分发客户机;2存储装置;3分发服务器;4存储装置;11分发信息请 求单元;12分发请求单元;21分发信息DB;31分发物作成单元;32分发信 息发送单元;33分发单元;41电子数据;42分发信息DB;43分发物;210 请求信息记录;211、412分发物ID;212分发请求日期时间;213失败次数; 420分发信息记录;422分发物存储场所;423分发台数;424分发目的地;425 分发状况;427A分发开始日期时间;427B分发开始日;428A分散期间;428B 分发开始·结束时刻;429B最大分发台数 具体实施方式 以下参照表示实施例的附图说明本发明的实施方式。 此外,在以后的说明以及附图中,将程序、文件等由计算机处理的信息统 称为“电子数据”。此外,在服务器向客户机发送电子数据时,有时记载为“分 发”,有时记载为“发送”。在用一个词表示发送分发物的情况时记载为“分发”, 除此之外的情况记载为“发送”。 图1是本发明第一实施方式的电子数据分发系统的系统结构图。 (电子数据分发系统的整体结构以及功能) 电子数据分发系统是通过有线或无线的通信线路可通信地连接分发客户 机1以及分发服务器3各装置的系统。各装置图示了一台,但也可以分别存在 两台以上。例如,在图1中,仅表示了一台分发客户机1,但很多时候连接有 两台以上的具有相同的结构·功能的分发客户机1。此外,关于分发服务器3, 也可以连接两台以上的具有相同结构·功能的分发服务器3,来谋求分散负荷。 在图1中,分发客户机1以及分发服务器3通过LAN(Local Area Network) 6相互可通信地连接。连接方法并不限定于LAN,只要相互可通信地连接即可。 根据以上的结构以及各个装置具备后述的功能,整个电子数据分发系统具 备如下的功能。 首先,分发服务器3作成向分发客户机1的分发物(电子数据),并且作 成关于该分发物的分发计划。 然后,分发服务器3,在分发客户机1登录到分发服务器3的时刻等预定 的时刻,向分发客户机1发送分发计划的至少一部分。 分发客户机1根据从分发服务器3接收到的分发计划的至少一部分,决定 应该接收分发物的时刻,在到达该时刻时,对分发服务器3请求发送分发物。 分发服务器3当从分发客户机1接收到分发物的发送请求时,对分发客户 机1发送分发物。 如上那样,分发客户机1不是突然对分发服务器3请求分发,而是首先接 收分发计划的至少一部分,据此来决定应该请求分发物的时刻。即,分发客户 机1和分发服务器3协作来决定应该请求分发物的时刻。 由此,可以避免发生例如在公司内的网络系统中,在工作开始时间后立刻 全部的分发客户机1请求分发,因此分发服务器3以及LAN5的负荷超过处理 能力的极限的事态。即,可以一边分散与电子数据的分发有关的负荷,一边分 发电子数据。 (电子数据分发系统的各装置的结构以及功能) 以下,说明分发客户机1以及分发服务器3的结构·功能。 分发客户机1是PC等装置,可通信地与存储装置2连接。存储装置2是 磁盘等装置,内置在分发客户机1中或者与分发客户机1外部连接。存储装置 2和没有图示的分发客户机1的主存储装置等作为分发客户机1的存储单元来 发挥功能。此外,在图1中仅图示了一台存储装置2,但也可以连接两台以上。 存储装置2具备请求信息DB(DataBase)21。在请求信息DB21中存储 确定应该请求分发服务器3发送的分发物的信息、应该进行发送请求的时刻 等。 在分发客户机1上还可通信地连接有输入装置18以及显示装置19。输入 装置18是键盘、鼠标等装置,分发客户机1的操作者通过操作输入装置18, 可以指示分发客户机1应该执行的处理。显示装置19是液晶显示器、打印机 等,表示分发客户机1执行的处理的结果等。即,输入装置18、显示装置19 各自作为分发客户机1的输入单元、显示单元来发挥功能。 虽然未图示,但分发客户机1具备CPU(Central Processing Unit)、以及 主存储装置等存储装置。 CPU把未图示的存储装置2中存储的各种程序(例如分发信息请求程序) 加载到主存储装置上,通过执行该命令代码来执行各种处理。以上与程序执行 有关的技术为公知的技术,所以在以后的说明以及附图中,为了避免与程序执 行有关的说明变得复杂,如同将分发信息请求程序称为分发信息请求单元11 那样,对于各种程序,或记载成好像存在硬件,或记载成成各单元执行处理。 此外,实际上还可以通过硬件(电子设备等)或硬件和固件的组合来构成各个 单元(例如分发信息请求单元11)。 分发客户机1具备分发信息请求单元11以及分发请求单元(分发请求程 序)12。 分发信息请求单元11在分发客户机1登录到分发服务器3的时刻等启动 (即,CPU开始执行分发信息请求程序的命令代码),向分发服务器3请求发 送分发计划的至少一部分。然后,根据接收到的分发计划的至少一部分,决定 应该向分发服务器3请求发送分发物的时刻等,并且与确定应该请求分发服务 器3发送的分发物的信息一同存储在请求信息DB21中。 分发请求单元12在分发信息请求单元11决定的、应该向分发服务器3请 求发送分发物的时刻被启动(即,CPU开始执行分发请求程序的命令代码), 请求分发服务器3发送分发物。然后,将接收到的分发物存储在存储装置2 中。 分发服务器3是PC等装置,可通信地与存储装置4连接。存储装置4是 磁盘等装置,内置在分发服务器3中或者与分发服务器3外部连接。存储装置 4和没有图示的分发服务器3的主存储装置等作为分发服务器3的存储单元发 挥功能。此外,虽然在图1中仅图示了一台存储装置4,但还可以连接两台以 上。 存储装置4具备分发信息DB42,在分发信息DB42中存储分发计划。具 体地说,存储用于确定应该对分发客户机1发送的分发物的信息、应该分发的 分发客户机1的台数、确定分发客户机1的信息、以及应该开始分发的日期时 间等。 除了以上之外,在存储装置4中存储有电子数据41以及分发物43。在此, 电子数据41是用于表现在存储装置4中存储的程序、文件等全部电子数据的 用语,并非意味特定的程序、文件等。此外,分发物43意味着电子数据41 中的、分发服务器3作为向分发客户机1的发送对象而作成的电子数据。 在分发服务器3上可通信地连接有输入装置38以及显示装置39。输入装 置38是键盘、鼠标等装置,分发服务器3的操作者通过操作输入装置38,可 以指示分发服务器3应该执行的处理。显示装置39是液晶显示器、打印机等, 表示分发服务器3执行的处理的结果等。即,输入装置38、显示装置39各自 作为分发服务器3的输入单元、显示单元来发挥功能。 虽然未图示,但分发服务器3具备CPU以及主存储装置等存储装置。 与分发客户机1相同,CPU将未图示的存储装置4中存储的各种程序(例 如分发物作成程序)加载到主存储装置上,通过执行该命令代码来执行各种处 理。与分发客户机1相同,在以后的说明以及附图中,为了避免使与程序执行 有关的说明变得复杂,如同将分发物作成程序称为分发物作成单元31那样, 对于各种程序,或记载成好像存在硬件,或记载成各单元执行处理。此外,实 际上还可以通过硬件(电子设备等)或硬件和固件的组合来构成各个单元(例 如分发物作成单元31)。 分发服务器3具备分发物作成单元31(分发物作成程序)、分发信息发送 单元32(分发信息发送程序)以及分发单元33(分发程序)。 分发物作成单元31通过分发服务器3的操作者操作输入装置38来启动 (即,CPU接受分发服务器3的操作者操作输入装置38输入的启动命令等, CPU开始执行分发物作成程序的命令代码),由分发服务器3的操作者操作输 入装置38指定的、应该作为分发对象的电子数据41,作成分发物43。此外, 在分发信息DB42中存储用于确定分发服务器3的操作者操作输入装置38指 定的、应该分发的分发客户机1的信息等。 分发信息发送单元32在分发服务器3从分发客户机1接收到关于分发计 划的至少一部分的发送请求的时刻被启动(即,CPU开始执行分发信息发送 程序的命令代码),把分发信息DB42中存储的分发计划的至少一部分发送给 分发客户机1。 分发单元33在分发服务器3从分发客户机1接收到分发物的发送请求的 时刻被启动(即,CPU开始执行分发程序的命令代码),把请求发送的分发物 43发送给分发客户机1。 图2是请求信息DB21的数据结构图。 请求信息DB21由0个以上的请求信息记录210构成(在不存在应该请求 发送的分发物时,请求信息记录210不存在,因此记录数为0)。 请求信息记录210由分发物ID211、分发请求日期时间212、以及失败次 数213这三个数据项目构成。请求信息记录210的作成(追加)、更新、删除 等虽未图示,但通过分发客户机1具备的MySQL(My SQL为注册商标)等 数据库管理单元(程序)来进行。例如,分发信息请求单元21通过SQL等指 示数据库管理单元作成请求信息记录210。 分发物ID211是用于唯一识别应该请求分发服务器3发送的分发物43的 ID(Identifier)。在分发物ID211中设定了作为分发计划的一部分由分发信息 发送单元32发送给分发客户机1的、用于唯一识别分发物43的ID。 在分发请求日期时间212中,例如像“20080528131504”(2008年5月28 日13点15分4秒)这样,设定应该向分发服务器3请求发送分发物的日期时 间。在分发请求日期时间212中,分发信息请求单元21设定通过后述的方法 决定的日期时间。 在失败次数213中设定分发物的发送请求失败的次数。在请求信息记录 210作成时刻设定0,在每次分发物的发送请求失败时加一。 图3表示分发信息DB42的数据结构图。 分发信息DB42由0个以上的分发信息记录420(在图1以及图2的说明 中,记载为“分发计划”)构成(在不存在应该发送的分发物时,分发信息记 录420不存在,因此记录数为0)。 分发信息记录420由分发物ID421、分发物存储场所422、分发台数423、 分发目的地424、分发状况425、分发开始日期时间427A以及分散期间428A 这七个种类的数据项目构成。分发信息记录420的作成(追加)、更新、删除 等虽未图示,但与请求信息记录210相同,通过分发服务器3具备的数据库管 理单元(程序)来进行。例如,分发物作成单元31通过SQL等指示数据库管 理单元作成分发信息记录420。 分发物ID421是用于唯一识别应该发送给分发客户机1的分发物43的ID。 分发物作成单元31在作成分发物43时,制作能够唯一识别分发物43的ID, 设定在分发物ID421中。具体地说,例如,在每次作成分发信息记录420时, 如“0001”、“0002”、“0003”这样,设定以1作为初始值的序号,同时使计数 器每次加一即可。 在分发物存储场所422中设定分发物43的存储场所。具体地说,分发物 作成单元31例如设定分发物43的绝对路径。 在分发台数423中设定应该发送分发物43的分发客户机1的台数。此外, 分发目的地424以及分发状况425存在分发台数423的数量,分别设定各分发 客户机1在LAN5上的场所(例如IP地址)、分发物43的分发状况。 更具体地说,在分发服务器3的操作者作成分发物43时,指定将该分发 物43应该发送给哪个分发客户机1,分发物作成单元31在分发目的地424中 设定所指定的分发客户机1的IP地址等,此外,在分发状况425中设定表示 “未发送”的值(以下简单地记载为“未发送”)。此外,在分发台数423中设 定分发目的地424的设定数(即,分发服务器3的操作者指定的分发客户机1 的数量)。 通过分发单元33将分发状况425的设定值更新为“发送完”。 在分发开始日期时间427A中,例如像“2008528090000”(2008年5月 28日9点0分0秒)那样,设定应该开始发送分发物43的日期时间。在分发 服务器3的操作者作成分发物43时,指定分发开始日期时间,分发物作成单 元3 1在分发开始日期时间427A中设定所指定的日期时间。 在分散期间428A中,例如像“023000”(2小时30分0秒)那样,设定 时间间隔。如后所述,分发信息请求单元11从分发服务器3作为分发计划的 一部分接收分散期间428A,参照分散期间428A,决定应该接收分发物43的 日期时间。分发服务器3的操作者在作成分发物43时,指定分散期间,分发 物作成单元31在分散期间428A中设定所指定的分散期间。 以上结束了对电子数据分发系统的结构·功能的说明,以下按照从作成分 发物到进行分发的顺序说明电子数据分发系统的详细的动作。 图4是表示分发物作成单元31的动作的流程图。 分发服务器3的操作者为了作成分发物,操作输入装置38启动分发物作 成单元31。 分发物作成单元31在启动后取得分发信息(S401)。 更详细地说,例如,分发物作成单元31在显示单元39中显示分发信息输 入请求画面。分发服务器3的操作者操作输入装置38,输入应该作为分发对 象的电子数据41的存储场所(例如电子数据41的绝对路径)、应该作成分发 物43的存储场所(例如分发物43的绝对路径)、指定应该作为发送目的地的 分发客户机1的信息(例如,与分发客户机1的IP地址相对应地预先存储在 存储装置4中的、分发客户机1的ID)、应该开始分发的日期时间、以及分散 期间。然后,分发物作成单元31取得所输入的分发信息。 然后,分发物作成单元31参照输入的分发信息作成分发物(S402)。 更详细地说,例如,分发物作成单元31参照应该作为分发对象的电子数 据41的存储场所,将电子数据41复制到应该作成分发物43的存储场所。在 此,不仅是简单进行复制,例如还可以作成电子数据41的安装程序(程序), 并存储在应该作成分发物43的存储场所中。此外,在输入了两个以上的应该 作为分发对象的电子数据41的存储场所时,可以通过ZIP等汇总为一个文件 压缩作成电子数据41或电子数据41的安装程序,然后存储在应该作成分发物 43的存储场所中。 然后,分发物作成单元31作成分发信息记录420(S403)。 更详细地说,例如,分发物作成单元31作成用于确定已作成的分发物43 的ID,并设定在分发物ID421中。此外,参照输入的分发信息,在分发物存 储场所422中设定应该作成分发物43的存储场所,在分发台数423中设定应 该作为发送目的地的分发客户机1的数量,在分发目的地424中设定应该作为 发送目的地的分发客户机1,在分发开始日期时间427A中设定应该开始分发 的日期时间,在分散期间428A中设定分散期间。在分发状况425中设定“未 发送”。 如此,不是在分发信息记录420的各个数据项目中设定所输入的信息,例 如可以根据输入的信息,计算应该在分散期间428A中设定的值。 具体地说,根据将分发物43发送给分发客户机1时的数据大小等,计算 将分发物43发送给分发客户机1时所需要的处理时间。并且,以在分散期间 428A的期间内随机产生来自各分发客户机1的分发请求的模型为前提,求出 分散期间428A,以使分发服务器3以及LAN5的使用率为预定值(例如30%) 以下。此外,在此表示的方法只不过是一个例子,可以通过各种各样的统计方 法,作为分散期间428A求出恰当的值。 如此,通过分发物作成单元31计算分散期间428A,无需分发服务器3的 操作者自身决定并输入分散期间,操作者的负担减少。但是,分发物作成单元 31计算出的值是基于与来自各分发客户机1的分发请求的产生分布有关的某 个前提,不能保证总是恰当的。有时分发服务器3的操作者根据经验值决定并 输入分散期间较为恰当。因此,更好的是能够选择通过分发物作成单元31计 算分散期间428A,或者由分发服务器3的操作者决定并输入分散期间中的某 一种方法。 分发物作成单元31当作成了分发信息记录420时结束处理。 图5是表示分发信息请求单元11的动作的流程图。 分发客户机1的操作者随时操作输入装置18启动分发信息请求单元11。 在此,还可以代替分发客户机1的操作者的操作,或者除了操作之外,在分发 客户机1启动的时刻,通过分发客户机1的OS(Operating System)请求向分 发服务器3的登录,并且启动分发信息请求单元11。如此,在每次启动分发 客户机1时,分发客户机1的操作者无需特别地注意,便可以确认有无分发物。 分发信息请求单元11在启动后,对分发服务器3发送请求发送分发信息 的消息(S501)。 然后,分发信息请求单元11等待从分发服务器3发送消息,接收发送的 消息(S502)。然后,在接收到的消息为结束消息时(在S503中为YES时), 结束处理。 在接收到的消息不是结束消息时(在S503中为NO时),在接收到的消息 中包含有分发信息记录420的数据项目的至少一部分。因此,分发信息请求单 元11由接收到的信息作成请求信息(S504)。 更详细地说,参照接收到的消息中包含的分散期间428A,通过进行随机 处理等,计算0以上分散期间428A以下的值。然后,把从在处理时刻的分发 客户机1的系统年月日时刻开始经过了计算值的时刻设为分发请求日期时间。 例如,在系统年月日时刻为2008年5月28日9点10分05秒,分散期间428A 为2小时,计算值为1小时15分时,把2008年5月28日9点10分05秒的 1小时15分后的2008年5月28日10点25分05秒设为分发请求日期时间。 此外,在分发客户机1具备的时钟和分发服务器3具备的时钟不完全一致时, 不满一分钟的较短的值没有多大意义。由此,此时,可以对不满1分钟、不满 10分钟等不满预定值的值进行进位、舍去、四舍五入等,作成1分钟单位、 10分钟单位的值。 分发信息请求单元11在分发物ID211中设定接收到的消息中包含的分发 物ID421,在分发请求日期时间212中设定以上求出的分发请求日期时间,在 失败次数213中设定0,来作成分发请求记录210。 然后,分发信息请求单元11进行调度,以便在分发请求日期时间启动分 发请求单元12(S505),再次等来从分发服务器3发送消息。 图6是表示分发信息发送单元32的动作的流程图。 分发信息发送单元32在分发服务器3从分发信息请求单元11接收到请求 发送分发信息的消息时被启动。 然后,分发信息发送单元32按顺序参照分发信息DB42的全部的分发信 息记录420,进行以下的处理(S602~S605)。 分发信息发送单元32判定发送了请求发送分发信息的消息的分发客户机 1是否为分发对象(S603)。 更详细地说,首先,判定在处理时刻的分发服务器3的系统年月日时刻是 否为分发信息记录420的分发开始日期时间427A之后。在为分发开始日期时 间427A之前时,判定为不是分发对象。另一方面,在为分发开始日期时间427A 之后时,判定作为分发信息记录420的分发目的地424,是否设定了发送了请 求发送分发信息的消息的分发客户机1。当在分发目的地424中设定了分发客 户机1的IP地址时,与请求发送分发信息的消息的发送源的IP地址进行比较 即可。在没有设定时,判定为不是分发对象。另一方面,在已设定时,进一步 判定该分发客户机1的分发状况425是否为“未发送”,在为“未发送”时, 判定该分发客户机1为分发物43的分发对象,在为“未发送”以外时,判定 为不是分发对象(S603)。 分发信息发送单元32在将该分发客户机1判定为分发物43的分发对象时 (在603中为YES时),作成包含分发信息记录420的分发物ID421以及分散 期间428A的消息(分发信息),然后发送给分发客户机1。 分发信息发送单元32在将该分发客户机1判定为不是分发物43的分发对 象时(在S603中为NO时),参照以下的分发信息记录420。 分发信息发送单元32在按顺序参照分发信息DB42的全部的分发信息记 录420,进行了S602~S605的处理后,向分发客户机1发送结束消息(S606), 并结束处理。 图7表示分发请求单元12的动作的流程图。 在S505中分发信息请求单元11所调度的预定的时刻,通过分发客户机1 的OS启动分发请求单元12。此外,还可以不做成这样的守护程序(demon) 处理,而按如下的方式进行处理。即,分发信息请求单元11将调度的预定的 时刻存储在主存储装置或存储装置2中。然后,在分发客户机1启动时,OS 启动分发请求单元12,分发请求单元12可以按照预定的间隔判定是否到达了 主存储装置或存储装置2中存储的预定的时刻,在达到时,进行以下的处理 (S701~S704)。 分发请求单元12在启动后,对分发服务器3发送请求分发物的消息 (S701)。 更详细地说,分发请求单元12按顺序参照请求信息DB21的全部的请求 信息记录210,把在处理时刻的分发客户机1的系统年月日时刻与分发请求日 期时间212进行比较。然后,如果系统年月日时刻在分发请求日期时间212 以后,则作成包含分发物ID211的分发物请求消息,然后发送给分发服务器3。 然后,分发请求单元12继续等待,直到从分发服务器3接收到分发消息 (S702)。分发请求单元12当接收到分发消息时,参照在分发消息中包含的可 否分发代码(S703)。然后,在可否分发代码为“可分发”时(在S703中为 NO时),进行以下处理(S704、S705)。 分发请求单元12将分发消息中包含的分发物43存储在存储装置2中 (S704)。存储装置2中存储的分发物43通过分发客户机1的操作者,用于安 装等。 分发请求单元12然后删除请求信息DB21的请求信息记录210中的、分 发物ID211与分发消息中包含的分发物ID421一致的记录(S705)。 另一方面,在可否分发代码为“不可分发”时(在S703中为YES时), 分发请求单元12使请求信息DB21的请求信息记录210中的、分发物ID211 与分发消息中包含的分发物ID421一致的记录的失败次数加一(S706)。 通过以上的处理,删除已分发了分发物的请求信息记录210,另一方面, 不删除分发失败的请求信息记录210地对失败次数213进行相加。因此,通过 数据块管理单元等在显示装置19上一览显示请求信息记录210的内容,分发 客户机1的操作者可以得知对于哪个分发物分发失败了几次。 此外,在S701中,有时关于多个请求信息记录210,将分发物请求消息 发送给分发服务器3。此时,关于各发送执行S702~S706的处理即可。例如, 使S702~S706的处理成为不同的线程(thread),对每个发送执行线程即可。 相反,在S701中,也有对于哪个请求信息记录210,都不将分发物请求 消息发送给分发服务器3的情况。此时,不执行S702~S706的处理、而使处 理结束即可。 图8是表示分发单元33的动作的流程图。 分发单元33在分发服务器3从分发请求单元12接收到分发物请求消息时 被启动。 分发单元33在启动后,首先接收请求分发物的消息(S801)。 分发单元33然后判定被请求的分发物是否为分发对象(S802)。 更详细地说,参照分发信息记录420中的、分发物ID421与分发物请求消 息中包含的分发物ID211一致的记录,按如下方式进行判定。 分发单元33判定在分发目的地424中是否设定了发送了分发物请求消息 的分发客户机1(例如,是否在分发目的地424中设定了分发物请求消息的发 送源的IP地址),在没有设定时,作为分发对象以外。在已设定时,判定该分 发目的地424的分发状况425是否为“未发送”,在不是“未发送”时(为“发 送完”时),设为分发对象以外。在为“未发送”时,比较在处理时刻的分发 服务器3的系统年月日时刻和分发开始日期时间427A,在系统年月日时刻为 分发开始日期时间427A之后时,作为分发对象。另一方面,即使在系统年月 日时刻在分发开始日期时间427A之前时,但如果从系统年月日时刻到分发开 始日期时间427A的时间间隔为预定值(例如10分钟)以下,则设为分发对 象,在大于预定值时作为分发对象以外。通过该处理,在分发客户机1的时钟 比服务器3的时钟例如超前5分钟,当以分发客户机1的时钟为基准时,在分 发开始日期时间427A的两分钟之后(即,当以分发服务器3的时钟为基准时, 分发开始日期时间427A的三分钟以前)发送了分发物请求消息时,可以设为 分发对象,可以防止由于时钟不一致导致的分发物请求消息的失败。 通过以上的处理,在判定为分发对象时(在S802中为YES时),分发单 元33参照分发物存储场所422取得分发物43,作成包含设为“可分发”的可 否分发代码、分发物ID421、以及分发物43的分发消息,然后发送给分发客 户机1(S803)。 然后,分发单元33在该分发目的地424的分发状况425中设定“发送完”, 更新分发信息记录420(S804)。 另一方面,在判定为分发对象以外时(在S802中为NO时),分发单元 33作成包含设为“不可分发”的可否分发代码以及分发物ID421的错误消息, 然后发送给分发客户机1(S805)。 以上的处理结束后,分发单元33结束处理。 通过以上的处理,被分发了分发物的分发目的地424的分发状况425被更 新为“发送完”。因此,例如通过数据块管理单元等在显示装置39上一览显示 分发信息记录420的内容,分发服务器3的操作者可以得知:关于各个分发物, 对哪个分发客户机1分发已经结束等。 此外,在以上的说明中,不存在删除分发信息记录420的处理,但例如也 可以作成删除全部的分发状况425成为“发送完”的分发信息记录420的程序, 定期地启动,由此可以删除不需要的分发信息记录420。 然后说明本发明的第二实施方式。 在第二实施方式中,整个电子数据分发系统的系统结构与图1相同,在第 二实施方式中,分发信息DB42的数据结构与第一实施方式的不同。此外,分 发信息请求单元11、分发物作成单元31、分发信息发送单元32以及分发单元 33的动作的一部分与第一实施方式不同。分发请求单元12的动作与第一实施 方式相同。 以下,以与第一实施方式的不同点为中心进行说明。 图9是本发明第二实施方式的分发信息DB42的数据结构图。 分发信息记录420由分发物ID421、分发物存储场所422、分发台数423、 分发目的地424、分发状况425、分发开始日427B、分发开始·结束时刻428B 以及最大分发台数429B这8个种类的数据项目构成。 在数据项目中的分发物ID421、分发物存储场所422、分发台数423以及 分发目的地424中设定与第一实施方式相同的值。 在分发状况425中,除了“未发送”、“发送完”之外,有时设定有“计划 完”。具体地说,与第一实施方式相同,在分发服务器3的操作者作成分发物 43时,分发物作成单元31设定“未发送”。此外,与第一实施方式不同,在 分发信息发送单元32对分发客户机1发送了分发计划的至少一部分时,在该 分发客户机1的分发状况425中设定“计划完”。此外,与第一实施方式相同, 在分发单元33对分发客户机1发送了分发物43时,在该分发客户机1的分发 状况425中设定“发送完”。 在第一实施方式中表示的数据项目中的、分发开始日期时间427A以及分 散期间428A在第二实施方式中不存在,另一方面,在第二实施方式中,存在 分发开始日427B、分发开始·结束时刻428B、以及最大分发台数429B。 在分发开始日427B中,例如像“20080528”(2008年5月28日)那样, 设定应该开始发送分发物43的日期。在分发服务器3的操作者作成分发物43 时,指定分发开始日,分发物作成单元31在分发开始日427B中设定所指定 的日期。 在分发开始·结束时刻428B中,例如像“0830:1300”(从8点30分到 13点)那样,设定可以进行分发物43的发送的24小时制的时间段。在分发 服务器3的操作者作成分发物43时,指定分发开始·结束时刻,分发物作成 单元31在分发开始·结束时刻428B中设定所指定的分发开始·结束时刻。 在最大分发台数429B中,例如像“1000(1000台)”那样,设定在一次 的分发时间段中可以分发的分发客户机1的最大台数。在上述的例子中,在分 发开始日427B以后,在分发开始·结束时刻428B中设定的时间段中,每天 可以对最大1000台的分发客户机1发送分发物43。在分发服务器3的操作者 作成分发物43时,指定最大分发台数,分发物作成单元31在最大分发台数 429B中设定所指定的最大分发台数。 然后,以和第一实施方式的不同点为中心,按照分发物作成单元31、分 发信息请求单元11、分发信息发送单元32、分发单元33的顺序,说明各单元 的动作。 图4是表示分发物作成单元31的动作的流程图。 分发物作成单元31与第一实施方式相同,在取得分发信息(S401)以及 作成分发物(S402)之后,作成分发信息记录420(S403)。 分发信息记录420的作成处理内容也基本与第一实施方式相同,但分发信 息记录420的数据项目中的分发开始日期时间427A以及分散期间428A在第 二实施方式中不存在所以不设定,另一方面,进行在第一实施方式中不存在的 分发开始日427B、分发开始·结束时刻428B以及最大分发台数429B的设定。 具体地说,参照输入的信息,在分发开始日427B中设定应该开始分发的 日期,在分发开始·结束时刻428B中设定分发开始·结束时刻,在最大分发 台数429B中设定最大分发台数。 当作成了分发信息记录420时,分发物作成单元31结束处理。 图5是表示分发信息请求单元11的动作的流程图。 分发信息请求单元11与第一实施方式相同,进行分发信息请求(S501)、 消息接收(S502)以及结束消息判定(S503),在接收到的消息不是结束消息 时(在S503中为NO时),由接收到的消息作成请求信息(S504)。 更具体地说,分发信息请求单元11在分发物ID211中设定接收到的消息 中包含的分发物ID421,在分发请求日期时间212中设定接收到的消息中包含 的分发请求日期时间,在失败次数213中设定0,来作成分发请求记录210。 即,在第二实施方式中,如后所述,分发信息发送单元32计算分发请求 日期时间,作成包含分发请求日期时间的消息发送给分发客户机1。由此,分 发信息请求单元11,不像第一实施方式那样,参照接收到的消息中包含的分 散期间428A来计算分发请求日期时间,而是在分发请求日期时间212中设定 接收到的消息中包含的分发请求日期时间。 然后,分发信息请求单元11调度分发请求单元12,使其在分发请求日期 时间启动(S505),再次等待从分发服务器3发送消息(S502)。 图6表示分发信息发送单元32的动作的流程图。 分发信息发送单元32与第一实施方式相同,在接收到请求消息后(S601) 后,按顺序参照分发信息DB42的全部的分发信息记录420,进行S602~S605 的处理。 分发信息发送单元32判定发送了请求发送分发信息的消息的分发客户机 1是否为分发对象(S603)。 更详细地说,首先,判定在处理时刻的分发服务器3的系统年月日是否为 分发信息记录420的分发开始日427B之后。在为分发开始日427B的前日之 前时,判定为不是分发对象。另一方面,在为分发开始日427B之后时,判定 作为分发信息记录420的分发目的地424,是否设定了发送了请求发送分发信 息的消息的分发客户机1。当在分发目的地424中设定了分发客户机1的IP 地址时,与请求发送分发信息的消息的发送源的IP地址进行比较即可。在没 有设定时,判定为不是分发对象。 另一方面,在已设定时,进一步判定该分发客户机1的分发状况425是否 为“未发送”,在为“未发送”时,判定该分发客户机1为分发物43的分发对 象,在为“未发送”以外时,判定为不是分发对象(S603)。 分发信息发送单元32在将该分发客户机1判定为分发物43的分发对象时 (在S603中为YES时),计算分发请求日期时间,作成包含分发信息记录420 的分发物ID421以及计算出的分发请求日期时间的消息(分发信息),然后发 送给分发客户机1。然后,在分发客户机1的分发状况425中设定“计划完”, 更新分发信息记录420。(以上S604)。 在S604中,如下那样进行分发请求日期时间的计算。首先,分发信息发 送单元32合计设定了“计划完”或“发送完”的分发状况425的数量,求出 合计结果除以最大分发台数429B的商(n:整数)以及余数(m:整数)。然 后,在m=0时,将分发开始日427B的(n+1)日后作为分发请求日,在m≠0 时,将分发开始日427B的n日后作为分发请求日。然后,分发信息发送单元 32将分发开始·结束时刻428B中设定的时间除以(最大分发台数429B-1), 将该商乘以m后的结果与在分发开始·结束时刻428B中设定的开始时刻相加 来作为分发请求时刻。分发信息发送单元32将上述那样计算出的分发请求日 和分发请求时刻进行组合,来作为分发请求日期时间。 具体地说,例如,分发开始日427B为“2008年5月28日”,分发开始·结 束时刻428B为“从8点30分到13点”,最大分发台数429B为“1000台”, 分发状况425中设定了“计划完”或“发送完”的数量为1001时,n=1、m=1。 此外,在分发开始·结束时刻428B中设定的时间(从8点30分到13点为270 分钟)除以(最大分发台数429B(1000)-1)的商大约为16秒。因此,分 发请求日成为“2008年5月29日”,分发请求时刻成为“8点30分16秒”, 请求分发日期时间成为“2008年5月29日8点30分16秒”。但是,很多时 候分发客户机1的时钟和分发服务器3的时钟不一致,此时,以秒为单位计算 分发请求日期时间几乎没有意义。因此,在这样的情况下,以分钟单位、10 分钟单位等进行进位、舍去、以及四舍五入等即可。 此外,以上表示的分发请求日期时间的计算方法只不过是一个例子,只要 按照在各分发请求日成为分发对象的分发客户机1的数量不超过最大台数 429B,同时在各分发请求日的分发开始·结束时刻428B可以实现负荷分散的 要求进行计算即可。 分发信息发送单元32在将该分发客户机1判定为不是分发物43的分发对 象时(在S603中为NO时),参照以下的分发信息记录420。 分发信息发送单元32在按顺序参照分发信息DB42的全部的分发信息记 录420,进行了S602~S605的处理后,对分发客户机1发送结束消息(S606), 并结束处理。 图8是表示分发单元33的动作的流程图。 分发单元33与第一实施方式相同,接收分发物请求消息(S801)。 然后,分发单元33判定被要求的分发物是否为分发对象(S802)。 更详细地说,参照分发信息记录420中的、分发物ID421与分发物请求消 息中包含的分发物ID211一致的记录,按如下方式进行判定。 分发单元33判定在分发目的地424中是否设定了发送了分发物请求消息 的分发客户机1(例如,是否在分发目的地424中设定了分发物请求消息的发 送源的IP地址),在没有设定时,作为分发对象以外。在已设定时,判定该分 发目的地424的分发状况425是否为“计划完”,在不是“计划完”时(为“未 发送”或“发送完”时),设为分发对象以外。在为“计划完”时,比较在处 理时刻的分发服务器3的系统年月日时刻、分发开始日427B以及分发开始结 束时刻428B。 更详细地说,在系统年月日为分发开始日427B以后,并且系统时刻为分 发开始·结束时刻428B的开始时刻以后,结束时刻以前时,作为分发对象。 在此,在系统年月日为分发开始日427B以后时,即使在系统时刻在分发开 始·结束时刻428B的开始时刻之前时,如果从系统时刻到开始时刻的时间间 隔为预定值(例如10分钟)以下,则作为分发对象,在大于预定值时作为分 发对象以外。同样地,在系统年月日为分发开始日427B以后时,即使在系统 时刻在分发开始·结束时刻428B的结束时刻之后时,如果从系统时刻到结束 时刻的时间间隔为预定值(例如10分钟)以下,则作为分发对象,在大于预 定值时作为分发对象以外。通过该处理,在分发客户机1的时钟与服务器3 的时钟例如像差5分钟,当以分发客户机1的时钟为基准时在分发开始·结束 时刻428B的开始时刻和结束时刻之间,当以分发服务器3的时钟为基准时不 在分发开始·结束时刻428B的开始时刻和结束时刻的之间时,可以设为分发 对象,可以防止由于时钟不一致导致的分发物请求消息的失败。 通过以上的处理,在判定为分发对象时(在S802中为YES时),分发单 元33与第一实施方式相同,作成分发消息,然后发送给分发客户机1(S803), 更新分发信息记录420(S804)。 此外,在判定为分发对象以外时(在S802中为YES时),分发单元33与 第一实施方式相同,作成错误消息,然后发送给分发客户机1(S805)。 以上的处理结束后,分发单元33结束处理。 通过以上的处理,因为在每天的预定的时间段进行分发,所以在分发对象 的分发客户机1的台数比较多时,通过分散进行分发的日期,可以分散与分发 有关的负荷。另一方面,在分发对象的分发客户机1的台数比较少时,很多时 候优先在一日内结束分发。因此,理想的是,分发服务器3的操作者可以选择 第一实施方式和第二实施方式,即选择在一日内进行分发还是分为多日进行分 发。 以下说明可以选择第一实施方式和第二实施方式的本发明的第三实施方 式。 图10是本发明第三实施方式的分发信息DB42的数据结构图。 在第三实施方式中,整个电子数据分发系统的系统结构与图1相同,但在 第三实施方式中,分发信息DB42的数据结构与第一实施方式以及第二实施方 式不同。此外,分发信息请求单元11、分发物作成单元31、分发信息发送单 元32以及分发单元33的动作的一部分与第一实施方式以及第二实施方式不 同。分发请求单元12的动作与第一实施方式以及第二实施方式相同。 以下以第一实施方式和第二实施方式的不同点为中心进行说明。 分发信息记录420由分发物ID421、分发物存储场所422、分发台数423、 分发目的地424、分发状况425、分发方法426、分发开始日期时间427A、分 散期间428A、分发开始日427B、分发开始·结束时刻428B以及最大分发台 数429B这11个种类的数据项目构成。 但是,一个分发信息记录420并非具备全部这些数据项目,由分发物 ID421、分发物存储场所422、分发台数423、分发目的地424、分发状况425、 分发方法426、分发开始日期时间427A以及分散期间428A这8个种类的数 据项目构成的记录(第一结构的记录)和由分发物ID421、分发物存储场所422、 分发台数423、分发目的地424、分发状况425、分发方法426、分发开始日 427B、分发开始·结束时刻428B以及最大分发台数429B这9个种类的数据 项目构成的记录(第二结构的记录),混合存在于分发信息DB42中。 并且,根据分发方法426可以得知各个记录具备了哪个数据结构。即,在 分发方法426中设定了“在一日内分发”或“分为数日分发”中的某一个值, 在分发方法426为“在一日内分发”时,为第一结构的记录,而在为“分为多 日分发”时,为第二结构的记录。在分发服务器3的操作者作成分发物43时, 指定分发方法,分发物作成单元31在分发方法426中设定所指定的分发方法。 在分发方法426以外的数据项目中,设定与第一实施方式或第二实施方式 相同的值。 然后,按照分发物作成单元31、分发信息请求单元11、分发信息发送单 元32、分发单元33的顺序,对于各个单元的动作,以和第一实施方式以及第 二实施方式的不同点为中心来进行说明。 图4是表示分发物作成单元31的动作的流程图。 与第一实施方式以及第二实施方式相同,分发物作成单元31在取得分发 信息(S401)以及作成分发物(S402)之后,作成分发信息记录420(S403)。 分发物作成单元31在作成分发信息记录420时,与第一实施方式相同地 设定分发物存储场所422、分发台数423、分发目的地424以及分发状况425。 然后,分发物作成单元31,参照输入的信息,在分发方法426中设定分发方 法。然后,在分发方法426为“在一日内分发”时,与第一实施方式相同地设 定分发开始日期时间427A、以及分散期间428A,在分发方法426为“分为多 日分发”时,与第二实施方式相同地设定分发开始日427B、分发开始·结束 时刻428B、以及最大分发台数429B。 分发物作成单元31当作成了分发信息记录420时结束处理。 图5是表示分发信息请求单元11的动作的流程图。 与第一实施方式以及第二实施方式相同,分发信息请求单元11进行分发 信息请求(S501)、信息接收(S502)以及结束消息判定(S503),在接收到 的消息表示结束消息时(在S503中为NO时),由接收到的消息作成请求信息 (S504)。 更详细地说,分发信息请求单元11在接收到的消息中包含的分发方法426 为“在一日内分发”时,与第一实施方式相同地参照接收到的消息中包含的分 散期间428A来决定分发请求日期时间,在分发物ID211中设定接收到的消息 中包含的分发物ID421,在分发请求日期时间212中设定分发请求日期时间, 在失败次数213中设定0,来作成分发请求记录210。另一方面,在接收到的 消息中包含的分发方法426为“分为多日分发”时,与第二实施方式相同地在 分发物ID211中设定接收到的消息中包含的分发物ID421,在分发请求日期时 间212中设定接收到的消息中包含的分发请求日期时间,在失败次数213中设 定0来作成分发请求记录210。 然后,分发信息请求单元11进行调度以使分发请求单元12在分发请求日 期时间启动(S505),再次等到从分发服务器3接收消息(S502)。 图6是表示分发信息发送单元32的动作的流程图。 与第一实施方式以及第二实施方式相同,分发信息发送单元32在接收到 请求消息(S601)后,按顺序参照分发信息DB42的全部的分发信息记录420, 进行S602~S605的处理。 分发信息发送单元32判定发送了请求发送分发信息的消息的分发客户机 1是否为分发对象(S603)。此时,在分发信息记录420的分发方法426为“在 一日内分发”时,与第一实施方式相同地进行判定,在分发方法426为“分为 多日分发”时,与第二实施方式相同地进行判定以及分发信息记录420的更新。 分发信息发送单元32在将该分发客户机1判定为不是分发物43的分发对 象时(在S603中为NO时),参照下一个分发信息记录420。 分发信息发送单元32在按顺序参照分发信息DB42的全部的分发信息记 录420,进行了S602~S605的处理后,对分发客户机1发送结束消息(S606), 并结束处理。 图8是表示分发单元33的动作的流程图。 与第一实施方式以及第二实施方式相同,分发单元33接收分发物请求消 息(S801)。 然后,分发单元33判定被请求的分发物是否为分发对象(S802)、此时, 在分发信息记录420的分发方法426为“在一日内分发”时,与第一实施方式 相同地进行判定,在分发方法426为“分为多日进行分发”时,与第二实施方 式相同地进行判定。 在判定为分发对象时(在S802中为YES时),与第一实施方式以及第二 实施方式相同,分发单元33作成分发消息,然后发送给分发客户机1(S803), 并更新分发信息记录420(S804)。 此外,在判定为分发对象以外时(在S802中为NO时),分发单元33也 与第一实施方式以及第二实施方式相同地作成错误消息,然后发送给分发客户 机1(S805)。 以上的处理结束后,分发单元33结束处理。 通过以上的处理,分发服务器3的操作者在作成分发物43时,可以选择 在一日内分发还是分为多日进行分发。 此外,无论在第一~第三实施方式的哪一个中,都可以作成在存储装置2 中不具备请求信息DB21的实施方式。通过作成为不具备请求信息DB21,就 不需要在分发客户机1中具备数据库管理程序,电子数据分发系统的构筑会更 加简单。 在存储装置2中不具备请求信息DB21的实施方式中,可以将与请求信息 记录210相同的数据结构的记录存储在分发客户机1的主存储装置中,而不是 存储在存储装置2中。此时,各个单元的动作,除了不作成·更新·删除请求 信息记录210,而是作成·更新·删除主存储装置上的记录的这点之外,与到 此为止说明的动作相同。 在存储装置2中不具备请求信息DB21的实施方式中,可以只将一个请求 信息记录存储到主存储装置中。此时,到此为止说明的各个单元的动作在以下 点不同。 分发信息请求单元11,在图5中,在由接收到的消息作成请求信息(S504) 时,在分发客户机1的主存储装置中存储在接收到的消息中包含的分发物 ID421、计算出的分发请求日期时间以及失败次数(作为值设定0)。即,不作 成请求信息记录210。 分发信息发送单元32,在图6中,在将分发物43判定为向分发客户机1 的分发对象时(S603),当发送了分发信息(S604)时,不参照下一个分发信 息记录420。即,即使在发现了一个分发对象的分发信息记录420时,也不参 照另一分发信息记录420,结束S602~S605的重复处理。此时,例如按照分发 开始日期时间427A或分发开始日427B的上升顺序(日期时间等从早到晚的 顺序)参照分发信息记录420,由此可以从应该更早分发的分发信息记录420 开始按顺序作为分发对象。 在图7中,分发请求单元12在对分发服务器3发送请求分发物的消息 (S71)时,不参照请求信息DB21的全部的请求信息记录210,比较在处理 时刻的分发客户机1的系统年月日时刻和主存储装置中存储的分发请求日期 时间。然后,如果系统年月日时刻为分发请求日期时间以后,则作成包含主存 储装置中存储的分发物ID的分发物请求消息,然后发送给分发服务器3。此 外,通过不是删除请求信息记录210、而是将分发请求日期时间等从主存储装 置中删除等方法,返回在主存储装置中没有存储分发请求日期时间等的状态 (S705)。此外,不是对请求信息记录210的失败次数213加一,而是对主存 储装置中存储的失败次数加一(S706)。 如上所述,在不具备请求信息DB21的情况下,例如当使分发客户机1的 系统停止,并切断了电源时,在主存储装置中存储的分发物ID等信息被丢失。 但是,如上所述,如果在每次分发客户机1向分发服务器3进行登录时启动分 发信息请求单元11,则此时可以再次取得分发物ID等,所以在实施方式1中 不会成为问题。 在实施方式2以及实施方式3中,关于在分发方法426中设定了“分为多 日分发”的情况,如下那样做即可。 分发信息发送单元32在S603中,不仅在该分发客户机1的分发状况425 为“未发送”的情况下,还在为“计划完”的情况下,将该分发客户机1判定 为分发物43的分发对象(S603)。 在分发状况425为“计划完”的情况下,在S604中,可以与分发状况425 为“未发送”的情况相同地进行处理。此时,再次计算分发请求日期时间。另 一方面,例如在已设定了“未发送”的分发状况425中设定“计划完”时,还 把计算出的分发请求日期时间设定在分发信息记录420中。并且,在S604中, 在分发状况425中已经设定了“计划完”的情况下,不是计算分发请求日期时 间,而是作成包含在分发信息记录420中设定的分发请求日期时间的消息(分 发信息),然后发送给分发客户机1即可。这样一来,在已经发送完分发信息 的情况下,可以不计算分发请求日期时间,而是再次发送发送完的分发请求日 期时间。