CN1312592C - 信息处理系统及信息处理方法 - Google Patents

信息处理系统及信息处理方法 Download PDF

Info

Publication number
CN1312592C
CN1312592C CNB2005100525161A CN200510052516A CN1312592C CN 1312592 C CN1312592 C CN 1312592C CN B2005100525161 A CNB2005100525161 A CN B2005100525161A CN 200510052516 A CN200510052516 A CN 200510052516A CN 1312592 C CN1312592 C CN 1312592C
Authority
CN
China
Prior art keywords
messaging device
open zone
address
request
memory
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.)
Expired - Fee Related
Application number
CNB2005100525161A
Other languages
English (en)
Other versions
CN1661570A (zh
Inventor
清水隆范
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of CN1661570A publication Critical patent/CN1661570A/zh
Application granted granted Critical
Publication of CN1312592C publication Critical patent/CN1312592C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means

Abstract

本发明公开了通过网络协同操作的多个信息处理设备可以共享存储空间的信息处理系统和方法。每个信息处理设备包括一个或多个物理存储设备,每个物理存储设备的物理存储空间,即,物理段地址空间被映射到逻辑存储空间,即,虚拟地址空间,以便在物理地址空间上进行处理的执行。如果允许信息处理设备使用来自另一不同信息处理设备的开放区,那么,信息处理设备将开放区的物理段地址映射到自身设备的虚拟地址空间的虚拟段地址,并使用开放区的物理段地址以及自身设备的虚拟地址空间的虚拟段地址。

Description

信息处理系统及信息处理方法
技术领域
本发明涉及通过网络相互连接的两个或多个设备可操作地相互链接的信息处理系统、信息处理方法和计算机程序,更具体地说,本发明涉及通过网络相互连接的两个或多个信息处理设备可操作地相互链接的信息处理系统、信息处理方法和计算机程序。
更具体地说,本发明涉及与网络连接的多个设备通过它们之间的协同操作进行分布式处理,以便它们起虚拟单个设备作用的信息处理系统、信息处理方法和计算机程序,更具体地说,本发明涉及通过网络相互协作的多个信息处理设备共享存储空间的信息处理系统、信息处理方法和计算机程序。
背景技术
通过网络相互连接多个计算机来实现信息资源的共享、硬件资源的共享和多个用户之间的协作是众所周知的。LAN(局域网)、WAN(广域网)和因特网等被称为多个用户之间的连接媒体。
具体上是近年来,计算机和网络技术已经并正在深入地进入普通家庭。诸如个人计算机和PDA(个人数字助理)之类家庭中的各种信息设备、诸如电视接收器和视频再现设备之类的AV(音频视频)设备、各种信息用具、CE(消费电子)设备等都是通过家用网络相互连接的。并且,像刚刚提及那样的家用网络在大多数情况下都通过路由器与以因特网开始的外部广域网连接。
尽管采取了多个AV设备以这种方式连接在家用网络上的使用形式,但这种使用形式存在着在多个AV设备之间不能充分协作的问题。
为了解决像如上所述那样的问题,人们已经并正在进行与通过几个设备的协同操作实现高算术运算性能的网格式计算技术有关的研究和开发。相关技术公开在,例如,日本专利公开第2002-342165号(下文称为专利文件1)、日本专利公开第2002-351850号(下文称为专利文件2)、日本专利公开第2002-358289号(下文称为专利文件3)、日本专利公开第2002-366533号(下文称为专利文件4)、和日本专利公开第2002-366534号(下文称为专利文件5)中。
根据网格式计算技术,网络上的多个信息处理设备协同地操作,进行分布式处理,以便对用户来说,它们虚拟地起单个信息处理设备的作用。
例如,在具有记录预约功能的多个信息处理设备与网络连接的情况下,可以实现记录预约的协同操作。具体上,在多个信息处理设备在记录预约操作中通过家用网络相互协作的情况下,它们在网络上虚拟地起单个记录设备的作用。因此,用户可以利用与网络连接的设备的任何一个,将设备之一的用户界面用于进行记录预约。
并且,记录预约功能中的这种协作使同时记录预约时间相互重叠的不同节目成为可能。类似地,可以使记录内容的再现操作通过多个设备的协作来进行,以实现内容的同时或同步再现。内容再现功能中的这种协作使同时地或同步地再现不同设备记录的内容成为可能。因此,可以将信道切换的概念引入内容再现中。
根据像如上所述那样的虚拟单个设备,即使单个设备的硬件资源或处理能力(capacity)不能满足用户的请求,网络上相互连接的其它设备的剩余处理能力也可以用于满足用户的请求。此外,单个普通设备实际不能实现的服务也可以通过像如上所述那样的虚拟单个设备来实现。
另一方面,像如上所述那样的虚拟单个信息处理系统存在着构成系统的信息处理设备相互之间在硬件配置、处理能力和当前处理负载方面不同和它们的剩余处理能力相互不同的问题。
因此,对于像如上所述那样的虚拟单个信息处理系统,可能会出现这样的浪费状况,虽然通过网络相互协作的某一个信息处理设备没有剩余的处理能力并表现出存储器资源的短缺,但另一个信息处理设备却具有剩余的处理能力并在操作系统中涉及充足的未用存储区。
例如,日本专利公开第Hei 8-95928号(下文称为专利文件6)提出了通过LAN电路相互连接的多个计算机之间灵活地使用存储器,以实现存储器资源的有效利用和交换处理的高速操作的存储器共享系统。
在存储器共享系统中,在LAN上事先配备含有共享存储器的存储器管理计算机,所述存储器管理计算机响应来自存储器请求计算机的存储器分配请求,进行存储器分配。换句话说,除了与存储器分配请求有关的过程之外,存储器请求计算机和存储器管理计算机相互独立地操作。因此,存储器共享系统与网格式计算机的不同之处在于,网络上的不同信息处理设备相互协作,以便它们虚拟地起单个信息处理设备的作用。
并且,在存储器共享系统中,存储器请求计算机侧不将分配给另一台计算机的共享存储器分配到存储器请求计算机自身的存储空间,因此,访问共享存储器只不过是通过LAN的网络操作。换句话说,存储器请求计算机侧不能与访问存储器请求计算机自身的主存储器等效地访问共享存储器。
发明内容
本发明的一个目的是提供在与网络连接的多个设备通过它们之间的协同操作,通过分布式处理虚拟地可以起单个设备的作用方面优越的信息处理系统、信息处理方法和计算机程序。
本发明的另一个目的是提供在通过网络协同操作的多个信息处理设备之间可以共享存储空间方面优越的信息处理系统、信息处理方法和计算机程序。
为了达到上述目的,根据本发明的一个方面,提供了包括以这样的方式通过网络相互连接,以便相互协作来虚拟地形成单个虚拟信息处理设备的多个信息处理设备的信息处理系统,其中,每个信息处理设备包括物理存储设备,并且信息处理设备的至少一个是可操作的,以便在其物理存储设备的物理存储空间上形成允许不同信息处理设备使用的开放区,并且响应于来自任何一个不同信息处理设备的使用开放区的请求而允许使用开放区。
这里请注意,术语“系统”用于代表由可能包括在同一机壳内或可能分立配备的、实现预定功能的多个设备或多个模块组成的逻辑集合设备。
信息处理系统通过由网络相互连接的多个信息处理设备的协同操作虚拟地起单个虚拟信息处理设备的作用。形成虚拟信息处理设备的信息处理设备的至少一个在其物理存储设备的物理存储空间上形成允许不同信息处理设备使用的开放区。这里的物理存储设备包括主存储器和其它本地存储器、诸如硬盘之类的外部存储设备、和输入到与自身设备本地连接的不同设备和从与自身设备本地连接的不同设备输出的I/O空间。因此,像如后所述那样的信息资源可以由相互协作的信息处理设备共享。
信息资源的这种共享通过与请求开放区的信息处理设备和提供开放区的另一个信息处理设备之间的请求和许可响应有关的预定握手处理实现。握手过程可以包括这样的信息处理设备之间的相互验证的处理等。
根据本发明的另一个方面,提供了起单个虚拟信息处理设备的部件作用的信息处理设备,该单个虚拟信息处理设备是通过该信息处理设备与通过网络与之连接的一个或多个不同信息处理设备的协作形成的,该信息处理设备包括物理存储空间、允许不同信息处理设备使用的在物理空间上形成的开放区、和响应于来自任何一个不同信息处理设备的使用开放区的请求而允许使用开放区的开放区使用控制部分。
根据本发明的又一个方面,提供了使信息处理设备起单个虚拟信息处理设备的部件作用的信息处理方法,该单个虚拟信息处理设备是通过该信息处理设备与通过网络与之连接的一个或多个不同信息处理设备的协作形成的,该信息处理设备含有在上面形成允许不同信息处理设备使用的开放区的物理存储空间,该信息处理方法包括如下步骤:允许任何一个不同信息处理设备使用开放区,将开放区地址分配给允许任何一个不同信息处理设备使用的开放区的物理地址,当从任何一个不同信息处理设备接收到访问开放区的请求时,将访问请求的对象的开放区地址转换成物理地址,和返回从物理存储空间的物理地址中提取的数据,作为开放区地址上的数据。
根据本发明的又一个方面,提供了使信息处理设备起单个虚拟信息处理设备的部件作用的信息处理方法,该单个虚拟信息处理设备是通过该信息处理设备与通过网络与之连接的一个或多个不同信息处理设备的协作形成的,任何一个不同信息处理设备都含有在其物理存储空间上形成的开放区,该信息处理方法包括如下步骤:向有关不同信息处理设备发出使用开放区的请求,响应于使用请求的许可,将逻辑地址分配给允许使用的开放区地址,当访问请求的对象的逻辑地址对应于有关不同信息处理设备允许使用的开放区时,将访问请求的对象的逻辑地址转换成开放区地址和向有关不同信息处理设备发出访问请求,和将从有关不同信息处理设备返回的开放区地址上的数据转换成逻辑地址并将逻辑地址返回给访问请求源。
根据本发明的又一个方面,提供了以计算机可读形式描述的计算机程序,该计算机程序使计算机系统执行使信息处理设备起单个虚拟信息处理设备的部件作用的处理,该单个虚拟信息处理设备是通过该信息处理设备与通过网络与之连接的一个或多个不同信息处理设备的协作形成的,该信息处理设备含有在上面形成允许不同信息处理设备使用的开放区的物理存储空间,该计算机程序包括如下步骤:允许任何一个不同信息处理设备使用开放区,将开放区地址分配给允许任何一个不同信息处理设备使用的开放区的物理地址,当从任何一个不同信息处理设备接收到访问开放区的请求时,将访问请求的对象的开放区地址转换成物理地址,返回从物理存储空间的物理地址中提取的数据作为开放区地址上的数据。
根据本发明的又一个方面,提供了以计算机可读形式描述的计算机程序,该计算机程序使计算机系统执行使信息处理设备起单个虚拟信息处理设备的部件作用的处理,该单个虚拟信息处理设备是通过该信息处理设备与通过网络与之连接的一个或多个不同信息处理设备的协作形成的,任何一个不同信息处理设备都含有在其物理存储空间上形成的开放区,该计算机程序包括如下步骤:向有关不同信息处理设备发出使用开放区的请求,响应于使用请求的许可,将逻辑地址分配给允许使用的开放区地址,当访问请求的对象的逻辑地址对应于有关不同信息处理设备允许使用的开放区时,将访问请求的对象的逻辑地址转换成开放区地址和向有关不同信息处理设备发出访问请求,和将有关不同信息处理设备返回的开放区地址上的数据转换成逻辑地址并将逻辑地址返回给访问请求源。
计算机程序定义成以计算机可读形式描述的计算机程序,以便可以在计算机系统上实施预定处理。换句话说,在将任何计算机程序安装到计算机系统中的情况下,在计算机系统上展现出协同操作,并且,可以实现与本发明的信息处理系统提供的那些相似的优点。
总而言之,借助于本发明的信息处理系统、设备和方法、和计算机程序,通过网络相互连接的多个设备通过它们之间的协同操作来进行分布式处理,虚拟地可以起单个设备的作用。
并且,借助于本发明的信息处理系统、设备和方法、和计算机程序,通过网络相互协作的信息处理设备可以在它们之间共享存储空间。
例如,在由家用网络上相互协作的多个AV设备形成的信息处理系统中,可以实现AV设备之间的信息共享。具体上,可以共享由AV设备保存的信息以保持信息,改变另一个AV设备的信息,或改变来自另一个服务器的许多AV设备的信息。此外,可以向另一个AV设备公开信息或向许多AV设备公开同一信息。
从结合附图所作的如下描述和所附权利要求书中可以清楚地了解到本发明的上面和其它目的、特征和优点,在附图中,相同的部分或单元用相同的标号表示。
附图说明
图1是示出本发明所应用的网络系统的配置的方块图;
图2A、2B和2C是例示图1的网络系统中从辅处理器到主存储器的访问过程的视图;
图3是示出软件单元的配置例子的视图;
图4是例示DMA命令是状态返回命令的软件单元的数据区的视图;
图5是以多个信息处理设备起虚拟单个信息处理设备作用的方式示出该多个信息处理设备的示意图;
图6是例示信息处理控制器的软件配置例子的示意图;
图7是以4个信息处理设备起虚拟单个信息处理设备作用的方式示出这4个信息处理设备的示意图;
图8是例示如图7所示的系统进行的分布式处理的例子的示意图;
图9是示出信息处理设备和系统的具体例子的示意图;
图10是示出如图9所示的硬盘记录器的硬件配置的方块图;
图11是示出如图9所示的硬盘记录器的软件配置的示意图;
图12是示出如图9所示的PDA的硬件配置的方块图;
图13是示出如图9所示的PDA的软件配置的示意图;
图14是示出如图9所示的便携式CD播放器的硬件配置的方块图;
图15是示出如图9所示的便携式CD播放器的软件配置的示意图;
图16是示出本发明所应用的另一个网络系统的配置的示意图;
图17和18是例示信息处理设备为了形成开放区而执行的处理的示意图;
图19是例示管理包括开放数据和非开放数据的各种数据的服务器设备使开放数据保存在开放区中的方式的示意图;
图20是例示与网络连接且相互协作的两个顶置盒当中用作服务器的那一个的信息被映射在用作客户机的另一个顶置盒中的方式的示意图;
图21是例示顶置盒允许两个其它顶置盒使用其开放区的方式的示意图;
图22是例示顶置盒使用不同顶置盒允许使用的两个不同顶置盒的开放区的方式的示意图;
图23是例示与在请求使用开放区的信息处理设备和提供开放区的另一个信息处理设备之间传送的请求和许可响应有关的握手过程的流程图;
图24是例示将信息处理设备的物理空间上的开放区分配给不同信息处理设备的虚拟存储空间的操作序列的流程图;
图25A和25B是分别示意性地示出顶置盒STB(a)和STB(b)的映射表的配置的视图;
图26是例示从不同信息处理设备访问信息处理设备的开放区的操作序列的流程图;和
图27是例示信息处理设备的存储器访问过程的示意图。
具体实施方式
A.系统配置
本发明使设置在相互不同的地方的两个或多个信息处理设备通过家用网络可操作地相互链接,以便在设备上实现简化、容易和有效的预约记录操作。为了使家用网络上的设备相互协作,本发明利用通过设备的协作实现高算术运算性能的网格式计算技术。
图1示意性地示出了应用网格式计算形成的网络系统的配置。
网络可以由因特网或一些其它广域网、和诸如LAN(局域网)或家用网络之类通过网关等与广域网连接的专用网络构成。家用网络在物理上可以由诸如10 Base T接口、100 Base TX接口、或Giga eather接口之类的标准网络接口构成。并且,作为在家用网络上发现另一个设备的机制,可以使用Upnp(通用即插即用)。根据Upnp,在通过网络相互连接的不同设备之间交换以XML(可扩展标记语言)形式描述的定义文件,并通过寻址处理、发现处理、和服务请求处理进行相互验证。这样的相互验证也可以通过广播在同一段内描述规定设备信息的分组来实现。
多个信息处理设备都连接在网络上。信息处理设备可以包括内含记录媒体且具有预约记录功能的诸如DVD(数字多功能盘)记录器或HD(硬盘)记录器之类的AV设备、没有记录功能的诸如激光唱盘播放器之类只用于再现的AV设备、和其它信息处理设备。信息处理设备还可以包括诸如PDA或个人计算机之类的计算机处理系统。在如图1所示的例子中,多个信息处理设备1、2、3和4通过网络9相互连接。
A-1.信息处理设备和信息处理控制器
信息处理设备1、2、3和4通常是下文所述的各种AV(音频视频)设备和便携式设备。
信息处理设备1包括作为计算机功能部分的信息处理控制器11。信息处理控制器11包括主处理器21-1、辅处理器23-1、23-2、和23-3、直接存储器访问控制器(DMAC)25-1、和盘控制器(DC)27-1。信息处理控制器11最好像单芯片IC(集成电路)那样形成。
主处理器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、和2 3-3在主处理器21-1的控制下相互并行地并独立地执行程序,以便处理数据。并且,根据环境,主处理器21-1中的程序可以与辅处理器23-1、23-2、和23-3的任何一个中的程序协作地运行。此外,辅处理器23-1、23-2、和23-3分别包括本地存储器24-1、24-2、和24-3。
直接存储器访问控制器25-1无需处理器介入地访问存储在与信息处理控制器11连接且由DRAM(动态随机访问存储器)等构成的主存储器26-1中的程序和数据。盘控制器27-1控制对与信息处理控制器11连接的外部记录部分28-1和28-2的访问操作。
外部记录部分28-1和28-2可以具有固定盘(硬盘)和可拆卸盘中的任何一种的形式。作为如刚刚所述的可拆卸盘,可以使用诸如MO(磁盘)、像CD±RW或DVD±RW那样的光盘、存储盘、SRAM(静态随机访问存储器)、和ROM(只读存储器)之类的各种记录媒体。尽管被称为盘控制器,但盘控制器27-1是外部记录部分控制器。如图1所示,信息处理控制器11可以被配置成多个外部记录部分28与之连接。
主处理器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分配给主处理器21-1和辅处理器23-1、23-2、和23-3的每一个。
此外,以相似的方式配置其它信息处理设备2、3、和4,因此,这里省略对它们的重复描述,以避免累赘。这里,请注意,除非另有说明,那些标号具有相同母号的单元以相似的方式工作,即使它们具有不同的分支号。因此,在如下描述中,在省略标号的分支号的情况下,那些单元是相同的,与分支号的不同无关。
A-2.从每个辅处理器到主存储器的访问
如上所述,尽管一个信息处理控制器中的每个辅处理器23独立地执行程序,以处理数据,但是,如果不同辅处理器同时进行从主存储器26中的相同区域的读出或到主存储器26中的相同区域的写入,那么,可能会出现数据的失配。因此,从辅处理器23到主存储器26的访问按照如下过程进行。
图2A例示了主存储器26中的位置(location)。如图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和辅处理器23的LS地址作为读出预约信息写入到进行读出预约的存储位置的附加段中。
此后,数据写入侧的辅处理器23将数据写入具有读出预约的存储位置中,并且,F/E位被设置成F/E位=1(能够读出/禁止写入)。然后,读出附加段中事先作为读出预约信息写入的辅处理器ID和LS地址。
在必须利用多个辅处理器分多个阶段处理数据的情况下,如果以如上所述那样的方式控制每个存储位置的数据的读出/写入,那么,在将由执行先前阶段的处理的处理器23处理的数据写入主存储器26上的预定地址上之后,执行随后阶段的处理的另一个辅处理器23可以立即读出预处理数据。
图2B例示了每个辅处理器23中本地存储器24的存储位置。参照图2B,每个辅处理器23中的本地存储器24也由可以用来指定多个地址的存储位置组成。附加段被类似地分配给每一个存储位置。附加段包括占用(busy)位。
当辅处理器23将要把主存储器26中的数据读出到其本地存储器24的存储位置中时,它将相应的占用位设置成1,以便作出预约。不能将其它数据存储到占用位是1的任何存储位置中。在读出本地存储器24的存储位置之后,将占用位改变成0,以便存储位置以后可以用于任何对象。
返回参照图2A,与每个信息处理控制器连接的主存储器26包括定义主存储器26中的区域的多个沙箱(sandbox)。虽然主存储器26由多个存储位置组成,但一个沙箱是一组这样的存储位置。每个沙箱是为每个辅处理器23分配的,并且,可以由相关辅处理器专用。换言之,每个辅处理器23可以使用分配给它的沙箱,但不能访问超出沙箱区域的数据。
并且,为了实现主存储器26的专用控制,使用像如图2C所示那样的关键字管理表。关键字(key)管理表存储在信息处理控制器中诸如SRAM之类的相对高速存储器中,并且与直接存储器访问控制器25配合。关键字管理表中的每个条目包括辅处理器ID、辅处理器关键字、和关键字掩码。
辅处理器23使用主存储器26时的处理像后文所述的那样。首先,辅处理器23将读出或写入命令输出到直接存储器访问控制器25。这个命令包括辅处理器的辅处理器ID和作为使用请求目的地的主存储器26的地址。
在直接存储器访问控制器25执行这个命令之前,它参照关键字管理表,以检测使用请求源的辅处理器的辅处理器关键字。然后,直接存储器访问控制器25将检测的使用请求源的辅处理器关键字与分配给作为使用请求目的地的主存储器26中的如图2A所示的存储位置的访问关键字相比较。然后,只有当关键字相互一致时,直接存储器访问控制器25才执行上述命令。
如图2C所示的关键字管理表上的关键字掩码在其任意位被设置成值1时,可以将与关键字掩码配合的辅处理器关键字的相应位设置成0或1。
例如,假设辅处理器关键字是1010。通常,辅处理器关键字只允许访问访问关键字为1010的沙箱。但是,如果与辅处理器关键字配合的关键字掩码被设置成0001,那么,只对关键字掩码的位被设置成1的数字掩蔽辅处理器关键字和访问关键字之间的一致性确定。因此,1010的辅处理器关键字允许访问访问关键字为1010或1011的沙箱。
主存储器26的沙箱的专用属性就是以如上所述那样的方式实现的。简而言之,在信息处理控制器中的多个辅处理器必须分多个阶段处理数据的情况下,只允许执行先前阶段的处理的辅处理器和执行随后阶段的处理的另一个辅处理器访问主存储器26的预定地址。因此,可以使数据得到保护。
存储器的这种专用控制可以,例如,以如下方式使用。首先,在启动信息处理设备之后,立即使关键字掩码的值全部为零。假设执行主处理器中的程序并且主处理器中的程序与辅处理器中的程序按协作关系运行。当打算将第一辅处理器输出的处理结果数据一次存储到主存储器中,然后,将处理结果数据输入第二辅处理器时,必须可以从两个辅处理器访问有关主存储区。在这样的情况下,主处理器中的程序改变关键字掩码的值,以适当地提供可以从多个辅处理器访问的主存储区,使辅处理器可以进行多阶段处理。
更具体地说,当要在数据从另一不同信息处理设备→第一辅处理器的处理→第一主存储区→第二辅处理器的处理→第二主存储区的处理中进行多阶段处理时,如果保持如下设置,第二处理器不能访问第一主存储区:
第一辅处理器的辅处理器关键字,0100;
第一主存储区的访问关键字,0100;
第二辅处理器的辅处理器关键字,0101;
第二主存储区的访问关键字,0101。
因此,如果将第二辅处理器的关键字掩码改变成0001,那么,允许第二辅处理器访问第一主存储区。
A-3.软件单元的生成和配置
在图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和生成或传送软件单元的日期和时间生成的。
所需辅处理器的信息在其中设置了执行软件单元所需的辅处理器编号。沙箱大小在其中设置了执行软件单元所需的辅处理器23的主存储器26和本地存储器24中的存储容量。
先前软件单元ID是诸如流数据之类需要顺次执行的一组软件单元当中的先前软件单元的标识符。
软件单元的执行部分由DMA命令、程序、和数据构成。DMA命令包括启动程序所需的一系列DMA命令,程序包括要由辅处理器23执行的辅处理器程序。这里的数据是要由包括辅处理器程序的程序处理的数据。
DMA命令还包括装载命令、开始执行(kick)命令、功能程序执行命令、状态请求命令、和状态返回命令。
装载命令是将主存储器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。当电源可用时,包括在信息处理设备中的信息处理控制器中的主处理器21根据电源可用时的日期和小时、信息处理设备的网络地址、和包括在信息处理设备中的信息处理控制器中的辅处理器23的数目等,生成信息处理设备ID。
信息处理设备类型ID包括代表信息处理设备的特征的值。这里,信息处理设备的特征是,例如,硬盘记录器(后文所述)、PDA(个人数字助理)、便携式CD(激光唱盘)播放器等。信息处理设备类型ID可以是诸如图像和声音记录或图像和声音再现之类,代表信息处理设备具有的功能的类型。代表信息处理设备的特征或功能的值是事先确定的。如果调出信息处理设备类型ID,那么,可以掌握信息处理设备的特征或功能。
MS(主/从)状态代表后文所述信息处理设备按主设备和从属设备的哪一个操作。在MS状态被设置成0的情况下,代表信息处理设备应该起主设备的作用,但是,在MS状态被设置成1的情况下,代表信息处理设备应该起从属设备的作用。
主处理器操作频率代表信息处理控制器中的主处理器21的操作频率。主处理器使用率代表与当前在主处理器21中运行的所有程序有关的主处理器21中的使用率。主处理器使用率是代表当前使用的处理能力与目标主处理器中的总处理能力之比的值,它是,例如,以MIPS为单位,或根据每单位时间的处理器使用时间计算的,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、外部记录部分总容量、和外部记录部分使用容量。
A-4.软件单元的执行
包含在某个信息处理设备中的信息处理控制器中的主处理器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系统在它们之间传输数据,像如上所述那样的沙箱被使用。在这样的情况下,即使在一个信息处理控制器内有必要在多种状态下处理数据,也可以高速地和高度安全地进行处理。
A-5.网络系统的分布式处理
图5例示了多个信息处理设备起虚拟单个信息处理设备作用的方式。作为利用软件单元进行分布式处理的结果,如图5的上部所示的与网络9连接的多个信息处理设备1、2、3、和4起如图5的下部所示的虚拟单个信息处理设备7的作用。但是,为了实现像刚刚所述那样的虚拟操作,必须执行后文所述的处理。
A-6.系统的软件配置和程序的装载
图6例示了将由各个信息处理控制器的主存储器26存储的软件的配置。参照图6,在对信息处理设备供电之前,使各个软件(程序)记录在与信息处理控制器连接的外部记录部分28中。取决于程序的功能或特征,将程序分类成控制程序、功能程序、和设备驱动器。
控制程序共同配备在信息处理控制器中,并且由每个信息处理控制器中的主处理器21执行。控制程序包括后文所述的MS(主/从)管理器和能力交换程序。
主处理器21执行功能程序,并且,对于每个信息处理设备,为信息处理控制器配备像记录程序、再现程序、和素材搜索程序等那样的功能程序。
设备驱动器是为每个信息处理控制器(信息处理设备)的输入和输出(发送和接收)配备的,并且,为信息处理控制器配备适合于每个信息处理设备的像用于广播接收、监视器输出、位流输入/输出、网络输入/输出等的那些那样的设备。
当在信息处理设备通过电缆等的连接在物理上与网络9连接的状态下向信息处理设备供电,并因此使信息处理设备在电气上和在功能上也与网络9连接时,信息处理设备的信息处理控制器的主处理器21将属于控制程序的程序和属于设备驱动器的程序装入主存储器26中。
作为程序的装载过程,主处理器21首先控制盘控制器27执行读出指令,从外部记录部分28中读出程序,然后控制直接存储器访问控制器25执行写入指令,将程序写入主存储器26中。
属于功能程序的程序可以这样来管理:只在需要的时候将所需的那个程序装入,或者,另一方面,与属于其它类别的程序类似,在主电源可用之后立即装入全部程序。
属于功能程序的程序未必记录在与网络连接的所有信息处理设备的外部记录部分28中。如果它们记录在任何一个信息处理设备的外部记录部分28中,可以通过如上所述的方法将它们装入其它信息处理设备中。结果,功能程序可以由如图5的下部所示的虚拟单个信息处理设备7来执行。
主处理器21处理的功能程序有时与如上所述的辅处理器23处理的辅处理器程序协同操作。因此,可以存在与功能程序协同操作的辅处理器程序,当主处理器21从外部记录部分28中读出功能程序和将功能程序写入主存储器26中时,所述功能程序构成一个对象。此外,在那种情况下,将辅处理器程序与功能程序一起写入同一个主存储器26中。在这种情况下,协同操作的辅处理器程序的数目可以只有一个,也可以多个。在数目是多个的情况下,将协同操作的所有辅处理器程序写入主存储器26中。此后,写入主存储器26中的一个或多个辅处理器程序被写入辅处理器23的本地存储器24中,并与主处理器21处理的功能程序协同操作。
并且,将辅处理器程序ID分配给每个辅处理器程序,以便可以唯一地标识每个辅处理器程序。要分配的辅处理器程序ID可以是与作为协同操作的另一方的功能程序的功能程序ID存在某种关系的标识符,譬如,由作为母号的功能程序ID和加在母号末端的分支号组成的标识符,或与作为协同操作的另一方的功能程序的功能程序ID没有关系的标识符。不管怎样,在功能程序和辅处理器程序应该相互协同操作的情况下,它们的每一个必须互相将另一方的标识符的程序ID保存在自身的程序中。此外,在功能程序应该与多个辅处理器程序协同操作的情况下,功能程序必须保存所有辅处理器程序的辅处理器程序ID。
正如上面结合如图3所示的软件单元所述的那样,将可以唯一标识的标识符作为功能程序ID分配给每个功能程序。功能程序ID是在功能程序的生成阶段根据生成的日期和小时、和信息处理设备ID等确定的。
主处理器21保证在主存储器26中的存储主处理器21操作的信息处理设备的设备信息(与操作状态有关的信息)的区域,并且记录该信息,作为信息处理设备自身的设备信息表。这里的设备信息如图4所示的状态返回命令的数据区中信息处理设备ID等的信息。
A-7.系统中的主/从确定
在如上所述的网络系统中,当使主电源对某个信息处理设备可用时,信息处理设备的信息处理控制器的主处理器21将主/从管理器(下文称为MS管理器)装入主存储器26中,并且执行主/从管理器。
在MS管理器检测到MS管理器操作的信息处理设备与网络9连接之后,它确认存在与同一网络9连接的其它信息处理设备。这里的“连接”或“存在”表示信息处理设备不仅在物理上,而且在电气上和在功能上与网络9连接。
下文将MS管理器自身操作的信息处理设备称为自身设备,和将任何其它信息处理设备称为不同设备。此外,术语有关设备代表有关信息处理设备。
下面描述MS管理器确认存在与同一网络9连接的不同信息处理设备的方法。
MS管理器生成将状态请求命令指定为DMA命令和将有关信息处理设备指定为发送者ID和响应目的地ID,但不指定传送目的地ID的软件单元。然后,MS管理器将软件单元传送到有关信息处理设备与之连接的网络,并且,设置用于网络连接确认的计时器。计时器的超时(timeout)时间是,例如,10分钟。
如果不同信息处理设备与网络系统连接,然后,不同设备接收状态请求命令的软件单元,并且将DMA命令是状态返回命令和包括自身设备(不同设备)的设备信息的软件单元作为数据发送到接收软件单元的响应目的地ID指定的和已经发出状态请求命令的信息处理设备。状态返回命令的软件单元至少包括指定不同设备的信息(信息处理设备ID、与主处理器有关的信息、与辅处理器有关的信息等)和不同设备的MS状态。
已经发出状态请求命令的信息处理设备的MS管理器监督从网络上的不同设备传送的状态返回命令的软件单元的接收,直到用于网络连接确认的计时器出现超时为止。结果,如果接收到代表MS状态=0(主设备)的状态返回命令,那么,将自身设备的设备信息表中的MS状态设置成1。因此,有关设备变成从属设备。
另一方面,如果在用于网络连接确认的计时器出现超时之前的时间内,没有接收到状态返回命令,或者,如果没有接收到代表MS状态=0(主设备)的状态返回命令,那么,将自身设备的设备信息表中的MS状态设置成0。因此,有关设备变成主设备。
简而言之,如果在没有设备与网络9连接的状态下或在网络上不存在主设备的另一种状态下,使新信息处理设备与网络9连接,那么,有关设备被自动设置成主设备。另一方面,如果在网络9上已经存在主设备的又一种状态下,使新信息处理设备与网络9连接,那么,有关设备被自动设置成从属设备。
在主设备和从属设备的任何一种中,MS管理器周期性地在网络9上将状态请求命令传送给不同设备,查询有关状态信息,以便监督不同设备的状况。结果,当网络9的连接状态发生变化时,譬如,当对与网络9连接的信息处理设备供电的主电源被切断或信息处理设备与网络9断开,并且因此,在事先为鉴别而设的预定时间间隔内没有从特定不同设备返回状态返回命令时,信息被传送给后文所述的能力交换程序。
A-8.主设备和从属设备获取设备信息
如果主处理器21从MS管理器接收到查询与网络9连接的不同信息处理设备和完成自身设备的MS状态的设置的通知,那么,它执行能力交换程序。
如果自身设备是主设备,能力交换程序获取与网络9连接的所有不同信息处理设备的设备信息,即,所有从属设备的设备信息。
获取不同设备的设备信息可以这样进行,DMA命令生成并向不同设备传送状态请求命令的软件单元,然后,接收其DMA命令是状态返回命令并包括作为来自不同设备的数据的不同设备的设备信息的软件单元。
能力交换程序在自身设备的主存储器26中保证存储与网络9连接的所有不同设备(所有从属设备)的设备信息的区域,并且与作为主设备的自身设备的设备信息表类似地存储作为不同设备(从属设备)的设备信息表的信息。换句话说,包括自身设备在内的与网络9连接的所有信息处理设备的设备信息都作为设备信息表存储在主设备的主存储器26中。
另一方面,如果能力交换程序的自身设备是从属设备,那么,能力交换程序获取与网络9连接的所有不同设备的设备信息,即,主设备和除了自身设备之外的所有从属设备的设备信息,并且将包括在设备信息中的信息处理设备ID和MS状态记录到自身设备的主存储器26中。换句话说,在每个从属设备的主存储器26中,自身设备的设备信息被记录成设备信息表,除了自身设备之外的与网络9连接的所有主设备和从属设备的信息处理设备ID和MS状态被记录成不同设备信息表。
并且,在主设备和从属设备的任何一个中,当能力交换程序从如上所述的MS管理器接收到信息处理设备重新与网络9连接的通知时,它获取信息处理设备的设备信息并将设备信息登记到如上所述的主存储器26中。
应该注意到,MS管理器和能力交换程序不仅可以由主处理器21执行,而且可以由任何辅处理器23执行。并且,MS管理器和能力交换程序最好是在对信息处理设备供电的主电源可用的时候正常操作的驻留程序。
A-9.当信息处理设备与网络断开时
在主设备和从属设备的任何一个中,如果能力交换程序从MS处理器得到通知:对与网络9连接的信息处理设备供电的主电源已断开或信息处理设备与网络9已断开,那么,它从自身设备的主存储器26中删除信息处理设备的设备信息表。
并且,如果与网络9断开的信息处理设备是主设备,那么,通过如下方法重新确定另一个主设备。
例如,与网络9没有断开的那些信息处理设备的每一个将自身设备和不同设备的信息处理设备ID置换入数值,并且将自身设备的信息处理设备ID与不同设备的信息处理设备ID相比较。如果自身设备的信息处理设备ID在与网络9没有断开的信息处理设备当中呈现出最低值,那么从属设备将自身改变成主设备并将MS状态设置成0。然后,它就起主设备的作用,并且获取与网络9连接的所有不同设备(从属设备)的设备信息并将它们记录到如上所述的主存储器26中。
A-10.基于设备信息的分布式处理
为了使与网络9连接的多个信息处理设备1、2、3、和4起如图5的下部所示的虚拟单个信息处理设备7的作用,主设备有必要掌握用户的操作和从属设备的操作状态。
图7示出了在4个信息处理设备起虚拟单个信息处理设备7作用的状态下的该4个信息处理设备。在如图的例子中,信息处理设备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中的设备信息表,读出各个信息处理设备的设备信息。这里的设备信息是指包括如图4所示的信息处理设备ID的条目和随后的条目的信息条目,并且是与主处理器、辅处理器、主存储器、和外部记录部分有关的信息。
包括在主设备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的整个网络系统的分布式处理被启动,并且,从属设备A首先将操作信息传送到主设备1(步骤81)。
主设备1接收操作信息(步骤72),并从记录在自身设备的主存储器26-1中的自身设备和不同设备的设备信息表中检验信息处理设备的操作状态。因此,主设备选择可以执行与接收的操作信息相对应的功能程序的信息处理设备(步骤73)。在如图8所示的例子中,例示了从属设备B被选择。
然后,主设备1将执行功能程序的请求发送给所选从属设备B(步骤74)。
从属设备B接收执行请求(步骤95)并执行被请求执行的功能程序(步骤96)。
这样,如果用户只操作信息处理设备之一,就可以使多个信息处理设备1、2、3、和4起虚拟单个信息处理设备7的作用,无需操作任何一个其它信息处理设备。
A-11.信息处理设备和系统的具体例子
只有当像如上所述那样的信息处理控制器11、12、13或14进行信息处理时,通过网络9相互连接的信息处理设备1、2、3和4的每一个基本上可以具有任意配置。图9示出了信息处理设备的配置例子。
包括信息处理控制器11的信息处理设备1的例子是硬盘记录器。图10和11分别示出了如图9所示的硬盘记录器的硬件配置和软件配置。参照图10,所示的信息处理设备1包括用作如图1所示的外部记录部分28-1的内置硬盘作为其硬件配置。信息处理设备1还包括其中可以装入诸如DVD±R/RW、CD±R/RW、Bluray-Disc(注册商标)等的光盘的如图1所示的外部记录部分28-2。信息处理设备1还包括与总线31-1连接的广播接收部分32-1、图像输入部分33-1、声音输入部分34-1、图像输出部分35-1、声音输出部分36-1、操作面板部分37-1、遥控光接收部分38-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连接。
像如图11所示的软件配置那样,信息处理设备(硬盘记录器)1和2,即,信息处理控制器11和12包括作为控制程序的MS管理器和能力交换程序。并且,信息处理控制器11和12包括作为功能程序的用于图像和声音记录、图像和声音再现、素材搜索和节目记录预约的程序。此外,信息处理控制器11和12还包括作为设备驱动器的用于广播接收、图像输出、声音输出、外部记录部分输入/输出、和网络输入/输出的程序。
包括信息处理控制器13的信息处理设备3的例子是PDA(个人数字助理)。图12示出了构成PDA的信息处理设备3的硬件配置。参照图12,在所示的例子中,信息处理设备3包括其中可以装入存储卡式盘的如图1所示的外部记录部分28-5。信息处理设备3还包括与总线51连接的液晶显示部分52、声音输出部分53、摄像机部分54、声音输入部分55、键盘部分56和网络连接部分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)24-7、24-8和24-9。
图13示出了信息处理设备(PDA)3,即,信息处理控制器13的软件配置。参照图13,信息处理控制器13包括作为控制程序的MS管理器和能力交换程序。并且,信息处理控制器13包括作为功能程序的用于图像和声音记录、图像和声音再现、电话目录、字处理器和电子表格的程序、并且包括万维网浏览器。此外,信息处理控制器13还包括作为设备驱动器的用于图像输出、声音输出、摄像机图像输入、麦克风声音输入和网络输入/输出的程序。
包括信息处理控制器14的信息处理设备4是便携式CD播放器。图14示出了便携式CD播放器的硬件配置。参照图14,便携式CD播放器包括其中可以装入CD(激光唱盘)的如图1所示的外部记录部分28-6。便携式CD播放器还包括与总线61连接的液晶显示部分62、声音输出部分63、操作按钮部分64和网络连接部分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包括本地存储器22-4,辅处理器23-10、23-11和23-12分别包括本地存储器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中的设备信息表。
下面描述:当在这种状态下,为了记录预约两个小时的广播节目,用户操作作为从属设备的信息处理设备3时,图9所示的网络系统的操作。
在这种情况下,作为从属设备的信息处理设备3接受包括记录开始时间、记录结束时间、记录对象广播信道和记录画面质量的信息在内的记录预约信息的输入,并且生成包括记录预约信息和作为DMA命令的记录预约命令的软件单元。然后,信息处理设备3将生成的软件单元传送到作为主设备的信息处理设备1。
包括在接收其DMA命令是记录预约命令的软件单元的信息处理设备1中的信息处理控制器11中的主处理器21-1读出记录预约命令,并且参照主存储器26-1中的设备信息表以指定可以执行记录预约命令的信息处理设备。
首先,主处理器21-1读出包括在设备信息表中的信息处理设备1、2、3、和4的信息处理设备类型ID,以便提取可以执行与记录预约命令相对应的功能程序的那些信息处理设备。这里,信息处理设备类型ID指示记录功能的信息处理设备1和2被指定为候选设备,而信息处理设备3和4被排除在候选设备之外。
包括在作为主设备的信息处理设备1中的信息处理控制器11中的主处理器21-1参照设备信息表。然后,主处理器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将包括从用户操作的信息处理设备3传送的记录预约信息的记录预约命令传送到信息处理设备2,以请求信息处理设备2记录预约如上所述的两个小时的广播节目。
然后,包括在信息处理设备2中的信息处理控制器12中的主处理器21-2分析记录预约命令,并且将记录所需的功能程序从作为外部记录部分的硬盘28-3装入主存储器26-2中。然后,主处理器21-2按照记录预约信息执行记录。结果,为记录预约的两个小时的广播节目的图像和声音数据被记录在信息处理设备2的硬盘28-3上。
这样,在如图9所示的网络系统中,用户只操作信息处理设备之一,也可以使多个信息处理设备1、2、3、和4只起虚拟单个信息处理设备7的作用,而无需操作任何其它信息处理设备。
B.虚拟单个信息处理设备扩展功能的实现
如上所述,根据本发明,虚拟单个信息处理设备可以通过由网络相互连接的多个信息处理设备的协作来实现。
根据本发明的另一个实施例,构成虚拟单个信息处理设备的至少一个信息处理设备含有在它的物理存储设备的物理存储空间上形成的开放区,以便使一个不同信息处理设备可以使用开放区。物理存储设备包括主存储器和其它本地存储器、诸如硬盘之类的外部存储设备、和对其分配到与自身设备本地连接的不同设备的输入和从与自身设备本地连接的不同设备的输出的I/O空间。因此,像如上所述那样的信息资源可以由相互协作的信息处理设备共享。
信息资源的这种共享通过与请求开放区的信息处理设备和提供开放区的另一个信息处理设备之间的请求和许可响应有关的预定握手处理实现。握手过程可以包括这样的信息处理设备之间的相互验证的处理等。
每个信息处理设备包括如上所述的一个或多个物理存储设备。通常,将每个物理存储设备的物理存储空间,即,物理段地址映射到逻辑存储空间,即,虚拟地址空间,以便在物理地址空间上进行处理的执行。在本实施例中,如果允许信息处理设备使用来自另一不同信息处理设备的开放区,那么,信息处理设备将存在于该不同信息处理设备的物理地址空间中的开放区映射到自身设备的虚拟地址空间,并且使用自身设备的虚拟地址空间以及存在于不同信息处理设备的物理地址空间中的开放区。换句话说,信息处理设备将从该不同信息处理设备获得的开放区的物理段地址映射到自身设备的虚拟地址空间的虚拟段地址,并且使用自身设备的虚拟地址空间的虚拟段地址以及从该不同信息处理设备获得的开放区的物理段地址。
段转换的机制像后文所述的那样。具体地说,向不同信息处理设备提供开放区的信息处理设备将开放区地址分配给分配给它的物理存储空间上的开放区的物理段地址。在网络上,即,在虚拟信息处理设备上,每个开放区地址被表示成由唯一标识信息处理设备的信息处理设备ID构成的目的地ID和信息处理设备上的开放区地址的组合。另一方面,使用由另一不同信息处理设备提供的开放区的信息处理设备将由目的地ID和信息处理设备本身上的开放区地址的组合构成的地址表示转换成虚拟段地址。
提供开放区的信息处理设备和使用开放区的信息处理设备两者的段转换部分通过网络协同操作。于是,使用开放区的信息处理设备只能使用虚拟段地址以相互等效地访问自身设备中的本地存储器和不同信息处理设备的开放区两者。换句话说,等效处理通过网络远程设置的开放区,从而可以与自身设备中的本地存储器没有任何区别地访问它。
例如,如果某个信息处理设备发出访问映射在虚拟地址空间中的另一不同信息处理设备的开放区的请求,那么,将访问请求的对象的虚拟段地址转换成包括目的地ID和开放区地址的地址表示,并且,向目的地ID所指定的信息处理设备发出访问请求。
接收访问请求的信息处理设备将开放区地址转换成自身设备中的物理段地址,并且可以从有关物理段中获取数据。此后,将物理段转换成开放区地址,并且,将利用目的地ID和开放区地址获得的数据返回给请求源的信息处理设备。作为请求源的信息处理设备将目的地ID和开放区地址转换成虚拟段地址,并且将虚拟段地址作为从虚拟段获得的数据返回给请求源的应用等。
应该注意到,含有在其中形成开放区的信息处理设备可以划分其开放区,并且同时将使用许可发布给多个不同信息处理设备。并且,信息处理设备可以发出使用两个或更多个不同信息处理设备形成的开放区的请求,并同时使用允许使用的两个或更多个信息处理设备的开放区。
图16示意性地示出了根据本发明另一个实施例的网络系统的配置。
参照图16,在所示的网络系统中,通过诸如家用网络之类的局域网130相互连接的诸如顶置盒(STB)和AV设备之类的多个信息处理设备110、111相互协作,以构成单个虚拟信息处理设备120。在这样的情况下,如果以分布方式保存在两个或更多个信息处理设备110和111中的信息处在开放区中,那么,在用户看来,可以将信息当作虚拟地由单个设备保留的信息来处理。
现在,参照图18和19描述信息处理设备形成开放区的处理。
信息处理设备将,例如,操作系统不使用的主存储器的未用区分配成开放区。然后,信息处理设备将开放区地址分配给分配给主存储器上的开放区的物理段地址。每个开放区地址被表示成网络上,即,虚拟信息处理设备上的目的地ID和信息大小编号的组合。目的地ID由唯一标识信息处理设备的信息处理设备ID构成。
另一方面,在其主存储器中没有未用区的信息处理设备向另一不同信息处理设备发出使用开放区的请求。如果允许使用请求并可以获得开放区,那么,信息处理设备将每一个由目的地ID和信息大小编号的组合构成的开放区地址转换成虚拟段地址,并且,将开放区置入虚拟地址空间中。结果,在信息处理设备上,通过网络远程设置的开放区变为等效的。因此,信息处理设备可以与其物理存储器没有任何区别地访问开放区。
例如,如果管理包括开放数据和非开放数据的各种数据的诸如服务器之类的设备在开放区中保存开放数据,那么,可以容易地实现与通过与信息处理设备的协作虚拟地起单个设备作用的不同信息处理设备的信息共享(参照图19)。具体地说,服务器向客户机开放它的信息和区域,客户机可以读出服务器开放的信息或区域,并且在执行它的处理时使用读出的信息。此外,客户机也可以用作代表(representative)服务器,并向不同客户机开放它的信息或区域。
图20例示了与网络连接并相互协作的两个顶置盒(STB:STB(a)和STB(b))之一,即,顶置盒STB(a)用作服务器,而另一个顶置盒STB(b)用作客户机的方式。顶置盒STB(b)的信息被映射在顶置盒STB(a)中。
形成开放区的信息处理设备可以划分它的开放区,以便同时允许多个不同信息处理设备使用。图21例示了顶置盒STB(a)允许两个顶置盒STB(b)和顶置盒STB(c)使用其开放区的方式。
并且,信息处理设备可以发出使用两个或更多个不同信息处理设备形成的开放区的请求,并使用允许使用的两个或更多个信息处理设备的开放区。图22例示了顶置盒STB(b)使用两个顶置盒STB(a)和顶置盒STB(c)允许使用的开放区的方式。
相互协作以形成单个虚拟信息处理设备的信息处理设备像如上所述那样共享信息资源是通过与请求开放区的信息处理设备和提供开放区的另一个信息处理设备之间的请求和许可响应有关的预定握手过程实现的。下面参照图23描述握手过程。
提供开放区的顶置盒STB(a)事先设置存储空间上要开放的区域和开放目的地的信息处理设备ID(步骤S11和步骤S12)。
试图使用开放区的顶置盒STB(b)检查未用区(步骤S21)。
然后,顶置盒STB(b)向顶置盒STB(a)发出区域开放请求(步骤S22)。区域开放请求描述要使用的存储器大小。
响应该请求,顶置盒STB(a)根据顶置盒STB(b)的信息处理设备ID,执行顶置盒STB(b)是否是事先设置的开放目的地的验证处理(步骤S13)。
这里,如果顶置盒STB(b)是对象开放目的地,那么,顶置盒STB(a)返回区域开放许可响应(步骤S14)。在这种情况下,顶置盒STB(a)生成在自身设备的物理存储空间中形成的开放区的物理段地址和每一个由目的地ID和开放区大小组成的开放区地址之间的映射表。
另一方面,如果顶置盒STB(b)不是对象开放目的地,那么,顶置盒STB(a)将区域开放禁止响应返回给顶置盒STB(b)(步骤S15)。
顶置盒STB(b)检查来自顶置盒STB(a)的请求响应指示许可还是禁止(步骤S23)。如果响应指示许可,那么,顶置盒STB(b)生成每一个由目的地ID和开放区大小组成的开放区地址和在虚拟存储空间中的开放区中分配的虚拟段之间的映射表(步骤S24)。另一方面,如果请求响应指示禁止,或如果响应出现错误,那么,顶置盒STB(b)确定映射结果失败,并且非正常结束(异常结束)处理规程(步骤S25)。
目的地ID+开放区大小和虚拟段之间的映射表是通过将指示作为开放区的提供源的信息处理设备的目的地ID和数据长度转换成虚拟地址空间上的地址号,即,虚拟段地址形成的。
图24例示了操作序列。当按照上面参照图23所述的交换信号过程允许在顶置盒STB(a)和顶置盒STB(b)之间使用开放区时,将顶置盒STB(a)的物理存储空间上的开放空间分配给顶置盒STB(b)的虚拟存储空间。
顶置盒STB(b)向顶置盒STB(a)发出指定要使用的存储器大小的区域开放请求,顶置盒STB(a)发出许可响应。
顶置盒STB(a)生成在自身设备的物理存储空间中形成的开放区的物理段地址和每一个由目的地ID和开放区大小组成的开放区地址之间的映射表。
顶置盒STB(b)生成每一个由目的地ID和开放区大小组成的开放区地址和虚拟存储空间中分配给开放区的虚拟段之间的映射表。
图25A和25B示意性地示出了映射表的配置。参照图25A,顶置盒STB(a)的映射表描述在自身设备的物理存储空间中形成的开放区的物理段地址和每一个由目的地ID和开放区大小组成的开放区地址之间的对应关系。同时,图25B中,顶置盒STB(b)的映射表描述每一个由目的地ID和开放区大小组成的开放区地址和在自身设备的虚拟存储空间中分配给开放区的虚拟段之间的对应关系。
在引用像如上所述那样的映射表的情况下,顶置盒STB(b)可以处理提供开放区的顶置盒STB(a)的信息,就如同该信息是自身设备的主存储器或外部存储设备上的信息。同时,顶置盒STB(a)可以按照指定开放区地址的访问请求,从有关物理段地址中获取数据,并且将获得的数据返回给请求源。
图26例示了顶置盒STB(b)为了访问顶置盒STB(a)的开放区而进行的操作序列。
如果在顶置盒STB(b)中生成访问映射在虚拟地址空间中的顶置盒STB(a)的开放区的请求,那么,顶置盒STB(b)首先将访问请求的对象的虚拟段地址转换成包括目的地ID和段号的开放区地址表示。然后,顶置盒STB(b)向由目的地ID指定的顶置盒STB(a)发出访问请求。
顶置盒STB(a)根据开放区地址的目的地ID识别到访问请求指向自身设备的开放区,并且将开放区地址的段号转换成物理段地址。然后,顶置盒STB(a)从有关物理段获取数据。然后,顶置盒STB(a)将物理段地址转换回到包括目的地ID和段号的开放区地址,并且将开放区地址作为利用目的地ID和开放区地址获得的数据返回给作为请求源的顶置盒STB(b)。
信息处理设备STB(b)将目的地ID和开放区地址转换成虚拟段地址,并且将虚拟段地址作为从虚拟段中获得的数据返回给请求源的应用等。
图27例示了顶置盒STB(b)的存储器访问过程。下面参照图27描述根据段转换机制访问存储器的开放区的机制。
假设在顶置盒STB(b)中生成,例如,在主处理器中操作的程序或在辅处理器中操作的程序对数据的访问请求。这里的数据包括程序代码和程序代码使用的数据两者。
对数据的访问请求通常指定虚拟段地址。将虚拟段地址转换成物理段地址,并且,如果物理段地址代表主存储器上的地址,那么,直接存储器访问控制器(DMAC)用于进行存储器访问,以便从有关物理存储段中获取数据。
另一方面,如果对数据的访问请求的对象的虚拟段地址代表诸如硬盘之类的外部存储设备上的段(扇区),盘控制器(DC)用于访问盘,以便从有关盘中获取数据。
并且,如果对数据的访问请求的对象的虚拟段地址代表辅处理器的本地存储器上的物理段地址,通过有关辅处理器访问本地存储器,以便从有关物理存储段中获取数据。
另一方面,如果对数据的访问请求的对象的虚拟段地址代表开放区地址,那么,目的地ID/段转换部分将访问请求的对象的虚拟段地址转换成包括目的地ID和段号的开放区地址表示。然后,将访问请求发送到由目的地ID指定的顶置盒STB(a)。
另一方面,顶置盒STB(a)根据开放区地址的目的地ID识别到接收的访问请求指向自身设备中的开放区,并且,目的地ID/段转换部分将访问请求的对象的开放区地址的段号转换成物理段地址。
如果物理段地址代表主存储器上的段,那么,直接存储器访问控制器(DMAC)用于进行存储器访问,以便从有关物理存储段中获取数据。
如果对数据的访问请求的对象的虚拟段地址代表诸如硬盘之类的外部存储设备上的段(扇区),盘控制器(DC)用于进行存储器访问,以便从有关扇区中获取数据。
然后,目的地ID/段转换部分将物理段地址转换回到包括目的地ID和段号的开放区地址,并且将利用目的地ID和开放区地址获得的数据返回给作为请求源的顶置盒STB(b)。
在顶置盒STB(b)侧,目的地ID/段转换部分将目的地ID和开放区地址转换成虚拟段地址,并且将虚拟段地址作为从虚拟段中获得的数据返回给请求源的程序。
这样,由于通过网络相互协作和起单个虚拟信息处理设备作用的顶置盒STB(a)和顶置盒STB(b)的目的地ID/段转换部分在网络上相互协同操作,使顶置盒STB(b)使用的顶置盒STB(a)的开放区变成等效的,并且,可以与自身设备中的物理存储器没有任何区别地访问该开放区。
虽然利用特定术语对本发明的优选实施例作了描述,但这样的描述只是用于例示的目的,应该明白,可以在不偏离所附权利要求书的精神或范围的情况下,作出各自各样的改变和改正。

Claims (22)

1.一种信息处理系统,包括:
多个信息处理设备,以下述的方式通过网络相互连接,其相互协作以虚拟地形成单个虚拟信息处理设备;其中,
每个信息处理设备包括物理存储设备,和
所述信息处理设备的至少一个是可操作的,以便在其所述物理存储设备的物理存储空间上形成允许不同信息处理设备使用的开放区,并响应于来自任何一个不同信息处理设备的使用开放区的请求而允许使用该开放区。
2.根据权利要求1所述的信息处理系统,其中,有开放区在其中形成的信息处理设备可以允许两个或更多个不同信息处理设备使用开放区。
3.根据权利要求1所述的信息处理系统,其中,每个所述信息处理设备可以发出使用由两个或更多个不同信息处理设备形成的开放区的请求,并同时使用允许使用的这两个或更多个不同信息处理设备的开放区。
4.根据权利要求1所述的信息处理系统,其中,每个所述信息处理设备包括一个或多个物理存储设备和把每个物理存储设备的物理存储空间映射到逻辑存储空间中的存储空间转换部分,并根据一个或几个逻辑存储空间进行处理,并且,每个所述信息处理设备的所述存储空间转换部分将任何一个不同信息处理设备允许使用的开放区的物理存储空间映射到信息处理设备的逻辑存储空间。
5.根据权利要求4所述的信息处理系统,其中,向不同信息处理设备提供开放区的第一信息处理设备的第一存储空间转换部分将开放区地址分配给物理存储空间上的开放区的物理地址,使用第一信息处理设备提供的开放区的第二信息处理设备的第二存储空间转换部分将逻辑存储空间上的逻辑地址分配到开放区的开放区地址。
6.根据权利要求5所述的信息处理系统,其中,当第二信息处理设备发出访问在逻辑存储空间中映射的第一信息处理设备的开放区的请求时,第二存储空间转换部分将访问请求的对象的逻辑地址转换成开放区地址,所述第一存储空间转换部分将开放区地址转换成第一信息存储设备的物理地址,以访问物理存储空间。
7.根据权利要求6所述的信息处理系统,其中,第一存储空间转换部分将从分配给开放区的物理地址中获得的数据作为开放区地址上的数据返回给第二存储空间转换部分,第二存储空间转换部分将开放区地址上的数据作为逻辑地址上的数据返回给访问请求源。
8.根据权利要求1所述的信息处理系统,其中,每个所述信息处理设备在操作系统不使用的所述物理存储设备的空间中形成开放区。
9.根据权利要求1所述的信息处理系统,其中,每个所述信息处理设备在处理器使用的主存储器或与所述处理器本地连接的本地存储器的存储空间上形成开放区。
10.根据权利要求1所述的信息处理系统,其中,每个所述信息处理设备在与之本地连接的外部存储设备的存储空间上形成开放区。
11.根据权利要求1所述的信息处理系统,其中,每个所述信息处理设备在对其分配从与信息处理设备本地连接的每个设备的输入和至与该信息处理设备本地连接的每个设备的输出的输入/输出存储空间上形成开放区。
12.一种信息处理设备,起单个虚拟信息处理设备的部件作用,所述单个虚拟信息处理设备是通过所述信息处理设备与通过网络与之连接的一个或多个不同信息处理设备的协作形成的,所述信息处理设备包括:
物理存储空间;
在所述物理存储空间上形成的开放区,允许不同信息处理设备使用;和
开放区使用控制部分,响应于来自任何一个不同信息处理设备的使用所述开放区的请求,允许使用所述开放区。
13.根据权利要求12所述的信息处理设备,还包括开放区使用请求部分,发出使用任何一个不同信息处理设备的开放区的请求。
14.根据权利要求13所述的信息处理设备,其中,所述物理存储空间由一个或多个物理存储设备形成,所述信息处理设备还包括把每个不同物理存储设备的物理存储空间映射到逻辑存储空间中的存储空间转换部分,所述信息处理设备根据一个或几个逻辑存储空间进行处理,所述存储空间转换部分将开放区地址分配给允许任何一个不同信息处理设备使用的开放区的物理地址,所述存储空间转换部分还将逻辑地址分配给任何一个不同信息处理设备允许使用的开放区地址。
15.根据权利要求14所述的信息处理设备,其中,当从任何一个不同信息处理设备接收到访问开放区的请求时,所述存储空间转换部分将访问请求的对象的开放区地址转换成物理地址,并且返回从所述物理存储空间的物理地址中提取的数据,作为开放区地址上的数据。
16.根据权利要求14所述的信息处理设备,其中,访问请求的对象的逻辑地址是任何一个不同信息处理设备允许使用的开放区中的地址,所述存储空间转换部分将访问请求的对象的逻辑地址转换成开放区地址,并且向有关不同信息处理设备发出访问请求,然后,将有关不同信息处理设备返回的开放区地址上的数据转换成逻辑地址,并且将逻辑地址返回给访问请求源。
17.根据权利要求12所述的信息处理设备,其中,在操作系统不使用的所述物理存储设备的空间中形成开放区。
18.根据权利要求12所述的信息处理设备,其中,在处理器使用的主存储器或与所述处理器本地连接的本地存储器的存储空间上形成开放区。
19.根据权利要求12所述的信息处理设备,其中,在与之本地连接的外部存储设备的存储空间上形成开放区。
20.根据权利要求12所述的信息处理设备,其中,在对其分配从与之本地连接的每个设备的输入和至与之本地连接的每个设备的输出的输入/输出存储空间上形成开放区。
21.一种使信息处理设备起单个虚拟信息处理设备的部件作用的信息处理方法,所述单个虚拟信息处理设备是通过所述信息处理设备与通过网络与之连接的一个或多个不同信息处理设备的协作形成的,所述信息处理设备具有在上面形成允许不同信息处理设备使用的开放区的物理存储空间,所述信息处理方法包括如下步骤:
允许任何一个不同信息处理设备使用所述开放区;
将开放区地址分配给允许任何一个不同信息处理设备使用的开放区的物理地址;
当从任何一个不同信息处理设备接收到访问开放区的请求时,将访问请求的对象的开放区地址转换成物理地址;和
返回从物理存储空间的物理地址中提取的数据,作为开放区地址上的数据。
22.一种使信息处理设备起单个虚拟信息处理设备的部件作用的信息处理方法,所述单个虚拟信息处理设备是通过所述信息处理设备与通过网络与之连接的一个或多个不同信息处理设备的协作形成的,任何一个所述不同信息处理设备都具有在其物理存储空间上形成的开放区,所述信息处理方法包括如下步骤:
向有关不同信息处理设备发出使用所述开放区的请求;
响应于使用请求的许可,将逻辑地址分配给允许使用的开放区地址;
当访问请求的对象的逻辑地址对应于有关不同信息处理设备允许使用的开放区时,将访问请求的对象的逻辑地址转换成开放区地址并向有关不同信息处理设备发出访问请求;和
将有关不同信息处理设备返回的开放区地址上的数据转换成逻辑地址并将逻辑地址返回给访问请求源。
CNB2005100525161A 2004-02-26 2005-02-28 信息处理系统及信息处理方法 Expired - Fee Related CN1312592C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004050651A JP2005242598A (ja) 2004-02-26 2004-02-26 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP050651/2004 2004-02-26

Publications (2)

Publication Number Publication Date
CN1661570A CN1661570A (zh) 2005-08-31
CN1312592C true CN1312592C (zh) 2007-04-25

Family

ID=34879596

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100525161A Expired - Fee Related CN1312592C (zh) 2004-02-26 2005-02-28 信息处理系统及信息处理方法

Country Status (4)

Country Link
US (1) US20050193085A1 (zh)
JP (1) JP2005242598A (zh)
KR (1) KR20060043201A (zh)
CN (1) CN1312592C (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100662120B1 (ko) * 2003-10-20 2006-12-27 엘지전자 주식회사 홈 네트워킹에 의한 가전기기의 메모리 공용방법
US8261341B2 (en) * 2005-01-27 2012-09-04 Nokia Corporation UPnP VPN gateway configuration service
JP2007148520A (ja) * 2005-11-24 2007-06-14 Hitachi Ltd 情報通知方法及び計算機システム
JP4402051B2 (ja) * 2006-01-16 2010-01-20 株式会社ソニー・コンピュータエンタテインメント データ処理システムおよびデータ処理方法
CN101326501B (zh) * 2006-04-06 2010-12-15 索尼株式会社 电桥、处理器单元、信息处理装置以及存取控制方法
JP4982740B2 (ja) * 2006-06-21 2012-07-25 国立大学法人京都大学 計算機、組織構築装置、及び計算機の制御方法
JP4978109B2 (ja) * 2006-08-10 2012-07-18 富士通株式会社 ネットワークシステム及び情報処理方法
US20080077650A1 (en) * 2006-08-29 2008-03-27 Jared Matthew A Method and apparatus for transferring data between a home networked device and a storage system
US7822935B2 (en) * 2007-05-03 2010-10-26 Sandisk Il Ltd. Methods for data-smuggling
US8315999B2 (en) 2007-08-29 2012-11-20 Nirvanix, Inc. Policy-based file management for a storage delivery network
JP5116497B2 (ja) * 2008-01-31 2013-01-09 株式会社日立製作所 情報処理システム、i/oスイッチ及びi/oパスの交替処理方法
JP2009205189A (ja) * 2008-02-26 2009-09-10 Buffalo Inc フォルダ管理方法
US8914829B2 (en) * 2009-09-14 2014-12-16 At&T Intellectual Property I, Lp System and method of proactively recording to a digital video recorder for data analysis
US8938761B2 (en) * 2009-09-14 2015-01-20 At&T Intellectual Property I, Lp System and method of analyzing internet protocol television content credits information
KR101024549B1 (ko) * 2009-10-07 2011-03-31 삼성중공업 주식회사 로봇 제어기의 조인트 맵핑 시스템
JP2011193410A (ja) * 2010-03-17 2011-09-29 Toshiba Corp 放送受信装置
CN101957729B (zh) * 2010-09-27 2014-07-02 中兴通讯股份有限公司 逻辑块变换方法及基于该方法兼容用户读写的方法和装置
KR101748318B1 (ko) * 2010-11-22 2017-06-27 삼성전자 주식회사 휴대 단말기의 어플리케이션 실행 방법 및 장치
KR101678756B1 (ko) * 2012-03-19 2016-11-23 닛본 덴끼 가부시끼가이샤 통신 시스템, 제어 장치, 통신 장치 및 정보 중계 방법
CN102708063B (zh) * 2012-04-25 2016-02-24 北京天地云箱科技有限公司 磁盘空间管理方法及装置
CN103678428B (zh) * 2012-09-26 2018-08-31 联想(北京)有限公司 一种文件系统的创建方法及装置
CN103853670A (zh) * 2012-11-28 2014-06-11 联想(北京)有限公司 一种信息处理方法及电子设备
CN107220503A (zh) * 2017-05-31 2017-09-29 上海联影医疗科技有限公司 信息处理方法与信息处理系统
WO2020192925A1 (en) * 2019-03-28 2020-10-01 Huawei Technologies Co., Ltd. Apparatus for core specific memory mapping
KR20210103228A (ko) 2020-02-13 2021-08-23 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
CN114466012B (zh) * 2022-02-07 2022-11-25 北京百度网讯科技有限公司 内容初始化方法、装置、电子设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895928A (ja) * 1994-09-21 1996-04-12 Kyushu Nippon Denki Software Kk メモリ共有方式
US5619671A (en) * 1993-04-19 1997-04-08 International Business Machines Corporation Method and apparatus for providing token controlled access to protected pages of memory
US5724551A (en) * 1996-05-23 1998-03-03 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries include storage keys for controlling accesses to the buffers
CN1327198A (zh) * 2000-05-31 2001-12-19 国际商业机器公司 用于分区处理环境的异构客户服务器方法,系统和程序产品
JP2002342165A (ja) * 2001-03-22 2002-11-29 Sony Computer Entertainment Inc コンピュータ処理システム及びコンピュータで実行される処理方法
JP2002351850A (ja) * 2001-03-22 2002-12-06 Sony Computer Entertainment Inc プロセッサでのデータ処理方法及びデータ処理システム
JP2002358289A (ja) * 2001-03-22 2002-12-13 Sony Computer Entertainment Inc プロセッサ装置内で一時的に専用パイプラインを設定する方法及びシステム
JP2002366533A (ja) * 2001-03-22 2002-12-20 Sony Computer Entertainment Inc コンピュータ・ネットワーク及びコンピュータ可読媒体
JP2002366534A (ja) * 2001-03-22 2002-12-20 Sony Computer Entertainment Inc コンピュータ・プロセッサ及び処理装置
CN1405679A (zh) * 2001-04-26 2003-03-26 德克萨斯仪器股份有限公司 多处理器对象控制

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5619671A (en) * 1993-04-19 1997-04-08 International Business Machines Corporation Method and apparatus for providing token controlled access to protected pages of memory
JPH0895928A (ja) * 1994-09-21 1996-04-12 Kyushu Nippon Denki Software Kk メモリ共有方式
US5724551A (en) * 1996-05-23 1998-03-03 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries include storage keys for controlling accesses to the buffers
CN1327198A (zh) * 2000-05-31 2001-12-19 国际商业机器公司 用于分区处理环境的异构客户服务器方法,系统和程序产品
JP2002342165A (ja) * 2001-03-22 2002-11-29 Sony Computer Entertainment Inc コンピュータ処理システム及びコンピュータで実行される処理方法
JP2002351850A (ja) * 2001-03-22 2002-12-06 Sony Computer Entertainment Inc プロセッサでのデータ処理方法及びデータ処理システム
JP2002358289A (ja) * 2001-03-22 2002-12-13 Sony Computer Entertainment Inc プロセッサ装置内で一時的に専用パイプラインを設定する方法及びシステム
JP2002366533A (ja) * 2001-03-22 2002-12-20 Sony Computer Entertainment Inc コンピュータ・ネットワーク及びコンピュータ可読媒体
JP2002366534A (ja) * 2001-03-22 2002-12-20 Sony Computer Entertainment Inc コンピュータ・プロセッサ及び処理装置
CN1405679A (zh) * 2001-04-26 2003-03-26 德克萨斯仪器股份有限公司 多处理器对象控制

Also Published As

Publication number Publication date
US20050193085A1 (en) 2005-09-01
KR20060043201A (ko) 2006-05-15
CN1661570A (zh) 2005-08-31
JP2005242598A (ja) 2005-09-08

Similar Documents

Publication Publication Date Title
CN1312592C (zh) 信息处理系统及信息处理方法
CN100534159C (zh) 信息处理系统以及信息处理方法
CN100370450C (zh) 网络系统、分布式处理方法和信息处理装置
WO2005076131A1 (ja) 情報処理装置、情報処理方法、情報処理システムおよび情報処理用プログラム
CN100424681C (zh) 信息处理系统、信息处理方法和其使用的计算机程序
CN100412854C (zh) 信息处理系统和信息处理方法
TW200536394A (en) Content processing system, contents processing method, and computer readable medium that stores computer program
CN100440198C (zh) 信息处理系统和方法
KR101089857B1 (ko) 콘텐츠 재생 장치, 콘텐츠 기록 장치, 네트워크 시스템, 및콘텐츠 기록·재생 방법
CN100410918C (zh) 信息处理装置、系统和方法
JP4349189B2 (ja) ネットワークシステム、番組録画予約方法および情報処理装置
JP2005252402A (ja) コンテンツ記録システム及びコンテンツ記録方法、並びにコンピュータ・プログラム
JP2005339401A (ja) 情報処理装置及びその制御方法、情報処理コントローラ、情報処理ユニット及びその制御方法、並びにコンピュータプログラム
JP2005267150A (ja) 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP2006013592A (ja) ネットワークシステム、情報処理装置、情報処理方法、並びにプログラム
KR20060071069A (ko) 정보 처리 장치, 정보 처리 방법, 정보 처리 시스템 및정보 처리용 컴퓨터 프로그램
JP2005293418A (ja) 情報処理装置、ネットワークシステム、処理能力呈示方法および処理能力呈示用プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee