程序管理系统、程序管理方法、客户端及计算机程序产品的制作方法

文档序号:7589106阅读:109来源:国知局
专利名称:程序管理系统、程序管理方法、客户端及计算机程序产品的制作方法
技术领域
本发明涉及一种用于管理程序的程序管理系统、程序管理方法、客户端及程序。
背景技术
近年来,已经提出了这样的一种信息处理装置,其具有网络通信功能,通过网络从服务器下载程序,并安装程序。此外,已经开发出多功能机,其具有打印功能、复印功能、传真功能及网络通信功能,通过网络从服务器下载程序,并安装程序。以这种方式,可向多功能机追加新的功能。然而,例如,在许多情形下,多个程序彼此协作以获得多功能机的特定功能。在彼此协作以获得特定功能的多个程序之间存在依赖性。当向多功能机追加功能时,在多功能机中需要安装彼此依赖的所有程序以便获得该功能。此外,当去除向多功能机追加的功能时,从多功能机卸载彼此依赖的程序以便去除功能。日本公开专利申请No. 2006-261970公开了如下的一种结构,当多功能机的配置被改变时,在多功能机中安装的插件程序的信息被发送给用于管理与网络相连的各个多功能机的插件信息的服务器,并且多功能机请求服务器确定是否应用插件程序。然而,在根据现有技术的系统中,用户很难核对程序之间的依赖性,这是向多功能机追加功能或是去除向多功能机追加的功能所需的信息。这会导致在多功能机中追加程序的功能管理的问题。根据日本公开专利申请No. 2006-261970中公开的结构,通过网络在服务器和多功能机之间交换插件程序的信息并且多功能机提出指示插件程序是否可应用的信息。然而,在日本公开专利申请No. 2006-261970中公开的结构中,无法解决用户很难清楚地核对程序之间的依赖性的问题。

发明内容
本发明的目的在于,至少部分地解决现有技术中所存在的问题。根据本发明的一个方面,提供一种程序管理系统,包括客户端;和服务器,通过网络与客户端相连接,其中,服务器包括程序存储单元,存储将被安装在客户端中的程序; 和第一程序信息存储单元,存储第一程序信息,所述第一程序信息包括用于指示在程序存储单元中存储的程序的信息和用于指示在程序存储单元中存储的所述程序与在程序存储单元中存储的其他程序之间的依赖性的信息,并且客户端包括输入单元,接收用户输入; 第二程序信息存储单元,存储第二程序信息,所述第二程序信息包括用于指示已安装的程序的信息和用于指示所述已安装程序与其他已安装的程序之间的依赖性的信息;以及显示屏幕生成单元,根据由输入单元接收的用户输入,利用所述第一程序信息和所述第二程序信息中的至少一个,生成用于显示在程序存储单元中存储的所述程序或所述已安装的程序与其他程序之间的依赖性的显示屏幕。根据本发明的另一个方面,提供一种由程序管理系统实现的程序管理方法,所述程序管理系统包括客户端;和服务器,通过网络与客户端相连接,其中,服务器包括程序存储单元,存储将被安装在客户端中的程序;和第一程序信息存储单元,存储第一程序信息,所述第一程序信息包括用于指示在程序存储单元中存储的程序的信息和用于指示在程序存储单元中存储的所述程序与在程序存储单元中存储的其他程序之间的依赖性的信息, 且客户端包括第二程序信息存储单元,存储第二程序信息,所述第二程序信息包括用于指示已安装的程序的信息和用于指示所述已安装的程序与其他已安装的程序之间的依赖性的信息,所述程序管理方法包括接收步骤,由客户端接收用户输入;获取步骤,由客户端根据在所述接收步骤接收到的用户输入获取所述第一程序信息和所述第二程序信息中的至少一个;以及生成步骤,由客户端利用所述第一程序信息和所述第二程序信息中的至少一个,生成用于显示在程序存储单元中存储的所述程序或所述已安装的程序与其他程序之间的依赖性的显示屏幕。根据本发明的另一个方面,提供一种客户端,包括输入单元,接收用户输入;程序信息存储单元,存储程序信息,所述程序信息包括用于指示已安装的程序的信息和用于指示所述已安装的程序与其他已安装的程序之间的依赖性的信息;以及显示屏幕生成单元,利用包括指示存储在与网络连接的服务器中并且根据由输入单元接收到的用户输入将被安装的程序的信息和指示在服务器中存储的程序与在服务器中存储的其他程序之间的依赖性的信息的程序信息和在程序信息存储单元中存储的程序信息中的至少一个,生成用于显示在服务器中存储的所述程序或所述已安装的程序与其他程序之间的依赖性的显示屏幕。根据本发明的另一个方面,提供一种程序管理方法,包括接收用户输入步骤,由接收单元接收用户输入;获取至少一个程序信息步骤,由获取单元获取第一程序信息和第二程序信息中的至少一个,所述第一程序信息包括指示存储在与网络连接的服务器中并且根据在所述接收用户输入步骤中接收到的用户输入将被安装的程序的信息和指示所述程序与其他程序之间的依赖性的信息,而所述第二程序信息包括指示根据在所述接收用户输入步骤中接收到的用户输入已安装的程序的信息和指示所述已安装的程序和其他已安装的程序之间的依赖性的信息;以及生成步骤,由显示屏幕生成单元利用在所述获取至少一个程序信息步骤中所获取的所述第一程序信息和所述第二程序信息中的至少一个,生成用于显示在服务器中存储的所述程序或所述已安装的程序与其他程序之间的依赖性的显示屏幕。根据本发明的另一个方面,提供一种计算机程序产品,包括具有在计算机可用介质中实现的计算机可读程序代码的计算机可用介质,当所述计算机可用介质被执行时使得计算机执行如下步骤接收用户输入步骤;获取至少一个程序信息步骤,获取第一程序信息和第二程序信息中的至少一个,所述第一程序信息包括指示在与网络连接的服务器中存储并且根据在所述接收用户输入步骤中接收到的用户输入将被安装的程序的信息和指示所述程序与其他程序之间的依赖性的信息,而所述第二程序信息包括指示根据在所述接收用户输入步骤中接收到的用户输入已安装的程序的信息和指示所述已安装的程序和其他已安装的程序之间的依赖性的信息;以及生成步骤,利用在所述获取至少一个程序信息步骤中所获取的第一程序信息和第二程序信息中的至少一个,生成用于显示在服务器中存储的所述程序或所述已安装的程序与其他程序之间的依赖性的显示屏幕。当结合所附的附图来阅读如下的关于本发明的当前优选的实施例的具体实施方式
时,可以对本发明的上述和其他目的、特征、优点和技术上和工业上的显著性获得更好的理解。


图1是示意性地示出了根据本发明第一实施例的程序管理系统的结构的方框图;图2A和图2B是示出了在程序服务器的程序信息存储单元中存储的信息的示例的示意图;图3是示出了根据本发明第一实施例生成用于显示依赖性的显示屏幕的处理的示例的时序图;图4是示出了软件管理屏幕的示意图;图5是示出了当指令安装处理时生成依赖性显示屏幕的处理的示例的流程图;图6是示出了程序追加屏幕的示例的示意图;图7是示出了安装处理中的依赖性显示屏幕的示例的示意图;图8是示出了依赖性显示屏幕的另一示例的示意图;图9是示出了当指令卸载处理时生成依赖性显示屏幕的处理的示例的流程图;图10是示出了程序管理屏幕的示例的示意图;图11是示出了多个不同的程序依赖于公共程序的示例的示意图;图12是示出了用于选择浏览依赖性的程序的选择屏幕的示例的示意图;图13是示出了根据本发明第二实施例的软件分发系统的网络结构的示例的示意图;图14是示出了根据本发明第二实施例的多功能机的功能结构的示例的方框图;图15是示出了多功能机的硬件结构的示例的方框图;以及图16是示出了根据本发明第二实施例的变形例的软件分发系统的网络结构的示例的示意图。
具体实施例方式第一实施例下面参考所附的附图描述根据本发明第一实施例的程序管理系统。图1是示意性地示出了根据第一实施例的程序管理系统1的结构的方框图。程序服务器10和客户端装置20连接到诸如局域网(LAN)的网络5上,以便程序服务器10和客户端装置20可彼此通
fn °程序服务器10是包括例如中央处理器(CPU)、随机访问存储器(RAM)和只读存储器(ROM)的通用计算机并且管理根据在CPU上执行的控制程序向各个客户端装置20追加功能的程序。通过例如紧凑式磁盘(CD)或数字通用磁盘(DVD)的记录介质或网络向程序服务器10提供控制程序。各客户端装置20可通过网络5从程序服务器10下载向其追加功能的程序或程序组并安装所下载的程序。在下面的描述中,只要不特别地指定程序,则程序是指向客户端装置20追加功能的程序。客户端装置20例如是能够实现多个功能的多功能打印机(MFP),多个功能例如是家居中的打印功能、复印功能和传真功能。客户端装置20例如包括CPU、RAM和ROM并且客户端装置20的操作受到CPU上执行的控制程序的控制。例如通过CD或DVD的记录介质或网络向客户端装置20提供控制程序。本发明并不局限于此,而是客户端装置20可以是执行具体功能的通用计算机或其他信息处理装置,只要是它可以安装通过网络5从程序服务器10下载的程序即可。在程序管理系统1中,多个程序服务器10可连接到网络5上。此外,网络5并不局限于LAN,而是可以是能够与外部通信的网络,诸如是因特网或是LAN与能够与外部通信的网络的组合。程序服务器10包括程序管理单元12、程序存储单元13、程序信息存储单元14和网络单元15,这些单元相连接以便彼此之间通信。用于控制程序服务器10的整体操作的控制程序被安装到存储单元(未示出)当中。程序存储单元13存储用于向客户端装置20追加功能的程序。程序可以是独立的程序或彼此协作的多个程序。程序信息存储单元14存储在程序存储单元13中存储的程序的信息。程序信息包括指示程序之间的依赖性的信息。程序管理单元12根据存储单元(未示出)中存储的控制程序通过CPU的操作管理在程序存储单元13中存储的程序。此外,网络单元15根据控制程序来控制和网络5的
ififn。客户端装置20包括控制单元22、程序信息存储单元23、依赖性显示生成单元24、 屏幕显示单元25、输入单元沈和网络单元27,这些单元相连接以便彼此之间通信。用于控制客户端装置20的整体操作的程序或用于实现客户端装置20的功能的程序被存储在存储单元(未示出)当中。控制程序包括用于安装向客户端装置20追加功能的程序或用于卸载程序以去除已追加的功能的安装程序。控制单元22根据控制程序通过CPU的操作控制客户端装置20的各单元。程序信息存储单元23存储在客户端装置20中安装并实现客户端装置20的功能的程序的信息。程序信息包括指示程序之间的依赖性的信息。依赖性显示生成单元M根据控制程序通过CPU的操作响应于来自控制单元22的请求生成用于显示所指定的程序之间的依赖性的显示屏幕。屏幕显示单元25在诸如液晶显示器(IXD)的显示设备上显示出屏幕。输入单元沈接收用户输入。例如,输入单元沈是与屏幕显示单元25的屏幕显示部分集成配置并且示出与按压的位置相对应的信号的触摸板。网络单元27控制和网络5的通信。图2A和图2B示出了程序服务器10的程序信息存储单元14中存储的信息的示例。 程序信息存储单元14例如存储有如图2A所示的ID表和如图2B所示的依赖性表。ID表存储唯一标识信息(ID)从而与程序存储单元13中存储的程序的名称相关联。在图2々所示的示例中,唯一标识符“111”、“123”、“225”...与在程序存储单元13中存储的程序的名称“复印包”、“多应用包”、“传真包”...相关联。依赖性表存储在程序存储单元13中存储的程序之间的依赖性。在图2B中,例如, 在目标ID栏中描述了在程序存储单元13中存储的所有程序的标识符。此外,在依赖性目的地ID栏中描述了程序的标识符,该程序是在程序存储单元13中存储的并且依赖于与在目标ID栏中描述的标识符相关联的程序。在图2B中示出的示例中,具有标识符“111”的程序依赖于具有标识符“678”的程序。即具有标识符“111”的程序与具有标识符“678”的程序协作以实现具有标识符“111” 的程序的功能。在图2B所示的另一示例中,具有标识符“123”的程序依赖于具有标识符“225”的程序、具有标识符“334”的程序、以及具有标识符“555”的程序。即具有标识符“123”的程序与具有标识符“225”、“334”和“555”的程序协作以实现具有标识符“ 123”的程序的功能。如此,一个程序可依赖于多个程序。在图2B所示的另一示例中,依赖于具有标识符“123”的程序的、具有标识符“555” 的程序依赖于具有标识符“789”的程序。因此,具有标识符“123”的程序直接地依赖于具有标识符“225”、“334”和“555”的程序并且间接地依赖于具有标识符“789”的程序。如此,可通过利用依赖性目的地ID作为目标ID的方式描述用于目标ID的依赖性目的地ID, 来描述程序之间的依赖性的分层结构。如上已经描述了程序服务器10的程序信息存储单元14中存储的信息。还可以与图2A和图2B所示的ID表和依赖性表相同的格式在客户端装置20的程序信息存储单元23 中存储程序和程序之间的依赖性。然而,可在客户端装置20的程序信息存储单元23中存储为了向客户端装置20追加功能而安装的程序的标识符和程序之间的依赖性。接下来,将会描述根据第一实施例生成用于显示程序之间的依赖性的显示屏幕的处理。在第一实施例中,例如,当在客户端装置20中安装通过网络5从程序服务器10下载的程序时和当卸载为了向客户端装置20追加功能而安装的程序时,显示出将被安装或将被卸载的程序和其他程序之间的依赖性。在第一实施例中,甚至当不执行安装或卸载时,仍可显示由程序服务器10在程序存储单元13中存储的程序和除了在客户端装置20中安装的程序之外的程序之间的依赖性。图3是示出了根据第一实施例生成用于显示依赖性的显示屏幕的处理的示例的时序图。用户操作客户端装置20的输入单元沈来输入指令,以便执行安装处理、卸载处理和依赖性显示处理中的任何一个。输入单元沈利用指示输入处理内容的信息作为参数向控制单元22输出依赖性显示请求(SEQlO)。接下来,参考图3描述用户操作输入单元沈来输入执行安装处理的指令的示例。控制单元22利用指示处理内容的信息作为参数从输入单元沈接收依赖性显示请求并向依赖性显示生成单元M输出依赖性显示生成请求以生成依赖性显示屏幕(SEQll)。 依赖性显示生成单元M从控制单元22接收依赖性显示生成请求并向程序服务器10输出服务器程序获取请求以获取在程序存储单元13中存储的程序的信息(SEQ12)。在下文中,适当地,将程序服务器10的程序存储单元13中存储的程序称为服务器程序并将程序信息存储单元14中存储的程序信息称为服务器程序信息。通过网络5将服务器程序获取请求从网络单元27发送至程序服务器10,并且由程序服务器10的网络单元15接收服务器程序获取请求(SEQU)。网络单元15将接收到的服务器程序获取请求发送至程序管理单元12 (SEQ14)。程序管理单元12响应于服务器程序获取请求从程序信息存储单元14获取服务器程序信息(SEQ15和SEQ16)。在这个实施例中,假设从程序信息存储单元14获取在程序存储单元13中存储的所有服务器程序的服务器程序信息。然而,本发明并不局限于此。例如,在SEQ13中从客户端装置20发送至程序服务器10的服务器程序获取请求可包括能够指定客户端装置20的信息,并且程序服务器10可选择性地获取与可应用于指定的客户端装置20的服务器程序相对应的服务器程序信息。从程序管理单元12向网络单元15发送在SEQ16中获取的服务器程序信息 (SEQ17)并且随后将在SEQ16中获取的服务器程序信息从网络单元15发送至客户端装置 20的网络单元27 (SEQ18)。在客户端装置20中,网络单元27接收从程序服务器10发送的服务器程序信息并且向依赖性显示生成单元M发送所接收到的服务器程序信息(SEQ19)。依赖性显示生成单元M执行请求程序服务器10发送SEQ12中的服务器程序信息的处理并获取为了在客户端装置20中追加功能而安装的程序的信息。在下文中,适当地,将客户端装置20中安装的程序称为装置程序且将程序信息存储单元23中存储的程序信息称为装置程序信息。具体的,当在SEQll中从控制单元22接收到依赖性显示生成请求时,依赖性显示生成单元M请求客户端装置20的程序信息存储单元23获取在客户端装置20中安装的程序的程序信息。响应请求从程序信息存储单元23获取装置程序信息并且将已获取的装置程序信息发送至依赖性显示生成单元M(SEQ30和SEQ31)。在图3中,依赖性显示生成单元M在SEQ31中获取装置程序信息并且在SEQ19中获取服务器程序信息。然而,获取处理的顺序可以被颠倒。依赖性显示生成单元M基于在SEQ19中获取的服务器程序信息和在SEQ31中获取的装置程序信息来确定程序之间的依赖性和程序的安装状态(SEQ40和SEQ41)。具体的,在SEQ40中,依赖性显示生成单元M从在SEQ19中获取的服务器程序信息中包括的ID表和依赖性表,获取在程序存储单元13中存储的服务器程序和其他程序之间的依赖性。随后,在SEQ41中,依赖性显示生成单元M从SEQ31中获取的装置程序信息中包括的ID表和依赖性表,获取装置程序当中的在ID表中描述的程序的信息和程序和其他程序之间的依赖性。当获取了装置程序和服务器程序之间的依赖性和客户端装置20中程序的安装状态时,依赖性显示生成单元M基于所获取的信息来生成用于显示程序之间的依赖性的依赖性显示屏幕(SEQ42)。在这种情况下,根据在SEQlO和SEQll中发送至依赖性显示生成单元M的依赖性显示生成请求的参数所指示的处理内容是否为安装处理、卸载处理和仅显示依赖性的处理中的任一个,依赖性显示生成单元M基于依赖性表和指示程序的安装状态的信息生成依赖性显示屏幕。从依赖性显示生成单元M向屏幕显示单元25输出用于控制屏幕显示单元25显
10示已生成的依赖性显示屏幕的显示信号(SEQ50)。屏幕显示单元25根据被提供的显示信号在显示设备上显示出依赖性显示屏幕。依赖性显示屏幕生成处理接下来,描述依赖性显示生成单元M的依赖性显示屏幕生成处理。首先,控制单元22或依赖性显示生成单元M生成用于选择安装处理、卸载处理和依赖性浏览处理中的任一个的软件管理屏幕,并且在屏幕显示单元25上显示出软件管理屏幕。用户可根据软件管理屏幕操作输入单元沈来选择处理。图4示出了软件管理屏幕30的示例。在软件管理屏幕30上布置了程序追加按钮 31、程序管理按钮32和依赖性浏览按钮33。程序追加按钮31指令在客户端装置20中安装服务器程序。程序管理按钮32指令卸载在客户端装置20中安装的装置程序。依赖性浏览按钮33是用于显示浏览屏幕,该浏览屏幕用于浏览通过额外提供的单选按钮34A和34B选择的服务器程序和装置程序中的一个。安装处理过程中的依赖性的显示首先,描述指令安装处理的示例。图5是示出了当在SEQlO中输入单元沈被用于操作程序追加按钮31来指令安装处理时的依赖性显示生成单元M的依赖性显示屏幕生成处理的示例的流程图。当程序追加按钮31被操作时,输入单元沈向控制单元22发送与安装处理相关的依赖性显示请求。当通过控制单元22从输入单元沈接收到依赖性显示请求时,依赖性显示生成单元M向程序服务器10发送服务器程序信息获取请求,以便核对程序之间的依赖性并且在步骤SlO中从程序服务器10获取服务器程序信息。随后,在步骤Sll中,依赖性显示生成单元M请求程序信息存储单元23发送装置程序信息以便确定在客户端装置20中安装的程序,并且从程序信息存储单元23获取装置程序信息。随后,在步骤S12中,依赖性显示生成单元M获取指示将被安装的程序的信息。例如,依赖性显示生成单元M生成程序追加屏幕,其中参考在步骤SlO中获取的服务器程序信息中包括的ID表来显示服务器程序名称的列表,并且在屏幕显示单元25上显示出已生成的程序追加屏幕。图6示出了程序追加屏幕40的示例。当图4所示的软件管理屏幕30的程序追加按钮31被操作时,执行步骤SlO和步骤Sll以便在屏幕显示单元25上显示出程序追加屏幕40。在程序追加屏幕40的显示区42中以列表形式布置从在步骤SlO中获取的服务器程序信息中提取的服务器程序的名称。在图6所示的示例中,在显示区42中布置了服务器程序名称“多应用包”、“传真包”、“发送包”、“扩展/编辑包”和“手册包”。每个服务器程序名称都附带有复选框。用户可操作输入单元沈来勾选对于所期望的服务器程序所附带的复选框,由此选择将在客户端装置20中安装的一个或更多个服务器程序。在图6所示的示例中,服务器程序“多应用包”附带的复选框被勾选以选择服务器程序“多应用包”作为将被安装的服务器程序。当输入单元沈在选择了期望的服务器程序之后被用来操作安装按钮41时,通过控制单元22从输入单元沈向依赖性显示生成单元M发送用于指示所选择的程序的信息 (例如,与程序相关联的标识符)。在步骤S13之后,执行用于指示将被安装的服务器程序之间的依赖性的显示屏幕的生成。当存在大量的所获取的安装程序并且很难在程序追加屏幕40上显示出所有的服务器程序的名称时,用户可操作滚动按钮43在垂直方向上滚动显示程序追加屏幕40,以便在程序追加屏幕40当中显示出在程序追加屏幕40外面的显示内容。对于将被安装的每个程序都重复地执行步骤S13至S18。当获取了用于指示将被安装的程序的信息时,依赖性显示生成单元M参考在服务器程序信息中包括的ID表来获取将被安装的程序的名称,并且在步骤S13中向依赖性显示信息追加程序的名称作为显示 fn息ο对于依赖于将被安装的一个程序的其他程序重复地执行步骤S14至S17。在步骤 S14中,依赖性显示生成单元M向依赖性显示信息追加依赖于将被安装的一个服务器程序 (在下文中,称为目标服务器程序)的某一个服务器程序的信息作为显示信息。例如,依赖性显示生成单元M参考在服务器程序信息中包括的依赖性表来获取目标服务器程序和其他的服务器程序之间的依赖性。依赖性显示生成单元M参考ID表获取其他获取的服务器程序的名称并使用所获取的名称作为显示信息。在下文中,依赖于目标服务器程序的其他服务器程序被称为从属目标服务器程序。在步骤S15中,依赖性显示生成单元对确定是否在客户端装置20中安装了从属目标服务器程序。即,依赖性显示生成单元M参考在装置程序信息中包括的ID表来确定在ID表中是否存储了与从属目标服务器程序的标识符相同的标识符。如果确定在ID表中没有存储该标识符,则处理前进至步骤S17。另一方面,如果在步骤S15中确定在ID表中存储了与从属目标服务器程序的标识符相同的标识符,则处理前进至步骤S16。在步骤S16中,依赖性显示生成单元M向依赖性显示信息追加用于指示已经安装了从属目标服务器程序作为显示信息的信息。用于指示已经安装了从属目标服务器程序的信息可关联于预定的消息或指示从属目标服务器程序的名称的图标。在步骤S17中,依赖性生成显示单元M确定是否已经向依赖性显示信息追加了依赖于目标服务器程序的所有从属目标服务器程序的名称作为显示信息。如果确定存在其名称尚未被追加的从属目标服务器程序,则依赖性显示生成单元M返回到步骤S14并对其名称尚未被追加的从属目标服务器程序执行步骤S14至S17。另一方面,如果在步骤S17中确定了已经追加了依赖于目标服务器程序的所有从属目标服务器程序的名称,则依赖性显示生成单元M前进至步骤S18。在步骤S18中,依赖性显示生成单元M确定是否处理了被选择为安装目标的所有目标服务器程序。如果确定尚未处理完所有的目标服务器程序,处理返回至步骤S13并且对尚未处理完的目标服务器程序执行步骤S13至S18。另一方面,如果在步骤S18中确定了已经处理了被选择为安装目标的所有的目标服务器程序,则依赖性显示生成单元M前进至步骤S19。在步骤S19中,依赖性显示生成单元M从依赖性显示信息生成用于显示依赖性的依赖性显示屏幕。例如,依赖性显示生成单元M在屏幕上布置在依赖性显示信息中包括的目标服务器程序的名称和在依赖性显示信息中包括的并且依赖于目标服务器程序的从属目标服务器程序的名称,以使得名称之间的依赖性变得清楚,由此生成了依赖性显示屏幕。在步骤S20中,依赖性显示生成单元M向屏幕显示单元25提供用于显示在步骤 S19中生成的依赖性显示屏幕的显示信号,以便在屏幕显示单元25上显示出依赖性显示屏眷ο图7示出了在安装处理过程中在步骤S19中生成的依赖性显示屏幕70的示例。目标服务器程序的名称在显示区域73中被布置为“已选择的程序”。依赖于在显示区域73中显示的目标服务器程序的从属目标服务器程序的名称在靠近显示区域73的显示区域中被布置为“安装所需的包”。在图7所示的示例中,“多应用包”被选择为目标服务器程序,而“传真包”、“标记包”和“发送包”显示为依赖于目标服务器程序的从属目标服务器程序。此外,在从属目标服务器程序中,“标记包”指示向从属目标服务器程序的名称追加如下的消息,即指示在客户端装置20中已经“安装” 了从属目标服务器程序的消息。如图7所示,程序的名称和依赖于该程序的另一程序的名称构成了对并且被布置及显示成彼此相邻。以这种方式,方便了用户检查程序之间的依赖性。在图7所示的示例中,执行按钮71和取消按钮72被布置在依赖性显示屏幕70的右上侧。用户可操作输入单元26来点击执行按钮71,由此安装具有在显示区域73和74中显示的名称的程序。取消按钮72指令安装处理的取消。例如,当从输入单元沈向控制单元22发送了指示已经操作了执行按钮71的信息时,控制单元22请求依赖性显示生成单元M发送其名称在显示区域73中显示的目标服务器程序的标识符。此外,控制单元22还请求依赖性显示生成单元M发送在其名称在显示区域73中显示的从属目标服务器程序当中尚未被安装的从属目标服务器程序的标识符。控制单元22发送通过网络单元27对程序服务器10的请求而获取的标识符。在程序服务器10中,网络单元15接收从客户端装置20发送的服务器程序的标识符并且将该标识符发送至程序管理单元12。程序管理单元12从程序存储单元13提取对应于从网络单元15发送的标识符的服务器程序并且将提取的服务器程序从网络单元15发送至客户端装置20。在客户端装置20中,网络单元27接收已发送的服务器程序并且将已接收的服务器程序发送到控制单元22。控制单元22以预定的顺序在客户端装置20中安装服务器程序。在服务器程序被安装之后,控制单元22更新在程序信息存储单元14中的ID表和依赖性表,并且向表反映出已安装的服务器程序的信息。如上所述,可以选择将被安装的多个目标服务器程序。当选择了多个目标服务器程序时,在依赖性显示屏幕70上布置并显示出多个已选择的目标服务器程序和依赖于多个目标服务器程序中的每一个的从属目标服务器程序,以使得它们之间的依赖性变得清楚。在图7所示的示例中,显示出对应于已选择的目标服务器程序的数目的显示区域73和 74的集合。在这个示例中,更优选地,从多个目标服务器程序中选择将被安装的目标服务器程序。例如,对于在显示区域73中显示的多个目标服务器程序中的每一个的名称额外地显示出复选框,并且可选择性地安装通过输入单元沈的操作而勾选的复选框的目标服务器程序。优选地,每次当完成一个目标服务器程序的安装时更新ID表和依赖性表,并且更新依赖性显示屏幕70的显示内容。当选择了将被安装的多个目标服务器程序并且很难一次在依赖性显示屏幕70上显示出这些目标服务器程序的程序名称时,用户可操作滚动按钮75在垂直方向上滚动依赖性显示屏幕70的显示,以便在依赖性显示屏幕70当中显示出依赖性显示屏幕70外面的显示内容。图8示出了依赖性显示屏幕的另一示例。在图8中,通过相同的附图标记表示与图7所示的部分相同的部分,并且不再重复对其的详细描述。在图8所示的示例中,依赖性显示屏幕80以树状结构视觉上布置程序之间的依赖性。S卩,在显示区域73'中在树状结构的根布置将被安装的目标服务器程序的名称,并且在显示区域74'中布置直接地依赖于目标服务器程序的从属目标服务器程序的名称作为根紧下面的分层。此外,在利用树状结构的布局的示例中,如在显示81中,通过分层结构很容易显示出间接地依赖于目标服务器程序的程序。在卸载处理过程中依赖性的显示接下来,将会描述指令卸载处理的示例。图9是示出了当输入单元沈被用来操作程序管理按钮32时由依赖性显示生成单元M生成依赖性显示屏幕的处理的示例的流程图,由此在SEQlO中指令卸载处理。当操作了程序管理按钮32时,输入单元沈向控制单元 22发送与卸载处理相关的依赖性显示请求。当通过控制单元22从输入单元沈接收到依赖性显示请求时,在步骤S30中,依赖性显示生成单元M确定在客户端装置20中安装的装置程序并且从程序信息存储单元23 获取装置程序信息,以便检查已安装的装置程序和其他的装置程序之间的依赖性。在步骤S31中,依赖性显示生成单元对获取用于指示将被卸载的程序的信息(例如,标识符)。例如,参考在步骤S30中获取的装置程序信息中包括的ID表,依赖性显示生成单元M生成在其上显示出装置程序名称的列表的程序管理屏幕,并且在屏幕显示单元 25上显示出已生成的程序管理屏幕。图10示出了程序管理屏幕50的示例。当操作图4所示的软件管理屏幕30上的程序管理按钮32时,执行步骤S30并且在屏幕显示单元25上显示出程序管理屏幕50。在程序管理屏幕50的显示区域52中以列表形式布置从在步骤S30中获取的装置程序信息中提取的装置程序的名称。在图10所示的示例中,在显示区域52中布置了关于客户端装置 20中安装的装置程序的装置程序名称“多应用包”、“传真包”、“发送包”、“扩展/编辑包”和 “手册包”。对于每个装置程序名称都附带了复选框。用户可操作输入单元沈来勾选对于所期望的装置程序附带的复选框,由此选择将要从客户端装置20卸载的一个或更多个装置程序。当输入单元沈在选择了期望的装置程序之后被用来操作卸载按钮51时,指示所选择的程序的信息通过控制单元22从输入单元沈被发送到依赖性显示生成单元M并且在步骤S32之后生成用于显示将被卸载的装置程序之间的依赖性的屏幕。滚动按钮53的功能与参考图6描述的滚动按钮43的功能相同,因此不再重复对其的描述。对于每个将被卸载的装置程序重复地执行步骤S32至S37。当获取了指示将被卸载的装置程序的信息时,在步骤S33中,依赖性显示生成单元M参考在装置程序信息中包括的ID表获取将被卸载的装置程序的名称,并且向依赖性显示信息追加装置程序的名称作为显示信息。对于依赖于将被卸载的一个装置程序的其他装置程序中的每一个重复地执行步
14骤S33至S36。在步骤S34中,依赖性显示生成单元M向依赖性显示信息追加依赖于将被卸载的一个装置程序(在下文中称为目标装置程序)的一个装置程序的信息作为显示信息。例如,依赖性显示生成单元M参考在装置程序信息中包括的依赖性表获取目标装置程序和其他的装置程序之间的依赖性。依赖性显示生成单元M参考ID表获取已获取的其他装置程序的名称并且使用已获取的名称作为显示信息。在下文中,依赖于目标装置程序的其他装置程序被称为从属目标装置程序。在步骤S34中,依赖性显示生成单元M参考在装置程序信息中包括的依赖性表确定从属目标装置程序是否依赖于除依赖于从属目标装置程序的目标装置后续之外的其他装置程序。如果确定从属目标装置程序不依赖于其他的装置程序,则处理前进至步骤S36。考虑多个程序依赖于公共程序的示例。例如,如图11阴影所示,假设具有标识符 “555”的公共程序依赖于具有标识符“ 123”的程序和具有标识符“666”的程序。在这个示例中,在卸载具有标识符“123”的程序的过程中,当依赖于具有标识符“123”的程序的具有标识符“555”的程序也被卸载时,依赖于具有标识符“555”的程序的具有标识符“666”的程序不能被执行。如果在步骤S34中确定从属目标装置程序依赖于除依赖于从属目标装置程序的目标装置程序之外的其他装置程序,则依赖性显示生成单元M前进至步骤S35并且向依赖性显示信息追加用于指示不可执行从属目标装置程序的卸载的信息作为显示信息。例如, 指示卸载已经被完成的信息关联于指示从属目标装置程序的预定的消息或图标。在步骤S36中,依赖性显示生成单元M确定是否已经向依赖性显示信息追加了依赖于目标装置程序的所有从属目标装置程序的名称作为显示信息。如果确定存在其名称尚未被追加的从属目标装置程序,则依赖性显示生成单元M返回至步骤S33并且对于其名称尚未被追加的从属目标装置程序执行步骤S33至S36。另一方面,如果在步骤S36中确定已经追加了依赖于目标装置程序的所有从属目标装置程序的名称,则依赖性显示生成单元M前进至步骤S37。在步骤S37中,依赖性显示生成单元M确定是否已经处理了被选择为卸载目标的所有目标装置程序。如果确定尚未处理所有的目标装置程序,则处理返回至步骤S32并且对尚未被处理的目标装置程序执行步骤S32至S37。另一方面,如果在步骤S37确定已经处理了被选择为卸载目标的所有目标装置程序,则依赖性显示生成单元M前进至步骤S38。在步骤S38中,依赖性显示生成单元M以图5所示的流程图的步骤S19中描述的相同方式从依赖性显示信息生成用于显示依赖性的依赖性显示屏幕。即,依赖性显示生成单元M在屏幕上布置在依赖性显示信息中包括的目标装置程序的名称和在依赖性显示信息中包括且依赖于目标装置程序的从属目标装置程序的名称,以使得名称之间的依赖性变得清楚,由此生成依赖性显示屏幕。在步骤S39中,依赖性显示生成单元M向屏幕显示单元25提供用于显示在步骤 S38中生成的依赖性显示屏幕的显示信号,以便在屏幕显示单元25上显示出依赖性显示屏幕。在卸载处理的过程中,可以列表结构或树状结构显示在屏幕显示单元25上显示的依赖性显示屏幕,这实质上类似于参考图7和图8描述的安装处理中的依赖性显示屏幕 70和80,除了例如标题的文本或指示卸载不可被执行的消息之外。当输入单元沈被用来操作与卸载处理相关的依赖性显示屏幕上的执行按钮时, 从客户端装置20卸载目标装置程序和依赖于目标装置程序的从属目标装置程序。例如,当指示用于执行卸载处理的按钮被操作的信息被从输入单元沈发送至控制单元22时,控制单元22请求依赖性显示生成单元M发送将被卸载的目标装置程序的标识符。此外,控制单元22还请求依赖性显示生成单元M发送依赖于目标装置程序的从属目标装置程序当中的、可被卸载的从属目标装置程序的标识符。控制单元22以预定的顺序响应于来自客户端装置20的请求来卸载与从依赖性显示生成单元M接收到的标识符相对应的装置程序。在装置程序被卸载之后,控制单元22 更新程序信息存储单元23的ID表和依赖性表并且对于表反映已卸载的装置程序的信息。以与安装处理相同的方式执行当选择了将被卸载的多个目标装置程序时的处理, 因此不再重复对其的详细描述。在依赖性浏览处理过程中依赖性的显示接下来,将会描述指令依赖性流程处理的示例。当在SEQlO中输入单元沈被用来操作图4所示的软件管理屏幕30上的依赖性浏览按钮33时,指令依赖性浏览处理。当选择了单选按钮34A和34B中的一个并操作了依赖性浏览按钮33时,输入单元沈向控制单元22发送用于显示通过所选择的单选按钮34A或34B而选择的程序之间的依赖性的依赖性显示请求。具体的,当选择了指令“来自服务器的选择”的单选按钮34A时,输入单元沈利用指示依赖性浏览处理的处理内容和指示服务器程序信息的获取的信息作为参数,通过控制单元22向依赖性显示生成单元M发送依赖性显示请求。随后,依赖性显示生成单元M根据如图3所示的时序SEQ12至SEQ19从程序服务器10获取服务器程序信息。随后,依赖性显示生成单元M参考在所获取的服务器程序信息中包括的ID表,获取通过程序服务器10存储在程序存储单元13中的服务器程序的名称和被用作目标ID的标识符。此外,依赖性显示生成单元M参考在服务器程序信息中包括的依赖性表,对于从 ID表获取的每个标识符都获取用作依赖性目的地ID的标识符。当选择了指令“来自装置的选择”的单选按钮34B时,执行与如上所述的处理相同的处理。在这个示例中,输入单元沈利用指示依赖性浏览处理的处理内容和指示装置程序的获取的信息作为参数,通过控制单元22向依赖性显示生成单元M发送依赖性显示请求。 随后,依赖性显示生成单元M根据如图3所示的时序SEQ30至SEQ31从程序信息存储单元 23获取装置程序信息。随后,依赖性显示生成单元M参考在所获取的装置程序信息中包括的ID表,获取在客户端装置20中安装的装置程序的名称和用作目标ID的标识符。此外,依赖性显示生成单元M还参考在装置程序信息中包括的依赖性表,对于从ID表获取的每个标识符都获取用作依赖性目的地ID的标识符。当以这种方式获取服务器程序或装置程序的标识符时,依赖性显示生成单元M 生成如图12所示的用于选择浏览依赖性的程序的选择屏幕60,并且在屏幕显示单元25上显示出选择屏幕60。类似于图6所示的程序追加屏幕40,在选择屏幕60中,以列表的形式在显示区域62中布置所获取的服务器程序或装置程序的名称并且对于每个程序名称附带复选框。滚动按钮63用来在垂直方向滚动选择屏幕60,以便在屏幕当中显示出屏幕外面的 fn息ο当用户操作输入单元沈来勾选对于其依赖性将被浏览的程序的名称附带的复选框并且操作显示按钮61时,依赖性显示生成单元M生成用于浏览依赖于与被勾选的复选框对应的程序的名称的其他程序的依赖性浏览屏幕。也就是说,依赖性显示生成单元M在屏幕上布置对应于勾选的复选框的程序的名称和依赖于该程序的其他程序的名称,以使得名称之间的依赖性变得清楚,由此生成与依赖性浏览处理相关的依赖性显示屏幕,这类似于参考图7和图8描述的操作。依赖性显示屏幕可以是如图7所示的列表的显示或是利用图8所示的树状结构的布局。如上所述,根据第一实施例,在客户端装置20或程序服务器10当中,指示已安装的或已存储的程序的信息关联于指示依赖于该程序的其他程序的信息。因此,当在客户端装置20中安装在程序服务器10中存储的程序时或是当从客户端装置20卸载程序时,可显示出将被处理的程序和依赖于该将被处理的程序的其他程序, 以使得程序之间的依赖性变得清楚。第二实施例接下来,将会描述本发明的第二实施例。第二实施例是将第一实施例应用于用来通过网络从服务器向多功能机分发软件的软件分发系统的示例。图13是示出了根据第二实施例的软件分发系统的结构的示例的示意图。如图13 所示,在软件分发系统中,通过诸如因特网的网络310相互连接中继装置200、许可证管理服务器300、软件分发服务器301、用作软件管理装置的管理装置302、以及网络服务器303。 网络310对应于根据第一实施例的网络5。在中继装置200和网络310之间布置有防火墙90。多个多功能机100a、IOOb和 IOOc连接至中继装置200。在下文中,未被指定的多功能机简称为多功能机100。多功能机 100对应于根据第一实施例的客户端装置20。防火墙90监视与外部的数据通信并检测及切断非法的访问,以使得第三方不能非法地通过诸如公共电话线或因特网的外部网络访问中继装置200。软件分发服务器301存储作为包括在多功能机100中执行的多种应用的软件包的软件程序,并且通过中继装置200向多功能机100分发软件程序。软件分发服务器301对应于根据第一实施例的程序服务器10,而由软件分发服务器301所分发的软件程序对应于根据第一实施例的服务器程序。许可证管理服务器300管理应用的软件程序的许可证(使用权限)或通过中继装置200由多功能机100执行的功能的许可证(使用权限),该应用是由软件分发服务器301 提供并且随后被安装到多功能机100中的应用。网络服务器303具有用于提供诸如应用的软件的入口站点。用户使用PC(个人计算机)(未示出)或多功能机100来访问网络服务器303的入口站点并购买所期望的应用软件。当用户从网络服务器303购买了软件时,从网络服务器303向管理装置302发送被指定为安装目标的多功能机100的装置ID、所购买的软件的产品名称和产品密钥、以及安装请求。
管理装置302通过中继装置200远程地管理多功能机100。具体的,管理装置302 是例如在多功能机制造商或服务提供商的服务中心中提供的服务器装置。当从网络服务器 303接收到安装请求时,管理装置302从软件分发服务器301接收例如将被安装的软件的获取目的地的URL或从属软件的获取目的地的URL,参考用于指示在被指定为安装目的地的多功能机100中安装的软件的条件的装置信息来确定将被安装的软件和多功能机100所需的从属软件,并向中继装置200发送安装请求。中继装置200中继在软件分发服务器301、许可证管理服务器300和多功能机100 之间执行的处理。具体的,中继装置200在预定的间隔收集来自多功能机100的用于指示在每个多功能机100中安装的软件的条件的装置信息,并向管理装置302发送每个多功能机100的装置信息。中继装置200执行请求软件分发服务器301发送将被安装的软件程序并接收软件程序的处理,或请求许可证管理服务器300发送将被安装的软件的许可证并接收许可证的处理。即,在第一实施例中,客户端装置20的网络单元27通过网络5与程序服务器10的网络单元15进行通信。然而,在第二实施例中,多功能机通过中继装置200和网络与软件分发服务器进行通信。此外,中继装置200还向多功能机100发送软件程序、许可证和软件安装请求,并在多功能机100中安装软件。多功能机100是具有诸如复印、传真和打印机功能的多种功能的装置,并通过诸如LAN的局域网与中继装置200相连接。在图13中,三个多功能机IOOaUOOb和IOOc连接至网络,但是本发明并不局限于此。例如,一个、两个、四个或更多个多功能机可连接至网络。多功能机100包括应用安装控制单元,当从中继装置200接收到软件程序、许可证和软件安装请求时应用安装控制单元安装由安装请求指定的软件。接下来,将会描述多功能机100。图14是示出了根据第二实施例的多功能机100的功能结构的示例的方框图。如图14所示,多功能机100包括黑白激光打印机(B&W LP) 101、 彩色激光打印机(彩色LP) 102、硬盘驱动器(HDD) 103、诸如扫描仪、传真机和内存的其他硬件资源104、通信接口(I/F) 105、以及包括平台120和应用130的软件组110。在多功能机100中,HDD 103存储装置信息、从软件分发服务器301下载的应用的软件包、固件包、包信息、指示安装处理的操作指令的指令信息、以及从许可证管理服务器 300下载的应用的许可证文件。此外,在HDD 103中还存储安装处理的进程。在HDD 103中还存储根据第一实施例的装置程序信息。在第一实施例中,在客户端装置20中安装服务器程序。然而,在第二实施例中,以预定的顺序在HDD 103中存储服务器程序,由此将其安装到多功能机100中。平台120包括通用OS 121和系统资源管理器(SRM) 123,系统资源管理器 (SRM) 123执行用于解释来自应用的处理请求并生成请求以获取硬件资源的控制服务,并管理一个硬件资源或多个硬件资源以仲裁来自控制服务的获取请求。控制服务是由多个服务模块构成的,并且包括系统控制服务(SCQ 122、引擎控制服务(ECS) 124、内存控制服务(MCS) 125、操作面板控制服务(OCS) 126、传真控制服务 (FCS) 127、网络控制服务(NCS) 128、新的远程服务(NRS) 129、以及应用安装控制服务131。 平台120包括通过预定的功能从应用130接收处理请求的应用程序接口(API)。通用OS 121是诸如UNIX(注册商标)的通用操作系统,并执行平台120和应用130的软件元件作为并行的单独处理。例如在通用OS 121中包括根据第一实施例的客户端装置20的控制单元22。SRM 123的处理与SCS 122—起控制系统并管理资源。SRM 123的处理响应于来自利用硬件资源的上层的请求执行仲裁和并行控制,该硬件资源诸如是扫描仪单元或打印机单元的引擎、内存、HDD文件、主机1/0(例如,并行I/F、网络I/F、IEEE1394I/F和RS232C I/F)。具体的,SRM 123确定所请求的硬件资源是否可以利用,即响应于其他请求硬件资源是否正在被使用。如果确定所请求的硬件资源可以利用,则SRM123向上层发送用于指示所请求的硬件资源可以利用的通知。SRM 123响应于来自上层的请求调度硬件资源的使用并且直接地执行所请求的内容(例如,由打印机引擎执行的纸张的传送和图像的形成、内存的分配、以及文件的生成)。SCS 122的处理执行诸如应用管理、操作单元的控制、系统屏幕的显示、LED显示、 资源管理、以及中断应用控制等操作。ECS IM的处理控制黑白激光打印机(B&W LP) 101、 彩色激光打印机(彩色LP) 102和包括扫描仪和传真机的其他硬件资源104的引擎。MCS 125的处理执行诸如图像内存的获取及释放、硬盘驱动器(HDD)的使用、以及图像数据的压缩及解压缩等操作。FCS 127的处理提供了用于执行通过PSTN/ISDN从系统控制器的每个应用层接收传真数据和向系统控制器的每个应用层发送传真数据、由备份SRAM(BKM)管理的各种传真数据的注册/引用、传真数据的读取、传真数据的接收及打印、以及集成的发送/接收的 API。NCS 1 的处理提供了对于需求网络I/O的应用所共有的服务。当由每个协议从网络接收的数据被分类给每个应用时或是当数据从应用被发送给网络时,NCS 128的处理执行中继操作。OCS 126的处理控制用作操作者(用户)和主控制单元之间的信息通信单元的操作面板。OCS 126包括OCS处理部和OCS库部,OCS处理部用于获取在操作面板上的键的按下(或触摸操作)作为键事件并且向SCS 122发送对应于所获取的键事件的键事件功能, 而在OCS库部中预先注册响应于来自应用130或控制服务的请求在操作面板上绘制并输出各种类型的屏幕的绘制功能或用于控制操作面板的其他功能。OCS库被链接并安装到应用 130和控制服务的每个模块。整个OCS 1 可以作为处理被操作或是整个OCS 1 可以被配置为OCS库。应用安装控制服务131的处理以预定的间隔向管理装置302发送与诸如在多功能机100中安装的应用的软件相关的信息或是装置的信息作为装置信息。当从管理装置302 接收到安装请求时,应用安装控制服务131的处理请求软件分发服务器301来分发具有由安装请求指定的产品ID的软件,接收来自软件分发服务器301的将被安装的软件,并安装所接收到的软件。此外,当从管理装置302接收到安装请求时,应用安装控制服务131的处理请求许可证管理服务器300来发送具有由安装请求指定的产品ID的软件的许可证并从许可证管理服务器300获取许可证。根据第一实施例的客户端装置20的依赖性显示生成单元M被包括在应用安装控制服务131当中。
NRS 129的处理具有调度器功能和与通过网络执行装置远程管理相关的功能,诸如当通过网络执行数据通信时交换数据的功能。应用130包括作为具有页面描述语言(PDL)、打印机控制语言(PCL)和布告脚本 (PS)的打印机的应用的打印机应用111、作为复印机的应用的复印机应用112、作为传真机的应用的传真机应用113、作为扫描仪的应用的扫描仪应用114、作为网络文件的应用的网络文件应用115、作为处理检查的应用的处理检查应用116、以及相对于客户终端(诸如连接至因特网的PC)作为网络服务器(http服务器)操作的网络应用117,并且在客户终端上操作的网络浏览器上显示出各种类型的屏幕。应用130的每个处理和控制服务的每个处理实现了与通过复印机、打印机、扫描仪和传真机等执行的图像形成处理相关的用户服务,同时利用功能的调用执行了处理之间的通信、功能的返回值的发送、以及消息的发送/接收。如此,根据第二实施例的多功能机100包括被操作为处理的多个应用130和多个控制服务。在每个处理中生成一个或更多个线程并且对于每个线程执行并行执行。控制服务提供了对于应用130的公共服务。因此,多个处理提供了与通过复印机、打印机、扫描仪和传真机等执行的图像形成处理相关的用户服务,同时利用处理的并行操作和线程的并行操作来执行它们之间的通信,以使得彼此之间相互协作。在多功能机100中,诸如多功能机100的客户或第三方厂商的第三方可在控制服务层上的应用层上开发并安装外部应用172。外部应用172是通过应用安装控制服务131 从软件分发服务器301下载的并且随后被安装的服务器程序。图14示出了外部应用172 的执行。在根据第二实施例的多功能机100中,可执行多个应用130的处理和多个控制服务的处理。然而,还可执行单个应用130的处理和单个控制服务的处理。此外,应用130还可被独立地追加或去除。即,如上所述,外部应用172可被安装和卸载。图15是示出了多功能机100的硬件结构的示例的方框图。如图15所示,多功能机100具有通过外围部件接口(PCI)总线将控制器410连接至引擎单元(引擎)460的结构。控制器410控制多功能机100的整体操作、绘图、通信和来自操作单元(未示出)的输入。弓丨擎单元460例如是连接至PCI总线的打印机引擎。例如,引擎单元460是黑白绘图仪、单鼓彩色绘图仪、四鼓彩色绘图仪、扫描仪、或传真单元。除了诸如绘图仪的所谓的引擎部之外,引擎单元460还包括用于例如错误扩散或伽马转换的图像处理部。控制器410包括中央处理单元(CPU)411、北桥(NB)413、系统内存(MEM-P)412, 南桥(SB)414、本地内存(MEM-C) 417、特定应用集成电路(ASIC)416、以及硬盘驱动器 (HDD) 103。北桥413通过加速图形端口 (AGP)总线415连接至ASIC 416。CPU 411控制多功能机100的整体操作,具有包括NB 413,MEM-P 412和SB 414的芯片组,并且通过芯片组连接至其他的装置。NB 413是用于将CPU 411连接至MEM-P 412,SB 414和AGP 415的桥,并且包括内存控制器,该内存控制器用于控制从MEM-P 412、PCI主机和AGP对象读取数据并向MEM-P 412、PCI主机和AGP对象写入数据。MEM-P 412是被用作例如存储程序或数据的内存、用于扩展程序或数据的内存、 以及打印机的绘图内存的系统内存,并且包括只读存储器(R0M)41h和随机访问存储器
20(RAM)412b。ROM 41 被用作存储程序或数据的内存,而RAM 412b是被用作例如扩展程序或数据的内存和打印机的绘图内存的可写入和可读取的内存。SB 414是用于将NB 413连接至PCI设备和外部设备的桥。SB 414通过PCI总线连接至NB 413。例如,网络接口(I/F)单元也连接至PCI总线。ASIC 416是仅用于图像处理的集成电路(IC),其具有图像处理的硬件元件。ASIC 416起到连接AGP 415、PCI总线、HDD 103和MEM-C 417的桥的功能。ASIC 416包括PCI 对象、AGP主机、用作ASIC 416的内核的仲裁器(ARB)、用于控制MEM-C 417的内存控制器、 用于利用硬件逻辑执行例如图像数据的旋转的多个直接内存访问控制器(DMAC)、以及用于通过PCI总线执行与引擎单元460的数据通信的PCI单元。传真控制单元(F⑶)430、通用串行总线(USB) 440、以及电气电子工程师协会1394 (IEEE 1394)接口 450通过PCI总线连接至ASIC 416。操作显示单元420直接地连接至ASIC416。MEM-C 417是被用作复印的图像缓冲器和代码缓冲器的本地内存。HDD103是用于存储图像数据、程序、字体数据和表格的存储器。此外,HDD 103还存储从软件分发系统310 下载的服务器程序。AGP 415是为了加速图形处理而提出的图形加速卡的总线接口。AGP 415可高吞吐量地直接地访问MEM-P 412,以便加速图形加速卡。在多功能机100中执行的安装程序预先被包含在ROM中并且随后被提供。在根据第二实施例的多功能机100中执行的安装程序是具有可被安装或执行的格式的文件,并且它可以被记录在诸如CD、软盘(FD)、或DVD的计算机可读记录介质当中并随后被提供。在根据第二实施例的多功能机100中执行的安装程序可被存储在与诸如因特网的网络连接的计算机中并且随后通过要被提供的网络而下载。此外,在根据第二实施例的多功能机100中执行的安装程序还可通过诸如因特网的网络被提供或分发。在根据第二实施例的多功能机100中执行的安装程序还可由至少包括应用安装控制服务131的模块配置。作为实际的硬件,例如,CPU 411从ROM 411a中读取安装程序并且执行安装程序。随后,应用安装控制服务131被加载到主存储设备当中并且在主存储设备上生成应用安装控制服务131。根据第二实施例的管理装置302、软件分发服务器301、许可证管理服务器300和网络服务器303包括诸如CPU的控制设备、诸如R0M、RAM或HDD的存储设备、诸如光盘驱动器的外部存储设备、诸如显示器的显示设备、以及诸如键盘或鼠标的输入设备,并且具有普通计算机的硬件结构。第二实施例的变形例接下来,将会描述第二实施例的变形例。在第二实施例中,通过中继装置200执行软件分发服务器301、许可证管理服务器300和多功能机100之间的处理。然而,在这个变形例中,软件分发服务器301和许可证管理服务器300无需利用中继装置200即可直接地将各种类型的数据发送到多功能机100并从多功能机100接收各种类型的数据。图16是示出了根据这个变形例的软件分发系统的结构的示例的示意图。在这个变形例中,如图16所示,管理装置302、软件分发服务器301、许可证管理服务器300、网络服务器303和多功能机100(多功能机IOOaUOOb和100c)都连接至网络310,并且没有布置中继装置。管理装置302、软件分发服务器301、许可证管理服务器300和网络服务器303都具有和第二实施例相同的结构。然而,管理装置302可直接地从多功能机100接收装置信息并且直接地向多功能机100发送安装请求。根据本发明,可容易地检查程序之间的依赖性。考虑上面提及的问题而作出了本发明,本发明的目的在于提供能够容易地检查程序之间的依赖性的技术。尽管已经参考特定的实施例对本发明作出了完整且清楚的公开,然而所附的权利要求并不局限于此,而是可以被解释为包括本领域技术人员在不脱离本发明的基本教示下可以获得的所有的变形和修改的结构。
权利要求
1.一种程序管理系统(1),包括客户端00);和服务器(10),通过网络(5)与客户端相连接,其中,服务器(10)包括程序存储单元(13),存储将被安装在客户端00)中的程序;和第一程序信息存储单元(14),存储第一程序信息,所述第一程序信息包括用于指示在程序存储单元(1 中存储的程序的信息和用于指示在程序存储单元(1 中存储的所述程序与在程序存储单元(1 中存储的其他程序之间的依赖性的信息,并且客户端OO)包括输入单元( ),接收用户输入;第二程序信息存储单元(23),存储第二程序信息,所述第二程序信息包括用于指示已安装的程序的信息和用于指示所述已安装的程序与其他已安装的程序之间的依赖性的信息;以及显示屏幕生成单元(M),根据由输入单元06)接收的用户输入,利用所述第一程序信息和所述第二程序信息中的至少一个,生成用于显示在程序存储单元(13)中存储的所述程序或所述已安装的程序与其他程序之间的依赖性的显示屏幕。
2.根据权利要求1所述的程序管理系统(1),其中,当输入单元(26)被用来指定在程序存储单元(13)中存储的程序当中通过网络(5)从服务器(10)下载并且随后被安装的程序时,显示屏幕生成单元04)通过网络从第一程序信息存储单元(14)获取所述第一程序信息并且从第二程序信息存储单元获取所述第二程序信息,并且显示屏幕生成单元04)利用所获取的第一程序信息和第二程序信息,生成用于显示由输入单元06)指定为将被安装的程序与其他程序之间的依赖性的显示屏幕。
3.根据权利要求2所述的程序管理系统(1),其中,显示屏幕生成单元04)基于所述第二程序信息,确定除由输入单元06)指定为将被安装的程序之外的程序当中是否存在已安装的程序,并且当确定存在已安装的程序时,显示屏幕生成单元04)向示出依赖性的显示器追加用于指示存在已安装的程序的信息。
4.根据权利要求1所述的程序管理系统(1),其中,当输入单元06)被用来指定已安装的程序当中将被卸载的程序时,显示屏幕生成单元04)从第二程序信息存储单元获取所述第二程序信息,并且利用所述第二程序信息生成用于显示由输入单元06)指定为将被卸载的程序与其他程序之间的依赖性的显示屏幕。
5.根据权利要求1至4中任一项所述的程序管理系统(1),其中,显示屏幕生成单元04)根据所述程序与其他程序之间的依赖性以分层结构布置用于指示所述程序的信息,由此生成显示屏幕。
6.根据权利要求1至4中任一项所述的程序管理系统(1),其中,显示屏幕生成单元04)根据所述程序与其他程序之间的依赖性以树状结构布置用于指示所述程序的信息,由此生成显示屏幕。
7.根据权利要求1至4中任一项所述的程序管理系统(1),其中,通过关联用于指示程序的信息和用于指示执行所述程序所需的其他程序的信息来获得用于指示程序之间的依赖性的信息。
8.—种由程序管理系统(1)实现的程序管理方法,所述程序管理系统(1)包括 客户端00);和服务器(10),通过网络与客户端相连接, 其中,服务器(10)包括程序存储单元(13),存储将被安装在客户端00)中的程序;和第一程序信息存储单元(14),存储第一程序信息,所述第一程序信息包括用于指示在程序存储单元(1 中存储的程序的信息和用于指示在程序存储单元(1 中存储的所述程序与在程序存储单元(1 中存储的其他程序之间的依赖性的信息,并且客户端OO)包括第二程序信息存储单元(23),存储第二程序信息,所述第二程序信息包括用于指示已安装的程序的信息和用于指示所述已安装的程序与其他已安装的程序之间的依赖性的信息?所述程序管理方法包括接收步骤,由客户端OO)接收用户输入;获取步骤,由客户端OO)根据在所述接收步骤接收到的用户输入06)获取所述第一程序信息和所述第二程序信息中的至少一个;以及生成步骤,由客户端OO)利用所述第一程序信息和所述第二程序信息中的至少一个, 生成用于显示在程序存储单元中存储的所述程序或所述已安装的程序与其他程序之间的依赖性的显示屏幕。
9.一种客户端(20),包括输入单元( ),接收用户输入;程序信息存储单元(23),存储程序信息,所述程序信息包括用于指示已安装的程序的信息和用于指示所述已安装的程序与其他已安装的程序之间的依赖性的信息;以及显示屏幕生成单元(M),利用包括指示存储在与网络( 连接的服务器(10)中并且根据由输入单元06)接收到的用户输入将被安装的程序的信息和指示在服务器OO)中存储的程序与在服务器OO)中存储的其他程序之间的依赖性的信息的程序信息和在程序信息存储单元03)中存储的程序信息中的至少一个,生成用于显示在服务器(10)中存储的所述程序或所述已安装的程序与其他程序之间的依赖性的显示屏幕。
10.一种程序管理方法,包括接收用户输入步骤,由接收单元06)接收用户输入;获取至少一个程序信息步骤,由获取单元07)获取第一程序信息和第二程序信息中的至少一个,所述第一程序信息包括指示存储在与网络( 连接的服务器(10)中并且根据在所述接收用户输入步骤中接收到的用户输入将被安装的程序的信息和指示所述程序与其他程序之间的依赖性的信息,而所述第二程序信息包括指示根据在所述接收用户输入步骤中接收到的用户输入已安装的程序的信息和指示所述已安装的程序和其他已安装的程序之间的依赖性的信息;以及生成步骤,由显示屏幕生成单元04)利用在所述获取至少一个程序信息步骤中所获取的所述第一程序信息和所述第二程序信息中的至少一个,生成用于显示在服务器(10) 中存储的所述程序或所述已安装的程序与其他程序之间的依赖性的显示屏幕。
11. 一种计算机程序产品,包括具有在计算机可用介质中实现的计算机可读程序代码的计算机可用介质,当所述计算机可用介质被执行时使得计算机执行如下步骤 接收用户输入步骤;获取至少一个程序信息步骤,获取第一程序信息和第二程序信息中的至少一个,所述第一程序信息包括指示在与网络( 连接的服务器(10)中存储并且根据在所述接收用户输入步骤中接收到的用户输入将被安装的程序的信息和指示所述程序与其他程序之间的依赖性的信息,而所述第二程序信息包括指示根据在所述接收用户输入步骤中接收到的用户输入已安装的程序的信息和指示所述已安装的程序和其他已安装的程序之间的依赖性的信息;以及生成步骤,利用在所述获取至少一个程序信息步骤中所获取的第一程序信息和第二程序信息中的至少一个,生成用于显示在服务器(10)中存储的所述程序或所述已安装的程序与其他程序之间的依赖性的显示屏幕。
全文摘要
本发明涉及程序管理系统、程序管理方法、客户端及计算机程序产品。在客户端装置(20)中,当接收到安装在服务器(10)中存储的程序的请求时,依赖性显示生成单元(24)获取包括指示在服务器(10)中存储的程序的信息和指示该程序与其他程序之间的依赖性的信息的服务器程序信息,并且获取包括指示在客户端装置(20)中安装的程序的信息的装置程序信息。依赖性显示生成单元(24)基于指示服务器程序信息中的依赖性的信息生成显示屏幕,以使得指定为将被安装的程序与其他程序之间的依赖性变得清楚。此外,依赖性显示生成单元基于装置程序信息还显示出指示将被安装的程序当中的已安装程序的信息。
文档编号H04L29/06GK102195964SQ20111004185
公开日2011年9月21日 申请日期2011年2月18日 优先权日2010年2月18日
发明者黑柳智弘 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1