网络系统、分布式处理方法和信息处理装置的制作方法

文档序号:7612009阅读:148来源:国知局
专利名称:网络系统、分布式处理方法和信息处理装置的制作方法
技术领域
本发明涉及一种网络系统、分布式处理方法和信息处理装置,其中,可以由多个通过网络相互连接的信息处理装置以分布的方式来执行处理。
背景技术
近年来网格计算受到了关注。网格计算是一种通过多个由网络相互连接的信息处理装置的协同操作来实现高性能算术运算的技术。相关技术例如公开在日本专利公开文本2002-342165(此后称为专利文献1)、日本专利公开文本2002-351850(此后称为专利文献2)、日本专利公开文本2002-358289(此后称为专利文献3)、日本专利公开文本2002-366533(此后称为专利文献4)和日本专利公开文本2002-366534(此后称为专利文献5)。
在公知技术中,信息处理装置的副处理器不仅可以存取该信息处理装置的主存储器中的数据,还可以存取其它信息处理装置的主存储器中的数据,以便将该数据读取到本地存储器中以由该副处理器专用并执行处理。此外,由于软件单元可以用于在信息处理装置之间传送程序主体和数据,因此当希望应用程序能在固定时间段内被处理时,可以提前向所需数量的副处理器传送应用程序,然后传送数据,从而使得这些副处理器可以按照分布的方式来执行处理。
但是,通常信息处理装置之间的通信速度根据网络的拥塞情况、各个信息处理装置中硬件资源的使用状况等等而不断地变化。因此,只有当应当用于执行应用程序的信息处理装置被指定只考虑可用硬件资源的规范时,才可能出现要求在固定时间段内完成处理的应用程序不能在该固定时间段内得到处理的状况。

发明内容
本发明的目的是提供一种网络系统、分布式处理方法和信息处理装置,由此可以提高整个系统的处理速度。
根据本发明的一个方面,提供了一种网络系统,其包括多个通过网络相互连接的信息处理装置,并且它们可以分布的方式来执行处理;每个信息处理装置包括主/从设置部件,用于在包含该主/从设置部件的信息处理装置中将该信息处理装置设置为主设备或从设备,使得连接到网络的信息处理装置中的一个被设置为主设备,而其它信息处理装置则被设置为从设备;装置信息管理部件,用于当具有该装置信息管理部件的信息处理装置被主/从设置部件设置为主设备时,将有关各个连接到网络的信息处理装置的可利用硬件资源的信息作为装置信息来管理;通信速度管理部件,用于当具有该通信速度管理部件的信息处理装置由主/从设置部件设置为主设备时,管理连接到网络的各个信息处理装置的通信速度;以及分布式处理请求部件,用于基于由装置信息管理部件和通信速度管理部件管理的信息指定一个或多个应当执行处理的信息处理装置,并向所指定的信息处理装置发送执行该处理的请求。
根据本发明的另一方面,提供了一种分布式处理方法,其中,由多个通过网络相互连接的信息处理装置以分布的方式来执行处理,包括将其中一个信息处理装置设置为主设备而其它信息处理装置设置为从设备的第一步骤;由设置为主设备的信息处理装置执行的、将有关各个连接到网络的信息处理装置的可利用硬件资源的信息作为装置信息来管理,并管理连接到网络的各个信息处理装置的通信速度的第二步骤;以及由设置为主设备的信息处理装置执行的、指定一个或多个根据第二步骤管理的信息来执行处理的信息处理装置,并向所指定的信息处理装置发送执行处理请求的第三步骤。
根据本发明的另一方面,提供了一种信息处理装置,包括通信部件,用于与通过网络连接到该通信部件的任何一个其它信息处理装置通信;主/从设置部件,用于将该信息处理本身设置为单一的主设备或连接到网络的所有信息处理装置中的一个从设备;
装置信息管理部件,用于当具有该装置信息管理部件的信息处理装置由主/从设置部件设置为主设备时,将有关各个连接到网络的信息处理装置的可利用硬件资源的信息作为装置信息来管理;通信速度管理部件,用于当具有该通信速度管理部件的信息处理装置由主/从设置部件设置为主设备时,管理连接到网络的各个信息处理装置的通信速度;以及分布式处理请求部件,用于基于由装置信息管理部件和通信速度管理部件管理的信息指定一个或多个应当执行处理的信息处理装置,并向所指定的信息处理装置发送执行该处理的请求。
总之,利用所述网络系统、分布式处理方法和信息处理装置,可以增强其中由多个信息处理装置按照分布方式执行处理的整个系统的处理系统。


本发明的上述和其它目的、特征和优点从下列结合附图的描述中将更为明显,附图中相同部件或元件用相同的附图标记表示。
图1示出表示应用本发明的网络系统的配置示例的框图;图2A、2B、2C示出说明应用本发明的信息处理装置中的信息处理控制器的操作的视图;图3示出软件单元配置示例的视图;图4示出其中DMA命令是状态返回命令的软件单元数据区域的视图;图5示出多个信息处理装置以作为一个虚拟信息处理装置的方式运行的示意图;图6示出信息处理控制器的软件配置的例子的示意图;图7示出四个信息处理装置以作为一个虚拟信息处理装置的方式运行的示意图;图8示出由图7所示系统进行的分布式处理的例子的示意图;图9示出信息处理装置和系统的一个特殊例子的示意图;图10示出图9所示硬盘记录器的硬件配置的框图;图11示出图9所示的硬盘记录器的软件配置的示意图;图12示出图9所示PDA的硬件配置的框图;图13示出图9所示PDA的软件配置的示意图;
图14示出图9所示便携式CD播放器的硬件配置的框图;图15示出图9所示便携式CD播放器的软件配置的示意图;图16示出符合通信速度的分布式处理的特殊例子的框图;图17示出在执行符合通信速度的分布式处理的网络系统中的信息处理控制器的软件配置示例的视图;图18示出DMA命令是网络通信速度测量命令的软件单元的视图;图19示出DMA命令是网络通信速度响应命令的软件单元的视图;图20示出由主设备管理的网络通信速度管理表的视图;图21示出每个功能程序所需的副处理器数量的视图;图22示出DMA命令是远程加载命令的软件单元的视图;图23示出DMA命令是网络通信状况报告命令的软件单元的视图;图24示出图23的在读出时的网络通信状况报告命令的视图;图25示出图23的在写入时的网络通信状况报告命令的视图;图26示出由主设备管理的另一个网络通信状况管理表的视图;图27示出DMA命令是程序终止命令的软件单元的视图。
具体实施例方式
网络系统和信息处理装置的基本配置图1至图4。
图1示出应用本发明的网络系统的例子。参考图1,所示的网络系统包括多个通过网络9相互连接的信息处理装置1、2、3和4。
信息处理装置和信息处理控制器信息处理装置1、2、3和4通常是如下所述的各种AV(音频和视频)设备和便携式设备。
信息处理装置1包括作为计算机功能部件的信息处理控制器11。信息处理控制器11包括主处理器21-1、副处理器23-1、23-2和23-3、直接存储器存取控制器(DMAC)25-1和盘控制器(DC)27-1。
主处理器21-1对由副处理器23-1、23-2和23-3的程序执行(数据处理)进行调度管理,并对信息处理控制器11(信息处理装置1)进行全面管理。但是,主处理器21-1还可以配置成使不同于执行管理的程序的其它程序在该主处理器21-1中运行。在本例中,主处理器21-1也作为副处理器工作。主处理器21-1包括本地存储器(LS)22-1。
尽管每个信息处理装置可以只包括一个副处理器,但优选可以包括多个副处理器。在图1所示的例子中,每个信息处理装置1、2、3和4都包括多个副处理器。
副处理器23-1、23-2和23-3在主处理器21-1的控制下并行且各自独立地执行程序以处理数据。此外,根据情况,主处理器21-1中的程序可以与副处理器23-1、23-2和23-3任何一个中的程序协同运行。此后描述的功能程序也在主处理器21-1中运行。同样,副处理器23-1、23-2和23-3分别包括本地存储器24-1、24-2和24-3。
直接存储器存取控制器25-1在没有处理器干预的情况下访问存储在连接信息处理控制器11、并由DRAM(动态RAM)等构成的主存储器26-1中的程序和数据。盘控制器27-1控制对连接到信息处理控制器11的外部记录部件28-1和28-2的存取操作。
外部记录部件28-1和28-2可以为任何一种形式的固定盘(硬盘)和可移动盘。作为刚提到的可移动盘,可以使用诸如MO、CD±RW或DVD±RW的光盘、存储盘、SRAM(静态RAM)和ROM的各种记录介质。盘控制器27-1尽管称为盘控制器,却是一种外部记录部件控制器。
信息处理控制器11可以配置成使多个外部记录部件28连接到该信息处理控制器11,如图1所示。
主处理器21-1、副处理器23-1、23-2和23-3、直接存储器存取控制器25-1和盘控制器27-1通过总线29-1相互连接。
标识符作为信息处理装置ID被分配给信息处理控制器11。该标识符可以在整个网络中唯一标识集成了信息处理控制器11的信息处理装置1。
同样,对主处理器21-1和副处理器23-1、23-2和23-3中的每个都分配了可以用来进行标识的标识符作为主处理器ID或副处理器ID。
优选的,将信息处理控制器11构成为单个芯片的IC(集成电路)。
同样,其它信息处理装置2、3和4按照类似的方式配置,因此,为避免重复省略了对它们的相同描述。在此要注意,除非另外指定,附图标记的父标号相同的单元的操作相同,即使它们具有不同的分支标号。因此在以下省略了附图标记分支标号的描述中,不管分支标号是否不同各单元都相同。
每个副处理器对主存储器的存取如上所述,尽管在一个信息处理控制中的每个副处理器23都独立于过程数据来执行程序,但如果不同的副处理器同时从主存储器26的相同区域进行读出或写入,则可能发生数据的误匹配。因此,副处理器23对主存储器26的存取根据以下过程来执行。
参考图2A,主存储器26由可以被指定多个地址的存储位置构成,并且对每个存储位置都分配一个用于存储指示数据状态的信息的附加段。该附加段包括F/E位、副处理器ID和LS地址(本地存储地址)。还给每个存储位置分配下面将要描述的访问密钥。F/E位按照如下方式定义。
F/E位=0表示在对应存储位置的数据是由副处理器23读取和处理的数据,或者是由于该区域处于空白状态而因此并非最新数据、且不能被读取的无效数据。此外,F/E位=0表示数据可以写入对应的存储位置,并且该存储位置被写入之后F/E位被设置为1。
F/E位=1表示对应存储位置的数据没有被任何副处理器23读取,并且是尚未被处理的最新数据。该存储位置的数据可以被读取。在副处理器23读取数据之后,F/E位被设置为0。此外,F/E位=1表示该存储位置不能被写入数据。
此外,在F/E位=0(禁止读取/允许写入)的状态下,可以设置对该存储位置的读取保留。当对F/E位=0的存储位置执行读取保留时,副处理器23将副处理器ID和该副处理器的LS地址作为读取保留信息写入执行读取保留的该存储位置的附加段。
此后,在写数据一方的副处理器23将数据写入具有读取保留的存储位置,并且将F/E位设置为F/E位=1(允许读取/禁止写入)。然后,读取事先作为读取保留信息写入该附加段内的副处理器ID和LS地址。
在需要用多个副处理器在多个阶段来处理数据的地方,如果按照上述方式来控制对每个存储位置的读取/写入数据,则在由前一阶段执行处理的处理器23处理的数据被写入主存储器26的预定地址之后,另一个在后一阶段执行处理的副处理器23可以立即读取该预处理后的数据。
图2B说明在每个副处理器23中的本地存储器24的存储位置。参考图2B,在每个副处理器23中的本地存储器24也由可以被指定多个地址的存储位置构成。同样,给每个存储位置分配一附加段。该附加段包括一个忙位。
当副处理器23准备将主存储器26中的数据读取到该副处理器23的本地存储器24的存储位置时,该副处理器23将对应的忙位设置为1以设置保留。其它数据无法被存储到任何忙位为1的存储位置。在本地存储器24的该存储位置的数据被读取之后,该忙位改变为0,从而该存储位置可以用于以后的任意目的。
再参考图2A,连接到每个信息处理控制器的主存储器26包括多个沙盒(sandbox)。这些沙盒定义主存储器26中的区域,每个沙盒被分配给每个副处理器23,并且可以由相关的副处理器专用。换句话说,每个副处理器23都可以使用分配给它的沙盒,但不能访问超过该沙盒区域之外的数据。
主存储器26由多个存储位置构成,并且一个沙盒是一组这样的存储位置。
此外,为了对主存储器26进行专有控制,采用如图2C所示的密钥管理表。该密钥管理表存储在信息处理控制器中的诸如SRAM的高速存储器中,并与直接存储器存取控制器25协同工作。该密钥管理表中的每个项都包括副处理器ID、副处理器密钥和密钥掩码。
副处理器23使用主存储器26时的处理如下所述。首先,副处理器23向直接存储器存取控制器25输出读取或写入命令。该命令包括副处理器的副处理器ID和主存储器26的地址,该主存储器26是请求使用的目标。
在直接存储器存取控制器25执行该命令之前,其查阅密钥管理表来检测请求使用的源副处理器的副处理器密钥。接着,直接存储器存取控制器25将检测到的请求使用的源副处理器密钥与分配给作为请求使用目标的主存储器26中的、如图2A所示的存储位置的存取密钥进行比较。然后,只有当这两个密钥相互一致时,直接存储器存取控制器25才执行上述命令。
当图2C中所示的密钥管理表的任意位被设置为1时,该密钥管理表的密钥掩码可以将与该密钥掩码协作的副处理器密钥的对应位设置为0或1。
假定副处理器密钥例如是1010。通常,副处理器密钥仅使能对具有存取密钥1010的沙盒的存取。但是,如果与副处理器密钥协作的密钥掩码设置为0001,则只有对于其中密钥掩码位被设置为1的数字,副处理器密钥和存取密钥之间的一致性才是被掩蔽的。因此,副处理器密钥1010使得可以存取具有1010或1011存取密钥的沙盒。
主存储器26的沙盒的专有特性按照上述方式实现。简言之,在需要用一个信息处理控制器中的多个副处理器在多个阶段处理数据的地方,如果采用上述配置,则只有在前一阶段执行处理的副处理器和在后一阶段执行处理的另一副处理器才允许访问主存储器26的预定地址。因此,数据可以得到保护。
存储器的这种专有控制例如可以按照如下方式使用。首先,在启动信息处理装置之后,立即将密钥掩码的值设置为全0。假定主处理器中的程序按照与副处理器中的程序协作关系来执行和运行。当要将从第一副处理器输出的处理结果数据一次性地存储到主存储器中,然后将该处理结果数据输入到第二副处理器时,需要能由这两个副处理器访问相关的主存储器区域。在该例中,主处理器中的程序适当改变密钥掩码的值来提供可以由多个副处理器访问的主存储器区域,以允许副处理器进行多阶段处理。
具体地说,当多阶段处理是以如下过程执行时来自不同信息处理装置的数据→由第一副处理器处理→第一主存储器区域→由第二副处理器处理→第二主存储器区域,则如果保持以下设置第二副处理器就不能访问第一主存储器区域第一副处理器的副处理器密钥为0100;第一主存储器区域的存取密钥为0100;第二副处理器的副处理器密钥为0101;第二主存储器区域的存取密钥为0101。
由此,如果第二副处理器的密钥掩码改变为0001,则允许第二副处理器访问第一主存储器区域。
软件单元的产生和配置在图1的网络系统中,软件单元在信息处理装置1、2、3和4之间传输,从而可以由信息处理装置1、2、3、4执行分布式处理。具体地说,包含在特定信息处理装置中的信息处理控制器中的主处理器21产生包括命令、程序和数据的软件单元,并将该软件单元通过网络9传送到另一个信息处理装置,以实现分布式处理。
图3示出软件单元配置的示例。参考图3,本例的软件单元一般包括发送者ID、发送目标ID、响应目标ID、单元接口、DMA命令、程序和数据。
发送者ID包括该软件单元的发送者的信息处理装置的网络地址,和该信息处理装置中信息处理控制器的信息处理装置ID。发送者ID包括包含在该信息处理装置的信息处理控制器中的主处理器21和副处理器23的标识符(主处理器ID和副处理器ID)。
发送者ID和响应目标ID分别包括关于软件单元的发送目标的信息处理装置和该软件单元执行结果的响应目标的信息处理装置的相同信息。
单元接口是应用该软件单元所需的信息并包括全局ID、所需副处理器的信息、沙盒大小和在前软件单元ID。
全局ID允许在整个网络上唯一地标识该软件单元,并基于发送者ID和产生或发送该软件单元的日期和时间而产生。
所需副处理器的信息中设置了执行该软件单元所需的副处理器的数量。在沙盒一侧设置了主存储器26和执行该软件单元所需的副处理器23的本地存储器24的存储容量。
在前软件单元ID是一组诸如顺序执行流数据所需的软件单元中在前的软件单元的标识符。
软件单元的执行部分由DMA命令、程序和数据构成。DMA命令包括启动程序所需的一系列DMA命令,该程序包括将由副处理器23执行的副处理器程序。在此,数据是将由包括副处理器程序在内的程序处理的数据。
DMA命令还包括加载命令、跳转命令(kick command)、功能程序执行命令、状态请求命令和状态返回命令。
加载命令是用于将主存储器26中的信息加载到副处理器23的本地存储器24中的命令,除了加载命令本身外还包括主存储器地址、副处理器ID和LS(本地存储器)地址。主存储器地址表示作为信息加载源的主存储器26的预定区域的地址。副处理器ID和LS地址表示信息加载目标的副处理器23的本地存储器24的标识符和地址。
跳转命令是用于启动程序执行的命令,除跳转命令之外还包括副处理器ID和程序计数器。副处理器ID标识跳转对象的副处理器23,程序计数器为执行程序提供该程序计数器的地址。
功能程序执行命令是用于特定信息处理装置请求另一信息处理装置执行功能程序的命令(下面描述)。接收功能程序执行命令的信息处理装置中的信息处理控制器用功能程序ID(下面描述)标识将被启动的功能程序。
状态请求命令是用于请求向由响应目标ID表示的信息处理装置发送关于由发送目标ID表示的信息处理装置的当前运行状态(状况)的装置信息的命令。而下面将描述的功能程序,是一种被分类为图6中的功能程序的程序,图6示出存储在主存储器26中的软件的配置。该功能程序被加载到主存储器26中,并由主处理器21执行。
状态返回命令是用于使接收状态请求命令的信息处理装置将其自身的装置信息的响应发送到由包含在该状态请求命令中的响应目标ID表示的信息处理装置的命令。
图4示出其中DMA命令是状态返回命令的软件单元的数据区的结构。
参考图4,信息处理装置ID是用于标识包括信息处理控制器在内的信息处理装置的标识符,并表示发送状态返回命令的信息处理装置的ID。当有电源时,基于电源可用时的日期和时间、该信息处理装置的网络地址、包含在该信息处理装置的信息处理控制器内的副处理器23的数量等等,由包含在该信息处理装置的信息处理控制器中的主处理器21产生信息处理装置ID。
信息处理装置类型ID包括表示该信息处理装置特性的值。信息处理装置的特性例如是硬盘记录器(下面描述)、PDA(个人数字助理)、便携式CD(致密盘)播放器等等。信息处理装置类型ID可以是表示信息处理装置具有的功能的类型,例如图像和声音记录或图像和声音再现。表示信息处理装置特性和功能的值是事先确定的。如果读取出信息处理装置类型ID,则可以掌握该信息处理装置的特性或功能。
如下所述,MS(主/从)状态表示主设备和从设备中是哪一个设备在运行信息处理装置。如果MS状态设置为0,则表示信息处理装置应当作为主设备运行,如果MS状态设置为1,则表示信息处理装置应当作为从设备运行。
主处理器运行频率表示在信息处理控制器中的主处理器21的运行频率。主处理器利用系数表示有关当前在主处理器21中运行的所有程序的利用系数。主处理器利用系数是表示当前使用的处理能力与目标主处理器的总处理能力之比的值,并例如以MIPS为单位来计算,这是用于估计处理器处理能力的单位,或者基于每单位时间的处理器使用时间来计算。这也可以类似地用于下面描述的副处理器利用系数。
副处理器数表示在信息处理控制器中具有的副处理器23的数量。副处理器ID表示用于标识信息处理控制器中的副处理器23的标识符。
副处理器状态表示副处理器23的状态,并且可以是未用状态、保留状态、忙状态等等中的一个。未用状态表示副处理器当前未被使用,也没有被保留使用。保留状态表示副处理器未被使用但被保留使用。忙状态表示副处理器当前正被使用。
副处理器利用系数表示副处理器中关于由该副处理器执行或在该副处理器中保留执行的程序的利用系数。换句话说,副处理器利用系数表示当前副处理器状态为忙时的利用系数,但在副处理器状态为保留而计划以后使用时则表示该副处理器的估计的利用系数。
为一个副处理器23设置一组副处理器ID、副处理器状态和副处理器利用系数。因此,对一个信息处理控制器中的多个副处理器23设置了相应数量的这样的组。
主存储器总容量和主存储器利用容量分别表示连接到信息处理控制器的主存储器26的总容量和当前使用的容量。
外部记录部件数表示连接到信息处理控制器的外部记录部件28的数量。外部记录部件ID是用于唯一标识每一个连接到信息处理控制器的外部记录部件28的信息。外部记录部件类型ID表示每个外部记录部件28的类型(例如硬盘、CD±RW、DVD±RW、存储盘、SRAM、ROM等)。
外部记录部件总容量和外部记录部件利用容量分别表示由外部记录部件ID标识的外部记录部件28的总容量和当前使用容量。
为一个外部记录部件28设置一组外部记录部件ID、外部记录部件类型ID、外部记录部件总容量和外部记录部件利用容量。因此,对连接到信息处理控制器的多个外部记录部件28设置了相应数量的这样的组。具体地说,如果多个外部记录部件连接到一个信息处理控制器,则不同的外部记录部件ID分别用于这些外部记录部件,并且各自独立地管理外部记录部件类型ID、外部记录部件总容量和外部记录部件利用容量。
软件单元的执行包含在特定信息处理装置的信息处理控制器中的主处理器21产生具有如上所述配置的软件单元,并通过网络9发送到不同的信息处理装置和该不同信息处理装置中的信息处理控制器。发送者信息处理装置、发送目标信息处理装置、响应目标信息处理装置和所述装置中的信息处理控制器分别由上述发送者ID、发送目标ID和响应目标ID标识。
包含在接收软件单元的信息处理装置的信息处理控制器中的主处理器21将该软件单元存储到主存储器26中。此外,发送目标的主处理器21读出该软件单元,并处理包含在该软件单元中的DMA命令。
具体地说,发送目标的主处理器21首先执行加载命令。结果,该信息被从该加载命令指定的主地址加载到由包含在该加载命令中的副处理器ID和LS地址指定的副处理器中的本地存储器24的预定区域中。这里,加载的信息是副处理器程序或数据或包含在所接收的软件单元中的其它指定数据。
然后,主处理器21将跳转命令和该跳转命令中包含的程序计数器一起输出到由同样包含在该跳转命令中的副处理器ID指定的副处理器。
被指定的副处理器根据跳转命令和程序计数器执行副处理器程序。然后,副处理器将执行结果存储到主存储器26中,接着通知主处理器21执行结束。
要注意,在发送目标信息处理装置的信息处理控制器中执行软件单元的处理器不仅限于副处理器23,还可以指定主处理器21来执行诸如包含在该软件单元中的功能程序的主存储器程序。
在该例中,发送者信息处理装置向发送目标信息处理装置发送其DMA命令是加载命令的软件单元。该软件单元包括由主存储器程序处理的主存储器程序和数据,而不是副处理器程序。由主存储器程序处理的主存储器程序和数据存储在主存储器26中。然后,发送者信息处理装置向发送目标信息处理装置发送其DMA命令是跳转命令或功能程序执行命令的软件单元。该软件单元包括发送目标信息处理装置中的信息处理控制器的主处理器ID和主存储器地址、诸如下面描述的功能程序ID的用于标识主存储器程序的标识符,以及程序计数器。由此,主处理器21可以执行主存储器程序。
如上所述,在根据实施例的网络系统中,发送者信息处理装置以软件单元的形式向发送目标信息处理装置发送副处理器程序或主存储器程序。此外,发送者信息处理装置使得发送目标信息处理装置中的信息处理控制器将副处理器程序加载到副处理器23中。因此,发送者信息处理装置可以使发送目标信息处理装置执行副处理器程序或主存储器程序。
如果包含在所接收的软件单元中的程序是副处理器程序,则发送目标信息处理装置中的信息处理控制器将该副处理器程序加载到指定副处理器中。由此,信息处理控制器使副处理器执行包含在软件单元中的副处理器程序或主存储器程序。
因此,即使用户不运行发送目标信息处理装置,副处理器程序或主存储器程序也可以由发送目标信息处理装置中的信息处理控制器自动执行。
以这种方式,任何其信息处理控制器不包含副处理器程序或诸如功能程序的主存储器程序的信息处理装置,都可以从通过网络与其连接的其它信息处理装置那里获得这种程序。此外,不同的副处理器可以根据DMA系统在副处理器之间传送数据,并且可以使用如上所述的沙盒。在这种情况下,即使需要在一个信息处理控制器内在多个阶段处理数据,该处理也可以高速执行并具有高度的安全性。
网络系统的分布式处理图5至图15。
通过使用软件单元的分布式处理的结果是,如图5上部所示的连接到网络9的多个信息处理装置1、2、3、4可以作为一个如图5下部所示的虚拟单台信息处理装置7运行。但在此下面所述的处理必须按照如下配置执行。
系统的软件配置和程序的加载图6示出存储在各信息处理控制器的主存储器26中的软件的配置。参考图6,在信息处理装置接通电源之前,软件(程序)记录在连接到信息处理控制器的外部记录部件28中。
根据程序的功能或特性,将程序分类为控制程序、功能程序和设备驱动程序。
控制程序通常设置在信息处理控制器中,并由每个信息处理控制器中的主处理器21执行。控制程序包括MS(主/从)管理器和下面描述的容量交换程序。
主处理器21执行功能程序,并且对于每个信息处理装置,诸如记录程序、再现程序、资料搜索程序等等的功能程序设置在信息处理控制器中。
设备驱动程序用于每个信息处理控制器(信息处理装置)的输入和输出(发送和接收),这样的适合于每个信息处理装置的、提供给信息处理控制器的设备诸如有用于广播接收、监视器输出、位流输入/输出、网络输入/输出等等的设备。
在信息处理装置通过电缆等物理地连接到网络9的状态下,当信息处理装置接通电源并且因此该信息处理装置也电气地和功能地连接到网络9时,该信息处理装置的信息处理控制器的主处理器21将属于控制程序的程序和属于设备驱动程序的程序加载到主存储器26中。
作为加载过程,主处理器21首先控制盘控制器27来执行读取指令,从外部记录部件28中读取程序,然后控制直接存储器存取控制器25来执行写入指令,将该程序写入主存储器26中。
属于功能程序的程序可以这样处理,使得在需要时只加载一个必要的程序,或否则在属于其它类别的程序接通电源之后立即加载所有程序。
属于功能程序的程序不必记录在所有连接到网络的信息处理装置的外部记录部件28中,但是如果它们记录在任何一个信息处理装置的外部记录部件28中,则可以利用上述方法加载到其它信息处理装置中。结果,功能程序可以由图5下部所示的虚拟单一信息处理装置7执行。
由上述主处理器28处理的功能程序有时与副处理器23处理的副处理器程序协作运行。因此,当主处理器21从外部记录部件28读取功能程序、并将功能程序写入主存储器26中时,如果存在与该功能程序协作运行的副处理器程序,则还将该副处理器程序一起写入同一主存储器26中。在该例中,协作运行的副处理器程序的数量可以是一个也可以是多个。如果是多个副处理器程序,则将所有协作运行的副处理器程序写入主存储器26中。写入主存储器26的每个副处理器程序此后被写入副处理器23的本地存储器24中,并与由主处理器21处理的功能程序协作运行。
如上结合图3所示的软件单元所述,将可以被唯一标识的标识符作为功能程序ID分配给每个功能程序。在功能程序的产生阶段,功能程序ID由产生的日期和时间、信息处理装置ID等等来确定。
此外,将副处理器程序ID分配给每个副处理器程序,使得每个副处理器程序可以被唯一标识。将被分配的副处理器程序ID可以是与作为协作运行另一方的功能程序的功能程序ID具有某种关系的标识符,例如由功能程序ID形成的作为父编号和添加到该父编号尾部的分支号的标识符。或者,标识符可能与作为协作运行另一方的功能程序的功能程序ID毫无关系。不管怎样,如果功能程序和副处理器程序应当相互协作运行,就需要其中每一个程序相互保持该程序本身中另一方标识符的程序ID。如果功能程序需要与多个副处理器程序协作运行,则需要为该功能程序保持所有副处理器程序的副处理器程序ID。
主处理器21保证在主存储器26中有一个用于存储其中运行主处理器21的信息处理装置的装置信息(关于运行状态的信息)的区域,并将该信息作为该信息处理装置自身的装置信息表加以记录。在此的装置信息是图4所示的状态返回命令的数据区中信息处理装置ID等的信息。
系统中主/从的确定在上述网络系统中,当主电源施加到特定信息处理装置时,信息处理装置的信息处理控制器的主处理器21将主/从管理器(此后称为MS管理器)加载到主存储器26中并执行该主/从管理器。
在MS管理器检测到其中运行MS管理器的信息处理装置连接到网络9之后,MS管理器确认连接到同一网络9的其它信息处理装置的存在。“连接”或“存在”在此表示该信息处理装置不仅物理地而且电气地和功能地连接到网络9。
其中运行MS管理器本身的信息处理装置此后称为自装置,任何其它信息处理装置称为异装置。术语“相关装置”也表示相关的信息处理装置。
下面描述MS管理器确认连接到同一网络9的异信息处理装置的存在的方法。
MS管理器产生将状态请求命令指定为DMA命令、并将相关信息处理装置指定为发送者ID和响应目标ID但不指定发送目标ID的软件单元。然后,MS管理器将该软件单元发送到连接相关信息处理装置的网络,并设置用于该网络连接确认的计时器。该计时器的超时时间例如是10分钟。
如果异信息处理装置连接到网络系统,则该异装置接收状态请求命令的软件单元,并将DMA命令是状态返回命令、且包括自装置(异装置)的装置信息的软件单元作为数据发送到被所接收的软件单元的响应目标ID指定、且已发送了状态请求命令的信息处理装置。状态返回命令的软件单元至少包括用于指定异装置的信息(信息处理装置ID、关于主处理器的信息、关于副处理器或排队的信息)和该异装置的MS状态。
已发送状态请求命令的信息处理装置的MS管理器监管从网络上的异装置发送的状态返回命令的软件单元的接收,直到用于网络连接确认的计时器出现超时为止。结果,如果接收到表示MS状态=0(主设备)的状态返回命令,则将自装置的装置信息表中的MS状态设置为1。因此,相关装置变成从设备。
另一方面,如果直到用于网络连接确认的计时器出现超时为止的时间段内没有接收到状态返回命令,或者如果没有接收到表示MS状态=0(主设备)的状态返回命令,则将自装置的装置信息表中的MS状态设置为0。因此,相关装置变成主设备。
简言之,如果在没有装置连接到网络9的状态下或在网络9中不存在主设备的另一状态下新的信息处理装置连接到网络9,则相关装置被自动设置为主设备。另一方面,如果新的信息处理装置在网络9中已经存在主设备的另一状态下连接到网络9,则相关装置被自动设置为从设备。
在任何主设备和从设备中,MS管理器周期性地向网络9中的异装置发送状态请求命令,以查询用于监管异装置状况的状态信息。结果,当网络9的连接状态发生变化,例如当连接到网络9的信息处理装置的主电源断电或信息处理装置与网络9断开并因此而没有在为事先辨别而设定的预定时间段内从该特定的异装置返回状态返回命令时,信息将被发送到下面描述的容量交换程序。
主设备和从设备获取装置信息如果主处理器21从MS管理器接收到关于网络9中异装置的查询和自装置的MS状态设置完成的消息,则主处理器21执行容量交换程序。
如果自装置是主设备,则容量交换程序得到连接到网络9的所有异装置的装置信息,也就是说所有从设备的装置信息。
异装置装置信息的获取可以这样执行DMA命令产生并发送状态请求命令的软件单元至异装置,然后从异装置接收DMA命令是状态返回命令并包括异装置的装置信息的软件单元作为数据。
容量交换程序保证在自装置的主存储器26中有一个用于存储所有连接到网络9的异装置(所有从设备)的装置信息的区域,并将该信息存储为类似于作为主设备的自装置的装置信息表的异装置(从设备)的装置信息表。
换句话说,包括自装置在内的连接到网络9的所有信息处理装置的装置信息都存储为主设备的主存储器26中的装置信息表。
另一方面,如果容量交换程序的自装置是从设备,则该容量交换程序需要所有连接到网络9的异装置的装置信息,也就是说,主设备和所有非自装置的从设备的装置信息,并将包含在装置信息中的信息处理装置ID和MS状态记录到自装置的主存储器26中。
换句话说,在每个从设备的主存储器26中将自装置的装置信息记录为装置信息表,将连接到网络9的除自装置外的所有主设备和从设备的信息处理装置ID和MS状态记录为异装置信息表。
此外,在任何主设备和从设备中,当容量交换程序从如上所述的MS管理器接收到新的信息处理装置连接到网络9的通知时,容量交换程序获得该信息处理装置的装置信息,并如上所述地将该装置信息登记到主存储器26中。
要注意,MS管理器和容量交换程序可以不由主处理器21而由任意副处理器23执行。此外,MS管理器和容量交换程序优选是通常在信息处理装置的主电源接通时运行的常驻程序。
当信息处理装置与网络断开时在任何主设备和从设备中,如果容量交换程序从MS管理器接收到连接到网络9的信息处理装置的主电源断开或信息处理装置与网络9断开的通知时,容量交换程序从自装置的主存储器26中删除该信息处理装置的装置信息表。
此外,如果与网络9断开的信息处理装置是主设备,则通过如下方法重新确定另一主设备。
具体地说,例如每个没有与网络9断开的信息处理装置将自装置和异装置的信息处理装置ID替换为数值,并将自装置的信息处理装置ID与异装置的信息处理装置ID进行比较。如果自装置的信息处理装置ID在没有与网络9断开的信息处理装置中表现出最低值,则从设备将其自身更改为主设备并将MS状态设置为0。接着,该从设备作为主设备运行,并如上所述地获取所有连接到网络9的异装置(从设备)的装置信息并记录到主存储器26中。
基于装置信息的分布式处理为了允许连接到网络9的多个信息处理装置1、2、3、4作为如图5的下半部分所示的虚拟单一信息处理装置7运行,主设备需要掌握用户的操作和从设备的运行状态。
图7示出4个信息处理装置在作为虚拟单一信息处理装置7运行的状态下。信息处理装置1作为主设备运行,而信息处理装置2、3、4分别作为从设备A、B、C运行。
当用户操作连接到网络9的任何一个信息处理装置时,如果操作的对象是主设备1,则操作信息直接由主设备1掌握。另一方面,如果操作的对象是从设备,则操作信息从被操作的从设备发送到主设备1。换句话说,不管用户的操作对象是主设备1还是其中一个从设备,主设备1总是掌握该操作信息。例如采用DMA命令是操作信息发送命令的软件单元来发送该操作信息。
接着,包含在主设备1的信息处理控制器11中的主处理器21-1选择将根据该操作信息来执行的功能程序。在该例中,如果需要,包含在主设备1的信息处理控制器11中的主处理器21-1采用上述方法从自装置的外部记录部件28-1和28-2中将功能程序加载到主存储器26-1。但是,功能程序可以另外从异信息处理装置(从设备)发送到主设备1。
功能程序定义了所需要的关于装置的规格描述,例如信息处理装置类型ID、主处理器或副处理器的处理能力、主存储器利用容量和涉及表示为不同类型信息的图4的外部记录部件的条件。
包含在主设备1的信息处理控制器11中的主处理器21-1读取出各个功能程序所需的被请求的规格描述。此外,主处理器21-1查阅由容量交换程序事先记录在主存储器26-1中的装置信息表,以读出各个信息处理装置的装置信息。在此,该装置信息表示包括信息处理装置ID项和图4所示的后续项的信息项,并且是关于主处理器、副处理器、主存储器和外部记录部件的信息。
包含在主设备1的信息处理控制器11中的主处理器21-1依次将连接到网络9的信息处理装置的装置信息与执行功能程序所需的规格描述进行比较。
然后,例如如果该功能程序需要记录功能,则包含在信息处理装置1的信息处理控制器11中的主处理器21-1基于信息处理装置类型ID仅指定和提取出那些具有记录功能的信息处理装置。此外,主处理器21-1指定其中一个可以确保能执行处理程序的主处理器或副处理器的处理能力、主存储器利用容量、和涉及外部记录部件的条件的从设备作为执行请求候选装置。在此,如果指定了多个执行请求候选装置,则指定和选择其中一个执行请求候选装置。
在指定了向其发送执行请求的从设备之后,包含在主设备1的信息处理控制器11中的主处理器21-1更新记录在自装置的信息处理控制11中包含的主存储器26-1中的关于所指定的从设备的装置信息表。
此外,包含在信息处理装置1的信息处理控制器11中的主处理器21-1产生包括加载命令和跳转命令作为DMA命令的软件单元,并设置所需副处理器和关于该软件单元的单元接口的功能程序的沙盒大小(参考图3)的信息。接着,主处理器21-1将产生的软件单元发送到被请求执行该功能程序的从设备。
被请求执行该功能程序的从设备执行该功能程序,并更新自装置的装置信息表。在该例中,如果需要,包含在从设备的信息处理控制器中的主处理器21采用上述方法,从自装置的外部记录部件28中将该功能程序和与该功能程序协作运行的副处理器程序加载到主存储器26中。
该系统可以如下配置,如果需要的功能程序没有记录在被请求执行该功能程序和与该功能程序协作运行的副处理器程序的从设备的任何一个外部记录部件28中,则由异信息处理装置向该被请求执行该功能程序的从设备发送功能程序或副处理器程序。
副处理器程序可以由异信息处理装置利用如上所述的加载命令和跳转命令来执行。
在功能程序执行结束之后,包含在执行该功能程序的从设备的信息处理控制器中的主处理器21向包含在该从设备的信息处理控制器中的主处理器21-1发送执行结束通知,并更新该自装置的装置信息表。包含在主设备1的信息处理控制器11中的主处理器21-1接收该结束通知,并更新已执行了该功能程序的从设备的装置信息表。
包含在主设备1的信息处理控制器11中的主处理器21-1可以根据查阅自装置和异装置的装置信息表的结果,选择自装置作为执行该功能程序的信息处理装置。在该例中,主设备1执行功能程序。
参考图8描述用户在图7所示例子中操作从设备A(信息处理装置2)和另一从设备B(信息处理装置3)的分布式处理响应该操作执行功能程序。
在图8所示例子中,当用户操作从设备A时,包括该从设备A在内的整个网络系统的分布式处理就启动了,并且在步骤81,从设备A首先向主设备1发送操作信息。
在步骤72,主设备1接收操作信息,并在步骤73中,从记录在自装置的主存储器26-1的自装置和异装置的装置信息表中检查信息处理装置的运行状态,以选择能执行对应于所接收的操作信息的功能程序的信息处理装置。在图8所示例子中,选择从设备B。
接着在步骤74中,主设备1向被选择的从设备B发送执行功能程序的请求。
在步骤95,从设备B接收执行请求,并在步骤96执行被请求执行的功能程序。
按照这种方式,如果用户只操作一个信息处理装置,则可引起多个信息处理装置1、2、3、4作为一个虚拟单一信息处理装置7运行,而无需操作任何其它信息处理装置。
信息处理装置和系统的特定例子通过网络9相互连接的每个信息处理装置1、2、3、4原理上可以具有任意配置,只要信息处理由如上所述的信息处理控制器11、12、13或14执行。图9示出信息处理装置的配置示例。
在图9所示例子中,包括信息处理控制器11的信息处理装置1是硬盘记录器。图10示出图9所示的硬盘记录器的硬件配置。参考图10,所示的信息处理装置1包括用作图1所示的外部记录部件28-1的内置硬盘作为其硬件配置。信息处理装置1还包括图2所示的外部记录部件28-2,在该外部记录部件中可以加载诸如DVD±R/RW、CD±R/RW、Bluray(注册商标)盘等等。信息处理装置1还包括广播接收部件32-1、图像输入部件33-1、声音输入部件34-1、图像输出部件35-1、声音输出部件36-1、操作面板部件37-1、远程控制光接收部件38-1和连接到总线31-1的网络连接部件39-1,而总线31-1又连接到信息处理控制器11的总线29-1。
广播接收部件32-1、图像输入部件33-1和声音输入部件34-1从图像处理装置1的外部接收广播信号或图像信号和声音信号,将接收的信号转换为预定格式的数字数据,并将该数字数据发送到总线31-1上,以便由信息处理控制器11进行处理。图像输出部件35-1和声音输出部件36-1处理从信息处理控制器11发送到总线31-1的图像数据和声音数据,并将该图像数据和声音数据不加改变地或在转换为模拟信号后发送到信息处理装置1的外部。远程控制光接收部件38-1接收来自远程控制发射器43-1的远程控制红外信号。
如图9和10所示,监视显示器41和扬声器42分别连接到信息处理装置(硬盘记录器)1的图像输出部件35-1和声音输出部件36-1。
包括如图9所示的信息处理控制器12的信息处理装置2也是硬盘记录器,并且类似于图10所示的信息处理装置1那样配置,其中附图标记置于括号中。但是,监视器显示装置和扬声器装置没有如图9所示那样连接到信息处理装置(硬盘记录器)2。
信息处理装置(硬盘记录器)1和2,也就是信息处理控制器11和12包括MS管理器和容量交换程序作为控制程序,如图11所示的软件配置。此外,信息处理控制器11和12包括用于图像信号和声音记录、图像和声音再现、资料搜索和程序记录保留的程序作为功能程序。此外,信息处理控制器11和12包括用于广播接收、图像输出、声音输出、外部记录部件输入/输出和网络输入/输出的程序作为设备驱动程序。
在图9所示例子中包括信息处理控制器13的信息处理装置3的例子是PDA(个人数字助理)。图12示出构成PDA的信息处理装置3的硬件配置。参考图12,在所示例子中,信息处理装置3包括图1所示的外部记录部件28-5,在该外部记录部件28-5中可以加载存储卡盘。信息处理装置3还包括液晶显示部件52、声音输出部件53、摄像部件54、声音输入部件55、键盘部件56和连接到总线51的网络连接部件57,该总线51又连接到信息处理控制器13的总线29-3。
要注意,图1中未示出其内部配置的信息处理控制器13包括主处理器21-3、副处理器23-7、23-8、23-9、直接存储器存取控制器(DMAC)25-3、盘控制器(DC)27-3和总线29-3。主处理器21-3包括本地存储器(LS)22-3,副处理器23-7、23-8、23-9分别包括本地存储器(LS)27-7、24-8和24-9。
图13示出信息处理装置(PDA)3,也就是信息处理控制器13的软件配置。参考图13,信息处理控制器13包括MS管理器和容量交换程序作为控制程序。此外,信息处理控制器13包括用于图像和声音记录、图像和声音再现、电话本、字处理器和电子数据表的程序作为功能程序,并包括网页浏览器。此外,信息处理控制器13包括用于图像输出、声音输出、摄像图像输入、麦克风声音输入和网络输入/输出的程序作为设备驱动程序。
在图9所示例子中,包括信息处理控制器14的信息处理装置4是便携式CD播放器。图14示出该便携式CD播放器的硬件配置。参考图14,便携式CD播放器包括图1所示的外部记录部件28-6,在该外部记录部件28-6中可以加载CD(致密盘)。便携式CD播放器还包括液晶显示部件62、声音输出部件63、操作按钮部件64和连接到总线61的网络连接部件65,该总线61又连接到信息处理控制器14的总线29-4。
要注意,其内部配置未在图1中示出的信息处理控制器14包括主处理器21-4、副处理器23-10、23-11和23-12、直接存储器存取控制器(DMAC)25-4、盘控制器(DC)27-4和总线29-4。主处理器21-4包括本地存储器(LS)22-4,副处理器23-10、23-11和23-12分别包括本地存储器(LS)24-10、24-11和24-12。
图15示出信息处理装置(便携式CD播放器)4,也就是信息处理控制器14的软件配置。参考图15,信息处理控制器14包括MS管理器和容量交换程序作为控制程序。此外,信息处理控制器14包括用于音乐再现的程序作为功能程序,并包括用于声音输出、CD控制和网络输入/输出的程序作为设备驱动程序。
在具有如上参考图9所述配置的网络系统中,信息处理装置1、3和4连接到网络9,信息处理装置1被设置为主设备(MS状态=0),信息处理装置3和4被设置为从设备(MS状态=1)。
如果在这种状态下信息处理装置2新连接到网络9,则在包含在信息处理装置2的信息处理控制器12中的主处理器21-2中执行的MS管理器查询其它信息处理装置1、3和4的MS状态,并识别到信息处理装置1始终作为主设备存在。由此,MS管理器将自装置(信息处理装置2)设置为从设备(MS状态=1)。同时,设置为主设备的信息处理装置1收集包括新加入的信息处理装置2在内的装置的装置信息,并基于所收集的装置信息更新主存储器26-1中的装置信息表。
下面描述图9的网络系统的操作在该状态下用户操作作为从设备的信息处理装置3来记录两个小时的广播程序保留。
在该例中,作为从设备的信息处理装置3接受记录保留信息的输入,记录保留信息包括记录起始时间、记录终止时间、记录对象广播频道和记录图片质量的信息,并产生包括该记录保留信息和作为DMA命令的记录保留命令的软件单元。接着,信息处理装置3向作为主设备的信息处理装置1发送所产生的软件单元。
包含在信息处理装置1的信息处理控制器11中的主处理器21-1读取记录保留命令,并查阅主存储器26-1中的装置信息表来指定可以执行记录保留命令的信息处理装置,其中,信息处理装置1接收该DMA命令是记录保留命令的软件单元。
首先,主处理器21-1读取包含在装置信息表中的信息处理装置1、2、3、4的信息处理装置类型ID,以提取可以执行对应于该记录保留命令的功能程序的信息处理装置。在此,具有表示记录功能的信息处理装置类型ID的信息处理装置1和2被指定为候选装置,而信息处理装置3和4被排除出候选装置之列。
包含在信息处理装置1的信息处理控制器11中的主处理器21-1查阅装置信息表来读取关于装置的诸如主处理器和副处理器的处理能力的信息,以及关于信息处理装置1和2的主存储器的信息,并判定信息处理装置1和2是否满足所要求的执行对应于记录保留命令的功能程序所需的规格描述。在此假定信息处理装置1和2都满足所要求的执行对应于记录保留命令的功能程序所需的规格描述。
此外,主处理器21-1查阅装置信息表以读取关于信息处理装置1和2的外部记录部件的信息,并判定这些外部记录部件的空闲容量是否满足执行该记录保留命令所需的容量要求。由于信息处理装置1和2是硬盘记录器,则外部记录部件28-1和28-3的总容量和已用容量之间的差分别对应于空闲容量。
在本例中,假定信息处理装置1的外部记录部件28-1的空闲容量当转换为记录时间段时是10分钟,而信息处理装置2的硬盘28-3的空闲容量转换为记录时间段则是20小时。
在该例中,包含在作为主设备的信息处理装置1的信息处理控制器11中的主处理器21-1将可以确保有执行记录保留命令所需的两个小时空闲容量的信息处理装置指定为执行请求的目标从设备。
结果,只有信息处理装置2被选择为执行请求目标从设备,包含在作为主设备的信息处理装置1的信息处理控制器11中的主处理器21-1向信息处理装置2发送包括从用户操作的信息处理装置3发送的记录保留信息在内的记录保留命令,以请求信息处理装置2如上所述记录两个小时的广播程序保留。
然后,包含在信息处理装置2的信息处理控制器12中的主处理器21-2分析该记录保留命令,并从作为外部记录部件的硬盘28-3上将记录所需的功能程序加载到线(line)存储器26-2中。接着,主处理器21-2根据记录保留信息执行记录。结果,被保留记录两个小时的广播节目的图像和声音数据被记录到信息处理装置2的硬盘28-3上。
按照这种方式,在图9所示的网络系统中,用户也可以只通过操作一个信息处理装置而不用操作其它信息处理装置来使多个信息处理装置1、2、3、4作为一个虚拟单一信息处理装置7运行。
另外,根据网络的连接状况,信息处理装置之间的通信速度可能表现出一些差别。例如,如果在通信很少的信息处理装置之间为执行功能程序或副处理器程序而进行通信或请求,则尽管该网络系统包括多个彼此连接的信息处理装置并能执行分布式处理,还是无法达到用户期望的整个系统的处理速度。
由此,如果对网络系统的信息处理装置之间的通信速度进行管理并根据通信速度执行分布式处理,则整个系统的处理速度可以进一步提高。这可以通过下面所述的本发明实施例来实现。
图16示出网络系统的配置,其中以上参考图9所述的网络系统还包括信息处理装置5和6。信息处理装置5是可以接收TV广播的TV广播调谐器,而信息处理装置6是类似于信息处理装置1或2的硬盘记录器。
图17示出存储在图16网络系统中包含的每个信息处理装置的信息处理控制器的主存储器中存储的软件的配置。在与上面参考图6描述的软件配置比较时,图17所示的软件配置还包括网络通信管理程序作为分类为控制程序的程序。
在执行MS管理器或容量交换程序之后执行网络通信管理程序。优选地,网络通信管理程序是类似于MS管理器和容量交换程序的、通常在信息处理装置的主电源通电时运行的常驻程序。
不管其中运行网络通信管理程序的信息处理装置是主设备还是从设备,网络通信管理程序都周期性地向包含在同一网络中的所有信息处理装置发送作为图18所示网络通信速度测量命令的软件单元。网络通信管理程序包括作为其数据的软件单元发送时间Ts,作为网络通信速度测量命令的软件单元的大小是Cs,并且是固定的。接收网络通信速度测量命令的信息处理装置根据通信速度=Cs/(Tr-Ts)来从接收时间Tr确定通信速度。
接着,信息处理装置向主设备发送作为网络通信速度响应命令的、包括作为其数据的所确定的通信速度的软件单元。网络通信速度响应命令在图19中示出,其包括作为其数据的测量命令发送者ID。测量命令发送者ID表示向自装置发送网络通信速度测量命令的信息处理装置的信息处理装置ID。由于网络通信管理程序在包含在网络中的所有信息处理装置中按照上述方式运行,则由主设备收集信息处理装置之间的所有通信速度。
主设备中的网络通信管理程序将网络中的所有通信速度存储为图20所示的网络通信管理表。参考图20,信息处理装置1的信息处理装置ID存储在装置1中。由此,可以从图20中看出从信息处理装置1到信息处理装置2的通信速度是300。
此外,如上所述,网络通信管理程序是常驻程序,由于网络通信速度测量命令是周期性地发送到所有其它信息处理装置,并且对应于网络通信速度测量命令的网络通信速度响应命令发送到主设备,因此网络通信速度管理速度总是在更新。因此,最新的通信速度信息得到了管理。
假定由用户在图16所示的状态中在作为从设备的信息处理装置(PDA)3上执行用于记录两个小时广播节目保留的操作。
在该例中,作为从设备的信息处理装置(PDA)3从用户那里接受输入的记录保留信息,诸如记录起始时间、记录结束时间、记录对象广播频道和记录图片质量。接着,信息处理装置3产生包括记录保留信息和作为DMA命令的记录保留命令的软件单元,并向作为主设备的信息处理装置1发送该软件单元。
包含在接收该DMA命令是记录保留命令的软件单元的信息处理装置1的信息处理控制器11中的主处理器21-1读取该记录保留命令,并查阅主存储器26-1中的装置信息表来指定可以执行该记录保留命令的信息处理装置。
具体地说,主处理器21-1首先读取包含在装置信息表中的信息处理装置1、2、3、4、5和6的信息处理装置类型ID,以提取出可以执行记录保留命令的信息处理装置。在此,具有表示记录功能的信息处理装置类型ID的信息处理装置1、2和6被指定为候选装置,而信息处理装置3、4、5被排除出候选装置之列。
接着,包含在作为主设备的信息处理装置1的信息处理控制器11中的主处理器21-1查阅装置信息表以读出关于装置的诸如信息处理装置1、2、6的主处理器和副处理器的处理能力的信息,以及关于主存储器的信息,并判定信息处理装置1、2、6是否满足所要求的执行保留命令所需的规格描述。在此假定信息处理装置1、2、6都满足所要求的执行记录保留功能所需的规格描述。
此外,主处理器21-1查阅装置信息表来读取关于信息处理装置1、2、6的外部记录部件的信息,并判定该外部记录部件的空闲容量是否满足执行记录保留命令所需的容量要求。由于信息处理装置1、2、6都是硬盘记录器,因此硬盘28-1、28-2、28-3的总容量和已用容量之间的差分别对应于信息处理装置1、2、6的空闲容量。
在本例中,假定信息处理装置1的硬盘28-1的空闲容量折合成记录时间段为10分钟;信息处理装置2的硬盘28-3的空闲容量折合成记录时间段为20小时;信息处理装置6的硬盘28-8的空闲容量折合成记录时间段也是20小时。
在该例中,包含在作为主设备的信息处理装置1的信息处理控制器11中的主处理器21-1将可以确保有执行记录保留命令所需的两个小时空闲容量的信息处理装置指定为执行请求目标从设备。由此,信息处理装置2和6被选为执行请求目标从设备的候选者。
对于每个功能程序,规定对表示为如图4所示各种信息的所需的信息处理装置的规格描述以及该功能程序的执行时间。包含在信息处理装置1的信息处理控制器11中的主处理器21-1将所要求的规格描述和各信息处理装置的装置信息如上所述相继进行相互比较,以指定执行请求目标从设备。对于每个功能程序,还根据图21所示的通信速度定义所需的副处理器数,并且主处理器可以根据该通信速度从相关功能程序中读取所需的副处理器数。图21表示例如执行记录保留命令所需的功能程序是由ID=1表示的功能程序。在该例中,在网络中信息处理装置之间的通信速度低于50时,以预定处理速度(例如以高于100MIPS的处理速度)执行功能程序所需的副处理器数是3。在该通信速度更高并且在等于或高于50但低于200的范围内时,所需的副处理器数是2。
当包含在信息处理装置1的信息处理控制器11中的主处理器21-1指定执行请求目标从设备时,如果除了在信息处理装置所需的规格描述和各个信息处理装置的装置信息之间进行比较之外还在图20所示的网络通信速度管理表和图21所示的功能程序所需的副处理器数之间进行比较,则可以实现更高效率的执行过程。
具体地说,为了在信息处理装置2和6被选为能执行上述记录保留命令的信息处理装置的候选者的状态下执行记录保留命令,信息处理装置2或6必须从由信息处理装置5表示的TV广播调谐器接收记录内容。在此,包含在信息处理装置1的信息处理控制器11中的主处理器21-1从ID=1表示的、执行记录保留命令所需的功能程序中读取图21所示的所需要的副处理器数。接着,该主处理器21-1将读取出的所需副处理器数与图20所示的网络通信速度管理表进行比较。由此,如果主处理器21-1将信息处理装置2指定为应当执行记录保留命令的信息处理装置,则主处理器21-1识别到需要两个副处理器,因为从装置5到装置2的通信速度是100。同样,如果主处理器21-1指定信息处理装置6,则由于从装置5到装置6的通信速度是300,因此主处理器21-1识别出需要一个副处理器。
按照上面所述,信息处理装置6被指定为应当执行记录保留命令的信息处理装置,并由此可以实现更高效率的执行过程。当规格描述不能只通过诸如处理器处理能力的其它判定因素而令人满意地执行时,可以采用上述基于通信速度的差异的信息处理装置的规格描述。
按照这种方式,主设备向指定的信息处理装置发送执行处理的请求。在该例中,指定的信息处理装置可能没有执行该处理所需的功能程序或副处理器程序。如果主设备具有这些程序,则其可以利用加载命令来发送这些程序。但是,如果主设备也没有这些程序,则其向指定的信息处理装置发送如图22所示的远程加载命令。
远程加载命令是用于请求特定信息处理装置从其它非远程加载命令发送者的信息处理装置加载程序或数据的命令。参考图22,加载源信息处理装置ID表示加载源的信息处理装置ID,加载源存储/记录部件ID表示加载源信息处理装置中的存储/记录部件ID。例如,ID=0表示主存储器;ID=1表示第一外部记录部件;ID=2表示第二外部记录部件。加载源地址表示存储/记录程序或数据的加载源的地址。加载大小表示加载对象的程序或数据的大小。加载目标存储/记录ID表示加载目标信息处理装置中的存储/记录部件ID。例如,ID=0表示主存储器;ID=1表示第一红外处理器本地存储器(LS);ID=2表示第二红外处理器本地存储器(LS)。
加载目标地址表示程序或数据应存储/记录到其中的加载对象的副处理器中的主存储器或本地存储器的地址。从主设备接收远程加载命令的信息处理装置从远程控制命令中包含的加载源信息表示的异信息处理装置获取所需的功能程序或副处理器程序,并将所获取的程序加载到由加载目标信息表示的自装置的存储器地址中。在完成远程加载命令之后,主设备向指定的信息处理装置发送跳转命令或功能程序执行命令,使得程序在指定的信息处理装置中运行。
当保留时间与记录保留命令一致时,信息处理装置6从由信息处理装置5代表的TV广播调谐器接收记录内容。接着,信息处理装置6采用副处理器执行诸如解调和解码处理的记录所需的处理,并在自装置的硬盘28-8上记录两小时的广播节目。如上所述,网络通信管理程序是常驻程序,其结果是,图20所示的网络通信速度管理表也总是得到更新,并且最新的通信速度得到了管理。因此,即使在信息处理装置6被指定为应当执行记录保留命令的信息处理装置之后,应当执行记录保留命令的信息处理装置也可能由于网络通信速度的变化而改变。
此外,信息处理装置6向在记录处理期间作为主设备的信息处理装置1发送作为图23所示的网络通信状况报告命令的软件单元。参考图23,处理ID表示正与异信息处理装置通信的自装置(信息处理装置6)内的处理器的主处理器ID或副处理器ID。通信类型代表通信的类型,其在读取数据时是0,在写入数据时为1。通信对方的信息处理装置ID表示执行数据读取或数据写入的通信对方的信息处理装置ID。通信对方的存储/记录部件ID表示读取或写入数据的通信对方的信息处理装置中的存储/记录部件ID。例如,ID=0表示主存储器;ID=1表示第一外部记录部件;ID=2是第二外部记录部件。通信对方的地址表示存储/记录通信数据的存储/记录部件的地址。通信大小表示通信数据的大小。通信选项ID仅在写入数据时被使用,并在通信数据需要诸如加密或压缩的后处理时表示用于指定将被执行的后处理的ID。通信速度Dspt表示在读出或写入数据时的通信速度。下面描述通信速度的计算方法。
首先,当信息处理装置6的主处理器或副处理器从自装置或异信息处理装置的主存储器或外部存储部件读取数据时,该主处理器或副处理器存储在执行读取时的起始时间Tro。此后,还存储完成从读取源读取数据以及将数据存储到读取目标时的完成时间Trc。同样,在将数据写入自装置或异信息处理装置的主存储器或外部存储部件中时,存储执行写入的起始时间Two。
此后,还存储完成从读取源读取数据以及将数据存储/记录到写入目标时的完成时间Twc。如果要读取的数据大小由Drs表示,则根据Dspt=Drs/(Trc-Tro)来计算通信速度Dspt作为读取速度。此外,如果要写入的数据大小由Dws表示,则根据Dspt=Dws/(Twc-Two)来计算通信速度Dspt作为写入速度。
信息处理装置6向作为主设备的信息处理装置1发送作为网络通信状况报告命令的软件单元,其包括所计算的通信速度Dspt作为数据。这种向作为主设备的信息处理装置1发送网络通信状况报告命令可能不能在每次执行数据通信时都执行,但是可以通过适当设置来改变这种发送的频率,从而使该发送例如以每五次数据通信一次的比例来执行。
图24示出在读取时采用的网络通信状况报告命令,而图25示出在写入时采用的网络通信状况报告命令。作为主设备的信息处理装置1从网络中的信息处理装置接收网络通信状况报告命令,并例如将所接收的通信状况作为如图26所示的网络通信状况管理表存储。图26示出从硬盘记录器形式的信息处理装置6的副处理器(ID=000058)的外部记录部件28-7中读取数据大小为1024字节的记录内容,而通信速度Dspt是40。同样,图26示出在信息处理装置6的副处理器(ID=000058)中在执行了诸如解密处理和解码处理的必要处理之后将数据大小为1024字节的记录内容写入自装置的硬盘28-8,并且通信速度Dspt是30。由于某些数据通信列于图26所示的网络通信状况管理表中,因此这表示数据通信已经完成。
主设备可以利用该网络通信状况管理表来掌握正在执行的功能程序或副处理器程序的处理状况。例如,如果通过监管该通信状况管理表确认功能程序或副处理器程序的处理已经完成,则主设备可以向执行该功能程序或副处理器程序的信息处理装置发送作为图27所示的程序终止命令的软件单元,以立即结束该功能程序或副处理器程序。
此外,主设备可以利用图26所示的通信状况管理表来实现更为有效的整个网络系统的执行过程。具体地说,例如,如果通过监控作为从通信状况管理表的读取速度的通信速度Dspt或作为向通信状况管理表的写入速度的通信速度Dspt检测到读取通信速度Dspt或写入通信速度Dspt下降,则可以重新构建更高速度或更高效率的网络系统。在该例中,可以另外采用图20所示的网络通信速度管理表。相反,如果通过监控该通信状况管理表检测到例如读取通信速度Dspt或写入通信速度Dspt过度增加,则可以重新构建充分而又必要的网络系统。在该例中,同样也可以另外采用网络通信速度管理表。
尽管已经利用特定术语描述了本发明的优选实施例,这种描述只是用于说明的目的,并且应当理解在不脱离本发明的精神或范围的情况下可以作出修改和变化。
权利要求
1.一种网络系统,其包括多个通过网络相互连接的信息处理装置,并且它们可以分布的方式执行处理;每个所述信息处理装置包括主/从设置部件,用于在包含该主/从设置部件的信息处理装置中将该信息处理装置设置为主设备或从设备,使得连接到所述网络的信息处理装置中的一个被设置为主设备,而其它信息处理装置则被设置为从设备;装置信息管理部件,用于当其中包含该装置信息管理部件的信息处理装置被所述主/从设置部件设置为主设备时,管理关于连接到所述网络的各个信息处理装置的可用硬件资源的信息作为装置信息;通信速度管理部件,用于当其中包含该通信速度管理部件的信息处理装置被所述主/从设置部件设置为主设备时,管理连接到所述网络的各个所述信息处理装置的通信速度;以及分布式处理请求部件,用于基于由所述装置信息管理部件和所述通信速度管理部件管理的信息指定一个或多个应当执行处理的信息处理装置,并向所指定的信息处理装置发送执行该处理的请求。
2.根据权利要求1所述的网络系统,其中,每个被所述主/从设置部件设置为主设备的所述信息处理装置还包括数据通信速度管理部件,用于管理正在执行处理的信息处理装置处理数据的通信速度。
3.根据权利要求1所述的网络系统,其中,每个所述信息处理装置还包括通信速度测量命令发送部件,用于周期性地向通过所述网络连接到该信息处理装置的其它信息处理装置发送包括发送时间信息在内的通信速度测量命令;以及通信速度响应部件,用于在接收到所述通信速度测量命令时,基于接收时间和包含在该通信速度测量命令内的发送时间来计算通信速度,并向被设置为主设备的信息处理装置发送所计算的通信速度的响应。
4.根据权利要求1所述的网络系统,其中,每个所述信息处理装置包括其调度由处理器管理的一个或多个副处理器,以及所述分布式处理请求部件基于事先定义的通信速度和所需的副处理器数之间的相关关系来指定一个或多个应当执行处理的所述信息处理装置。
5.一种分布式处理方法,其中,由多个通过网络相互连接的信息处理装置按照分布的方式来执行处理,所述方法包括将所述信息处理装置中的一个设置为主设备而将其它信息处理装置设置为从设备的第一步骤;由被设置为主设备的信息处理装置执行的第二步骤,用于管理作为装置信息的关于连接到所述网络的各个信息处理装置的可用硬件资源的信息,并管理连接到所述网络的各个所述信息处理装置的通信速度;以及由被设置为主设备的信息处理装置执行的第三步骤,其中,基于在第二步骤管理的信息指定一个或多个应当执行处理的信息处理装置,并向所指定的信息处理装置发送执行该处理的请求。
6.根据权利要求5所述的分布式处理方法,其中,每个被设置为主设备的所述信息处理装置还管理正在执行处理的信息处理装置处理数据的通信速度。
7.根据权利要求5所述的分布式处理方法,其中,每个所述信息处理装置周期性地向通过所述网络连接到该信息处理装置的其它信息处理装置发送包括发送时间信息在内的通信速度测量命令;以及在接收到所述通信速度测量命令时,基于接收时间和包含在该通信速度测量命令内的发送时间计算通信速度,并向被设置为主设备的信息处理装置发送所计算的通信速度的响应。
8.根据权利要求5所述的分布式处理方法,其中,每个所述信息处理装置包括其调度由处理器管理的一个或多个副处理器,并且当该信息处理装置被指定为主设备时基于事先定义的通信速度和所需的副处理器数之间的相关关系来指定一个或多个应当执行处理的信息处理装置。
9.一种信息处理装置,包括通信部件,用于与通过网络连接到该信息处理装置的任意其它信息处理装置通信;主/从设置部件,用于将该信息处理装置本身设置为单一的主设备或设置为连接到所述网络的所有信息处理装置中的一个从设备;装置信息管理部件,用于当所述信息处理装置被所述主/从设置部件设置为主设备时,管理作为装置信息的关于连接到所述网络的各个信息处理装置的可用硬件资源的信息;通信速度管理部件,用于当所述信息处理装置被所述主/从设置部件设置为主设备时,管理连接到所述网络的各个所述信息处理装置的通信速度;以及分布式处理请求部件,用于基于由所述装置信息管理部件和所述通信速度管理部件管理的信息指定一个或多个应当执行处理的信息处理装置,并向所指定的信息处理装置发送执行该处理的请求。
10.根据权利要求9所述的信息处理装置,由所述主/从设置部件设置为主设备的所述信息处理装置还包括数据通信速度管理部件,用于管理正在执行处理的信息处理装置处理数据的通信速度。
11.根据权利要求9所述的信息处理装置,还包括通信速度测量命令发送部件,用于周期性地向通过所述网络连接到该信息处理装置的其它信息处理装置发送包括发送时间信息在内的通信速度测量命令;以及通信速度响应部件,用于在接收到所述通信速度测量命令时,基于接收时间和包含在该通信速度测量命令内的发送时间计算通信速度,并向被设置为主设备的信息处理装置发送所计算的通信速度的响应。
12.根据权利要求9所述的信息处理装置,还包括其调度由处理器管理的一个或多个副处理器,所述分布式处理请求部件基于事先定义的通信速度和所需的副处理器数之间的相关关系来指定一个或多个应当执行处理的信息处理装置。
全文摘要
本发明公开了一种可以提高整个系统处理速度的网络系统。该网络系统包括多个通过网络相互连接的信息处理装置,使得可以按照分布的方式执行处理。其中一个连接到该网络的信息处理装置被设置为主设备,而其它信息处理装置则被设置为从设备。主信息处理装置管理作为装置信息的关于连接到该网络的各个信息处理装置的可用硬件资源的信息,并管理连接到该网络的各信息处理装置的通信速度。基于该管理信息指定一个或多个应当执行处理的信息处理装置,并向所指定的信息处理装置发送执行该处理的请求。
文档编号H04N5/445GK1658184SQ200510008279
公开日2005年8月24日 申请日期2005年2月21日 优先权日2004年2月20日
发明者荒木佑一 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1