throbber
I 1111111111111111 11111 1111111111 111111111111111 1111111111 111111111111111111
`US007398273B2
`
`c12) United States Patent
`Dobberpuhl et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 7,398,273 B2
`*Jul. 8, 2008
`
`(54) PUSHING ATTRIBUTE INFORMATION TO
`STORAGE DEVICES FOR NETWORK
`TOPOLOGY ACCESS
`
`(58) Field of Classification Search ................... 707 /10,
`707/104.1; 709/250, 213,227
`See application file for complete search history.
`
`(75)
`
`Inventors: Walter T. Dobberpuhl, Milford, MA
`(US); Andreas L. Bauer, Acton, MA
`(US); George M. Ericson, Shrewsbury,
`MA (US); Charles H. Hopkins, Upton,
`MA (US); Jennifer Lyn Milliken
`Nicoletti, Framingham, MA (US);
`Walter A. O'Brien, III, Westborough,
`MA (US); Timothy D. Sykes, Berlin,
`MA (US); Stephen James Todd,
`Shrewsbury, MA (US)
`
`(73) Assignee: EMC Corporation, Hopkinton, MA
`(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 512 days.
`
`This patent is subject to a terminal dis(cid:173)
`claimer.
`
`(21) Appl. No.: 10/827,716
`
`(22)
`
`Filed:
`
`Apr. 20, 2004
`
`(65)
`
`Prior Publication Data
`
`US 2004/0199513 Al
`
`Oct. 7, 2004
`
`Related U.S. Application Data
`
`(63)
`
`Continuation of application No. 09/568,386, filed on
`May 10, 2000, now Pat. No. 6,754,718.
`
`(51)
`
`(52)
`
`Int. Cl.
`G06F 17130
`(2006.01)
`G06F 151167
`(2006.01)
`G06F 12100
`(2006.01)
`G06F 7100
`(2006.01)
`G06F 15116
`(2006.01)
`U.S. Cl. ...................... 707/10; 707/104.1; 709/250;
`709/213; 709/227
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,6ll,056 A
`5,909,430 A *
`6,148,414 A
`6,209,023 Bl
`6,212,606 Bl*
`6,289,333 Bl
`6,363,427 Bl
`6,389,432 Bl
`
`3/1997 Hotchkin .................... 395/281
`6/1999 Reaves ....................... 370/254
`11/2000 Brown eta!. ................... 714/9
`3/2001 Dimitroff et al. ............ 709/2 ll
`4/2001 Dimitroff .................... 711/147
`9/2001 Jawahar et al. . ................ 707/2
`3/2002 Teibel et al.
`................ 709/227
`5/2002 Pothapragada et al. ...... 707/205
`
`(Continued)
`
`Primary Examiner-Kuen S. Lu
`(74) Attorney, Agent, or Firm-Bromberg & Sunstein LLP
`
`(57)
`
`ABSTRACT
`
`A method apparatus and computer program product for pro(cid:173)
`viding access to host attribute information in a storage area
`network is disclosed. The storage area network is composed
`of a plurality of hosts coupled to at least one initiator. Each
`initiator is coupled to one or more targets and each initiator
`has an associated identifier. In each host, the identifier of the
`initiator is related to other host attribute information. The
`identifier may be, for example, a world wide name. The host
`attribute information including the identifier is sent from each
`of the plurality of hosts to the one or more targets and stored
`in memory of an associated storage array. Either a host or
`requestor remote from the storage array may request the
`collected host attribute information from the storage array. A
`topology of the storage area network may then be formed
`from the host attribute information of each host.
`
`32 Claims, 3 Drawing Sheets
`
`Ex.1020
`CISCO SYSTEMS, INC. / Page 1 of 10
`
`

`

`US 7,398,273 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`6,421,711
`6,421,723
`6,430,645
`6,470,397
`6,496,914
`
`Bl*
`Bl*
`Bl*
`Bl
`Bl
`
`7/2002 Blumenau et al. ........... 709/213
`7/2002 Tawil ......................... 709/224
`8/2002 Basham ...................... 710/305
`10/2002 Shah et al. .................. 709/250
`12/2002 Vook et al. .................. 711/170
`
`6,564,228 Bl
`6,671,776 Bl*
`6,754,718 Bl
`6,792,412 Bl*
`6,922,729 Bl *
`2002/0091710 Al *
`* cited by examiner
`
`5/2003 O'Connor ................... 707/200
`12/2003 DeKoning .................. 711/114
`6/2004 Dobberpuhl et al.
`........ 709/250
`9/2004 Sullivan et al.
`............... 706/25
`7/2005 Cheung ...................... 709/229
`7 /2002 Dunham et al. ............. 707 /200
`
`Ex.1020
`CISCO SYSTEMS, INC. / Page 2 of 10
`
`

`

`U.S. Patent
`
`Jul. 8, 2008
`
`Sheet 1 of 3
`
`US 7,398,273 B2
`
`GUI
`
`(cid:143) ~ c
`
`100
`
`Network
`
`Push Architecture
`
`Push
`Application
`150
`
`Server
`110
`
`Data Bus 145
`
`Server
`110
`
`Push
`Application
`150
`
`Push
`Application
`150
`
`Server
`110
`
`IT]
`
`Storage Arrays Processor
`115
`
`FIG.1
`
`Ex.1020
`CISCO SYSTEMS, INC. / Page 3 of 10
`
`

`

`U.S. Patent
`
`Jul. 8, 2008
`
`Sheet 2 of 3
`
`US 7,398,273 B2
`
`Start
`
`Finding all of the unique parts from the
`host to the target by scanning the data
`bus for targets
`
`200
`
`Querying the Operating System of the
`host for host attributes
`
`210
`
`Pushing the host attribute information
`down each unique path to the
`corresponding target
`
`220
`
`End
`
`FIG. 2
`
`Ex.1020
`CISCO SYSTEMS, INC. / Page 4 of 10
`
`

`

`U.S. Patent
`
`Jul. 8, 2008
`
`Sheet 3 of 3
`
`US 7,398,273 B2
`
`130
`
`0
`
`GUI
`
`[!]~
`
`Management
`Client
`
`370
`
`;
`
`::;:=:=====
`'
`1(cid:141) 1
`
`l(cid:141)
`
`I
`
`I I
`
`Server 2
`110
`
`Server 3
`110
`
`100
`
`Push Command
`Server 1
`A
`Other Info
`
`350
`
`120~
`
`Attach Command
`G,H
`bb,dd,ff
`Other Info
`
`390
`
`FIG. 3
`
`Ex.1020
`CISCO SYSTEMS, INC. / Page 5 of 10
`
`

`

`US 7,398,273 B2
`
`1
`PUSHING ATTRIBUTE INFORMATION TO
`STORAGE DEVICES FOR NETWORK
`TOPOLOGY ACCESS
`
`PRIORITY
`
`This application is a continuation of U.S. application Ser.
`No. 09/568,386 filed May 10, 2000 entitled "Pushing
`Attribute Information to Storage Devices for Network Topol(cid:173)
`ogy Access" that has issued as U.S. Pat. No. 6,754,718 which
`is incorporated herein, by reference, in its entirety.
`
`TECHNICAL FIELD
`
`This invention generally relates to storage area networks, 15
`and more particularly to providing access to host attribute
`information.
`
`BACKGROUND ART
`
`2
`tifier of each initiator coupled to the host, such as a worldwide
`name. An example of a host is a server. An example of an
`initiator is a host bus adapter and an example of a target is a
`storage array.
`In each host, the host polls for host attribute information. In
`one embodiment, the step of polling requires accessing all
`SCSI devices attached to the host and querying the operating
`system resident on the host. The host then relates the identi(cid:173)
`fier, such as a world wide name of each coupled initiator to the
`10 other obtained host attribute information. The host attribute
`information is sent from each of the plurality of hosts to the
`one or more targets. Upon receipt of the host attribute infor(cid:173)
`mation, each target stores the host attribute information in an
`addressable memory location. After the host attribute infor(cid:173)
`mation is stored for all hosts, any host may access any of the
`targets and request the host attribute information resident on
`the target. In one embodiment the host attribute information
`on each target is identical. Based upon the host attribute
`information retrieved from the addressable memory location,
`20 the retrieving host creates a topology of the storage area
`network.
`In another embodiment, a user remotely accesses a host
`which is part of the storage area network. The user may access
`either the topology created by the host or initiate the retrieval
`from a database on the target all of the host attribute informa(cid:173)
`tion in order to create a topology for issuing further com(cid:173)
`mands any of the components of the storage area network. In
`one embodiment, the host attribute information are retrieved
`from one of a plurality of storage arrays. In such an embodi(cid:173)
`ment, each storage array is composed of disks grouped into
`LUNs and the database includes an association ofLUN infor(cid:173)
`mation and host attribute information. The association
`between the LUN information and the host attribute informa-
`tion is then used in the creation of the topology. The topology
`35 may then be displayed to the remotely connected user.
`
`As businesses grow, so too do their requirements for the
`storage of data. Storage area networks (SAN s) are a scalable
`solution to this problem, allowing additional storage devices
`to be added as the need arises. SAN s contain storage devices
`and servers forming a network configuration. SAN s provide a 25
`mechanism through which all of a business' storage devices
`may be made available to all of the servers in the business'
`computer network. The servers in a SAN are coupled to the
`computer network of the business and act as a pathway
`between the end user and the stored data. Because stored data 30
`does not reside directly on any of the SAN' s servers or the
`servers of the computer network external from the SAN,
`server power is utilized for business applications, and net(cid:173)
`work capacity is released to the end user. Since there is no
`central processing bottleneck and many storage devices may
`be connected to the SAN, the SAN is scalable.
`One of the major challenges for the designers of SANs
`involves their configuration and management. Due to the ever
`growing number of components in a scalable SAN, the
`changing state of those components, and the multitude of 40
`physical and logical relationships between components, cre(cid:173)
`ating a topology of the SAN which a system manager can use
`possesses a difficult task. Prior art SANs do not have the
`ability to automatically create a current topology providing
`recognizable identifiers for the connected components. As 45
`such, system managers are forced to create associations
`between the world wide name of particular host bus adapters
`(HBAs) and the servers that are connected to them.
`At best, in a SAN in which the components are connected
`through a fibre channel, the communication protocol of the 50
`fibre channel provides a means at the storage array for linking
`a world wide name (WWN) of a host bus adapter (HBA) to an
`identifier of the storage array, but the protocol does not pro(cid:173)
`vide any information about the server connected to the host
`bus adapter and therefore does not define a usable topology 55
`for the SAN.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The foregoing features of the invention will be more
`readily understood by reference to the following detailed
`description, taken with reference to the accompanying draw(cid:173)
`ings, in which:
`FIG. 1 is a representation of a storage area network in
`which host attribute information is provided to the storage
`arrays;
`FIG. 2 is a flow chart showing the pushing of host attribute
`information; and
`FIG. 3 is a detailed example of a storage area network.
`
`DETAILED DESCRIPTION OF SPECIFIC
`EMBODIMENTS
`
`For the purposes of the description herein and the claims
`that follow it, unless the context otherwise requires, the term
`"Storage Area Network" (SAN) is a network of shared stor(cid:173)
`age devices in which each storage device includes a processor
`for communicating through a communications protocol with
`other devices connected to the SAN, such as a server, or
`devices external to the SAN. A storage device is a machine
`60 that contains a disk or disks for storing data. The term storage
`device and storage array shall be used interchangeably herein.
`In the preferred embodiment the communications protocol is
`SCSI (small computer system interface). SCSI provides for
`the control of the input and output of connected devices over
`65 a data bus. In the following detailed description and appended
`claims the term "data bus" shall refer to any connection
`between an initiator and a target which transports communi-
`
`SUMMARY OF THE INVENTION
`
`A computer program product and method for providing
`access to host attributes in a storage area network is disclosed.
`A storage area network is composed of a plurality of hosts
`coupled to at least one initiator wherein the initiator is in turn
`coupled to one or more targets. Host attribute information
`may include the user selected name for the host, the Internet
`Protocol address for the host, the operating system of the host,
`the type of each initiator connected to the host, and an iden-
`
`Ex.1020
`CISCO SYSTEMS, INC. / Page 6 of 10
`
`

`

`US 7,398,273 B2
`
`3
`cation connnands. In the preferred embodiment, the storage
`area network employs fiber optic cable as a data bus for
`connections between initiators and targets. In other embodi(cid:173)
`ments the data bus may be a 16-bit standard SCSI cable. In the
`following detailed description and the appended claims, the
`term "host attributes" shall mean any indicia of the server,
`such as, the name of the server, the Internet Protocol (IP)
`address of the server, or the operating system of the server.
`Host attributes also include indicia identifying components
`linked to the server, such as, host bus adapters and include an 10
`identifier of such host bus adapters such as the world wide
`name (WWN) and the type of each adapter. In the following
`detailed description and appended claims, the terms server
`and host shall be used interchangeably to denote a computer
`or processor with coupled memory which is part of a storage 15
`area network unless indicated otherwise. In the following
`detailed description and the appended claims the term "topol(cid:173)
`ogy" shall mean a mapping of all devices within a network,
`such as, a storage area network, and the interconnections
`between the devices. The term "memory location" as used in 20
`the written description and the appended claims shall mean
`one or more addressable areas for the storage of data.
`FIG. 1 is a representation of a storage area network 100 in
`which host attribute information is provided to storage
`devices for the formation of a SAN topology. The storage area 25
`network includes a plurality of servers 110 and at least one
`coupled storage array 120 containing a processor 115. Each
`storage array 120 and server 110 is capable of connnunicating
`with other storage arrays and servers through a connnunica(cid:173)
`tion protocol on a data bus 145. Connnunication is also pos- 30
`sible with devices outside of the SAN. For example, a com(cid:173)
`puter 130 connected to the network either locally or remotely
`may access the servers of the SAN through an address asso(cid:173)
`ciated with the server such as an Internet protocol address.
`In a SAN environment, one embodiment of this method 35
`allows a server coupled to a storage array to determine all of
`the servers coupled to that storage array by querying the
`storage array only. The server can determine the attributes of
`all coupled servers as well as the attributes of all the HBAs
`within the coupled servers and the mappings of the HBA' s to 40
`the storage pools(user data) by retrieving this data from the
`storage array. This is more efficient than connecting to each
`server individually and allows a storage area network topol(cid:173)
`ogy of coupled servers to be constructed by the storage array
`or any coupled server and enables a graphic user interface 45
`(GUI) to represent the topology that does not require user
`knowledge of HBA and Storage Processor World Wide
`Names.
`Through an application, known as an push application 150,
`residing on a coupled server, computer 130 may access data 50
`from a storage array and manage and configure the SAN. In
`one embodiment, a connected computer resides in a local area
`network (LAN) or wide area network (WAN) which is con(cid:173)
`nected to the SAN. In another embodiment, a computer
`remotely connects to a server within the SAN by accessing 55
`the server's IP address through an Internet connection.
`In an embodiment of the invention, the push application
`150 residing on each of the servers 110 in the SAN 100 polls
`all connections to its respective server to obtain host attributes
`and causes host attribute information to be "pushed" down 60
`from the server to the storage arrays. In the preferred embodi(cid:173)
`ment, the host attribute information includes at least the
`server name and server IP address, connected host bus adapter
`(HBA) port numbers and HBA type (OS Platform) and asso(cid:173)
`ciated identifier, such as a WWN and the operating system 65
`device name of the HBA path. This information is stored by
`the push application in a memory location associated with the
`
`4
`storage array. Preferably the host attribute information is
`stored as a collection of structured data and may be stored
`within a database structure. The host attribute information for
`each host is sent and stored at each attached storage array.
`5 After each of the servers 110 within the SAN 100 have sent
`their host attribute information to the storage array 120, the
`collected host attribute information allows a processor resi(cid:173)
`dent in the storage array or a push application 150 connected
`within the SAN or a remote GUI 130 connected to a push
`application 150 connected to a SAN to form a network topol(cid:173)
`ogy.
`FIG. 2 is a flow chart of the steps taken by a server in the
`course of pushing host attribute information to a target. The
`push application resident on the server begins by finding all of
`the unique paths from the server to the storage array(s ), this is
`done by scanning the data bus for the storage array(s) (step
`200). In the preferred embodiment, the data bus is a SCSI bus
`known as a fibre charmel. A unique path is comprised of a
`coupling between an initiator and a target. An example of an
`initiator is a HBA and an example of a target is a storage
`processor of a storage array. For instance, if there are two
`HBAs and two storage processors connected to the host, then
`there are a total of 4 unique paths: (HBAl, SPl), (HBAl,
`SP2), (HBA2, SPl), (HBA2, SP2).
`The push application then determines the host attributes by
`querying the operating system of the server (step 210). The
`push application obtains the host name, host IP address, and
`the HBA type. In the preferred embodiment the HBA type is
`determined solely by the operating system used on the server.
`Each operating system including but not limited to the
`Microsoft Corporation's Windows NT or Sun Micro system's
`Solaris use a particular and unique HBA type. The push
`application also obtains the operating system device name for
`the HBA path. An example of this server attribute for Win(cid:173)
`dows NT would be\ \.\SCSI3:0:2:0. The push application will
`then determine further host attributes for the HBA from the
`operating system. The HBA attributes include the HBA Ven(cid:173)
`dor Name, the HBA Model and the HBA device driver
`description.
`The push application will first query the target to determine
`if the target is running a compliant topology program for
`receiving host attribute information. This prevents other SCSI
`devices which are either not capable of being upgraded to the
`topology program or have not been upgraded from receiving
`unintelligible data. If the target is capable of receiving host
`attribute information, the push application then pushes the
`host attribute information down each unique path to the cor(cid:173)
`responding target (step 220). The Storage Processor(s) will
`receive the pushed information and store it in a database,
`along with the WWN of the HBA (which is determined by the
`underlying connnunication protocol). In the preferred
`embodiment the fibre charmel protocol determines the WWN
`of the HBA. It should be understood that for each storage
`array there is a separate database. It should also be understood
`that the WWN after it is associated with the other host
`attribute information will also be considered host attribute
`information. As previously stated, the host attribute informa(cid:173)
`tion is preferably stored in database, but may also be stored in
`any addressable memory.
`FIG. 3 is a detailed example of storage area network shown
`in FIG. 1 in which host attribute information is pushed to a
`storage array. It should be understood that although this
`example shows only one storage array, multiple storage
`arrays may be part of the SAN. After each server 110 (server
`1-4) of the SAN is booted, a push application 150 begins to
`automatically execute. A vendor unique SCSI connnand
`known as a push connnand 350 is created which sends the
`
`Ex.1020
`CISCO SYSTEMS, INC. / Page 7 of 10
`
`

`

`US 7,398,273 B2
`
`5
`host attributes to the storage array 120 as described above.
`The push command can also be initiated by a system manager
`through an external application referred hereinafter as the
`"management client" 370, on a computer 130 which is
`coupled to the SAN 100. Through a GUI 370, the system
`manager can execute a push in order to update the database to
`obtain a topology of the SAN that contains all of the current
`connections. The push command 350 creates a data structure
`which contains the name of the server which in the example is
`server 1, the identifier of the host bus adapter or world wide 10
`name of the host bus adapter which is A and the push appli(cid:173)
`cation sends the push command to a push database 361 on the
`storage array. The data structure of the push command may
`contain other host attributes. The push application then-re(cid:173)
`quests the database 361 from the storage array 120 and creates 15
`a displayable map or list of host HBAs' and storage arrays.
`The push database 361 includes the host attributes of all of the
`servers connected to the SAN which in this example would be
`the host attributes for servers 1, 2, 3, and 4. The data contained
`in the push database 361 provides a description of the topol- 20
`ogy of the SAN 100 and the push application 150 creates a
`displayable map from the database 361. When a system man(cid:173)
`ager accesses any of the servers in the SAN 100, the push
`application can send a current topology of the SAN 100 to a
`graphical user interface(GUI) 370 of the system manager's 25
`computer. The topology is such that a system manager need
`not associate a World Wide Name of a HBA with a server,
`rather the system manager is presented with a topology show(cid:173)
`ing the name of the server along with other host attributes and
`which shows the host bus adapters connected to the server and 30
`all of the possible data paths. This allows a much more intui(cid:173)
`tive interface for SAN configuration to be presented to the
`system manager. The system manager may then configure the
`SAN by grouping disks in the disk array together. In FIG. 3
`there are six groupings of disks aa,bb,cc,dd,ee,ff into LUNs. 35
`Once the LUN s are established, the LUN s become an element
`of the topology which the system manager may manage and
`configure. It should be understood by one of ordinary skill in
`the art that the program which creates the topology or list of
`servers, host bus adapter connections and connected storage 40
`arrays in the storage area network may be resident at the
`server, at the storage array, or at the remote location of the
`system manager's computer. Database 361 may simply be
`addressable memory associated with the storage array in an
`alternative embodiment.
`The push application 150 of each server (server 1-4) peri(cid:173)
`odically polls the database or addressable memory 361 for
`changes and also periodically sends the server's attributes to
`the storage processor of every storage array(in FIG. 3 only
`one storage array 120 is shown) which has a data path to the 50
`server. By periodically updating the database 361, the current
`state of the SAN 100 is maintained. In an alternative embodi(cid:173)
`ment, the system manager or other user of the invention may
`request the topology directly from the storage processor asso(cid:173)
`ciated with the storage array 120. In such an embodiment, the
`storage processor of the storage array 120 includes a program
`which accesses the database 361 which is stored in a memory
`location in the storage array 120 and the program creates a
`displayable topology based upon the associations of the data
`in the database 361.
`FIG. 3 also shows a second command being sent to the
`storage array. The second command is an attach command
`390whichis usedinconfigurationofthe SAN 100. The attach
`command 390 is also a vendor unique SCSI command which
`identifies the available data paths which are accessible and
`visible to a user connecting to the SAN 100. Once the push
`application 150 has created the topology of the SAN 100 and
`
`6
`the system manager has accessed the topology, the system
`manager can issue an attach command 390. The attach com(cid:173)
`mand 390 determines the visible paths that a user of the SAN
`can see. The attach command 390 creates a data structure
`5 which includes the name or worldwide name of the host bus
`adapter attached to a given server along with the disks or
`groups of disks in the storage array 120 selected by the system
`manager to be visible to a user who is connected to that server.
`The attach command pushes the information into an attach
`database 391 in the storage array 120. When a user through a
`computer attempts to access information in the SAN 100, the
`user connects either remotely or locally to a server in the SAN
`through standard communication protocols known to those of
`ordinary skill in the art. Upon connecting, the server through
`an attached initiator issues a retrieve vendor unique SCSI
`command which contains indicia of source to the storage
`processor. The retrieve vendor unique SCSI command
`requests data associated with the connected server from the
`attach database. The storage processor in response to the
`retrieve vendor unique SCSI command collects and transmits
`to the server the requested data. The server then uses the data
`to create a topology of the SAN which is visible to the user
`and then the topology is transmitted to the computer associ(cid:173)
`ated with the user. For example, in FIG. 3 the attach command
`390 indicates that a user who logs into server four can access
`either HBA G or HBA H and can virtually see logical unit
`numbers (LUNs) bb, dd, ff, althoughLUNs aa, bb, cc, dd, ee,
`and ff physically exist. As a result, a retrieve vendor unique
`SCSI command is issued and a topology containing HBA G
`and HBA H and L UN s b b dd and ff is transmitted to the user's
`associated computer. By using the attach command a system
`administrator may limit access to certain data locations
`within the storage array thus providing security.
`In an alternative embodiment, the attach command con(cid:173)
`tains indicia of user identity. Thus, a unique topology for the
`specific user may be created in the following manner. When
`the user connects to a server in a SAN data concerning the
`identity of the user may be transmitted to the server. The
`server then incorporates the identity of the user into the
`retrieve vendor unique SCSI command and data is retrieved
`from the attach database which provides a unique topology
`for the specific user. For instance, a particular business
`employee may be granted access to all of the LUNs and the
`employee will be provided with a topology reflecting this
`45 unlimited access while an unknown party accessing the SAN
`through the Internet may be granted access to a limited num(cid:173)
`ber of the LUNs and like the topology for the business
`employee the topology provided for the unknown party will
`reflect the access privileges provided by the system adminis(cid:173)
`trator.
`For more information about the methodology for control(cid:173)
`ling access to data locations see U.S. patent application Ser.
`No. 09/014,064 entitled "Apparatus and Method of Accessing
`Target Devices Across a Bus Utilizing Initiator Identifiers"
`55 assigned to the same assignee as the present application and
`incorporated herein in its entirety.
`In an alternative embodiment, the disclosed method for
`attribute information access may be implemented as a com(cid:173)
`puter program product for use with a computer system as
`60 described above. Such an implementation may include a
`series of computer instructions fixed either on a tangible
`medium, such as a computer readable medium (e.g., a dis(cid:173)
`kette, CD-ROM, ROM, or fixed disk) or transmittable to a
`computer system, via a modem or other interface device, such
`65 as a communications adapter connected to a network over a
`medium. The medium may be either a tangible medium ( e.g.,
`optical or analog communications lines) or a medium imple-
`
`Ex.1020
`CISCO SYSTEMS, INC. / Page 8 of 10
`
`

`

`US 7,398,273 B2
`
`7
`mented with wireless techniques ( e.g., microwave, infrared or
`other transmission techniques). The series of computer
`instructions embodies all or part of the functionality previ(cid:173)
`ously described herein with respect to the system. Those
`skilled in the art should appreciate that such computer 5
`instructions can be written in a number of programming lan(cid:173)
`guages for use with many computer architectures or operating
`systems. Furthermore, such instructions may be stored in any
`memory device, such as semiconductor, magnetic, optical or
`other memory devices, and may be transmitted using any 10
`communications technology, such as optical, infrared, micro(cid:173)
`wave, or other transmission technologies. It is expected that
`such a computer program product may be distributed as a
`removable medium with accompanying printed or electronic
`documentation (e.g., shrink wrapped software), preloaded 15
`with a computer system ( e.g., on system ROM or fixed disk),
`or distributed from a server or electronic bulletin board over
`the network ( e.g., the Internet or World Wide Web). Of course,
`some embodiments of the invention may be implemented as a
`combination of both software ( e.g., a computer program 20
`product) and hardware. Still other embodiments of the inven(cid:173)
`tion are implemented as entirely hardware, or entirely soft(cid:173)
`ware ( e.g., a computer program product).
`Although various exemplary embodiments of the invention
`have been disclosed, it should be apparent to those skilled in 25
`the art that various changes and modifications can be made
`which will achieve some of the advantages of the invention
`without departing from the true scope of the invention. These
`and other obvious modifications are intended to be covered by
`the appended claims.
`We claim:
`1. A method for providing access to topology information
`in a storage area network, for creating a topology of the
`storage area network for a retrieving device coupled to a
`storage array,
`wherein the storage area network is composed of a plurality
`of networking devices including hosts, each host
`coupled to at least one initiator, each initiator coupled to
`one or more targets that provide access to the storage
`array, each initiator having an associated identifier, the 40
`method comprising:
`a. automatically ascertaining, from each host, host attribute
`information by polling each initiator coupled to a corre(cid:173)
`sponding host;
`b. relating identifiers, associated with the coupled initia- 45
`tors, to the host attribute information to form topology
`information, the topology information comprising data
`representing interconnections among the networking
`devices from the plurality of networking devices; and
`c. storing the topology information in a data structure 50
`within the storage array,
`wherein the identifier is a worldwide name, and
`wherein the host attribute information includes a refer-
`ence to operating system type of the host and a refer(cid:173)
`ence to initiator type.
`2. A method according to claim 1, wherein polling includes
`checking any SCSI devices attached to the host.
`3. The method according to claim 2, wherein the SCSI
`devices include host bus adapters.
`4. The method according to claim 1, wherein the data 60
`structure is a database.
`5. The method of claim 1, further comprising:
`requesting topology information from the storage array;
`and
`creating a topology of the storage area network.
`6. The method according to claim 1, wherein the host
`attribute information includes a name for the host.
`
`8
`7. The method according to claim 1, wherein the host
`attribute information includes an Internet protocol address for
`the host.
`8. A method according to claim 1, wherein each host is a
`server in the storage area network.
`9. A method according to claim 4, wherein the target is
`coupled to the storage array wherein the storage array is
`composed of disks grouped into LUNs and the database has
`an association between host attribute information and the
`LUNs.
`10. A method for providing access to topology information
`in a storage area network according to claim 5, wherein a
`server creates the topology.
`11. A method for providing access to topology information
`in a storage area network according to claim 10, wherein the
`topology is created in response to a request from outside of
`the storage area

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket