CN101599972B - 电子数据分发系统 - Google Patents
电子数据分发系统 Download PDFInfo
- Publication number
- CN101599972B CN101599972B CN2009101289145A CN200910128914A CN101599972B CN 101599972 B CN101599972 B CN 101599972B CN 2009101289145 A CN2009101289145 A CN 2009101289145A CN 200910128914 A CN200910128914 A CN 200910128914A CN 101599972 B CN101599972 B CN 101599972B
- Authority
- CN
- China
- Prior art keywords
- distribution
- unit
- distributing information
- stimulating food
- client computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供一种对于需要分发电子数据的PC等,一边分散与电子数据的分发有关的分发服务器的负荷,一边分发电子数据的电子数据分发系统。该电子数据分发系统,通信自由地连接发送电子数据的分发物的分发服务器、接收分发物的分发客户机,分发客户机具备:对分发服务器请求发送分发计划的至少一部分的分发信息请求单元;以及对分发服务器请求发送分发物的分发请求单元,分发服务器具备:由电子数据作成电子数据的分发物的分发物作成单元;向分发客户机发送分发服务器具备的分发信息数据DB中存储的作为分发计划的分发信息的至少一部分的分发信息发送部;以及将请求发送的分发物发送给分发客户机的分发单元。
Description
技术领域
本发明涉及一种针对需要分发电子数据的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即可。这样一来,在已经发送完分发信息的情况下,可以不计算分发请求日期时间,而是再次发送发送完的分发请求日期时间。
Claims (2)
1.一种电子数据分发系统,其包含能够自由通信地连接的发送电子数据的分发物的分发服务器、和接收分发物的分发客户机,其特征在于,
所述分发客户机具备:
分发信息请求单元,其对所述分发服务器请求发送分发计划的至少一部分;以及
分发请求单元,其对所述分发服务器请求发送分发物,
所述分发服务器具备:
分发物作成单元,其由应该作为分发对象的电子数据作成电子数据的分发物;
分发信息发送单元,其向所述分发客户机发送所述分发服务器所具备的分发信息数据库中存储的作为分发计划的分发信息的至少一部分;以及
分发单元,其将请求发送的分发物发送给分发客户机,
所述分发物作成单元具备:
根据包含所述分发服务器的操作者输入的分发客户机、分发开始日期时间以及分发期间的输入信息取得分发信息的单元;
参照所述分发信息,从所述分发服务器所具备的存储装置取得电子数据作成电子数据的分发物的单元;以及
在各数据项目中设定所述分发信息来作成分发信息记录,并存储在所述分发信息数据库中的单元,
所述分发信息请求单元具备:
对所述分发服务器发送分发信息发送请求消息的单元;以及
当从所述分发服务器接收到分发信息时,根据接收到的分发信息设定分发请求日期时间以及失败次数来作成请求信息,并存储在所述分发客户机所具备的请求信息数据库中的单元,
所述分发信息发送单元具备:
在从所述分发客户机接收到分发信息发送请求消息时,依次参照所述分发信息数据库的全部的分发信息记录,判定是否作为分发信息记录的分发目的地,设定了发送了分发信息发送请求消息的分发客户机的单元;
在已设定了时,判定该分发客户机的分发信息记录的分发状况是否为“未发送”,在为“未发送”时,将该分发客户机判定为分发物的分发对象的单元;以及
在将该分发客户机判定为分发物的分发对象时,作成包含分发信息记录的分发物ID以及分发期间的分发信息,将其发送给所述分发客户机的单元,
所述分发请求单元具备:
依次参照所述请求信息数据库的全部的请求信息记录,将分发请求日期时间与在处理时刻的分发客户机的系统年月日时刻进行比较的单元;
如果系统年月日时刻为分发请求日期时间以后,则作成分发物请求消息发送给分发服务器的单元;
当从分发服务器接收到分发消息时,参照在分发消息中包含的能否分发代码的单元;
在能否分发代码为“能够分发”时,把分发消息中包含的分发物存储在所述分发客户机所具备的存储装置中的单元;以及
删除所述请求信息数据库的请求信息记录中的、分发物ID与分发消息中包含的分发物ID一致的记录的单元,
所述分发单元具备:
当所述分发服务器从所述分发客户机接收到分发物请求消息时,判断被请求的分发物是否为分发对象的单元;
在判断为分发对象时,参照所述分发物存储场所取得分发物,作成包含设置为“能够分发”的能否分发代码、分发物ID、以及分发物的分发消息,发送给所述分发客户机的单元;以及
在该分发目的地的分发状况中设定“发送完”,更新所述分发信息记录的单元,
所述分发物作成单元具备下述的单元,亦即,在作成所述分发信息记录时,代替所述分发开始日期时间以及分发期间,参照由所述分发服务器的操作者输入的信息,进行分发开始日、分发开始·结束时刻、以及最大分发台数的设定的单元,
所述分发信息请求单元具备将接收到的分发信息中包含的分发请求日期时间设定为请求信息的分发请求日期时间的单元,
所述分发信息发送单元具备:
在将分发客户机判定为分发物的分发对象时,计算分发请求日期时间,以使在各分发请求日成为分发对象的分发客户机的数量不超过所述最大分发台数,同时在各分发请求日的分发开始·结束时刻谋求负荷分散的单元;
作成包含分发信息记录的分发物ID以及计算出的分发请求日期时间的分发信息,发送给所述分发客户机的单元;以及
在该分发客户机的分发状况中设定“计划完”,更新分发信息记录的单元,
分发单元具备:
在将发送了分发物请求消息的分发客户机设定为分发目的地时,判定分发信息记录的该分发目的地的分发状况是否为“计划完”的单元;
在为“计划完”时,把在处理时刻的分发服务器的系统年月日时刻与分发开始日以及分发开始·结束时刻进行比较的单元;以及
在系统年月日为分发开始日以后,并且系统时刻为分发开始·结束时刻的开始时刻以后、结束时刻以前时,设为分发对象的单元。
2.根据权利要求1所述的电子数据分发系统,其特征在于,
所述分发物作成单元具备:
参照由所述分发服务器的操作者输入的信息,代替所述分发信息记录的所述分发开始日期时间以及分发期间,来设定分发方法的单元;
在分发方法为“在一日中分发”时,进一步设定分发开始日期时间以及分发期间的单元;以及
在分发方法为“分为多日分发”时,进一步设定分发开始日、分发开始·结束时刻以及最大分发台数的单元,
所述分发信息请求单元具备:
在接收到的分发信息中包含的分发方法为“在一日中分发”时,参照接收到的分发信息中包含的分发期间决定分发请求日期时间,设定接收到的分发信息中包含的分发物ID、分发请求日期时间,并且设定失败次数,作成分发请求记录的单元;
另一方面,在接收到的分发信息中包含的分发方法为“分为多日分发”时,设定接收到的分发信息中包含的分发物ID、分发请求日期时间,并且设定失败次数,作成分发请求记录的单元,
所述分发信息发送单元具备:
在分发信息记录的分发方法为“在一日中分发”时,判定该分发客户机的分发状况是否为“未发送”,在为“未发送”时,将该分发客户机判定为分发物的分发对象的单元;
在分发方法为“分为多日分发”的情况下,在将该分发客户机判定为分发物的分发对象时,计算分发请求日期时间,以使在各分发请求日设为分发对象的分发客户机的数量不超过所述最大分发台数,同时在各分发请求日的分发开始·结束时刻谋求负荷分散的单元;
作成包含分发信息记录的分发物ID以及计算出的分发请求日期时间的分发信息,发送给分发客户机的单元;以及
在该分发客户机的分发状况中设定“计划完”,更新所述分发信息记录的单元,
所述分发单元具有:
在分发信息记录的分发方法为“在一日中分发”时,判定被请求的分发物是否为分发对象的单元;
在判定为分发对象时,参照所述分发物存储场所取得分发物,作成包含设为“能够分发”的能否分发代码、分发物ID以及分发物的分发消息,发送给所述分发客户机的单元;
在该分发目的地的分发状况中设定“发送完”,更新所述分发信息记录的单元;
在分发方法为“分为多日分发”时,判定是否将发送了分发物请求消息的分发客户机已设定为所述分发信息记录的分发目的地的单元;
在已设定的情况下,判定该分发目的地的分发状况是否为“计划完”的单元;
在为“计算完”时,把在处理时刻的分发服务器的系统年月日时刻与分发开始日以及分发开始·结束时刻进行比较的单元;以及
在系统年月日为分发开始日以后,并且系统时刻为分发开始·结束时刻的开始时刻以后、结束时刻以前的情况下,设为分发对象的单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-148866 | 2008-06-06 | ||
JP2008148866 | 2008-06-06 | ||
JP2008148866A JP5124352B2 (ja) | 2008-06-06 | 2008-06-06 | 電子データ配布システム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101599972A CN101599972A (zh) | 2009-12-09 |
CN101599972B true CN101599972B (zh) | 2012-09-05 |
Family
ID=40622179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101289145A Active CN101599972B (zh) | 2008-06-06 | 2009-03-13 | 电子数据分发系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7890608B2 (zh) |
EP (1) | EP2131294A1 (zh) |
JP (1) | JP5124352B2 (zh) |
CN (1) | CN101599972B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130083351A1 (en) * | 2011-09-30 | 2013-04-04 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for managing print on demand jobs by maintaining customer order records with content identification of printed articles |
JP5832246B2 (ja) * | 2011-11-01 | 2015-12-16 | シャープ株式会社 | 通信システム、通信装置、通信方法及びコンピュータプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1838602A (zh) * | 2005-03-22 | 2006-09-27 | 日本电气株式会社 | 服务器系统和在线软件更新方法 |
CN101146019A (zh) * | 2006-09-14 | 2008-03-19 | 株式会社日立制作所 | 信息分发服务器、信息分发方法以及程序 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2859200B2 (ja) | 1996-02-27 | 1999-02-17 | 中部日本電気ソフトウェア株式会社 | プログラム配信システム |
US6115549A (en) * | 1997-02-12 | 2000-09-05 | Novell, Inc. | Directory-services-based software distribution apparatus and method |
US6115745A (en) * | 1997-11-25 | 2000-09-05 | International Business Machines Corporation | Scheduling of distributed agents in a dialup network |
JPH11341471A (ja) * | 1998-05-28 | 1999-12-10 | Hitachi Ltd | 映像配信装置および映像配信システム |
WO2001063503A1 (fr) * | 2000-02-25 | 2001-08-30 | Matsushita Electric Industrial Co., Ltd. | Systeme de distribution d'information |
US6986133B2 (en) * | 2000-04-14 | 2006-01-10 | Goahead Software Inc. | System and method for securely upgrading networked devices |
JP2003162470A (ja) * | 2001-11-27 | 2003-06-06 | Fujitsu Ltd | 配信制御プログラムおよび方法 |
JP3998093B2 (ja) * | 2002-09-02 | 2007-10-24 | 日本電信電話株式会社 | ライブ放送受信方法、通知サーバ、システム、プログラム並びに該プログラムを記録した記録媒体 |
US20040098421A1 (en) * | 2002-11-18 | 2004-05-20 | Luosheng Peng | Scheduling updates of electronic files |
US8271971B2 (en) * | 2002-11-26 | 2012-09-18 | Hewlett-Packard Development Company, L.P. | System and method for automated program updating in a remote appliance |
US20070244818A1 (en) * | 2004-05-19 | 2007-10-18 | Keisuke Tsuji | Contents Distribution Control System, Distribution Scheduling Method of The Same, Communication Terminal and Computer Program of The Same |
JP4403048B2 (ja) * | 2004-10-12 | 2010-01-20 | 日本放送協会 | コンテンツ提供サーバ、ユーザ端末、コンテンツ提供プログラム、及びコンテンツ取得プログラム |
US9201641B2 (en) * | 2004-12-24 | 2015-12-01 | Telecom Italia S.P.A. | Method and system for upgrading the software of a telecommunication terminal, in particular of a video telephone, and related computer program product |
BRPI0520273A2 (pt) * | 2005-06-02 | 2009-04-28 | Thomson Licensing | mÉtodo e sistema de sincronizaÇço de conteédo |
US20070118530A1 (en) * | 2005-11-18 | 2007-05-24 | Microsoft Corporation | Scheduling of software updates |
JP4891605B2 (ja) * | 2005-12-12 | 2012-03-07 | 株式会社東芝 | ソフトウェア管理システム及びソフトウェア配信サーバ |
JP5367237B2 (ja) * | 2007-06-18 | 2013-12-11 | ソニー株式会社 | サーバ |
-
2008
- 2008-06-06 JP JP2008148866A patent/JP5124352B2/ja active Active
-
2009
- 2009-02-25 US US12/392,142 patent/US7890608B2/en active Active
- 2009-03-12 EP EP09154987A patent/EP2131294A1/en not_active Ceased
- 2009-03-13 CN CN2009101289145A patent/CN101599972B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1838602A (zh) * | 2005-03-22 | 2006-09-27 | 日本电气株式会社 | 服务器系统和在线软件更新方法 |
CN101146019A (zh) * | 2006-09-14 | 2008-03-19 | 株式会社日立制作所 | 信息分发服务器、信息分发方法以及程序 |
Non-Patent Citations (1)
Title |
---|
JP特开平9-231086A 1997.09.05 |
Also Published As
Publication number | Publication date |
---|---|
JP5124352B2 (ja) | 2013-01-23 |
CN101599972A (zh) | 2009-12-09 |
US20100057817A1 (en) | 2010-03-04 |
JP2009294973A (ja) | 2009-12-17 |
EP2131294A1 (en) | 2009-12-09 |
US7890608B2 (en) | 2011-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107924338B (zh) | 地理分布式集群系统中的最优存储装置和工作负载放置以及高弹性 | |
CN101385017B (zh) | 部分项改变跟踪和同步 | |
EP1840744B1 (en) | Method and apparatus for delivering managed applications to remote locations | |
CN103841170B (zh) | 一种云存储方法和服务器 | |
JP5512215B2 (ja) | ジョブ処理システム及びその方法、そのプログラム | |
US20040111505A1 (en) | Method, system, and article of manufacture for network management | |
JPH05165610A (ja) | ソフトウェア開発環境の生成および保守方法 | |
CN101599972B (zh) | 电子数据分发系统 | |
JP2020197873A (ja) | 情報処理システム、及び情報処理システムの制御方法 | |
US20100293278A1 (en) | Synchronizing Tasks between Servers | |
US20080276296A1 (en) | Management of user authorizations | |
CN103646021A (zh) | 批量计算的活动流更新 | |
CN107220815A (zh) | 日程管理方法、装置、系统以及存储介质 | |
JP7348878B2 (ja) | 分散台帳管理方法、分散台帳システム、およびノード | |
JP4061163B2 (ja) | ソフトウェアライセンス管理装置、ソフトウェアライセンス管理プログラム、ソフトウェアライセンス管理方法およびソフトウェアライセンス管理システム | |
CN112685157B (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
US20010023434A1 (en) | Computational data processing system and computational process implemented by means of such a system | |
US10242024B1 (en) | Dynamic reprioritization of content download during synchronization | |
JP2002049485A (ja) | ソフトウェア配布システム | |
WO2024084582A1 (ja) | 連成システム、連成方法および連成プログラム | |
JPS63178358A (ja) | ダウンロ−ド処理方式 | |
US11372575B2 (en) | Information processing device and information processing method | |
EP4243344A1 (en) | Certificate management device, certificate management system and certificate management method | |
JP7171458B2 (ja) | シナリオ実行システム、管理装置、シナリオ実行管理方法及びプログラム | |
WO2011139270A1 (en) | Information management assistant |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: Tokyo, Japan, Japan Applicant after: Hitachi Solutions, Ltd. Address before: Tokyo, Japan, Japan Applicant before: Hitachi Software Eng |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: HITACHI SOFTWARE ENG TO: HITACHI SOLUTIONS LTD. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |