CN1144426C - 信息处理设备 - Google Patents
信息处理设备 Download PDFInfo
- Publication number
- CN1144426C CN1144426C CNB01803070XA CN01803070A CN1144426C CN 1144426 C CN1144426 C CN 1144426C CN B01803070X A CNB01803070X A CN B01803070XA CN 01803070 A CN01803070 A CN 01803070A CN 1144426 C CN1144426 C CN 1144426C
- Authority
- CN
- China
- Prior art keywords
- personal computer
- network
- priority order
- ieee
- priority
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 6
- 238000013475 authorization Methods 0.000 claims description 13
- 238000003672 processing method Methods 0.000 claims description 4
- 230000008676 import Effects 0.000 claims description 3
- 238000010937 topological data analysis Methods 0.000 description 56
- 238000012545 processing Methods 0.000 description 26
- 238000003860 storage Methods 0.000 description 19
- 230000004044 response Effects 0.000 description 10
- 238000000034 method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000036541 health Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 102000006479 Heterogeneous-Nuclear Ribonucleoproteins Human genes 0.000 description 1
- 108010019372 Heterogeneous-Nuclear Ribonucleoproteins Proteins 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 210000005224 forefinger Anatomy 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/20—Hop count for routing purposes, e.g. TTL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0012—High speed serial bus, e.g. IEEE P1394
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及信息处理设备。在遵从IEEEE1394标准的网络系统中,其中含有一种器件的个人计算机获得访问该器件的访问权。优先级确定模块203的拓扑分析单元221确定对与网络相连接的自身设备的访问权的优先级次序,和让优先级存储器222存储预定优先级次序。当网络上的另一个设备请求访问权时,CPU204通过IEEE1394网络获得GUID,和将获得的GUID与具有存储在优先级存储器222中的第一优先级次序的设备的GUID相比较。如果GUID相互一致,CPU204就把访问权授予其它设备。
Description
发明领域
本发明涉及信息处理设备,尤其涉及获得在由IEEE(电气电子工程师学会)1394高速串行总线组成的网络上访问另一个预定信息处理设备的访问权的信息处理设备。
背景技术
应用SBP2(串行总线协议2)的网络现在正得到广泛使用。SBP2是通信协议标准之一,在基于IEEE 1394高速串行总线(下文简称为IEEE 1394)标准的互连中被认为是最佳标准。
图1显示了其中遵从SBP2的个人计算机通过IEEE 1394与HDD(硬盘驱动器)相连接的传统网络。HDD 2通过IEEE 1394连接单元3与个人计算机1a相连接。如图所示,HDD 2实际上是安装在个人计算机1a内部的。个人计算机1a和1b通过IEEE 1394电缆4彼此相连(如果无需彼此区分每个计算机的话,每一个都可以称为个人计算机1)。
按照SBP2标准,诸如个人计算机1之类,在如图1所示那样构成的网络上启动一种动作(发出操作命令)的设备被称为“启动站(initiator)”,和诸如HDD 2之类,响应来自启动站的命令进行操作的器件被称为“目标站(target)”。
在如图1所示那样构成的网络中,允许目标站接受单个启动站的访问(单个目标站不能共享多个启动站)。换言之,访问权是在个人计算机1a和1b当中比另一个更早地访问HDD 2的个人计算机1排他地获得对HDD 2的访问权时确定的(竞争条件)。
在图1所示的网络上,在这种竞争条件下,当个人计算机1b首先访问HDD 2时,个人计算机1a,尽管含有内置的HDD 2,也不能访问HDD 2,访问权排他地授予了通过网络连接的个人计算机1b。
为了解决这个问题,有人提出了按照与IEEE 1394连接的次序设置访问权。但是,如果连接次序改变了,这种设置也随之改变。这种方案未能从根本上解决这个问题。
为了解决这个问题,有人还提出了利用SBP2标准中提供的口令功能,只把访问权授予用适当口令请求访问权的启动站。但是,如果多个启动站都知道口令,那么,首先访问HDD 2的那个启动站排他地获得访问权。这种方案也未能从根本上解决上述问题。
发明内容
本发明就是针对这个问题作出的。本发明的目的是让预定启动站能够获得在遵从SBP2标准的网络上访问预定目标站的访问权。
本发明的信息处理设备包括:输入装置,用于输入从多个其它信息处理设备输出的验证信息;网络结构识别装置,用于根据输入装置输入的验证信息,识别网络的结构;优先级次序确定装置,用于根据网络结构识别装置识别的网络结构,确定多个其它信息处理设备访问自身信息处理设备所根据的优先级次序;和访问控制装置,用于根据优先级次序确定装置确定的优先级次序,控制多个其它信息处理设备对自身信息处理设备的访问。
信息处理设备还可以包括拓扑生成装置,用于根据输入装置输入的多个其它信息处理设备的验证信息,生成拓扑,其中网络结构识别装置根据拓扑生成装置生成的拓扑来识别网络的结构。
信息处理设备还可以包括网段(hop)数计数装置,用于根据网络结构识别装置识别的网络结构,对多个信息处理设备的每一个计数在网络上的网段数,其中优先级次序确定装置根据网段数计数装置计数的多个信息处理设备每一个的网段数,确定多个信息处理设备对自身信息处理设备的访问权的优先级次序。
信息处理设备还可以包括多个信息处理设备与之相连接的多个连接端口;和连接端口优先级次序设置装置,用于设置多个连接端口的优先级次序,其中优先级次序确定装置根据网段数计数装置计数的多个信息处理设备每一个的网段数和连接端口优先级次序设置装置对连接端口设置的优先级次序,确定多个信息处理设备对自身信息处理设备的访问权的优先级次序。
网络可以是1394高速串行总线,和验证信息可以包含自标识(ID)数据包。
本发明的信息处理方法包括:输入步骤,输入从多个其它信息处理设备输出的验证信息;网络结构识别步骤,根据在输入步骤中输入的验证信息,识别网络的结构;优先级次序确定步骤,根据在网络结构识别步骤中识别的网络结构,确定多个其它信息处理设备访问自身信息处理设备所根据的优先级次序;和访问控制步骤,根据在优先级次序确定步骤中确定的优先级次序,控制多个其它信息处理设备对自身信息处理设备的访问。
按照本发明的信息处理设备和信息处理方法,根据输入验证信息识别网络结构,根据所识别的网络结构确定多个其它信息处理设备访问自身信息处理设备的优先级次序,和根据所确定的优先级次序控制多个其它信息处理设备对自身信息处理设备的访问。
附图简述
图1是显示由IEEE 1394组成的传统信息处理系统的方块图;
图2显示了结合本发明的个人计算机的结构;
图3显示了结合本发明的个人计算机的结构;
图4显示了结合本发明的个人计算机的结构;
图5显示了结合本发明的个人计算机的结构;
图6显示了结合本发明的个人计算机的结构;
图7是结合本发明的HDD的方块图;
图8是通过链接个人计算机和HDD构成的网络的方块图;
图9是显示总线重置处理的流程图;
图10是显示由IEEE 1394组成的信息处理系统的方块图;
图11是显示拓扑分析处理的流程图;
图12显示了优先级表的格式;
图13是显示优先级确定处理的流程图;
图14是个人计算机获得访问HDD的访问权的访问权获取处理的流程图;
图15显示了LoginORB的格式;
图16显示了login_response(登录响应)的格式;
图17显示了status_block(状态块)的格式;
图18是显示个人计算机获得访问HDD的访问权的访问权获取处理的流程图;和
图19是显示个人计算机获得访问HDD的访问权的访问权获取处理的流程图。
具体实施方式
本发明的IEEE 1394网络结构相对于图1所示的传统技术保持不变。图2至图5显示了按照本发明的一个实施例的、组成这种网络的个人计算机的结构。在图2和随后的附图中,与结合图1所示的传统技术描述的那些部件相同的部件用相同的标号表示,在这里略去对它们的讨论。
个人计算机1大体上包括计算机主体22、和相对于计算机主体22可以打开和闭合的显示单元23。图2是显示单元23相对于计算机主体22是打开的个人计算机1的透视图。图3是计算机主体22的平面图,和图4是计算机主体22上后面要讨论的微动拨盘(jog dial)24和它的相关部件的放大图。图5是计算机主体22的微动拨盘24的侧视图。
计算机主体22在其上侧包括用于输入各种各样字符和符号的键盘25、作为定点设备移动指针(鼠标器光标)的触摸板26、和电源开关28,在其侧壁上还包括微动拨盘24和IEEE 1394端口101等。尽管从外部的透视图上看不出来,但是,IEEE 1394端口102被配置成与内置设备相连接,和IEEE 1394连接单元3由内部IEEE 1394端口102和与IEEE 1394端口102相连接的HDD的IEEE 1394端口201a(图7)组成。
在显示单元23的前面配备了LCD(液晶显示器)27,以便在上面显示图像。显示单元23在其右上部含有由LED(发光二极管)组成的电源指示灯PL、电池指示灯BL、消息指示灯ML(如有必要的话)、和其它指示灯。显示单元23在其上部还含有麦克风66。电源指示灯PL、电池指示灯BL、消息指示灯ML等可以配备在显示单元23的下部。
在计算机主体22上键盘25的键与键之间,一般把微动拨盘24安装得与这些键齐平。微动拨盘24进行响应如图4中箭头a所代表的旋转方向的预定处理,并且还进行响应如箭头b所代表的方向的移动的处理。微动拨盘24可以配置在计算机主体22的左侧壁上,含有LCD 27的显示单元23的左侧壁上或右侧壁上,或者可以垂直地排列在键盘25上G键与H键之间。微动拨盘25可以配置在个人计算机1前部的中央,以便同时用拇指操作拨盘24和用食指操作触摸板26,可以配置成沿着触摸板26的上边或下边水平排列,或者可以配置成垂直排列在触摸板26的右按钮和左按钮之间。微动拨盘24可以沿着斜对角方向,而不是垂直方向或水平方向排列,以便可以用任何手指操作它。或者,微动拨盘24可以作为要用拇指操作的定点设备,位于鼠标器的一侧。
图6是显示个人计算机1的电结构的方块图。
CPU(中央处理单元)51是,例如,奔腾(Pentium)处理器(Intel公司的商标名称),与主机总线52相连接。主机总线52与桥接器53相连接,桥接器53又与AGP(图形加速端口)50和PCI(外围部件互连)总线56相连接。桥接器53是,例如,Intel公司制造的400BX,它控制与CPU 51和RAM 54相联系的那些部件。桥接器53通过AGP 50与视频控制器57相连接。桥接器53和桥接器58形成所谓的芯片组。
桥接器53还与RAM(随机存取存储器)54和高速缓冲存储器55相连接。高速缓冲存储器55高速缓存要供CPU 51使用的数据。尽管没有显示出来,但CPU 51含有内部基本高速缓冲存储器。
由例如DRAM(动态随机存取存储器)组成的RAM 54存储CPU 51执行的程序和CPU 51在操作过程中所需的数据。
视频控制器57与PCI总线56相连接,还通过AGP 50与桥接器53相连接,并且根据PCI总线56和AGP 50供应的数据控制LCD 27的显示。
音频控制器64与PCI总线56相连接,接收从麦克风66输入的声音,和把声音信号输出到扬声器65。与PCI总线56连接的还有调制解调器75和PC卡插槽接口111。
调制解调器75通过公共电话线76和因特网服务提供器77与诸如因特网之类的通信网络80和邮件服务器78相链接。为了加入可选功能,在必要的时候,把接口卡112插入与PC卡插槽接口111相连接的插槽29中,以便进行与外部设备的数据交换。例如,驱动器113可以与接口卡112相连接,与插入驱动器113中的磁盘121、光盘122、磁光盘123和半导体存储器124交换数据。
桥接器58与PCI总线56相连接。桥接器58可以是Intel公司制造的PIIX4E,它控制各种输入和输出。具体地说,桥接器58包括IDE(集成驱动电子设备)控制/配置寄存器59、定时器电路60、IDE接口61和USB(通用串行总线)接口68。桥接器58控制与USB端口107相连接的设备、和与ISA/EIO(工业标准结构/扩充输入输出)总线63和I/O接口69相连接的设备。
IDB控制/配置寄存器59包括两个IDE控制器,即所谓的基本IDE控制器和辅助IDE控制器;和配置寄存器等。
基本IDE控制器和辅助IDE控制器(未示出)被设计成与外部设备相连接。
I/O接口69与ISA/EIO总线63相连接。I/O接口69、ROM 70、RAM 71和CPU 72彼此连接。
例如,ROM 70事先存储LED控制程序70B、触摸板输入监视程序70C、键输入监视程序70D、唤醒程序70E、微动拨盘状态监视程序70F、和IEEE 1394I/F(接口)监视程序70A。
IEEE 1394 I/F监视程序70A输入和输出通过IEEE 1394端口101和102接收和发送的、遵从IEEE 1394标准的数据。IEEE 1394 I/F监视程序70A在HDD 2与网络连接之后马上(在总线重置之后马上)为如与IEEE 1394端口101或102相连接的HDD 2之类的外接设备把自标识(ID)数据包发送到网络上的路径(如HDD 2,路径被设置为网络上的任何设备),同时进行获取访问权的处理。下面讨论获取访问权的处理。自标识数据包包括GUID(全局唯一标识符)、每个个人计算机(启动站)1的物理层的物理ID、和与IEEE 1394端口101和102每一个的连接状态有关的信息。GUID是普遍接受的用于标识与IEEE 1394相连接的所有设备的类型、制造商、型号和序号的验证信息。以后再讨论自标识数据包。
LED控制程序70B控制由LED组成的电源指示灯PL、电池指示灯BL、消息指示灯ML(如有必要的话)、和其它指示灯的发光。触摸板输入监视程序70C监视使用触摸板26的用户给出的输入。键输入监视程序70D监视使用键盘25和其它键开关的用户给出的输入。唤醒程序70E根据桥接器58中定时器电路60提供的当前时间数据检验是否是预定时间。当是预定时间时,唤醒程序70E管理每个芯片的电源,以便启动预定处理(或程序)。微动拨盘状态监视程序70F一直监视微动拨盘24的旋转编码器,通过检查看一看微动拨盘24是否被旋转了或被按下了。
ROM 70存储BIOS(基本输入/输出系统)70G。BIOS是基本输入/输出系统,它是控制数据在OS(操作系统)、应用程序、和外围设备(显示器、键盘、硬盘等)之间的输入和输出的软件程序。
ROM 70还存储在需要时读出的GUID 70H。用于存储GUID的存储器可以以配置ROM或专用存储器的形式分开设置。
RAM 71包括分别用标号71A-71F表示的LED控制寄存器、触摸板输入状态寄存器、键输入状态寄存器、时间设置寄存器、用于监视微动拨盘状态的I/O寄存器、和IEEE 1394 I/F寄存器。例如,当按下微动拨盘24时,LED控制寄存器控制消息指示灯ML使其打开,指示电子邮件的瞬时启动状态。当按下微动拨盘24时,键输入状态寄存器存储操作键标志符。时间设置寄存器把时间设置成任何时间。
微动拨盘24、键盘25和触摸板26分别通过未示出的连接器与I/O接口69相连接。当用户操作微动拨盘24、键盘25、或触摸板26时,I/O接口69响应用户操作来接收信号,和把信号输出到ISA/EIO总线63。I/O接口69通过IEEE 1394端口101和102与外界交换数据。与I/O接口69连接的还有电源指示灯PL、电池指示灯BL、消息指示灯ML、电源控制电路73和由其它LED组成的指示灯。
电源控制电路73与内置电池74或AC电源相连接,把所需电能馈送到每个模块,和在其充电操作过程中控制内置电池74和外围设备的辅助电池。CPU72通过I/O接口69监视用于打开或关闭操作的电源开关28。
即使电源8关闭,CPU 72也能通过利用内部电源,通过BIOS 70G执行IEEE 1394.I/F监视程序70A。具体地说,即使在显示单元27和LCD 27上没有打开窗口,IEEE 1394 I/F监视程序70A也能通过BIOS 70G继续运行。即使在电源开关28保持关闭的CPU 51上没有启动OS,CPU 72也能执行微动拨盘状态监视程序70E。在没有专用键的情况下,个人计算机1具有可编程电源键(PPK)的功能。借助于在节电状态或断电状态下的个人计算机1,可以通过按下微动拨盘24来启动所需软件程序或脚本文件。
现在参照图7讨论HDD 2的结构。
HDD 2配备了用于与外部设备相连接的IEEE 1394端口201a-201c。IEEE1394端口201a用于与内部设备相连接,和IEEE 1394端口201b和201c用于外部连接。参照图1,HDD 2是个人计算机1a的内置设备,和IEEE 1394端口201a与个人计算机1a的IEEE 1394端口102(参见图6)相连接。
参照图8,个人计算机1a通过IEEE 1394电缆4a与HDD 2a的IEEE 1394端口201a相连接,HDD 2a的IEEE 1394端口201b通过IEEE 1394电缆4b与HDD 2b的IEEE 1394端口201a′相连接,和HDD 2b的IEEE 1394端口2b′通过电缆4c与个人计算机1b相连接。因此,网络由两个HDD和两个个人计算机的链路组成。IEEE 1394端口201c被平等使用。在除了这种方案之外的任何其它形式中,可以自由设置相连接的设备的类型和数据。
IEEE 1394接口202通过IEEE 1394端口201a-201c和IEEE 1394连接单元3与个人计算机1相连接,起个人计算机1的接口的作用。
优先级确定模块203的拓扑分析单元221在建立起IEEE 1394网络之后马上(在总线重置之后马上)通过IEEE 1394接口202接收从网络上每个设备发送的自标识数据包,从包含在自标识数据包中的信息中确定拓扑图(每个设备的相互连接位置关系),为每个设备生成优先级表,和把优先级表存储在优先级存储器222中。优先级表以后再讨论。拓扑分析单元221存储IEEE1394端口201a-201c的预定优先级次序。可以把IEEE 1394端口201a-201c的预定优先级次序设计成可以修改的。在如下的讨论中,优先级次序依次是IEEE 1394端口201a、IEEE 1394端口201b、和IEEE 1394端口201c。
拓扑分析单元221根据存储在优先级存储器222中的拓扑图、每个设备的优先级表、和IEEE 1394端口201a-201c的预定优先级次序,确定访问网络上每个设备的访问权的优先级。然后,拓扑分析单元221把优先级存储在优先级存储器222中每个设备的优先级表中。
CPU 204参照存储在优先级确定模块203的优先级存储器222中的优先级表,把访问权授予具有第一优先级次序的设备。可选地,在HDD 2上配置一个未示出的开关。当接通或断开这个开关时,不参照存储在优先级存储器222中指示设备的优先级次序的优先级表。
存储器205存储和读取进行要在适当的时候由CPU 204实现的各种处理所需的信息,并且还存储口令。包含硬盘的存储单元206受CPU 204控制,存储要由个人计算机1a在读取存储数据的时候处理的各种各样数据。ROM 207存储HDD 2的GUID。
参照图9,现在讨论个人计算机1和HDD 2的总线重置处理。在如下的讨论中,四个个人计算机1a-1d和HDD 2如图10所示那样连接在一起。具体地说,个人计算机1b的IEEE 1394端口101b通过IEEE 1394电缆4a与个人计算机1a的IEEE 1394端口101a相连接,个人计算机1a的IEEE 1394端口102通过IEEE 1394连接单元3与HDD 2的IEEE 1394端口201a相连接,HDD 2的IEEE 1394端口201b通过IEEE 1394电缆4b与个人计算机1c的IEEE1394端口101c相连接,和HDD 2的IEEE 1394端口201c通过IEEE 1394电缆4c与个人计算机1d的IEEE 1394端口101d相连接。假设个人计算机1d不能识别按SBP2标准定义的命令。至于网络上设备的Node_ID(节点ID),把0指定给个人计算机1b,把1指定给个人计算机1a,把2指定给HDD 2,把3指定给个人计算机1c,和把4指定给个人计算机1d。
在步骤S1,个人计算机1启动IEEE 1394 I/F监视程序70A,生成自标识数据包,和把自标识数据包发送到网络中上层的设备。
在步骤S11,HDD 2的优先级确定模块203的拓扑分析单元221接收IEEE1394端口201a-201c每一个的自标识数据包,和从包含在自标识数据包中的信息中,生成如图10所示那样安排的相互连接位置关系,即拓扑图。然后,拓扑分析单元221把拓扑图与每个设备的自标识数据包一起存储在优先级存储器222中。
为了理解步骤S1和S11中的处理,现在讨论拓扑图和自标识数据包的生成。每当总线被链接在网络末端上的设备重置时,生成和发送自标识数据包。
在SBP2标准中,用作表示网络结构的基准的设备被称为根设备(可以把根设备设置在网络上的任何设备上)。根设备在每个端口上向网络上的设备输出称为grant(许可)的信号,把grant依次从一个设备传送到另一个设备,一直到网络的末端。不能传送grant的设备是位于网络末端的设备。参照图10,位于网络末端的设备是个人计算机1b-1d。
例如,个人计算机1b的IEEE 1394 I/F监视程序70A生成自标识数据包,把自标识数据包的计数设置成0,作为初始值,并且把自身的物理ID(指示自己在网络上的电位置)设置成与计数相同的值0。个人计算机1b在自标识数据包中识别自身IEEE 1394端口101b的状态和自身GUID,把自标识数据包发送给网络上处在根设备方向上的个人计算机1a。
端口的状态是指示网络上设备的相互位置关系的信息。在网络上,在设备之间与IEEE 1394电缆4或IEEE 1394连接单元3相连接的端口当中,沿着根设备的方向作为起点的端口被称为子端口,沿着根设备的方向作为终点的端口被称为母端口。个人计算机1b的IEEE 1394 I/F监视程序70A把自身IEEE 1394端口101b是子端口(即沿着根设备的方向是起点)的信息、自身物理ID(在这种情况中,是0)、和自身GUID组织成自标识数据包,并且把自标识数据包发送给个人计算机1a。
一旦从个人计算机1b接收到自标识数据包,个人计算机1a的IEEE 1394IEEE I/F监视程序70A就把自标识数据包的读数增1,并且把自身物理ID设置成相同的计数值。换句话来说,个人计算机1a的物理ID是1。个人计算机1a的IEEE 1394 IEEE I/F监视程序70A把IEEE 1394端口101a是母端口(即相对于根设备是终点)的信息、自身IEEE 1394端口102是子端口(即相对于根设备是起点)的信息、和自身GUID信息相加和组织成自标识数据包,作为自身数据包信息,并且把自标识数据包发送给HDD 2。
一旦从个人计算机1a接收到自标识数据包,HDD 2的拓扑分析单元221就从包含在自标识数据包中的、每个设备的GUID信息、GUID的物理ID、和指示每个端口的状态的信息中识别与IEEE 1394端口201a相连接的网络结构。
HDD 2的拓扑分析单元221对IEEE 1394端口201b和201c进行相同的处理,通过把在IEEE 1394端口201a-201c每一个上识别的网络结构信息整合在一起,就完成了拓扑图的生成。
在个人计算机1在步骤S1的处理中,在处在图10所示的网络的末端上的个人计算机1b-1d中生成自标识数据包。个人计算机1b-1d的GUID、与GUID相对应的物理ID、和指示每个设备的状态的信息被组织成自标识数据包,然后将其发送到上层的设备(个人计算机1b把自标识数据包发送给个人计算机1a,和个人计算机1c和1d把自标识数据包发送给HDD 2)。
在个人计算机1在步骤S1的处理中,对于像个人计算机1a那样不是处在如图10所示的网络的末端上的设备,把从个人计算机1b接收的自标识数据包的读数增1,和把组织成自标识数据包的个人计算机1a的GUID、与GUID相对应的物理ID、和指示每个设备的状态的信息发送到上层的设备(与图10中的HDD 2相对应)。
因此,HDD 2总共接收3个有关IEEE 1394端口201a-201c的自标识数据包。除了子端口和母端口之外,包含在自标识数据包中的信息是指示端口连接的unconn(未连接)、和指示不存在端口的noport。
下面继续讨论图9所示的流程图。
在步骤S12,HDD 2的拓扑分析单元221根据存储在优先级存储器222中的拓扑图和包含在自标识数据包中的信息,进行拓扑分析处理。
现在参照图11所示的流程图,讨论拓扑分析处理。在步骤S21,拓扑分析单元221从存储在优先级存储器222中的拓扑图中识别节点数n。在这种情况中,因为有四个个人计算机和一个HDD,所以节点数n是5。
在步骤S22,拓扑分析单元221把存储在其中的Node_ID的自身计数i设置成0。在步骤S23,拓扑分析单元221确定含有Node_ID的计数i的设备是否是HDD 2。在这种情况中,Node_ID为0的设备是个人计算机1b,和拓扑分析单元221确定含有作为Node_ID的计数i的设备不是HDD 2,然后,算法转到步骤S24。
在步骤S24,拓扑分析单元221确定Node_ID为0的设备是否认识按SBP2定义的命令。具体地说,拓扑分析单元221把SBP2的测试命令发送到目标站设备。一旦接着到这个测试命令,能够识别SBP2命令的设备就返回响应命令。这样,取决于来自目标站设备的响应命令的存在与否,拓扑分析单元221确定目标站设备是否遵从SBP2。
由于Node_ID为0的设备是个人计算机1b,因此,拓扑分析单元221确定个人计算机1b是否认识按SBP2定义的命令。个人计算机1b认识按SBP2定义的命令。一旦从拓扑分析单元221接收到测试命令,个人计算机1b就把响应命令返回到拓扑分析单元221。其结果是,拓扑分析单元221确定个人计算机1b能够识别出按SBP2定义的命令,然后,算法转到步骤S25。
在步骤S25,拓扑分析单元221生成Node_ID为0的设备,即个人计算机1b的优先级表。
下面参照图12讨论优先级表的格式。如图所示,每一列意味着一个数据位,和每行排列着一个32位的数据。在左上角位置上的位是最高有效位,和在右下角位置上的位是最低有效位。
优先级表的格式包括64位的GUID、和每一个由16位组成的Node_ID、HOP、PORT、和PRIORITY。包含在从每个设备发送的自标识数据包中的GUID的数据包含在GUID中。每个设备的Node_ID的数据包含在Node_ID中。HOP(网段)表示包含在自标识数据包中的、由设备的母子关系决定的连接位置之间的距离。例如,个人计算机1b位于个人计算机1a的子位置上(个人计算机1a位于个人计算机1b所处的上层)。如果已经建立起母子关系,那么就把网段数计数成1。个人计算机1a与HDD 2相连接,并且,由于在这里已经建立起母子关系,因此,再加上1。其结果是,个人计算机1b与HDD 2之间的网段数是2。因此,把网段数2存储在个人计算机1b的优先级表中的网段中。至于个人计算机1a、1b、和1c,每一个都建立了母子关系,因此存储其值为1的网段数。
PORT(端口)是指示设备与HDD 2的哪个端口(IEEE 1394端口201a-201c的任何一个)相连接的数据。在个人计算机1a和1b的情况中,存储分别指示IEEE 1394端口201b和201c的数据。
PRIORITY(优先级)存储指示后面要讨论的优先级确定处理所确定的访问优先级次序的数据。在如下的讨论中,PRIORITY的数据从0开始,PRIORITY数据越小,访问优先级就越高。
返回到图11,继续讨论该流程图。
在步骤S25,拓扑分析单元221生成Node_ID为0的个人计算机1b的优先级表,并且将优先级表存储在优先级存储器222中。拓扑分析单元221以图12所示的格式组织个人计算机1b的GUID的数据、Node_ID(当前为0)、网段数(当前为2)、和PORT(当前指示IEEE 1394端口201a的数据),然后将这些数据段存储在优先级存储器222中。
在步骤S26,拓扑分析单元221把Node_ID的计数增1(当前,i=1)。在步骤S27,拓扑分析单元221确定Node_ID增加后的计数i是否等于大于节点数n。由于计数i是1,拓扑分析单元221确定计数i不等于或大于节点数n=5。然后,算法循环到步骤S23。
在步骤S23,拓扑分析单元221确定Node_ID为计数i的设备是否是HDD2。由于Node_ID为1的设备是个人计算机1a,拓扑分析单元221确定该设备不是HDD 2。算法转到步骤S24。
在步骤S24,拓扑分析单元221确定Node_ID为1的设备是否认识按SBP2定义的命令。与个人计算机1b一样,个人计算机1a也能识别SBP2命令。拓扑分析单元221确定个人计算机1a识别SBP2命令。然后,算法转到步骤S25。
在步骤S25,拓扑分析单元221从GUID、Node_ID(当前为1)、HOP(当前为1)和PORT(当前指示IEEE 1394端口201a的数据)中,生成Node_ID为1的个人计算机1a的优先级表,并且把优先级表存储在优先级存储器222中。
在步骤S26,拓扑分析单元221把Node_ID的计数增1(成为i=2)。在步骤S27,拓扑分析单元221确定Node_ID的计数i是否等于大于节点数n=5。由于Node_ID的计数i现在是2,拓扑分析单元221确定计数i不大于节点数n=5。然后,算法循环到步骤S23。
在步骤S23,拓扑分析单元221确定Node_ID为计数i的设备是否是HDD2。由于Node_ID为2的设备现在是HDD 2,拓扑分析单元221确定Node_ID为2的设备是HDD 2。算法跳过步骤S24和S25,转到步骤S26。在步骤S26,将Node_ID的计数i增1(成为i=3)。在步骤S27,拓扑分析单元221确定Node_ID的计数i是否等于大于节点数n=5。由于计数i是3,既不等于也不等于5,因此,拓扑分析单元221确定Node_ID的计数i既不等于也不等于节点数n=5。然后,算法循环到步骤S23。
在步骤S23,Node_ID的计数i等于3的设备是个人计算机1c,不是HDD2。算法转到步骤S24和S25。与上面已经讨论过的方式相同,拓扑分析单元221从个人计算机1c的GUID、Node_ID(当前为3)、HOP(当前为1)和PROT(当前指示IEEE 1394端口201b的数据)中,生成优先级表。
在步骤S26,把Node_ID的计数增1(成为i=4)。在步骤S27,拓扑分析单元221确定Node_ID的计数i是否等于大于节点数n=5。由于计数i既不等于也不大于节点数n=5,算法循环到步骤S23。
在步骤S23,拓扑分析单元221确定Node_ID为计数i=4的设备是否是HDD 2。由于Node_ID为4的设备是个人计算机1d,拓扑分析单元221确定Node_ID为4的设备不是HDD 2。在步骤S24,拓扑分析单元221确定Node_ID为4的设备是否认识按SBP2的命令。由于个人计算机1d不能识别SBP2命令,拓扑分析单元221确定个人计算机1d不能识别SBP2命令。然后,算法转到步骤S26。
在步骤S26,拓扑分析单元221将Node_ID的计数i增1(成为i=5)。在步骤S27,拓扑分析单元221确定计数i=5是否等于大于节点数n=5。在这种情况中,计数i=3等于节点数n=5,结束算法。
在拓扑分析处理中,生成个人计算机1a-1c的优先级表,并且将其存储在优先级存储器222中。因为HDD 2是它自身的设备,所以不生成HDD 2的优先级表。因为个人计算机1d不能识别SBP2命令,所以也不生成个人计算机1d的优先级表。
返回到图9,继续讨论该流程图。
在步骤S12的拓扑处理之后,拓扑分析单元221进行步骤S12的优先级确定处理。
下面参照图13的流程图,讨论优先级确定处理。
在步骤S31,拓扑分析单元221从优先级存储器222中读取所有优先级表。在步骤S32,拓扑分析单元221参考优先级表数据当中的网段数据,按照权限的升序排序优先级表,然后,把确定的次序写入优先级表中的PRIORITY中。在这种情况中,个人计算机1a和1c的网段数是1,和个人计算机1b的网段数是2。网段数相同的个人计算机1a和1c具有第1优先级,把0写入个人计算机1a和1c的优先级表的PRIORITY中。在它们的后面,把2写入个人计算机1b的优先级表的PRIORITY中。
在步骤S33,拓扑分析单元221确定是否存在网段数相同的设备。在这种情况中,个人计算机1a和1c具有相同的网段数,即为1,因此,拓扑分析单元221确定存在网段数相同的设备。然后,算法转到步骤S34。
在步骤S34,拓扑分析单元221比较网段数相同的PORT数据,把PORT的优先级次序更高的设备放置在上层的位置上。这里,个人计算机1a的PORT是IEEE 1394端口201a,和个人计算机1c的PORT是IEEE 1394端口201b。按照IEEE 1394端口201a-201c的预定优先级次序,IEEE 1394端口201a在次序上高于IEEE 1394端口201b,因此,把0写入个人计算机1a的优先级表的PRIORITY中,和把1写入个人计算机1c的优先级表的PRIORITY中。
其结果是,个人计算机1a-1c的优先级次序是,个人计算机1a处在第1优先级上,个人计算机1c处在第2优先级上,和个人计算机1c处在第3优先级上。
在优先级确定处理中,含有访问HDD 2的访问权的优先级次序的优先级表被存储在优先级存储器222中。
参照图14所示的流程图,讨论图10所示的个人计算机1和HDD 2的操作,其中个人计算机1利用被设置成让CPU 204不用参考优先级表的未示出开关,获得访问HDD 2的访问权。
在步骤S41,个人计算机1a启动IEEE 1394 I/F监视程序70A,从而发出称为登录请求的命令(LoginORB或Login Operation Request Block),并且通过IEEE 1394连接单元3把登录请求发送到HDD 2。
下面讨论LoginORB。LoginORB是在SBP2标准下定义的ORB(操作请求模块)的一种类型。ORB由启动站发出,输出到目标站。根据ORB,目标站进行预定处理。当预定处理被执行和完成时,把有关处理的信息写入接收ORB的位置上,然后把ORB返回到启动站。
图15显示了LoginORB的格式。如图所示,每一列以与图12中相同的方式显示。当行与行之间没有清晰的分界线时,表示数据区是可变的。
寄存在已经获得访问权的设备(当前是HDD 2)中的口令的数据和数据长度存储在标为“password(口令)”和“password_length(口令长度)”的位置中。口令是可选的,当不设置口令的使用时省略它。
当HDD 2响应LoginORB,授予访问权时,访问权的数据和数据长度由HDD2写入标为“login_response(登录响应)”和“login_response_length(登录响应长度)”的位置中。以后参照图16再对“login_response”加以详细讨论。标识ORB的数据存储在“login_response”下面标为“n”(通知)、“rq_fmt”(请求格式)、和“function(功能)”的位置中。在这种情况中,存储了指示LoginORB的数据。
存储在标为“x”(exclusive(专用)的缩写)的位置中的是指示把LoginORB传送给多个启动站,还是只传送给正在请求的启动站的数据。标为“reserved(保留)”的位置是留作将来供一个命令使用。有关重新连接所需的时间的数据存储在标为“reconnect(重新连接)”的位置中。存储在标为“lun”(logical unit number(逻辑单元号)的缩写)的位置中的是指定LoginORB的目的地(当前为HDD 2)的数据。在HDD 2完成了命令的执行那一时刻,把状态块(参见图17)写入标为“status FIFO(状态先入先出)”的位置中。
返回到图14,继续讨论该流程图。
当个人计算机1a输出登录请求时,在步骤S51,HDD 2的CPU 204通过IEEE 1394连接单元3和IEEE 1394接口202接收登录请求(LoginORB),并且把LoginORB存储在存储器205中。在步骤S52,CPU 204确定是否是第一次接收到LoginORB。当确定是第一次接收到LoginORB时,算法转到步骤S53。
在步骤S53,CPU 204让存储器205存储已经接收到LoginORB的事实,并且通过IEEE 1394接口202和IEEE 1394连接单元3请求个人计算机1a的GUID。
在步骤S42个人计算机1a的CPU 72确定HDD 2是否请求了GUID。由于HDD 2请求了GUID,因此,CPU 72读取存储在ROM 70中的GUID 70H,并且通过IEEE 1394连接单元3将其发送到HDD 2。
在步骤S54,HDD 2的CPU 204通过IEEE 1394接口202接收个人计算机1a的GUID,并且将GUID存储在存储器205中。
在步骤S55,CPU 204读取存储在存储器205中的LoginORB,把包含授予访问权的数据的“login_response”和“status_FIFO”写入LoginORB中,然后生成要发送回到个人计算机1a的LoginORB。
参照图16,讨论“login_response”。
指示“login_response”的数据长度的数据存储在“login_response”的顶行上标为“length(长度)”的位置中。标识被授予访问权的启动站的数据存储在标为“login_ID”的位置中。存储在标为“command_block_agent(命令块代理)”的位置中的是用于执行各种操作的寄存器CSR(Control andState Register(控制和状态寄存器)的缩写)的地址的数据。标为“Reserved”的位置留作将来供像LoginORB中那样的一个命令使用。存储在标为“reconnect_hold(重连保持)”的位置中的是与保证被授予访问权的启动站启动一个动作所使用的资源所需的时间有关的数据。
现在参照图17,讨论把“status_FIFO”写在上面的status_block(状态块)。标识ORB的类型的数据存储在标为“src”的位置中。在这种情况中,存储了指示LoginORB的数据。标识响应类型的数据存储在标为“resp”的位置中。存储在标为“d”的位置中的是指示当前目标站是否处在准备接收命令的状态的数据。
存储在标为“len”的位置中的是指示存储在status_FIFO中有效status_block信息的段数的数据。存储在标为“sbp_status”的位置中的是与存储在位置“resp”中的信息相对应的附加数据。标为“ORB_offset_hi”、“ORB_offset_lo”和“r”的位置用于指定各种各样的地址空间。每个命令的各种数据存储在标为“command set_dependent(命令组相关)”的位置中。
返回到步骤14,继续讨论该流程图。
在步骤S56,CPU 204通过IEEE 1394接口202和IEEE 1394连接单元3把生成的LoginORB发送到个人计算机1a。
在步骤S44,个人计算机1a的CPU 72通过IEEE 1394连接单元3接收从HDD 2输入的LoginORB。在步骤S45,CPU 72确定在接收的LoginORB中是否包含login_response。由于在这种情况中,login_response包含在接收的LoginORB中,因此,CPU 72在步骤S46识别出个人计算机1a已经获得了访问HDD 2的访问权。
当CPU 204在步骤S52确定不是第一次接收到LoginORB,换言之,个人计算机1b已经请求过了访问权时,CPU 204在步骤S57读取存储在存储器205中的LoginORB,并且生成要返回的、不包含login_response的LoginORB,即只把状态块写入LoginORB的“Status_FIFO”上的LoginORB。
由于个人计算机1a的CPU 72在步骤S42确定HDD 2没有请求GUID,因此,跳过步骤S43的处理。在步骤S44接收不包含login_response的LoginORB。然后,CPU 72在步骤S45确定不包含login_response。在步骤S47,CPU 72识别出它未能获得访问HDD 2的访问权。
具体地说,如果较早请求访问权的个人计算机1b已经获得了访问权,那么较晚请求访问权的个人计算机1a就不能获得它。
如果按照这种方式利用未示出的开关把CPU 204设计成参考优先级表,那么,不进行有关访问权的判优。从传统竞争条件来看,图14所示的流程图中的处理仍然保持不变,并把访问权授予首先向HDD 2请求访问权的个人计算机1。
参照图18所示的流程图,讨论获取访问HDD 2的访问权的个人计算机1的处理,其中CPU 204参考存储在优先级存储器222中的优先级表。
在步骤S61,个人计算机1a的CPU 72启动IEEE 1394 I/F监视程序70A,发出LoginORB,和通过IEEE 1394连接单元3把LoginORB输出到HDD 2。
由于HDD 2的CPU 204被设置成参考优先级确定模块203中的优先级存储器222,因此,在HDD 2与个人计算机1a相连接的那一时刻(即,总线被重置的那一时刻),优先级确定模块203在步骤S71,通过参照图9中的流程图所讨论的总线重置处理,对与网络相连接的那些设备事先确定访问权的优先级次序。然后,优先级确定模块203把优先级次序存储在优先级存储器222中。CPU 204进行图18中从步骤S72到步骤S78的处理,而不是图14中从步骤S51到步骤S57的处理。
在步骤S72,HDD 2的CPU 204通过IEEE 1394连接单元3和IEEE 1394接口202接收LoginORB,并且将LoginORB存储在存储器205中。
在步骤S73,CPU 204通过IEEE 1394接口202和IEEE 1394连接单元3请求个人计算机1a发送GUID。
在步骤S62,个人计算机1a的CPU 72读取存储在ROM 70中的GUID 70H,然后,通过IEEE 1394连接单元3把GUID发送到HDD 2。
当HDD 2的CPU 204在步骤S74,通过IEEE 1394接口202接收到个人计算机1a的GUID时,把GUID存储在存储器205中。
在步骤S75,HDD 2的CPU 204将存储在存储器205中的GUID与具有存储在优先级存储器222中的访问权的第一优先级次序的GUID相比较,以确定两者是否相互一致。由于在这种情况中,GUID都是同一个个人计算机1a的,因此,发现这两个GUID是相互一致的。算法转到步骤S76。
在步骤S76,CPU 204读取存储在存储器205中的LoginORB,生成要发送到个人计算机1a的、把包含授予访问权的数据的“login_response”和指示“status_FIFO”的状态写入其中的LoginORB。
在步骤S77,CPU 204通过IEEE 1394接口202和IEEE 1394连接单元3,把生成的LoginORB发送到个人计算机1a。
在步骤S63,个人计算机1的CPU 72通过IEEE 1394连接单元3接收从HDD 2输入的LoginORB。在步骤S64,CPU 72确定在接收的LoginORB中是否包含login_response。由于接收的LoginORB包括了login_response,因此,CPU 72在步骤S65识别出个人计算机1已经获得了访问HDD 2的访问权。
已经请求访问权的设备是个人计算机1b,和具有存储在优先级存储器222中的第一优先级次序的GUID是个人计算机1a。存储在优先级存储器222.中的GUID未能与存储在存储器205中的个人计算机1b的GUID相一致。在步骤S57,HDD 2确定GUID未能相互一致。算法转到步骤S78。
在步骤S78,CPU 204读取存储在存储器205中的LoginORB,并且生成要返回的、不包含login_response的LoginORB,即只把状态块写入LoginORB的“Status_FIFO”中的LoginORB。
在步骤S63,个人计算机1b接收不含login_response的LoginORB。CPU72在步骤S64确定不包含login_response。在步骤S66,CPU 72识别出未能获得访问HDD 2的访问权。
这样,CPU 204被设计成读取在存储在优先级存储器222中的优先级表中具有第一优先级的GUID,以便只有含有内部HDD 2的个人计算机1a(只有与HDD 2的IEEE 1394端口201a相连接的个人计算机1a)才可以获得访问HDD 2的访问权。
下面参照图19所示的流程图,讨论获取访问HDD 2的访问权的个人计算机1的处理,其中LoginORB的口令功能与被设置成参考存储在优先级确定模块203的优先级存储器222中的优先级表的CPU 204一起使用。
在步骤S91,个人计算机1a的CPU 72启动IEEE 1394 I/F监视程序70A,发出包含口令的LoginORB,和通过IEEE 1394连接单元3把LoginORB输出到HDD 2。包含在LoginORB中的口令可以由用户事先设置。
CPU 204被设置成参考优先级确定模块203中的优先级存储器222。当HDD 2与个人计算机1a相连接时(总线被重置的那一时刻),优先级确定模块203在步骤S111,通过参照图9所讨论的总线重置处理,确定与网络相连接的设备访问优先级次序。然后,优先级确定模块203把访问优先级次序存储在优先级存储器222中。CPU 204进行图19中从步骤S112到步骤S119的处理,而不是图18中从步骤S71到步骤S78的处理。
在步骤S112,CPU 204通过IEEE 1394连接单元3和IEEE 1394接口202接收LoginORB,并且将LoginORB存储在存储器205中。
在步骤S113,CPU 204确定包含在接收LoginORB中的口令是否与事先存储在存储器205中的口令相一致。当接收到正确口令时,换言之,当包含在接收LoginORB中的口令与事先存储在存储器205中的口令相一致时,算法转到步骤S114。
在步骤S114,CPU 204通过IEEE 1394接口202和IEEE 1394连接单元3向个人计算机1a请求GUID。
个人计算机1a的CPU 72在步骤92确定HDD 2是否已经请求了GUID。HDD 2现在请求了GUID,因此,在步骤S93,CPU 72读取存储在ROM 70中的GUID 70H,然后,通过IEEE 1394连接单元3把GUID发送到HDD 2。
在步骤S115,HDD 2的CPU 204通过IEEE 1394接口202接收个人计算机1a的GUID,并且把GUID存储在存储器205中。
在步骤S116,HDD 2的CPU 204将存储在存储器205中的GUID与具有存储在优先级存储器222中的访问权的第一优先级次序的设备的GUID相比较,以确定两个GUID是否相互一致。由于两者都是个人计算机1a的,因此,CPU204确定这两个GUID相互一致。算法转到步骤S117。
在步骤S117,CPU 204读取存储在存储器205中的LoginORB,生成要返回到个人计算机1a的、把包含授予访问权的数据的“login_response”、和“status_FIFO”写在上面的LoginORB。
在步骤S118,CPU 204通过IEEE 1394接口202和IEEE 1394连接单元3,把生成的LoginORB发送到个人计算机1a。
在步骤S94,个人计算机1的CPU 72通过IEEE 1394连接单元3接收从HDD 2输入的LoginORB。在步骤S95,CPU 72确定在接收的LoginORB中是非包含login_response。现在,接收的LoginORB中包含了1ogin_response,因此,在步骤S96,CPU 72识别出个人计算机1已经获得了访问HDD 2的访问权。
当在步骤S113确定口令未能相互一致时,CPU 204在步骤S119,读取存储在存储器205中的LoginORB,并且生成要返回的、不包含login_response的LoginORB,即只把状态块写入它的“Status_FIFO”中的LoginORB。
在步骤S92,个人计算机1a的CPU 72确定个人计算机1a没有从HDD 2接收到GUID的请求,跳过步骤S93的处理。在步骤S94,接收不含login_response的LoginORB,和在步骤S95,个人计算机1a的CPU 72确定不包含login_response。在步骤S97,CPU 72识别出个人计算机1a未能获得访问HDD 2的访问权。
个人计算机1b已经请求了访问权,并且输入了正确的口令。在步骤S116,因为具有访问权的第一优先级次序的设备的GUID是个人计算机1a的,和与个人计算机1b的GUID不一致,所以GUID被确定为未能相互一致。算法转到步骤S119,进行后面的处理。
CPU 204被设计成读取具有存储在优先级确定模块203的优先级存储器222中的访问权的第一优先级的GUID。只有含有内部HDD 2的个人计算机1a才可以获得访问HDD 2的访问权,同时保持了与在SBP2中定义的口令功能的兼容性。
上面把HDD当作遵从SBP2标准的器件来讨论。可以用如下遵从SBP2的存储器件的任何一种取代HDD,这些存储器件包括CD-R/RW(可记录/可重写光盘)、CD-ROM(只读光盘)、DVD-ROM(数字多功能只读光盘)、DVD-RAM(数字多功能随机存取光盘)、Zip(存储器件)、和MD(小型盘)。
在上面的讨论中,只把访问权授予具有访问HDD 2的访问权的第一优先级次序的设备。被授予访问权的设备可以随网络的结构而改变,例如,可以把访问权授予具有第一到第三优先级次序的设备。
在遵从SBP2标准的IEEE 1394网络中,预定信息处理设备(启动站)获得访问安装在其中的器件(目标站)的访问权。
上述一系列处理步骤是利用硬件实现的。或者,这些处理步骤也可以利用软件程序来实现。当利用软件程序实现这些处理步骤时,可以把形成软件程序的程序代码安装在组装成专用硬件的计算机中,或者,可以把形成软件程序的程序代码从程序记录介质安装到当安装各种各样软件程序时执行各种各样功能的通用个人计算机中。
程序记录介质可以是可以与个人计算机分开分配把软件程序供应给用户的插件状介质。插件状介质可以是磁盘121(譬如,软盘)、光盘122(譬如,CD-ROM(Compact Disk-Read Only Memory(只读光盘)的缩写))、磁光盘123(譬如,小型盘)或半导体存储器124(譬如,存储棒)。
不是必须在时间上按照在每个流程图中所述的次序执行描述CPU 20进行各种处理的软件程序的处理步骤。可以并行地或独立地执行几个处理步骤。
在本说明书中,系统指的是包含多个设备的整个系统。
工业可应用性
根据本发明,从输入验证信息中识别网络结构,并且,根据识别的网络结构,确定多个其它信息处理设备据此访问一个器件的访问权的优先级次序。预定信息处理设备适当地获得对该器件的访问权。
Claims (6)
1.一种信息处理设备,通过网络与多个其它信息处理设备相连接,该信息处理设备包括:
输入装置,用于输入从多个其它信息处理设备输出的验证信息;
网络结构识别装置,用于根据输入装置输入的验证信息,识别网络的结构;
优先级次序确定装置,用于根据网络结构识别装置识别的网络结构,确定多个其它信息处理设备访问自身信息处理设备所根据的优先级次序;和
访问控制装置,用于根据优先级次序确定装置确定的优先级次序,控制多个其它信息处理设备对自身信息处理设备的访问。
2.根据权利要求1所述的信息处理设备,还包括拓扑生成装置,用于根据输入装置输入的多个其它信息处理设备的验证信息,生成拓扑,
其中网络结构识别装置根据拓扑生成装置生成的拓扑来识别网络的结构。
3.根据权利要求1所述的信息处理设备,还包括网段数计数装置,用于根据网络结构识别装置识别的网络结构,对多个信息处理设备的每一个计数在网络上的网段数,
其中优先级次序确定装置根据网段数计数装置计数的多个信息处理设备每一个的网段数,确定多个信息处理设备对自身信息处理设备的访问权的优先级次序。
4.根据权利要求3所述的信息处理设备,还包括多个信息处理设备与之相连接的多个连接端口;和
连接端口优先级次序设置装置,用于设置多个连接端口的优先级次序,
其中优先级次序确定装置根据网段数计数装置计数的多个信息处理设备每一个的网段数和连接端口优先级次序设置装置对连接端口设置的优先级次序,确定多个信息处理设备对自身信息处理设备的访问权的优先级次序。
5.根据权利要求1所述的信息处理设备,其中网络是1394高速串行总线,和验证信息可以包含自标识ID数据包。
6.一种用于信息处理设备的信息处理方法,该信息处理设备通过网络与多个其它信息设备相连接,该信息处理方法包括:
输入步骤,输入从多个其它信息处理设备输出的验证信息;
网络结构识别步骤,根据在输入步骤中输入的验证信息,识别网络的结构;
优先级次序确定步骤,根据在网络结构识别步骤中识别的网络结构,确定多个其它信息处理设备访问自身信息处理设备所根据的优先级次序;和
访问控制步骤,根据在优先级次序确定步骤中确定的优先级次序,控制多个其它信息处理设备对自身信息处理设备的访问。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000309005A JP2002118558A (ja) | 2000-10-10 | 2000-10-10 | 情報処理装置および方法、並びにプログラム格納媒体 |
JP309005/2000 | 2000-10-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1393085A CN1393085A (zh) | 2003-01-22 |
CN1144426C true CN1144426C (zh) | 2004-03-31 |
Family
ID=18789237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB01803070XA Expired - Fee Related CN1144426C (zh) | 2000-10-10 | 2001-10-10 | 信息处理设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030069979A1 (zh) |
EP (1) | EP1235390A1 (zh) |
JP (1) | JP2002118558A (zh) |
KR (1) | KR20020059849A (zh) |
CN (1) | CN1144426C (zh) |
WO (1) | WO2002032057A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4683587B2 (ja) | 2000-10-31 | 2011-05-18 | キヤノン株式会社 | 通信制御装置及び方法 |
JP4484353B2 (ja) * | 2000-10-31 | 2010-06-16 | キヤノン株式会社 | 通信制御装置及びその制御方法及び通信システム |
JP4404190B2 (ja) | 2003-07-24 | 2010-01-27 | ソニー株式会社 | 電子機器、認証使用情報更新方法 |
JP2005167574A (ja) * | 2003-12-02 | 2005-06-23 | Funai Electric Co Ltd | Ieee1394シリアルバスに接続されるコントローラ機器 |
CN100393071C (zh) * | 2005-06-30 | 2008-06-04 | 杭州华三通信技术有限公司 | 配置访问控制列表的方法及其应用 |
US7617008B2 (en) * | 2006-07-25 | 2009-11-10 | Kabushiki Kaisha Toshiba | Managing method for determining master-slave relationship in information processor system |
CN100559313C (zh) * | 2006-07-27 | 2009-11-11 | 株式会社东芝 | 信息处理器系统的管理方法 |
JP4768564B2 (ja) * | 2006-09-28 | 2011-09-07 | 富士通セミコンダクター株式会社 | データ転送装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038234A (en) * | 1998-02-02 | 2000-03-14 | Intel Corporation | Early arbitration on a full duplex bus |
US6185632B1 (en) * | 1998-10-19 | 2001-02-06 | Hewlett-Packard Company | High speed communication protocol for IEEE-1394 including transmission of request and reply writes to a datagram-FIFO-address to exchange commands to end a job |
JP4109770B2 (ja) * | 1998-12-02 | 2008-07-02 | キヤノン株式会社 | 通信制御方法及び機器 |
JP3990833B2 (ja) * | 1998-12-11 | 2007-10-17 | キヤノン株式会社 | 通信制御方法及び装置 |
JP2000244836A (ja) * | 1999-02-23 | 2000-09-08 | Canon Inc | 表示制御装置、表示制御方法、バスシステム、及び記憶媒体 |
JP3091184B2 (ja) * | 1999-03-03 | 2000-09-25 | 株式会社神戸製鋼所 | 通信システム及び通信装置 |
JP3387466B2 (ja) * | 1999-03-19 | 2003-03-17 | セイコーエプソン株式会社 | データ通信装置 |
JP2001045031A (ja) * | 1999-08-03 | 2001-02-16 | Seiko Epson Corp | 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体 |
JP3480923B2 (ja) * | 2000-07-26 | 2003-12-22 | 株式会社東芝 | ネットワーク上の機器制御方法およびこの制御方法を用いる映像機器 |
JP2002082774A (ja) * | 2000-09-08 | 2002-03-22 | Sony Corp | 情報処理装置および方法、情報処理システム、並びにプログラム格納媒体 |
-
2000
- 2000-10-10 JP JP2000309005A patent/JP2002118558A/ja not_active Abandoned
-
2001
- 2001-10-10 EP EP01974766A patent/EP1235390A1/en not_active Withdrawn
- 2001-10-10 WO PCT/JP2001/008899 patent/WO2002032057A1/ja not_active Application Discontinuation
- 2001-10-10 KR KR1020027007345A patent/KR20020059849A/ko active IP Right Grant
- 2001-10-10 US US10/148,951 patent/US20030069979A1/en not_active Abandoned
- 2001-10-10 CN CNB01803070XA patent/CN1144426C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2002032057A1 (fr) | 2002-04-18 |
JP2002118558A (ja) | 2002-04-19 |
EP1235390A1 (en) | 2002-08-28 |
US20030069979A1 (en) | 2003-04-10 |
KR20020059849A (ko) | 2002-07-13 |
CN1393085A (zh) | 2003-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1280716C (zh) | 计算机处理方法、分布式计算方法和网络计算方法 | |
CN1299224C (zh) | Url检索系统、服务器及url检索方法 | |
CN100351750C (zh) | 信息处理设备,信息处理方法,记录介质,以及程序 | |
CN1278557C (zh) | 信息传递系统与方法以及信息处理设备与方法 | |
CN1698319A (zh) | 信息处理装置、访问控制处理方法和计算机程序 | |
CN1739292A (zh) | 通信系统及方法、信息处理装置及方法、信息管理装置及方法、记录媒体和程序 | |
CN1547829A (zh) | 无线通信设备、无线通信方法、无线通信系统、记录介质和程序 | |
CN1149796A (zh) | 数据通信方法 | |
CN1795465A (zh) | 操作履历利用系统 | |
CN1842782A (zh) | 网络资源信息路由的服务器结构 | |
CN1682491A (zh) | 本地终端装置和通信系统 | |
CN1479921A (zh) | 计算机程序复制管理系统 | |
CN1906604A (zh) | 网络中资源信息的路由 | |
CN1858759A (zh) | 对网络游戏用户进行时间限制的方法和系统 | |
CN1438643A (zh) | 信息分配系统 | |
CN1471005A (zh) | 信息内容管理系统 | |
CN1144426C (zh) | 信息处理设备 | |
CN1946124A (zh) | 图像处理系统 | |
CN1419377A (zh) | 使用图像的通信方法及其装置 | |
CN1244868C (zh) | 信息处理设备 | |
CN101065967A (zh) | 元数据管理装置以及元数据利用装置 | |
CN1674533A (zh) | 输入输出终端、主控和从属设备及信息处理系统和方法 | |
CN1473416A (zh) | 信息处理装置和信息处理方法 | |
CN1188998C (zh) | 数据传输控制装置和电子设备 | |
CN101047665A (zh) | 地址信息管理系统、管理设备、处理设备及地址簿更新方法 |
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 |