US20110125889A1 - Method and apparatus for web based storage on-demand - Google Patents

Method and apparatus for web based storage on-demand Download PDF

Info

Publication number
US20110125889A1
US20110125889A1 US12/944,958 US94495810A US2011125889A1 US 20110125889 A1 US20110125889 A1 US 20110125889A1 US 94495810 A US94495810 A US 94495810A US 2011125889 A1 US2011125889 A1 US 2011125889A1
Authority
US
United States
Prior art keywords
storage
host
service
unit
san
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.)
Granted
Application number
US12/944,958
Other versions
US8473596B2 (en
Inventor
Sheng Tai (Ted) Tsao
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.)
STT WebOS Inc
Original Assignee
Individual
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
Priority claimed from US10/713,904 external-priority patent/US7418702B2/en
Priority to US12/944,958 priority Critical patent/US8473596B2/en
Application filed by Individual filed Critical Individual
Priority to US12/949,561 priority patent/US20110066948A1/en
Publication of US20110125889A1 publication Critical patent/US20110125889A1/en
Priority to US13/916,445 priority patent/US8903963B2/en
Publication of US8473596B2 publication Critical patent/US8473596B2/en
Application granted granted Critical
Priority to US14/038,325 priority patent/US9467513B2/en
Priority to US14/511,129 priority patent/US9288266B1/en
Priority to US14/513,444 priority patent/US9602600B1/en
Assigned to TS PATENTS LLC reassignment TS PATENTS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: STT WEBOS, INC., TSAO, SHENG TAI
Assigned to STT WEBOS, INC. reassignment STT WEBOS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TS PATENTS LLC
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Definitions

  • the present application is a divisional patent application based on U.S. patent application Ser. No. 12/013,813 which itself is a divisional application of Ser. No. 10/713,905 (U.S. Pat. No. 7,378,990) that is based on provisional application of 60/402,626.
  • the present application also is a continuation-in-part (CIP) of parent application Ser. No. 12/079,482 which itself is a divisional application of Ser. No. 10/713,904 (U.S. Pat. No. 7,418,702) that actually is based on provisional application of 60/401,238.
  • the present invention generally relates to computer communications network. More specifically, the present invention relates to web based data storage systems.
  • NAS IP based network attached storage
  • server(s) or host(s) are directly attached or connected to server(s) or host(s) as shown in FIG. 7 .
  • server(s) and/or host(s) are typically used as raw block data devices through conventional communication connection media, such as traditional IDE, SCSI, or Fiber Channel.
  • the server which is directly attached to a storage system as illustrated in FIG. 7 typically has many drawbacks, which are described as following:
  • a typical conventional storage management system is only capable of handling 4 TB (terabytes) of data, which is usually not good enough for a typical enterprise storage management system;
  • servers which are directly attached to storage systems, have problems for further expanding their storage capacity. For example, it may require to purchase new servers or require shutdown the server in order to increase storage capacity;
  • the storage being attached to a server can only be accessed by the attached server and can not be shared by other servers because the server's spare storage capacity can not be distributed across all servers within a organization;
  • the backup/restore has to go through the data network, this will tax or reduce the network performance
  • a typical SCSI connection only allows a 12-meter distance for data accessing with 15 storage devices.
  • Fibre Channel is limited to 10 kilometers communication distance. Distance limitation effectively prevents them from being the best choice for disaster recovery of the storage system;
  • Fibre Channel based storage system cannot handle well for the interoperability. Also, the Fibre Channel based storage system is expensive to build and to maintain.
  • FIG. 8 shows a conventional type of the virtual SAN, which is in-band controlled and accessed with which the data path from hosts ( 1 of FIG. 8 ) to the SAN units ( 4 of FIG. 8 ) going through control management station ( 2 of FIG. 8 ). It is not efficient in term of accessing the data by the hosts because the virtual SAN control management station can easily be a performance bottleneck. Similarly, the scalability of this type of the virtual SAN is poor.
  • each host ( 1 of FIG. 1 ) can directly access the IP based SAN units ( 4 of FIG. 1 ) without going through the control management station ( 3 of FIG. 1 ).
  • the IP based out-band accessed distributed virtual SAN infrastructure ( FIG. 1 ) actually represents an example of central controlled distributed scalable virtual machine system (CCDSVM) ( FIG. 9 ).
  • CCDSVM central controlled distributed scalable virtual machine system
  • each system units actually is a SAN unit ( 4 of FIG. 1 ), specifically is an IP based SAN unit.
  • each SAN unit ( 4 of FIG. 1 ) can be accessed by one or more hosts ( 1 of FIG. 1 ) and each host can access one or more SAN units ( FIG. 6 ). Therefore, every piece of storage volume can be fully utilized without wasting a bit of capacity.
  • the storage accessing goes directly through data communication link of a network infrastructure ( 2 of FIG. 1 ) between the hosts ( 1 of FIG. 1 ) and SAN units ( 4 of FIG. 1 ) without involvement of the control management station ( 3 of FIG. 1 ).
  • the SAN units ( 4 of FIG. 1 ) in the virtual SAN infrastructure can be dynamically added or removed without interrupting normal data accessing from hosts ( 1 of FIG.
  • control management station ( 3 of FIG. 1 ) and are centrally controlled, monitored, and managed by a control management station ( 3 of FIG. 1 ) through a management console ( 10 of FIG. 1 ) on console system ( 14 ).
  • the control management station ( 3 of FIG. 1 ) may also accept storage volume/partition requests from each host ( 1 of FIG. 1 ), and assign the matched volumes/partitions of SAN units ( 4 of FIG. 1 ) to these requested hosts. Therefore, each host ( 1 of FIG. 1 ) could directly and efficiently access the right volumes/partitions of assigned SAN units ( 4 ) without interfering each other and without going through the control management station again.
  • the backup and restore will not go through data network, therefore, it will enhance the performance and flexibility for the backup/restore operations.
  • FIG. 1 illustrates a distributed virtual storage area of network (“SAN”) infrastructure in accordance with one embodiment of the present invention
  • FIG. 2 illustrates actual Components of Distributed Virtual SAN in accordance with one embodiment of the present invention
  • FIG. 3 illustrates Virtual SAN Automatic Configuration Protocol in accordance with one embodiment of the present invention
  • FIG. 4 illustrates a Virtual SAN Auto Configuration Protocol Packet format in accordance with one embodiment of the present invention
  • FIG. 5 illustrates an Example of Storage Volume Information of an IP SAN Unit in accordance with one embodiment of the present invention
  • FIG. 6 illustrates a hypothetical example of Storage Volume Requests and Assignment in accordance with one embodiment of the present invention
  • FIG. 7 is a conventional Direct Attached Storage System
  • FIG. 8 is an In-Bound Accessed Virtual Storage System
  • FIG. 9 illustrates a Simplified Diagram of Central Controlled Distributed Scalable Virtual Machine System in accordance with one embodiment of the present invention.
  • FIG. 10 illustrates a Simplified Diagram of Disaster Recovery Scheme of Distributed Virtual SAN Infrastructure in accordance with one embodiment of the present invention.
  • FIG. 11 illustrates the typical hardware components of a typical computer system for said control management system 3 , system unit 4 including storage unit 4 , host 1 , and console system 10 . It comprises one or multiple CPU, memories, secondary storages such as disk or memory sticks, network interface cards and display components such as monitors or others. These components are connected through bus.
  • FIG. 12 illustrates a multi-layered central controlled distributed scalable virtual server.
  • a central controlled distributed scalable virtual machine (“CCDSVM”) system allows a control management station to control a group of systems and to provide distributed services to client systems over the Intranet, Internet, and/or LAN environment.
  • Storage media includes magnetic hard disk drives, solid state disk, optical storage drive, and memory card etc.
  • Storage connection and control media may include controller of IDE, SCSI, Fibre optical, Ethernet, USB, or wireless media, and/or other related cables etc.
  • Each controller of storage media such as Raid, IDE, or SCSI controller may control multiple storage media drivers on a system.
  • Storage system includes one or more storage media devices, storage connections, and/or storage media controllers. Storage system also contains related software modules for delivering storage services.
  • the storage volume is a abstract term used for convenience of the discussing.
  • Storage area network is a storage system that is capable of providing block data services to various computer hosts through storage connection and control media, such as Fiber-optical, Ethernet or other said media using protocol based on Internet Protocol (“IP”) or non-IP based protocols.
  • IP Internet Protocol
  • non-IP based connection media in one example, includes Fibre-Channel.
  • IP SAN unit uses IP based protocol to provide storage raw block data services. All discussions of the SAN in this invention are within the scope of a central controlled distributed scalable virtual machine (“CCDSVM”).
  • CCDSVM central controlled distributed scalable virtual machine
  • DNS stands for domain name server of network technology. DNS is an Internet software infrastructure and is capable of identifying and resolving network addresses and name for systems across a network.
  • a Simple Network Management Protocol (“SNMP”) is a standard Internet protocol.
  • a SNMP trap is a user datagram protocol (“UDP”) packet, which may be used to send the SNMP message (a event) from a SNMP agent system to a SNMP network management station via network links.
  • FIG. 1 shows an example of a simplified block diagram of IP based out-band accessed distributed virtual SAN infrastructure.
  • the distributed virtual SAN infrastructure includes multiple hosts ( 1 ), network infrastructures ( 2 ), a control management station ( 3 ), virtual storage pool ( 11 ) having multiple SAN units including IP SAN unit, spared SAN unit and fiber channel SAN unit which connected via fiber-channel-to-IP gateway, and a management console ( 10 ).
  • each host ( 1 ) contains service software modules 9 .
  • the service software modules ( 9 ) are configured to communicate with control management software modules ( 7 ) of a control management station ( 3 ) for obtaining information of the virtual SAN, for one example to get the storage information on a specific SAN unit ( 4 ).
  • the service software modules ( 9 ) of the host ( 1 ) also communicates with service software modules ( 6 ) of each SAN unit ( 4 ) to read block data from or write block data to the SAN unit ( 4 ).
  • the service software modules ( 9 ) can be coded and implemented with any suitable programming languages such as C, C++, Java or others.
  • the service software modules ( 9 ) may also use any suitable protocols such as IP based or non-IP based protocols.
  • the host ( 1 ) is capable of creating at least a local file system by utilizing at least a storage volume on a SAN unit ( 4 ) in addition to utilizing its own storage volume on its local storage device.
  • the host ( 1 ) may creating at least a local database by utilizing at least a storage volume on a SAN units in addition to utilizing its own local storage devices.
  • At least a spare host can be deployed in the virtual SAN infrastructure, wherein the spare host ( 12 ) represents a part of recovery scheme that could be implemented for providing service replacement for a failed host in a CCDSVM environment, and each spare host can server multiple hosts.
  • Network infrastructure ( 2 ) can comprise various kind of communication links of a network infrastructure, which could be one of a corporate storage network, a department local area network (“LAN”), a corporate intranet, an Internet infrastructure, a metropolitan area network (“WAN”) or others-without limits.
  • network infrastructure ( 2 ) includes switches, routers, gateways, cables (Ethernet, optical Fibre), wireless communication media, or others without limits.
  • the network infrastructure ( 2 ) provides data path between hosts ( 1 ), distribute control management station ( 3 ), and SAN Units ( 4 ).
  • the network infrastructure ( 2 ) also includes software infrastructure such as DNS or DHCP for facilitating systems on the network to identifying target system's addresses, which are used for sending or receiving data within a network domain or in a cross-domain network environment.
  • DNS and/or other Internet address identification mechanism may be used when a message or data stream is sent from a system A to a system B via communication link of the network infrastructure.
  • Control management station ( 3 ) includes distributing control management software modules ( 7 ) and console support software modules ( 8 ). To support web-based console, it requires the web server software ( 15 ).
  • the communication between the distributed control management software modules ( 7 ) and the service modules ( 6 ) of IP SAN units ( 4 ) is further configured to monitor IP SAN unit, and to perform various system operations, which include storage configuration and partitioning etc.
  • the control management software modules ( 7 ) also communicate with service software modules ( 9 ) of host ( 1 ) for distributing storage volumes to each hosts ( 1 ).
  • the distribute control management software modules ( 7 ) can be implemented with any suitable programming languages such as C, C++, Java, XML, etc.
  • the communication protocols between control management station ( 3 ) and IP SAN units ( 4 ) could be any suitable IP based protocols.
  • the communication between control management station ( 3 ) and hosts ( 1 ) can be any suitable IP base or non-IP based protocols.
  • the console support software modules ( 8 ) employ inter-process communication mechanism to obtain information relating to IP SAN units ( 4 ) and host ( 1 ) from the distributed control management software modules ( 7 ).
  • the console support software modules ( 8 ) actually plays a role for web server interface which operatively coupled to web server software modules ( 15 ) through the inter-process communication mechanism for providing web services and web user interfaces (“UI”) for displaying information of the SAN units and host into the management console ( 10 ).
  • UI web user interfaces
  • console support software modules ( 8 ) coupled to the web server modules ( 15 ) and coupled to the control management modules ( 7 ) for supporting web based multi-tasking, so that the control management station ( 3 ) is capable of controlling each user from a web browser capable of submitting one or multiple concurrent tasks for a CCDSVM without blocking or freezing the user's web browser screen.
  • a user space task list along with a lock protection can be used to store each task transmitted from each web browser.
  • the following actions can be performed on the control management station 3 in supporting web multi-tasks: a) repeating in a loop to receive and parse one or more requested tasks from each web browser, and for each parsed task performing following steps: b) acquiring the lock that protects the user space task list, storing the task information into a not used entry on the user space task list, then releasing the lock; c) run the task into background and to be distributed and executed on one or more targeted systems; d) providing a response web page including the task status back to the web browser without waiting the completion of the task, wherein if the target system is a control system, then get status from the control system itself and if the targeted system is a system unit, then get the task status from the system unit; wherein the task status could be a failed status if the task execution failed, or can be the task executing status or a result status if there is needs; e) cleaning up the task information in the corresponding entry of the user space task list up on the completion of the task.
  • the user is capable of checking the task status regardless if the task is finished or not, and of course in another embodiment the user is also able to submit other tasks since the web browser will never freeing or blocking.
  • more locks may be deployed during the entire task executing to protect other resources related to the task.
  • non-web based networked user interface can be supported with similar steps described above.
  • the console support software modules ( 8 ) and web server software modules 15 can be implemented with any suitable programming languages such as C, C++, Java, XML, etc.
  • the web server software ( 15 ) communicates with management console software ( 10 ) on console host ( 14 ) through web protocol such as HTTP for displaying the information of the virtual SAN infrastructure into the management console 10 (web browser) in the display device on the console host.
  • the web server software ( 15 ) together with the console support modules ( 8 ) and the distributed control management modules ( 7 ) are configured to provide end users a centralized management capability for managing the entire distributed virtual SAN infrastructure across the network.
  • the web server software ( 15 ) could be commercially available software on the market such as Apache or IIS or other proprietary software.
  • console support software modules ( 8 ) which communicate (send/receive) with the management console ( 10 ) on the console host ( 14 ) (without further mentioning the role and function of the web server software ( 15 ) on the control management station).
  • the web server software ( 15 ) on control management station ( 3 ) is often not required.
  • the console support software modules ( 8 ) could communicate with the management console software ( 10 ) with a suitable protocol other than a web protocol such as HTTP.
  • the virtual storage pool ( 11 ) includes multiple SAN units ( 4 ) including IP SAN and fiber channel SAN units, wherein each SAN unit further includes service modules ( 6 ).
  • Each SAN unit ( 4 ) further contains storage media, storage communications and control media.
  • the storage hardware media of each SAN unit ( 4 ) is configured to have one or more logical volumes. Each volume, in one embodiment, is further partitioned into several portions, as shown in FIG. 5 .
  • the service software modules ( 6 ) of the SAN unit ( 4 ) further contain block data services and other service software modules.
  • the service software modules ( 6 ), in one embodiment, is configured to communicate with the distribute control management station ( 3 ) for providing storage information and for performing storage operations.
  • the service software modules ( 6 ), in another embodiment, are further configured to communicate with the service software modules ( 9 ) of hosts ( 1 ) for providing block data services directly for the host ( 1 ).
  • the service software modules ( 6 ) can be implemented by any suitable programming languages such as C, C++, Java, etc and they may employ any suitable IP based communication protocols for data read and write.
  • Each mentioned software modules comprises programming instruction codes which are capable of creating processes and threads to be executed by the mentioned computer system step by step for carrying out one or more designated tasks.
  • the control management station ( 3 ) organizes the SAN units ( 4 ) to form the virtual storage pool ( 11 ).
  • the information of the virtual storage pool ( 11 ) is kept and maintained in a SAN unit information list in which every entry on the list comprises the information of a storage unit 4 including its name, IP addresses, status, and the storage volumes, each volume's block data addresses and size for each SAN unit ( 4 ).
  • the presence of a spare IP SAN unit ( 13 ) represents a part of recovery scheme used in the central controlled distributed scalable virtual machine environment.
  • Fiber channel to IP gateway ( 5 ) is a component that is configured to provide translation between Fibre Channel based protocol and IP based protocol so that Fibre Channel based SAN unit 4 will appear as if it is a IP based SAN unit to the control management station 3 and host 1 ( FIG. 1 ).
  • Fiber channel SAN unit 4 is similar to an IP SAN unit ( 4 ) except it uses Fiber Channel storage control media, which uses Fiber Channel protocol to communicate with other parties over the network.
  • Fiber Channel SAN unit 4 appears as an IP based SAN unit 4 once it connects to a Fiber Channel to IP gateway ( 5 of FIG. 2 ) in the network infrastructure 2 of the distributed virtual SAN infrastructure. Therefore, to simplify the foregoing discussion, the fiber channel SAN unit 4 will be treated similarly as an IP SAN unit 4 in the virtual storage pool and in all of following discussion without additional comments.
  • the web based multi-tasking support for management console (web browser) on the console host ( 14 ) of the CCDSVM has been described in the pending patent application entitled “Concurrent Web Based Multi-Task Support for Control Management System” application Ser. No. 12/079,482, filed on Mar. 27, 2008 by the same author of present invention, and here in incorporated in its entirety by reference.
  • the management console ( 10 ) could be a commercially available web browser 10 on the market or a proprietary Web browser 10 .
  • a web browser 10 is able to communicate with the web server software ( 15 ) on the control management station ( 3 ) through a web protocol such as HTTP.
  • the Web browser could be implemented by any suitable programming languages such as C, C++, Java, XML, etc.
  • the management console software module ( 10 ) could be a networked software module instead of web browser software for supporting non-web based management console 10 . In this case, any other suitable network protocols can be used instead of using web protocols such as HTTP.
  • management console ( 10 ) on console host ( 14 ) and the console support software modules ( 8 ) on control management station ( 3 ) will not further mention the role or function of web server software module ( 15 ) in this invention.
  • management console ( 10 ) From management console ( 10 ), multiple system operations and tasks can be performed for the entire distributed virtual SAN infrastructure. There are may be one or more management consoles of distributed virtual SAN infrastructure anywhere on the net.
  • FIG. 2 illustrates a portion of FIG. 1 relating to the core part of the virtual SAN.
  • the multiple SAN units 4 form a virtual Storage pool ( 11 ).
  • the virtual storage pool ( 11 ) may contain information of each SAN unit's IP address, the storage volumes and their sizes, etc.
  • FIG. 3 shows a protocol for virtual SAN automatic configuration and building as well as for shutting down a SAN unit 4 .
  • the packet format used with this protocol is described in FIG. 4 .
  • FIG. 4 shows the communication packet format, which is used by “Virtual SAN Automatic Configuration Protocol” for sending and receiving messages via a packet.
  • FIG. 5 illustrates a storage layout in an IP SAN unit, wherein the storage layout may be further divided into multiple volumes and each volume may be further divided into multiple partitions.
  • Each volume refers to a logical storage unit in this discussion and it might contain multiple pieces of storage space from multiple storage hardware media.
  • FIG. 6 is a simplified and a portion of FIG. 1 , which shows a hypothetical example of how hosts are configured to access the Storage Volume of SAN units 4 .
  • each SAN unit 4 is a portion of virtual storage pool ( 11 of FIG. 2 ) and each host 1 is substantially the same as presented in FIG. 1 .
  • FIG. 8 is a block diagram illustrating an In-Band Accessed Virtual SAN.
  • FIG. 8 shows another type of virtual SAN, wherein, the actual storage data path from hosts to IP SAN units has to go through control management station.
  • FIG. 9 is a Simplified Diagram of the Central Controlled Distributed Scalable Virtual Machine.
  • the systems in a CCDSVM can be flexibly organized into multiple different service pools according to their functionalities.
  • multiple SAN units 4 can form a virtual SAN storage pool.
  • the hosts 1 of CCDSVM could form other service pools to provide services other than storage services such as video services, security monitor services, database service, file service, web service and all other services provided on the world wide web or on a network.
  • multiple NAS (“network attached storage”) units 4 can form a virtual NAS storage pool, wherein each NAS can provide at least a local file system of the NAS to at least a remote host can deploy the NAS' local file system remotely as if it is the host's local file system via communication to the NAS unit.
  • all service pools of a CCDSVM shall have similar advantages as the virtual SAN storage pool has such as automatic configuration and provisioning, dynamic capacity scaling by adding or removing one or more system units dynamically, improved performance, backup and restore, fault handling and disaster recoverability, multi-level security, centralized manageability, and support on-demand services to the client (host) systems 1 .
  • FIG. 10 is a embodiment of a Disaster Recovery Scheme of the Distributed Virtual SAN Infrastructure, which includes one virtual storage pool ( 11 ) of multiple SAN units 4 and one service pool of multiple hosts 1 .
  • host- 1 ( 1 ) accesses IP SAN unit- 1 ( 4 ) and IP SAN unit- 2 ( 4 ) while host- 3 ( 1 ) accesses IP SAN units- 4 and unit- 5 .
  • IP SAN unit- 1 and unit- 2 are mirrored so that they have kept the same copy of data for host 1 . Therefore, whenever one of IP SAN failed, the mirrored one can continue providing storage service to the host as commonly practiced in the industry. The same to be true for IP SAN unit- 4 and unit- 5 with host- 3 ( 1 ).
  • IP SAN unit 4 and 5 are mirrored so that they have kept the same copy of data for host- 3 ( 1 ).
  • a IP SAN unit- 3 ( 4 ) may be a spare unit and a host- 2 ( 1 ) could be a spare host.
  • FIG. 1 shows a simplified diagram of a distributed virtual SAN infrastructure according to the present invention.
  • the distributed virtual SAN storage pool ( 11 ) comprises one or more SAN units ( 4 ), which may be further connected to a distribute control management station ( 3 ).
  • the SAN units ( 4 ) can be accessed by one or more hosts ( 1 ) via the network infrastructure ( 2 ).
  • the entire distributed virtual SAN infrastructure can be operated through the management console ( 10 ).
  • FIG. 3 shows one embodiment of the distributed Virtual SAN Automatic Configuration Protocol, which leads to the success of constructing the virtual storage pool ( 11 ) of the distributed virtual SAN infrastructure ( FIG. 1 ) according to this invention.
  • the following steps are the automatic sequence for building the storage volume pool of the virtual SAN based on this protocol ( FIG. 3 ).
  • the protocol described bellow could be IP based protocol such as SNMP, or a much simple UDP protocol ( FIG. 4 ), or any other suitable protocols.
  • the SAN service modules ( 6 of FIG. 2 ) of the IP SAN unit ( 4 ) sends out a “SAN unit (n) startup” packet to indicate either the SAN unit is power up or a previously downed network is up again, as illustrated in FIG. 4 , to the distribute control management station ( 3 of FIG. 1 ).
  • the “SAN unit (n) startup” packet could be a simple user defined UDP packet ( FIG. 4 ) with a message type of system up. This message carried by the packet could also be a SNMP trap of cold start packet, or link-up packet ( 4 of FIG. 1 ) or other short packet/message of any suitable IP protocols.
  • the distribute control management modules ( 7 of FIG. 1 ) of the distribute control management station ( 3 of FIG. 1 ) receives IP SAN unit (n)'s packet, it stores the IP SAN unit (n)'s information into a SAN unit information list on the distribution control management station ( 3 ).
  • control management modules ( 7 of FIG. 1 ) on the distribute control management station ( 3 of FIG. 1 ) sends back a “need SAN unit (n)'s storage info” packet to the IP SAN unit (n) ( 4 of FIG. 1 ).
  • the SAN service modules ( 6 of FIG. 1 ) on IP SAN unit (n) ( 4 of FIG. 1 ) receive the packet of “need SAN unit (n)'s storage info”, it obtains the storage information on the IP SAN unit (n) ( 4 of FIG. 1 ) and encoded the obtained information into a packet as illustrated in FIG. 4 , which includes the number of storage volumes, each volume's starting address (logical block data address, LBA), length, and the end address (logical block address, LBA).
  • the SAN service modules ( 6 of FIG. 1 ) then send back the packet of “unit (n) storage info”, back to the control management station ( 3 of FIG. 1 ).
  • the distribute control management modules ( 7 of FIG. 1 ) on the distribute control management station ( 3 of FIG. 1 ) update the stored SAN unit information list for the virtual storage pool ( 11 of FIG. 1 ) with the corresponding storage information of the IP SAN unit (n) based on the received information from the packet.
  • the service module ( 6 of FIG. 1 ) of the IP SAN unit (n) sends a “Unit (n) shutdown” packet to the distribute control management station ( 3 of FIG. 1 ).
  • This shutdown packet could be an SNMP trap of link down, or a simple UDP packet ( FIG. 4 ) with message type of system down, or other short packet based on some other protocols.
  • the distribute control management modules ( 7 of FIG. 1 ) on the distribute control management station ( 3 of FIG. 1 ) update information of the virtual storage pool ( 11 of FIG. 1 ) via the SAN unit information list for the specific IP SAN unit (n) ( 4 of FIG. 1 ), where in one embodiment the updated information could be the total size of the capacity of the virtual storage pool, could be the hosts' storage volume allocation (mapping) information, and could be the status down for the SAN unit (n), wherein the letter “n” could be a number starting from “1” with sequence order for representing a SAN unit.
  • the method and principles of automatic constructing the virtual storage pool 11 can be applied for various other virtual machines such as for virtual video server, database server, web server, file server, etc. without limits;
  • the SAN unit described above may be replaced by a video server, and the “storage info” in the packet for the protocol sequence can be replaced with the “video service info” etc. for constructing a different type of service pool such as for a virtual video pool or a virtual database pool etc. without limits.
  • the control management station ( 3 of FIG. 1 ) After one or more SAN units ( 4 of FIG. 1 ) are online, and the control management station ( 3 of FIG. 1 ) obtains and stores the information relating to the storage volumes and networking protocols for every SAN unit ( 4 of FIG. 1 ) in the virtual storage pool ( 11 of FIG. 1 ). Therefore, the control management station ( 3 of FIG. 1 ) is able to accept block data request from a plurality of hosts 1 and redirect and distribute the requested storage volumes to each requested host ( 1 of FIG. 1 ) in several steps as follow.
  • a host- 1 ( 1 of FIG. 1 ) sends a request to the control management station ( 3 of FIG. 1 ) for requesting a specific sized storage space, such as 80 GB (gigabyte) of storage.
  • the control management station ( 3 of FIG. 1 ) receives and stores the host- 1 's information and searches for the availability of 80 GB of storage volume on a specific SAN unit 4 .
  • the control management station ( 3 ) for example, identifies an volume 2 which is 80 GB in size and is available for service on a SAN unit-M ( FIG. 6 ).
  • the control management station ( 3 of FIG. 1 ) sends the information of the host- 1 to the SAN unit-M ( FIG.
  • the control management station ( 3 of FIG. 1 ) also sends the identified storage volume information relating to the SAN unit-M to the host- 1 ( 1 of FIG. 1 ), wherein the storage volume information includes the IP address of IP SAN unit-M, the volume number and the size, the volume's starting address, and volume's ending logical address block (LBA). Therefore, all parties of three, namely the control management station ( 3 ), the host- 1 and the SAN unit-M keep and synchronize the same storage volume assignment and mapping information for the SAN unit information list. Fourth, once the host- 1 ( 1 of FIG. 1 ) and SAN unit-M ( FIG.
  • the host- 1 ( 1 of FIG. 1 ) can directly and independently access the volume 2 on SAN unit-M immediately and the SAN unit-M, in one embodiment, is further configured to perform security checking in light of storage accessing based on the received mapping information.
  • the above described steps may also be semi-automatically setup with assisting of system operations performed from the management console ( 10 of FIG. 1 ).
  • an administrator could initially setup volume 2 of the SAN unit-M ( FIG. 6 ) to be exclusively accessed by the host- 1 ( 1 of FIG. 1 ) as long as the administrator acknowledges that host- 1 needs such size of storage volume.
  • the administrator can also setup the host- 1 with all information needed to access the volume 2 of the SAN unit-M ( FIG. 6 ).
  • the host- 1 ( 1 of FIG. 1 ) can access the volume 2 of SAN unit-M ( FIG. 6 ) directly without going through the control management station ( 3 of FIG. 1 ).
  • the present invention also discloses a mechanism of dynamically scaling storage capacity.
  • the host ( 1 of FIG. 1 ) will be able to access the storage volumes on the SAN units ( 4 of FIG. 1 ) in the pool ( 11 of FIG. 1 ) directly without further involvement of the control management station ( 3 of FIG. 1 ). Therefore, the control management station 3 can continue to handle adding one or more storage unit for the virtual storage pool ( 11 of FIG. 1 ) of this distributed virtual SAN infrastructure ( FIG. 1 ) based on-demand without interrupting the hosts' ( 1 of FIG. 1 ) normal accessing the storage volumes on the assigned SAN units ( 4 of FIG. 1 ). As a result, this guarantees that the distributed virtual SAN storage pool ( 11 of FIG. 2 ) can be dynamically expanded without interrupting the normal operations and accessing of the entire distributed virtual SAN storage infrastructure ( 11 of FIG. 2 ).
  • the present invention further discloses a technique of providing scalable storage for each host.
  • each host ( 1 of FIG. 1 ) can access one or more SAN units ( 4 of FIG. 1 ) in the storage pool ( 11 of FIG. 1 ) of the distributed virtual SAN infrastructure ( FIG. 1 ) whenever the host made storage requests.
  • a host ( FIG. 6 ) can access SAN unit- 1 , unit- 2 , and unit-M ( FIG. 6 ) after the host ( 1 ) made requests to access the IP SAN units and the control management station ( 3 of FIG. 1 ) subsequently granted each request.
  • the distributed virtual SAN infrastructure ( FIG. 1 ) provides far better scalability than the in-band accessed virtual SAN ( FIG. 8 ), wherein the scalability of in-band accessed virtual SAN were severely limited by the bottlenecked control management station ( FIG. 8 ).
  • the present invention also discloses a method of storage sharing mechanism.
  • each SAN unit ( 4 of FIG. 1 ) in the pool of distributed virtual SAN infrastructure ( FIG. 1 ) may hold multiple storage volumes in the form of block data, which can be accessed by one or more hosts ( 1 of FIG. 1 ). Therefore, this allows multiple hosts ( 1 of FIG. 1 ) to share an IP SAN unit ( 4 of FIG. 1 ) by granting and assigning each host to exclusively access particular volumes on that IP SAN unit ( 4 of FIG. 1 ).
  • the FIG. 6 demonstrates such an example of the storage sharing, wherein IP SAN unit ( 2 of FIG.
  • volume 1 has three volumes, which named volume 1 , volume 2 , and volume 3 .
  • the block data service modules ( 6 of FIG. 1 ) on IP SAN unit ( 2 of FIG. 6 ) allows volume 1 to be accessed exclusively by host- 1 ( 1 ) while volume 2 to be accessed exclusively by host- 2 ( 1 ).
  • each host 1 of FIG. 1
  • can directly and independently access any IP SAN unit 4 of FIG. 1 ). Therefore, the performance of storage accessing for each host 1 will not have the bottleneck and can match the performance of direct attached storage system ( FIG. 7 ) when a high speed network connection is deployed in the distributed virtual SAN infrastructure ( FIG. 1 ).
  • the present invention also illustrates a method of a centralized management of the distributed virtual SAN.
  • the management console ( 10 ) on the console host ( 14 ) and on the distribution control management station ( 3 ) is configured to receive and display information relating to all IP SAN units ( 4 ) and hosts ( 1 ) from the control management modules ( 7 of FIG. 1 ) via communication to the console support software module ( 8 of FIG. 1 ) of the control management station ( 3 of FIG. 1 ). Therefore, from the management console ( 10 ) users are capable of performing centralized management tasks for the entire distributed virtual SAN storage pool ( 11 of FIG. 1 ), the hosts ( 1 of FIG. 1 ), and the control management station itself ( 3 of FIG. 1 ), in one embodiment the tasks are performed via web operation menu.
  • the users at the management console ( 10 of FIG. 1 ) can perform full range of system operations and tasks, where the management console 10 could be a web browser or a non-web based networked console.
  • the mentioned tasks include, for example, creating a file system on a storage volume such as a 6o Giga bytes sized file system, configuring a RAID controller, or transfer one or more files between systems of the CCDSVM including multi-Giga Bytes of file.
  • management tasks also include storage configuration, storage volume allocation (assignment) or de-allocation for hosts, storage partitioning and repartitioning, storage, network, and resource usage and activity monitoring, security management, data replication and backup/restore management, fault management and all others.
  • the security management includes setup secure accessing policies at multiple level of the virtual SAN infrastructure including at control management station level, at SAN unit level and at host level.
  • the security also can be enforced for users performing administration tasks. For example, authenticating and validating a specific user from a specific system's web browser to access the virtual SAN infrastructure, authenticating a user performing specific task for one or more specific systems such as for SAN unit, host or control management station. For other example, assigning and authenticating a host accessing one or more specific SAN units' specific storage volumes, and assigning storage volumes of a SAN unit to be accessed by specific one or more hosts.
  • the present invention discloses a method for disaster recovery.
  • DNS or IP address identification mechanism provides the distributed virtual SAN infrastructure capable of overcoming the geometric (region) limitation for being deployed both in a cross network domain environment or in a single network domain environment. Therefore, the SAN units, hosts and the control management station could be flexibly clustered on corporate storage network, corporate Intranet, LAN, WAN or Internet.
  • a disaster recovery plan can have a topology of the distributed virtual SAN infrastructure span across 100 miles range across Internet or Intranet as oppose to the traditional 10-kilometer limitation in a fiber channel environment.
  • the disaster recovery plan of the distributed virtual SAN infrastructure can be flexibly implemented as showing in FIG. 10 .
  • the host- 1 or host- 3 ( 1 of FIG. 10 ) can continue to operate even if one of its mirrored IP SAN units failed ( 3 of FIG. 10 ).
  • a spare IP SAN unit 4 can be used to quickly replace a failed IP SAN unit 4 whenever there is a need, for example, when both IP SAN- 1 and IP SAN- 2 are failed.
  • the hosts ( 1 of FIG. 10 ) also can be organized into a service pool for providing special services, such as distributing video services, distributed database pool, distributed security monitor services, web services and all other services provided across the network or world wide Web. Therefore, whenever the host- 1 ( 1 ) or host- 3 ( 1 ) failed, the spare host- 2 ( 1 ) can quickly take over the assigned IP SAN storage and replace a failed host ( 1 ) to continue providing the services.
  • any IP SA N unit can be shared and accessed by multiple hosts.
  • the host can be assigned to access multiple storage volumes from at least a SAN unit 4
  • the implementation of web-based multi-concurrent tasks allows entire distributed virtual SAN infrastructure to be managed and monitored much efficiently from the management console 10 on the console host ( 14 ) or on the control management station ( 3 ).
  • Specially, many tasks and operations can be done streamlined for systems of the virtual SAN infrastructure.
  • the streamlined tasks for example, could be ranged from managing storage configuration and managing networks to configuring each system of the virtual SAN infrastructure providing various services and contents to the client systems across the network.
  • the IP based distributed virtual SAN infrastructure is one type of the central controlled distributed scalable virtual machine (CCDSVM).
  • the software modules of the CCDSVM has created a web based virtual computer user work environment (WCUWE) for a virtual operating system of the CCDSVM.
  • the WCUWE created by the mentioned software modules (control part of the WCUWE) on the control management station 3 which includes console support software modules (web server interface) 8 , control management modules 7 and web server software modules 15 on the control management station 3 , and together by the service modules 8 (agent part of the WECUWE) on each system unit 4 .
  • the service modules 8 agent part of the WECUWE
  • each part of the WCUWE also running on the top of a native operating system kernel.
  • a single standalone control system is a special embodiment of the CCDSVM, where the CCDSVM has degenerated into a single standalone control system without any system unit,
  • one or more service pool of the CCDSVM can be organized into multi-layered structure ( FIG. 12 ), where top level control system controls one or more middle level (level- 2 ) control system and each middle level control system can control a plurality of system units. Therefore, the level 2 control system must have related software modules for both the control system and system unit 3 such that the middle level control system plays double roles as the system unit to the top level control system and as the control system to the system units bellow its level.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The distributed virtual SAN infrastructure provides a plurality of host systems with a scalable dynamically expandable distributed virtual storage pool, which includes a virtual storage automatic construct protocol. The distributed virtual SAN infrastructure includes one or more SAN units including IP SAN unit and Fiber Channel SAN unit, the management console, the distributing control management station and the network infrastructure, wherein the network infrastructure provides the communication links between all systems in this distributed virtual SAN.

Description

    CROSS-REFERENCE TO RELATED APPLICATION(S)
  • The present application is a divisional patent application based on U.S. patent application Ser. No. 12/013,813 which itself is a divisional application of Ser. No. 10/713,905 (U.S. Pat. No. 7,378,990) that is based on provisional application of 60/402,626. The present application also is a continuation-in-part (CIP) of parent application Ser. No. 12/079,482 which itself is a divisional application of Ser. No. 10/713,904 (U.S. Pat. No. 7,418,702) that actually is based on provisional application of 60/401,238.
  • FIELD OF THE INVENTION
  • The present invention generally relates to computer communications network. More specifically, the present invention relates to web based data storage systems.
  • BACKGROUND OF THE INVENTION
  • Today's corporate IT professionals typically face many challenges to handle the ever increasing information and data. To handle large amount of data, many organizations expand their storage capacity by employing manage storage systems locally in order to maintaining their normal business operating. A conventional approach is to use IP based network attached storage (“NAS”), which effectively provides data storage and services for end users. Moreover, at the enterprise level, the majority storage systems are directly attached or connected to server(s) or host(s) as shown in FIG. 7. These server(s) and/or host(s) are typically used as raw block data devices through conventional communication connection media, such as traditional IDE, SCSI, or Fiber Channel.
  • The server, which is directly attached to a storage system as illustrated in FIG. 7 typically has many drawbacks, which are described as following:
  • a typical conventional storage management system is only capable of handling 4 TB (terabytes) of data, which is usually not good enough for a typical enterprise storage management system;
  • The most of servers, which are directly attached to storage systems, have problems for further expanding their storage capacity. For example, it may require to purchase new servers or require shutdown the server in order to increase storage capacity;
  • The storage being attached to a server can only be accessed by the attached server and can not be shared by other servers because the server's spare storage capacity can not be distributed across all servers within a organization;
  • Each attached storage system has to be managed separately and this is a nightmare for IT professionals;
  • With the attached storage system, the backup/restore has to go through the data network, this will tax or reduce the network performance;
  • A typical SCSI connection only allows a 12-meter distance for data accessing with 15 storage devices. Similarly, Fibre Channel is limited to 10 kilometers communication distance. Distance limitation effectively prevents them from being the best choice for disaster recovery of the storage system; and
  • The Fibre Channel based storage system cannot handle well for the interoperability. Also, the Fibre Channel based storage system is expensive to build and to maintain.
  • FIG. 8 shows a conventional type of the virtual SAN, which is in-band controlled and accessed with which the data path from hosts (1 of FIG. 8) to the SAN units (4 of FIG. 8) going through control management station (2 of FIG. 8). It is not efficient in term of accessing the data by the hosts because the virtual SAN control management station can easily be a performance bottleneck. Similarly, the scalability of this type of the virtual SAN is poor.
  • SUMMARY
  • With rapid development of high speed communication technology, the problems mentioned above can be solved by an IP based out-band accessed distributed virtual SAN infrastructure (FIG. 1) of this invention. In one embodiment, each host (1 of FIG. 1) can directly access the IP based SAN units (4 of FIG. 1) without going through the control management station (3 of FIG. 1). The IP based out-band accessed distributed virtual SAN infrastructure (FIG. 1) actually represents an example of central controlled distributed scalable virtual machine system (CCDSVM) (FIG. 9). Wherein, each system units actually is a SAN unit (4 of FIG. 1), specifically is an IP based SAN unit.
  • In another embodiment, each SAN unit (4 of FIG. 1) can be accessed by one or more hosts (1 of FIG. 1) and each host can access one or more SAN units (FIG. 6). Therefore, every piece of storage volume can be fully utilized without wasting a bit of capacity. In addition, the storage accessing goes directly through data communication link of a network infrastructure (2 of FIG. 1) between the hosts (1 of FIG. 1) and SAN units (4 of FIG. 1) without involvement of the control management station (3 of FIG. 1). Further, the SAN units (4 of FIG. 1) in the virtual SAN infrastructure can be dynamically added or removed without interrupting normal data accessing from hosts (1 of FIG. 1) and are centrally controlled, monitored, and managed by a control management station (3 of FIG. 1) through a management console (10 of FIG. 1) on console system (14). The control management station (3 of FIG. 1) may also accept storage volume/partition requests from each host (1 of FIG. 1), and assign the matched volumes/partitions of SAN units (4 of FIG. 1) to these requested hosts. Therefore, each host (1 of FIG. 1) could directly and efficiently access the right volumes/partitions of assigned SAN units (4) without interfering each other and without going through the control management station again. In addition, the backup and restore will not go through data network, therefore, it will enhance the performance and flexibility for the backup/restore operations.
  • This invention will become understood with reference to the following description, claims, and accompanying figures.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention will be understood more fully from the detailed description given below and from the accompanying drawings of various embodiments of the invention, which, however, should not be taken to limit the invention to the specific embodiments, but are for explanation and understanding only.
  • FIG. 1 illustrates a distributed virtual storage area of network (“SAN”) infrastructure in accordance with one embodiment of the present invention;
  • FIG. 2 illustrates actual Components of Distributed Virtual SAN in accordance with one embodiment of the present invention;
  • FIG. 3 illustrates Virtual SAN Automatic Configuration Protocol in accordance with one embodiment of the present invention;
  • FIG. 4 illustrates a Virtual SAN Auto Configuration Protocol Packet format in accordance with one embodiment of the present invention;
  • FIG. 5 illustrates an Example of Storage Volume Information of an IP SAN Unit in accordance with one embodiment of the present invention;
  • FIG. 6 illustrates a hypothetical example of Storage Volume Requests and Assignment in accordance with one embodiment of the present invention;
  • FIG. 7 is a conventional Direct Attached Storage System;
  • FIG. 8 is an In-Bound Accessed Virtual Storage System;
  • FIG. 9 illustrates a Simplified Diagram of Central Controlled Distributed Scalable Virtual Machine System in accordance with one embodiment of the present invention; and
  • FIG. 10 illustrates a Simplified Diagram of Disaster Recovery Scheme of Distributed Virtual SAN Infrastructure in accordance with one embodiment of the present invention.
  • FIG. 11 illustrates the typical hardware components of a typical computer system for said control management system 3, system unit 4 including storage unit 4, host 1, and console system 10. It comprises one or multiple CPU, memories, secondary storages such as disk or memory sticks, network interface cards and display components such as monitors or others. These components are connected through bus.
  • FIG. 12 illustrates a multi-layered central controlled distributed scalable virtual server.
  • DETAILED DESCRIPTION
  • The following terms are used through out this patent application to describe the present invention. A central controlled distributed scalable virtual machine (“CCDSVM”) system allows a control management station to control a group of systems and to provide distributed services to client systems over the Intranet, Internet, and/or LAN environment. Storage media includes magnetic hard disk drives, solid state disk, optical storage drive, and memory card etc. Storage connection and control media may include controller of IDE, SCSI, Fibre optical, Ethernet, USB, or wireless media, and/or other related cables etc. Each controller of storage media such as Raid, IDE, or SCSI controller may control multiple storage media drivers on a system. Storage system includes one or more storage media devices, storage connections, and/or storage media controllers. Storage system also contains related software modules for delivering storage services. The storage volume is a abstract term used for convenience of the discussing.
  • Storage area network (“SAN”) is a storage system that is capable of providing block data services to various computer hosts through storage connection and control media, such as Fiber-optical, Ethernet or other said media using protocol based on Internet Protocol (“IP”) or non-IP based protocols. The non-IP based connection media, in one example, includes Fibre-Channel. IP SAN unit uses IP based protocol to provide storage raw block data services. All discussions of the SAN in this invention are within the scope of a central controlled distributed scalable virtual machine (“CCDSVM”).
  • DNS stands for domain name server of network technology. DNS is an Internet software infrastructure and is capable of identifying and resolving network addresses and name for systems across a network. A Simple Network Management Protocol (“SNMP”) is a standard Internet protocol. A SNMP trap is a user datagram protocol (“UDP”) packet, which may be used to send the SNMP message (a event) from a SNMP agent system to a SNMP network management station via network links.
  • FIG. 1 shows an example of a simplified block diagram of IP based out-band accessed distributed virtual SAN infrastructure. The distributed virtual SAN infrastructure includes multiple hosts (1), network infrastructures (2), a control management station (3), virtual storage pool (11) having multiple SAN units including IP SAN unit, spared SAN unit and fiber channel SAN unit which connected via fiber-channel-to-IP gateway, and a management console (10). In one embodiment, each host (1) contains service software modules 9. The service software modules (9) are configured to communicate with control management software modules (7) of a control management station (3) for obtaining information of the virtual SAN, for one example to get the storage information on a specific SAN unit (4). The service software modules (9) of the host (1) also communicates with service software modules (6) of each SAN unit (4) to read block data from or write block data to the SAN unit (4). The service software modules (9) can be coded and implemented with any suitable programming languages such as C, C++, Java or others. The service software modules (9) may also use any suitable protocols such as IP based or non-IP based protocols.
  • The host (1), in one embodiment, could be a server, a desktop, a laptop PC, or a personal communication device such as PDA and cell phone etc., which needs to access a block data storage. In another embodiment, the host (1) is capable of creating at least a local file system by utilizing at least a storage volume on a SAN unit (4) in addition to utilizing its own storage volume on its local storage device. In one more embodiment, the host (1) may creating at least a local database by utilizing at least a storage volume on a SAN units in addition to utilizing its own local storage devices. In addition, at least a spare host can be deployed in the virtual SAN infrastructure, wherein the spare host (12) represents a part of recovery scheme that could be implemented for providing service replacement for a failed host in a CCDSVM environment, and each spare host can server multiple hosts.
  • Network infrastructure (2) can comprise various kind of communication links of a network infrastructure, which could be one of a corporate storage network, a department local area network (“LAN”), a corporate intranet, an Internet infrastructure, a metropolitan area network (“WAN”) or others-without limits. In one embodiment, network infrastructure (2) includes switches, routers, gateways, cables (Ethernet, optical Fibre), wireless communication media, or others without limits. The network infrastructure (2) provides data path between hosts (1), distribute control management station (3), and SAN Units (4). The network infrastructure (2) also includes software infrastructure such as DNS or DHCP for facilitating systems on the network to identifying target system's addresses, which are used for sending or receiving data within a network domain or in a cross-domain network environment.
  • It should be noted that DNS and/or other Internet address identification mechanism may be used when a message or data stream is sent from a system A to a system B via communication link of the network infrastructure.
  • Control management station (3) includes distributing control management software modules (7) and console support software modules (8). To support web-based console, it requires the web server software (15). The distribute control management software modules (7), in one embodiment, communicate with service modules (6) of IP SAN units (4) to retrieve storage information for constructing a virtual SAN storage pool (11). The communication between the distributed control management software modules (7) and the service modules (6) of IP SAN units (4) is further configured to monitor IP SAN unit, and to perform various system operations, which include storage configuration and partitioning etc. The control management software modules (7) also communicate with service software modules (9) of host (1) for distributing storage volumes to each hosts (1). The distribute control management software modules (7) can be implemented with any suitable programming languages such as C, C++, Java, XML, etc. The communication protocols between control management station (3) and IP SAN units (4) could be any suitable IP based protocols. The communication between control management station (3) and hosts (1) can be any suitable IP base or non-IP based protocols.
  • The console support software modules (8) employ inter-process communication mechanism to obtain information relating to IP SAN units (4) and host (1) from the distributed control management software modules (7). The console support software modules (8) actually plays a role for web server interface which operatively coupled to web server software modules (15) through the inter-process communication mechanism for providing web services and web user interfaces (“UI”) for displaying information of the SAN units and host into the management console (10). In one embodiment, the console support software modules (8) coupled to the web server modules (15) and coupled to the control management modules (7) for supporting web based multi-tasking, so that the control management station (3) is capable of controlling each user from a web browser capable of submitting one or multiple concurrent tasks for a CCDSVM without blocking or freezing the user's web browser screen. In one example, a user space task list along with a lock protection can be used to store each task transmitted from each web browser.
  • In another embodiment, the following actions can be performed on the control management station 3 in supporting web multi-tasks: a) repeating in a loop to receive and parse one or more requested tasks from each web browser, and for each parsed task performing following steps: b) acquiring the lock that protects the user space task list, storing the task information into a not used entry on the user space task list, then releasing the lock; c) run the task into background and to be distributed and executed on one or more targeted systems; d) providing a response web page including the task status back to the web browser without waiting the completion of the task, wherein if the target system is a control system, then get status from the control system itself and if the targeted system is a system unit, then get the task status from the system unit; wherein the task status could be a failed status if the task execution failed, or can be the task executing status or a result status if there is needs; e) cleaning up the task information in the corresponding entry of the user space task list up on the completion of the task.
  • Therefore, the user is capable of checking the task status regardless if the task is finished or not, and of course in another embodiment the user is also able to submit other tasks since the web browser will never freeing or blocking. In one more examples, more locks may be deployed during the entire task executing to protect other resources related to the task. In another embodiment, non-web based networked user interface can be supported with similar steps described above. The console support software modules (8) and web server software modules 15 can be implemented with any suitable programming languages such as C, C++, Java, XML, etc.
  • The web server software (15) communicates with management console software (10) on console host (14) through web protocol such as HTTP for displaying the information of the virtual SAN infrastructure into the management console 10 (web browser) in the display device on the console host. The web server software (15) together with the console support modules (8) and the distributed control management modules (7) are configured to provide end users a centralized management capability for managing the entire distributed virtual SAN infrastructure across the network. The web server software (15) could be commercially available software on the market such as Apache or IIS or other proprietary software.
  • To simplify foregoing discussion, the communication path mentioned above will be simply referred to as the console support software modules (8), which communicate (send/receive) with the management console (10) on the console host (14) (without further mentioning the role and function of the web server software (15) on the control management station).
  • In addition, to support non-web based console, the web server software (15) on control management station (3) is often not required. In this case, the console support software modules (8) could communicate with the management console software (10) with a suitable protocol other than a web protocol such as HTTP.
  • The virtual storage pool (11) includes multiple SAN units (4) including IP SAN and fiber channel SAN units, wherein each SAN unit further includes service modules (6). Each SAN unit (4) further contains storage media, storage communications and control media. The storage hardware media of each SAN unit (4) is configured to have one or more logical volumes. Each volume, in one embodiment, is further partitioned into several portions, as shown in FIG. 5. The service software modules (6) of the SAN unit (4) further contain block data services and other service software modules. The service software modules (6), in one embodiment, is configured to communicate with the distribute control management station (3) for providing storage information and for performing storage operations. The service software modules (6), in another embodiment, are further configured to communicate with the service software modules (9) of hosts (1) for providing block data services directly for the host (1). The service software modules (6) can be implemented by any suitable programming languages such as C, C++, Java, etc and they may employ any suitable IP based communication protocols for data read and write. Each mentioned software modules comprises programming instruction codes which are capable of creating processes and threads to be executed by the mentioned computer system step by step for carrying out one or more designated tasks.
  • In one embodiment, the control management station (3) organizes the SAN units (4) to form the virtual storage pool (11). The information of the virtual storage pool (11) is kept and maintained in a SAN unit information list in which every entry on the list comprises the information of a storage unit 4 including its name, IP addresses, status, and the storage volumes, each volume's block data addresses and size for each SAN unit (4). The presence of a spare IP SAN unit (13) represents a part of recovery scheme used in the central controlled distributed scalable virtual machine environment.
  • Fiber channel to IP gateway (5) is a component that is configured to provide translation between Fibre Channel based protocol and IP based protocol so that Fibre Channel based SAN unit 4 will appear as if it is a IP based SAN unit to the control management station 3 and host 1 (FIG. 1).
  • Fiber channel SAN unit 4 is similar to an IP SAN unit (4) except it uses Fiber Channel storage control media, which uses Fiber Channel protocol to communicate with other parties over the network. In addition, Fiber Channel SAN unit 4 appears as an IP based SAN unit 4 once it connects to a Fiber Channel to IP gateway (5 of FIG. 2) in the network infrastructure 2 of the distributed virtual SAN infrastructure. Therefore, to simplify the foregoing discussion, the fiber channel SAN unit 4 will be treated similarly as an IP SAN unit 4 in the virtual storage pool and in all of following discussion without additional comments.
  • The web based multi-tasking support for management console (web browser) on the console host (14) of the CCDSVM has been described in the pending patent application entitled “Concurrent Web Based Multi-Task Support for Control Management System” application Ser. No. 12/079,482, filed on Mar. 27, 2008 by the same author of present invention, and here in incorporated in its entirety by reference. The management console (10) could be a commercially available web browser 10 on the market or a proprietary Web browser 10. A web browser 10 is able to communicate with the web server software (15) on the control management station (3) through a web protocol such as HTTP. The Web browser could be implemented by any suitable programming languages such as C, C++, Java, XML, etc. In addition, the management console software module (10) could be a networked software module instead of web browser software for supporting non-web based management console 10. In this case, any other suitable network protocols can be used instead of using web protocols such as HTTP.
  • To simplify the foregoing discussion, the communication path between management console (10) on console host (14) and the console support software modules (8) on control management station (3) will not further mention the role or function of web server software module (15) in this invention.
  • From management console (10), multiple system operations and tasks can be performed for the entire distributed virtual SAN infrastructure. There are may be one or more management consoles of distributed virtual SAN infrastructure anywhere on the net.
  • FIG. 2 illustrates a portion of FIG. 1 relating to the core part of the virtual SAN. The multiple SAN units 4 form a virtual Storage pool (11). The virtual storage pool (11) may contain information of each SAN unit's IP address, the storage volumes and their sizes, etc.
  • FIG. 3 shows a protocol for virtual SAN automatic configuration and building as well as for shutting down a SAN unit 4. The packet format used with this protocol is described in FIG. 4.
  • FIG. 4 shows the communication packet format, which is used by “Virtual SAN Automatic Configuration Protocol” for sending and receiving messages via a packet.
  • FIG. 5 illustrates a storage layout in an IP SAN unit, wherein the storage layout may be further divided into multiple volumes and each volume may be further divided into multiple partitions. Each volume refers to a logical storage unit in this discussion and it might contain multiple pieces of storage space from multiple storage hardware media.
  • FIG. 6 is a simplified and a portion of FIG. 1, which shows a hypothetical example of how hosts are configured to access the Storage Volume of SAN units 4. Where each SAN unit 4 is a portion of virtual storage pool (11 of FIG. 2) and each host 1 is substantially the same as presented in FIG. 1.
  • FIG. 8 is a block diagram illustrating an In-Band Accessed Virtual SAN. FIG. 8 shows another type of virtual SAN, wherein, the actual storage data path from hosts to IP SAN units has to go through control management station.
  • FIG. 9 is a Simplified Diagram of the Central Controlled Distributed Scalable Virtual Machine. With this invention, the systems in a CCDSVM can be flexibly organized into multiple different service pools according to their functionalities. For example, multiple SAN units 4 can form a virtual SAN storage pool. The hosts 1 of CCDSVM could form other service pools to provide services other than storage services such as video services, security monitor services, database service, file service, web service and all other services provided on the world wide web or on a network. In an additional embodiment, multiple NAS (“network attached storage”) units 4 can form a virtual NAS storage pool, wherein each NAS can provide at least a local file system of the NAS to at least a remote host can deploy the NAS' local file system remotely as if it is the host's local file system via communication to the NAS unit. Also, all service pools of a CCDSVM shall have similar advantages as the virtual SAN storage pool has such as automatic configuration and provisioning, dynamic capacity scaling by adding or removing one or more system units dynamically, improved performance, backup and restore, fault handling and disaster recoverability, multi-level security, centralized manageability, and support on-demand services to the client (host) systems 1.
  • FIG. 10 is a embodiment of a Disaster Recovery Scheme of the Distributed Virtual SAN Infrastructure, which includes one virtual storage pool (11) of multiple SAN units 4 and one service pool of multiple hosts 1. For example, host-1 (1) accesses IP SAN unit-1 (4) and IP SAN unit-2 (4) while host-3 (1) accesses IP SAN units-4 and unit-5. Also, IP SAN unit-1 and unit-2 are mirrored so that they have kept the same copy of data for host 1. Therefore, whenever one of IP SAN failed, the mirrored one can continue providing storage service to the host as commonly practiced in the industry. The same to be true for IP SAN unit-4 and unit-5 with host-3 (1). That is the IP SAN unit 4 and 5 are mirrored so that they have kept the same copy of data for host-3 (1). In addition, a IP SAN unit-3 (4) may be a spare unit and a host-2 (1) could be a spare host.
  • FIG. 1 shows a simplified diagram of a distributed virtual SAN infrastructure according to the present invention. With the distributed virtual SAN infrastructure, the distributed virtual SAN storage pool (11) comprises one or more SAN units (4), which may be further connected to a distribute control management station (3). The SAN units (4) can be accessed by one or more hosts (1) via the network infrastructure (2). The entire distributed virtual SAN infrastructure can be operated through the management console (10).
  • A hundreds and thousands terabytes of a virtual raw storage volume pool (11) of the distributed virtual SAN infrastructure (FIG. 1) can be initiated and updated when each of the SAN units (4) is booted up or brought to online. The virtual storage volume pool (11), in one embodiment, is updated when at least one of SAN unit is powered down or removed from the distributed virtual SAN infrastructure. FIG. 3 shows one embodiment of the distributed Virtual SAN Automatic Configuration Protocol, which leads to the success of constructing the virtual storage pool (11) of the distributed virtual SAN infrastructure (FIG. 1) according to this invention. The following steps are the automatic sequence for building the storage volume pool of the virtual SAN based on this protocol (FIG. 3). The protocol described bellow could be IP based protocol such as SNMP, or a much simple UDP protocol (FIG. 4), or any other suitable protocols.
  • In one embodiment, when any IP SAN unit (4) such as unit (n) brought up online, the SAN service modules (6 of FIG. 2) of the IP SAN unit (4) sends out a “SAN unit (n) startup” packet to indicate either the SAN unit is power up or a previously downed network is up again, as illustrated in FIG. 4, to the distribute control management station (3 of FIG. 1). The “SAN unit (n) startup” packet could be a simple user defined UDP packet (FIG. 4) with a message type of system up. This message carried by the packet could also be a SNMP trap of cold start packet, or link-up packet (4 of FIG. 1) or other short packet/message of any suitable IP protocols.
  • When the distribute control management modules (7 of FIG. 1) of the distribute control management station (3 of FIG. 1) receives IP SAN unit (n)'s packet, it stores the IP SAN unit (n)'s information into a SAN unit information list on the distribution control management station (3).
  • After storing information of the IP SAN unit into the SAN unit information list, the control management modules (7 of FIG. 1) on the distribute control management station (3 of FIG. 1) sends back a “need SAN unit (n)'s storage info” packet to the IP SAN unit (n) (4 of FIG. 1).
  • When the SAN service modules (6 of FIG. 1) on IP SAN unit (n) (4 of FIG. 1) receive the packet of “need SAN unit (n)'s storage info”, it obtains the storage information on the IP SAN unit (n) (4 of FIG. 1) and encoded the obtained information into a packet as illustrated in FIG. 4, which includes the number of storage volumes, each volume's starting address (logical block data address, LBA), length, and the end address (logical block address, LBA). The SAN service modules (6 of FIG. 1) then send back the packet of “unit (n) storage info”, back to the control management station (3 of FIG. 1).
  • After receiving the “unit (n) storage info” packet from the IP SAN unit (n) (4 of FIG. 1), the distribute control management modules (7 of FIG. 1) on the distribute control management station (3 of FIG. 1) update the stored SAN unit information list for the virtual storage pool (11 of FIG. 1) with the corresponding storage information of the IP SAN unit (n) based on the received information from the packet.
  • When any one of IP SAN unit (n) is shutting down or a communication link of a IP SAN unit (n) is down, the service module (6 of FIG. 1) of the IP SAN unit (n) (4 of FIG. 1) sends a “Unit (n) shutdown” packet to the distribute control management station (3 of FIG. 1). This shutdown packet could be an SNMP trap of link down, or a simple UDP packet (FIG. 4) with message type of system down, or other short packet based on some other protocols.
  • After detecting and receiving the “unit (n) shutdown” packet from IP SAN unit (n) (4 of FIG. 1), the distribute control management modules (7 of FIG. 1) on the distribute control management station (3 of FIG. 1) update information of the virtual storage pool (11 of FIG. 1) via the SAN unit information list for the specific IP SAN unit (n) (4 of FIG. 1), where in one embodiment the updated information could be the total size of the capacity of the virtual storage pool, could be the hosts' storage volume allocation (mapping) information, and could be the status down for the SAN unit (n), wherein the letter “n” could be a number starting from “1” with sequence order for representing a SAN unit. The method and principles of automatic constructing the virtual storage pool 11 can be applied for various other virtual machines such as for virtual video server, database server, web server, file server, etc. without limits; For one example, the SAN unit described above may be replaced by a video server, and the “storage info” in the packet for the protocol sequence can be replaced with the “video service info” etc. for constructing a different type of service pool such as for a virtual video pool or a virtual database pool etc. without limits.
  • After one or more SAN units (4 of FIG. 1) are online, and the control management station (3 of FIG. 1) obtains and stores the information relating to the storage volumes and networking protocols for every SAN unit (4 of FIG. 1) in the virtual storage pool (11 of FIG. 1). Therefore, the control management station (3 of FIG. 1) is able to accept block data request from a plurality of hosts 1 and redirect and distribute the requested storage volumes to each requested host (1 of FIG. 1) in several steps as follow.
  • First, in one embodiment a host-1 (1 of FIG. 1) sends a request to the control management station (3 of FIG. 1) for requesting a specific sized storage space, such as 80 GB (gigabyte) of storage. Second, the control management station (3 of FIG. 1) receives and stores the host-1's information and searches for the availability of 80 GB of storage volume on a specific SAN unit 4. The control management station (3), for example, identifies an volume 2 which is 80 GB in size and is available for service on a SAN unit-M (FIG. 6). Third, the control management station (3 of FIG. 1) sends the information of the host-1 to the SAN unit-M (FIG. 6), wherein the information includes the IP address of the host-1, the requested storage size and the identified storage volume. The control management station (3 of FIG. 1) also sends the identified storage volume information relating to the SAN unit-M to the host-1 (1 of FIG. 1), wherein the storage volume information includes the IP address of IP SAN unit-M, the volume number and the size, the volume's starting address, and volume's ending logical address block (LBA). Therefore, all parties of three, namely the control management station (3), the host-1 and the SAN unit-M keep and synchronize the same storage volume assignment and mapping information for the SAN unit information list. Fourth, once the host-1 (1 of FIG. 1) and SAN unit-M (FIG. 6) get each other's information, the host-1 (1 of FIG. 1) can directly and independently access the volume 2 on SAN unit-M immediately and the SAN unit-M, in one embodiment, is further configured to perform security checking in light of storage accessing based on the received mapping information.
  • Alternatively in another embodiment, the above described steps may also be semi-automatically setup with assisting of system operations performed from the management console (10 of FIG. 1). For example, an administrator could initially setup volume 2 of the SAN unit-M (FIG. 6) to be exclusively accessed by the host-1 (1 of FIG. 1) as long as the administrator acknowledges that host-1 needs such size of storage volume. The administrator can also setup the host-1 with all information needed to access the volume 2 of the SAN unit-M (FIG. 6). Finally, the host-1 (1 of FIG. 1) can access the volume 2 of SAN unit-M (FIG. 6) directly without going through the control management station (3 of FIG. 1).
  • The present invention also discloses a mechanism of dynamically scaling storage capacity. After the distributed virtual SAN storage pool (11 of FIG. 1) is initiated, the host (1 of FIG. 1) will be able to access the storage volumes on the SAN units (4 of FIG. 1) in the pool (11 of FIG. 1) directly without further involvement of the control management station (3 of FIG. 1). Therefore, the control management station 3 can continue to handle adding one or more storage unit for the virtual storage pool (11 of FIG. 1) of this distributed virtual SAN infrastructure (FIG. 1) based on-demand without interrupting the hosts' (1 of FIG. 1) normal accessing the storage volumes on the assigned SAN units (4 of FIG. 1). As a result, this guarantees that the distributed virtual SAN storage pool (11 of FIG. 2) can be dynamically expanded without interrupting the normal operations and accessing of the entire distributed virtual SAN storage infrastructure (11 of FIG. 2).
  • The present invention further discloses a technique of providing scalable storage for each host. Once the distributed virtual SAN storage pool (11 of FIG. 1) is constructed, in one embodiment each host (1 of FIG. 1) can access one or more SAN units (4 of FIG. 1) in the storage pool (11 of FIG. 1) of the distributed virtual SAN infrastructure (FIG. 1) whenever the host made storage requests. For example, a host (FIG. 6) can access SAN unit-1, unit-2, and unit-M (FIG. 6) after the host (1) made requests to access the IP SAN units and the control management station (3 of FIG. 1) subsequently granted each request. This effectively provides scalable storage system for each host (1 of FIG. 1) within the distributed virtual SAN infrastructure (FIG. 1) of this invention. Further, the distributed virtual SAN infrastructure (FIG. 1) provides far better scalability than the in-band accessed virtual SAN (FIG. 8), wherein the scalability of in-band accessed virtual SAN were severely limited by the bottlenecked control management station (FIG. 8).
  • The present invention also discloses a method of storage sharing mechanism. Once the distributed virtual SAN storage pool (11 of FIG. 1) is constructed, in one embodiment each SAN unit (4 of FIG. 1) in the pool of distributed virtual SAN infrastructure (FIG. 1) may hold multiple storage volumes in the form of block data, which can be accessed by one or more hosts (1 of FIG. 1). Therefore, this allows multiple hosts (1 of FIG. 1) to share an IP SAN unit (4 of FIG. 1) by granting and assigning each host to exclusively access particular volumes on that IP SAN unit (4 of FIG. 1). The FIG. 6 demonstrates such an example of the storage sharing, wherein IP SAN unit (2 of FIG. 6) has three volumes, which named volume 1, volume 2, and volume 3. The block data service modules (6 of FIG. 1) on IP SAN unit (2 of FIG. 6) allows volume 1 to be accessed exclusively by host-1 (1) while volume 2 to be accessed exclusively by host-2 (1).
  • With in-band accessed virtual SAN (FIG. 8), the control management station could be a performance bottleneck. With distributed virtual SAN of this invention, each host (1 of FIG. 1) can directly and independently access any IP SAN unit (4 of FIG. 1). Therefore, the performance of storage accessing for each host 1 will not have the bottleneck and can match the performance of direct attached storage system (FIG. 7) when a high speed network connection is deployed in the distributed virtual SAN infrastructure (FIG. 1).
  • The present invention also illustrates a method of a centralized management of the distributed virtual SAN. The management console (10) on the console host (14) and on the distribution control management station (3) is configured to receive and display information relating to all IP SAN units (4) and hosts (1) from the control management modules (7 of FIG. 1) via communication to the console support software module (8 of FIG. 1) of the control management station (3 of FIG. 1). Therefore, from the management console (10) users are capable of performing centralized management tasks for the entire distributed virtual SAN storage pool (11 of FIG. 1), the hosts (1 of FIG. 1), and the control management station itself (3 of FIG. 1), in one embodiment the tasks are performed via web operation menu. With multiple concurrent tasks support that controlled by the console support software module (8 of FIG. 1) of the control management station (3 of FIG. 1), the users at the management console (10 of FIG. 1) can perform full range of system operations and tasks, where the management console 10 could be a web browser or a non-web based networked console. The mentioned tasks include, for example, creating a file system on a storage volume such as a 6o Giga bytes sized file system, configuring a RAID controller, or transfer one or more files between systems of the CCDSVM including multi-Giga Bytes of file.
  • These management tasks also include storage configuration, storage volume allocation (assignment) or de-allocation for hosts, storage partitioning and repartitioning, storage, network, and resource usage and activity monitoring, security management, data replication and backup/restore management, fault management and all others. The security management includes setup secure accessing policies at multiple level of the virtual SAN infrastructure including at control management station level, at SAN unit level and at host level. The security also can be enforced for users performing administration tasks. For example, authenticating and validating a specific user from a specific system's web browser to access the virtual SAN infrastructure, authenticating a user performing specific task for one or more specific systems such as for SAN unit, host or control management station. For other example, assigning and authenticating a host accessing one or more specific SAN units' specific storage volumes, and assigning storage volumes of a SAN unit to be accessed by specific one or more hosts.
  • In one embodiment, the present invention discloses a method for disaster recovery. The use of DNS or IP address identification mechanism provides the distributed virtual SAN infrastructure capable of overcoming the geometric (region) limitation for being deployed both in a cross network domain environment or in a single network domain environment. Therefore, the SAN units, hosts and the control management station could be flexibly clustered on corporate storage network, corporate Intranet, LAN, WAN or Internet. As a result, a disaster recovery plan can have a topology of the distributed virtual SAN infrastructure span across 100 miles range across Internet or Intranet as oppose to the traditional 10-kilometer limitation in a fiber channel environment.
  • In addition, the disaster recovery plan of the distributed virtual SAN infrastructure can be flexibly implemented as showing in FIG. 10. With this recovery plan, in one embodiment, the host-1 or host-3 (1 of FIG. 10) can continue to operate even if one of its mirrored IP SAN units failed (3 of FIG. 10). Also, a spare IP SAN unit 4 can be used to quickly replace a failed IP SAN unit 4 whenever there is a need, for example, when both IP SAN-1 and IP SAN-2 are failed. On the other hand, the hosts (1 of FIG. 10) also can be organized into a service pool for providing special services, such as distributing video services, distributed database pool, distributed security monitor services, web services and all other services provided across the network or world wide Web. Therefore, whenever the host-1 (1) or host-3 (1) failed, the spare host-2 (1) can quickly take over the assigned IP SAN storage and replace a failed host (1) to continue providing the services.
  • It should be noted that the storage of any IP SA N unit can be shared and accessed by multiple hosts. To scale up a host's storage, the host can be assigned to access multiple storage volumes from at least a SAN unit 4
  • The implementation of web-based multi-concurrent tasks allows entire distributed virtual SAN infrastructure to be managed and monitored much efficiently from the management console 10 on the console host (14) or on the control management station (3). Specially, many tasks and operations can be done streamlined for systems of the virtual SAN infrastructure. The streamlined tasks for example, could be ranged from managing storage configuration and managing networks to configuring each system of the virtual SAN infrastructure providing various services and contents to the client systems across the network. Also, the IP based distributed virtual SAN infrastructure is one type of the central controlled distributed scalable virtual machine (CCDSVM).
  • Due to the ability control web based multi-tasking and the ability of controlling security and controlling user performing various tasks, the software modules of the CCDSVM has created a web based virtual computer user work environment (WCUWE) for a virtual operating system of the CCDSVM. The WCUWE created by the mentioned software modules (control part of the WCUWE) on the control management station 3 which includes console support software modules (web server interface) 8, control management modules 7 and web server software modules 15 on the control management station 3, and together by the service modules 8 (agent part of the WECUWE) on each system unit 4. Like the computer user work environment (CUWE) running on top of a native operating system kernel, each part of the WCUWE also running on the top of a native operating system kernel.
  • In one embodiment, a single standalone control system is a special embodiment of the CCDSVM, where the CCDSVM has degenerated into a single standalone control system without any system unit,
  • In another embodiment, one or more service pool of the CCDSVM can be organized into multi-layered structure (FIG. 12), where top level control system controls one or more middle level (level-2) control system and each middle level control system can control a plurality of system units. Therefore, the level 2 control system must have related software modules for both the control system and system unit 3 such that the middle level control system plays double roles as the system unit to the top level control system and as the control system to the system units bellow its level.

Claims (21)

1. A web based virtual operating system for a virtual storage system comprises:
storage service control being configured on each of plurality of storage server;
host service control being configured on each of one or more heterogeneous hosts;
web browser being configured on each of one or more console systems;
web console support control and web server on a control system for providing web-based user interface (“UI”) to end user's web browser, and a virtual distribution control on the control system for providing centralized distributed computing for the virtual storage system; wherein
the control system, comprising a plurality of physical resources, interconnecting to each storage server, host and console system via a network infrastructure, wherein
the virtual distribution control coupled to web UI of the control system communicating to the storage service control and host service control for controlling automatically forming the virtual storage system with a storage pool and one or more host pools over the network infrastructure, for facilitating centralized operations for each pool, and further comprising
means for supporting web based multi-tasks,
means for dynamically controlling capacity of the storage pool and each host pool,
means for distributing storage service requests from each host to storage servers, and for each storage server providing storage service directly to each requested host independent of other storage servers,
means for each host providing web service to client systems,
means for providing fault handling by deploying combined mirrored and spare storage servers and hosts in each pool, and
means for distributing web based configuration, accessing and management tasks to be executed on the control system, storage servers and hosts via means of supporting web based multi-tasks.
2. The virtual operating system of claim 1, wherein said control system interconnecting to each storage server, host and console system further includes:
interconnecting each storage server, host and console system via one or more switches, routers, and gateways over a network infrastructure including LAN, Intranet and Internet.
3. The virtual operating system of claim 1, wherein said automatically forming a virtual storage system with a storage pool and one or more host pools further includes:
automatically discovering and collecting information from each storage server and host, organizing the collected information as the information of one or more pools based their functionality, and to be storied on the control system.
4. The virtual operating system of claim 1, wherein said means for providing web based configuration and management further includes:
means for displaying the control system, storage pool and one or more host pools into web browser, and facilitating user selecting one resource object at a time from a pool to submit each requested task.
5. The virtual operating system of claim 45, wherein said means for supporting web based multi-tasks further includes:
means for distributing each requested task to the targeted host or storage server for execution and providing response including status or result of the task execution back to a web browser from which the task is submitted.
6. The virtual operating system of claim 1, wherein said means for distributing storage volumes in the storage pool to the requested hosts in the host pools further includes:
means of automatic storage service distribution including
accepting storage service requests from each host,
for each request, identifying a storage server capable of providing requested storage service in the storage pool,
assigning the identified storage server to the requested host and synchronizing storage service assignment and mapping information between the control system, requested host, and the identified storage server
instructing the requested host negotiating with the identified storage server based on received information from the control system, and
instructing the storage server providing storage service directly to the requested host via data communication link after accepting negotiating based on the receive information.
7. The virtual operating system of claim 1, wherein said means for distributing storage volumes of storage servers to the requested hosts further includes:
means for facilitating manual assigning identified storage volumes of each storage sever in the storage pool to one or more hosts via the means of distributing web based centralized configuration, accessing and management task in response to the storage capacity requirement of the host.
8. The virtual operating system of claim 1, wherein said means for providing fault handling further includes:
means for providing host non-stop storage operation by activating a spare storage server in response to detect a mirrored storage server fault, and means for providing host non-stop service operation to client systems over network by activating a spare host in response to detect a host fault.
9. The virtual operating system of claim 1, wherein said means for each storage server providing storage service directly to each requested host further includes:
means for each storage server providing data services to one or more hosts in response to each host's read and write requests for each storage volume, wherein each storage volume of the storage server being exclusively assigned and accessed by a host.
10. The virtual operating system of claim 1 wherein said means for dynamically controlling capacity of the storage pool and each host pool further includes:
means for dynamically adding or removing each storage server or host to/from corresponding pool in response to dynamically detecting and connecting a new storage server or host on the network, and in response to disconnecting an inactive storage server or host.
11. The virtual operating system of claim 1 wherein said means for supporting web based multi-tasks further includes:
receiving and parsing one or more requested tasks from each user's web UI window in web browser, and for each task includes:
deploying a lock protection mechanism for a user space task list and the resources related to the task,
storing the task information into a valid entry of the user space task list,
distributing the task into background to be executed on the targeted systems of either the control system or storage servers or hosts; and obtaining the task's status or result from the targeted systems,
providing response web page including the task's status back to the user's web browser for avoiding freezing the web browser window; and
releasing the locks along with the task executing and cleaning up the task information in the corresponding entry of the user space task list in response to the completion of the task.
12. A method of automatically forming one or more service pools for a web based system, in which
the web based system comprises
at least a plurality of system units, each one configured for providing a specific service, and
a control system interconnecting and controlling the plurality of system units via communicating to each system unit across the communication links of a network infrastructure;
the method implemented in both the control system and each system unit for a communication protocol across the network infrastructure, which comprises the steps:
a) instructing a first system unit to send a “system unit up” packet to the control system upon the first system unit going online;
b) instructing the control system to receive the “system unit up” packet from the first system unit and store the received identification of the first system unit into a system unit information list on the control system;
c) instructing the control system to send a replying packet for requesting the first system unit to provide information of the “type of service” that it will provide;
d) instructing the first system unit to receive the enquiring packet of “type of service” from the control system and send a response packet including detailed information for providing the specific type of service back to the control system;
e) instructing the control system to receive the packet containing the detailed information of the specific service of the first system unit, assign the first system unit to a corresponding specific service pool according to its functionality, and update the system unit information list to include the received service information.
13. The method of claim 12 further comprising
activating the same steps from step a) to e) in response to a second system unit going online, and in response to each of a plurality of additional system units going online.
14. The method of claim 12, wherein said system unit information list further includes:
instructing the control system to organize the system unit list to contains the information of the one or more service pools which are organized according to the specific functionality (type of service) and usage of each system unit.
15. The method of claim 12, wherein said system unit going online includes system unit boot up or system unit's communication link is up.
16. The method of claim 12 further comprising the steps for updating the system unit information list in response any one of system unit shutdown:
f) instructing a system unit to send a “system unit down” packet to the control system in response to said system unit being shutdown; and
g) instructing the control system to receive the packet of the “system unit down” from said system unit and update the system unit information list to include the status of said system unit in a corresponding service pool.
17. The method of claim 12 further comprising the steps for
h) updating the system unit information list for a specific system unit in a service pool in response to detect a communication link to a system unit is down.
18. The method of claim 12 further comprising the steps for
i) updating the system unit information list for a specific system unit in a service pool in response to detect a communication link to a system unit is up.
19. The method of claim 12, wherein said a response packet including detailed information for providing the specific type of service further comprising:
including information of a SAN storage unit in the response packet, which includes the total number of block data storage volumes being configured on the SAN storage unit, each block data storage volume's start and end address.
20. The method of claim 12, wherein said a response packet including detailed information for providing the specific type of service further comprising:
including a video server unit's video data information in the response packet in response to creating a video service pool for providing video on-demand service.
21. The method of claim 12, wherein said a response packet including detailed information for providing the specific type of service further comprising:
including a file server unit's file system data information in the response packet in the response packet in response to creating a file service pool for providing file on-demand service.
US12/944,958 2002-08-06 2010-11-12 Method and apparatus for web based storage on-demand Expired - Lifetime US8473596B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US12/944,958 US8473596B2 (en) 2002-08-06 2010-11-12 Method and apparatus for web based storage on-demand
US12/949,561 US20110066948A1 (en) 2002-08-06 2010-11-18 Method and apparatus for accessing and managing a multi-layered virtual server by deploying web folder tree
US13/916,445 US8903963B2 (en) 2002-08-06 2013-06-12 Method and apparatus for web based storage on demand
US14/038,325 US9467513B2 (en) 2002-08-06 2013-09-26 Method and apparatus for web based storage on-demand
US14/511,129 US9288266B1 (en) 2002-08-06 2014-10-09 Method and apparatus for web based storage on-demand
US14/513,444 US9602600B1 (en) 2002-08-06 2014-10-14 Method and apparatus for web based storage on-demand

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US10/713,904 US7418702B2 (en) 2002-08-06 2002-08-06 Concurrent web based multi-task support for control management system
US40262602P 2002-08-12 2002-08-12
US10/713,905 US7379990B2 (en) 2002-08-12 2002-08-12 Distributed virtual SAN
US12/013,813 US8639788B2 (en) 2002-08-12 2008-01-14 Method and apparatus for web based storage on demand
US12/079,482 US8566463B2 (en) 2002-08-06 2008-03-27 Concurrent web based multi-task support for control management system
US12/944,958 US8473596B2 (en) 2002-08-06 2010-11-12 Method and apparatus for web based storage on-demand

Related Parent Applications (3)

Application Number Title Priority Date Filing Date
US10/713,905 Division US7379990B2 (en) 2002-08-06 2002-08-12 Distributed virtual SAN
US12/013,813 Division US8639788B2 (en) 2002-08-06 2008-01-14 Method and apparatus for web based storage on demand
US12/079,482 Continuation-In-Part US8566463B2 (en) 2002-08-06 2008-03-27 Concurrent web based multi-task support for control management system

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US10/713,904 Continuation-In-Part US7418702B2 (en) 2002-08-06 2002-08-06 Concurrent web based multi-task support for control management system
US12/013,813 Division US8639788B2 (en) 2002-08-06 2008-01-14 Method and apparatus for web based storage on demand
US13/916,445 Continuation US8903963B2 (en) 2002-08-06 2013-06-12 Method and apparatus for web based storage on demand

Publications (2)

Publication Number Publication Date
US20110125889A1 true US20110125889A1 (en) 2011-05-26
US8473596B2 US8473596B2 (en) 2013-06-25

Family

ID=33300341

Family Applications (10)

Application Number Title Priority Date Filing Date
US10/713,905 Expired - Fee Related US7379990B2 (en) 2002-08-06 2002-08-12 Distributed virtual SAN
US12/013,813 Active 2025-08-12 US8639788B2 (en) 2002-08-06 2008-01-14 Method and apparatus for web based storage on demand
US12/009,936 Expired - Lifetime US8688772B2 (en) 2002-08-06 2008-01-23 Method and apparatus for web based storage on demand
US12/944,958 Expired - Lifetime US8473596B2 (en) 2002-08-06 2010-11-12 Method and apparatus for web based storage on-demand
US13/916,445 Expired - Lifetime US8903963B2 (en) 2002-08-06 2013-06-12 Method and apparatus for web based storage on demand
US14/038,325 Expired - Lifetime US9467513B2 (en) 2002-08-06 2013-09-26 Method and apparatus for web based storage on-demand
US15/214,798 Expired - Lifetime US9787780B1 (en) 2002-08-06 2016-07-20 Method and apparatus for web based storage on-demand
US15/680,521 Expired - Lifetime US10326846B1 (en) 2002-08-06 2017-08-18 Method and apparatus for web based storage on-demand
US16/389,870 Expired - Lifetime US10791181B1 (en) 2002-08-06 2019-04-19 Method and apparatus for web based storage on-demand distribution
US16/879,632 Expired - Lifetime US11178234B1 (en) 2002-08-06 2020-05-20 Method and apparatus for web based storage on-demand distribution

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US10/713,905 Expired - Fee Related US7379990B2 (en) 2002-08-06 2002-08-12 Distributed virtual SAN
US12/013,813 Active 2025-08-12 US8639788B2 (en) 2002-08-06 2008-01-14 Method and apparatus for web based storage on demand
US12/009,936 Expired - Lifetime US8688772B2 (en) 2002-08-06 2008-01-23 Method and apparatus for web based storage on demand

Family Applications After (6)

Application Number Title Priority Date Filing Date
US13/916,445 Expired - Lifetime US8903963B2 (en) 2002-08-06 2013-06-12 Method and apparatus for web based storage on demand
US14/038,325 Expired - Lifetime US9467513B2 (en) 2002-08-06 2013-09-26 Method and apparatus for web based storage on-demand
US15/214,798 Expired - Lifetime US9787780B1 (en) 2002-08-06 2016-07-20 Method and apparatus for web based storage on-demand
US15/680,521 Expired - Lifetime US10326846B1 (en) 2002-08-06 2017-08-18 Method and apparatus for web based storage on-demand
US16/389,870 Expired - Lifetime US10791181B1 (en) 2002-08-06 2019-04-19 Method and apparatus for web based storage on-demand distribution
US16/879,632 Expired - Lifetime US11178234B1 (en) 2002-08-06 2020-05-20 Method and apparatus for web based storage on-demand distribution

Country Status (1)

Country Link
US (10) US7379990B2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130179404A1 (en) * 2003-03-11 2013-07-11 Hitachi, Ltd. Method and apparatus for seamless management for disaster recovery
US20140351419A1 (en) * 2013-05-21 2014-11-27 Exablox Corporation Automatic data ring discovery and configuration
US20150052382A1 (en) * 2013-08-14 2015-02-19 Netapp, Inc. Failover methods and systems for a virtual machine environment
US20150188790A1 (en) * 2012-08-20 2015-07-02 Lg Electronics Inc. Method and apparatus for transmitting a response to a command in wireless communication system
US9923839B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Configuring resources to exploit elastic network capability
US9923965B2 (en) 2015-06-05 2018-03-20 International Business Machines Corporation Storage mirroring over wide area network circuits with dynamic on-demand capacity
US9923784B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Data transfer using flexible dynamic elastic network service provider relationships
US9979671B2 (en) * 2011-08-31 2018-05-22 International Business Machines Corporation Management of storage cluster performance with hybrid workloads
US10057327B2 (en) 2015-11-25 2018-08-21 International Business Machines Corporation Controlled transfer of data over an elastic network
CN108513657A (en) * 2016-12-26 2018-09-07 华为技术有限公司 Data transfer device and backup server
US10177993B2 (en) 2015-11-25 2019-01-08 International Business Machines Corporation Event-based data transfer scheduling using elastic network optimization criteria
US10216441B2 (en) 2015-11-25 2019-02-26 International Business Machines Corporation Dynamic quality of service for storage I/O port allocation
US10581680B2 (en) 2015-11-25 2020-03-03 International Business Machines Corporation Dynamic configuration of network features

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7849262B1 (en) 2000-06-30 2010-12-07 Emc Corporation System and method for virtualization of networked storage resources
US8032701B1 (en) 2004-03-26 2011-10-04 Emc Corporation System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network
US8281022B1 (en) 2000-06-30 2012-10-02 Emc Corporation Method and apparatus for implementing high-performance, scaleable data processing and storage systems
US8219681B1 (en) 2004-03-26 2012-07-10 Emc Corporation System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network
US20030200247A1 (en) * 2002-02-02 2003-10-23 International Business Machines Corporation Server computer and a method for accessing resources from virtual machines of a server computer via a fibre channel
US7961594B2 (en) * 2002-10-23 2011-06-14 Onaro, Inc. Methods and systems for history analysis for access paths in networks
AU2002361715A1 (en) * 2002-11-12 2004-06-03 Zetera Corporation Electrical devices with improved communication
US7424533B1 (en) * 2003-05-23 2008-09-09 Cisco Technology, Inc. Method and apparatus for role-based access control
US9239686B2 (en) * 2003-07-22 2016-01-19 Sheng Tai (Ted) Tsao Method and apparatus for wireless devices access to external storage
US8560671B1 (en) 2003-10-23 2013-10-15 Netapp, Inc. Systems and methods for path-based management of virtual servers in storage network environments
JP4646526B2 (en) 2004-02-18 2011-03-09 株式会社日立製作所 Storage control system and control method thereof
JP4327630B2 (en) * 2004-03-22 2009-09-09 株式会社日立製作所 Storage area network system, security system, security management program, storage device using Internet protocol
US7818517B1 (en) * 2004-03-26 2010-10-19 Emc Corporation Architecture for virtualization of networked storage resources
US8627005B1 (en) 2004-03-26 2014-01-07 Emc Corporation System and method for virtualization of networked storage resources
US7770059B1 (en) 2004-03-26 2010-08-03 Emc Corporation Failure protection in an environment including virtualization of networked storage resources
US7523187B1 (en) * 2004-03-31 2009-04-21 Emc Corporation Methods and apparatus for managing network resources
US8543737B2 (en) * 2004-05-12 2013-09-24 Broadcom Corporation System and method to control access to data stored in a data storage device
IL163314A (en) * 2004-08-02 2010-06-16 Lsi Technologies Israel Ltd Booting from a storage area network
US8307026B2 (en) * 2004-08-19 2012-11-06 International Business Machines Corporation On-demand peer-to-peer storage virtualization infrastructure
US20060117132A1 (en) * 2004-11-30 2006-06-01 Microsoft Corporation Self-configuration and automatic disk balancing of network attached storage devices
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7523273B2 (en) * 2005-05-05 2009-04-21 International Business Machines Corporation Autonomic storage provisioning to enhance storage virtualization infrastructure availability
US20070011735A1 (en) * 2005-07-06 2007-01-11 Cable Television Laboratories, Inc. Open standard conditional access system
US7849199B2 (en) 2005-07-14 2010-12-07 Yahoo ! Inc. Content router
JP2007066259A (en) * 2005-09-02 2007-03-15 Hitachi Ltd Computer system, storage system and volume capacity expansion method
US8949364B2 (en) * 2005-09-15 2015-02-03 Ca, Inc. Apparatus, method and system for rapid delivery of distributed applications
EP2492813A3 (en) * 2005-09-27 2013-01-30 Onaro Method And Systems For Validating Accessibility And Currency Of Replicated Data
US8024290B2 (en) 2005-11-14 2011-09-20 Yahoo! Inc. Data synchronization and device handling
US8065680B2 (en) 2005-11-15 2011-11-22 Yahoo! Inc. Data gateway for jobs management based on a persistent job table and a server table
US9367832B2 (en) 2006-01-04 2016-06-14 Yahoo! Inc. Synchronizing image data among applications and devices
US8996482B1 (en) 2006-02-10 2015-03-31 Amazon Technologies, Inc. Distributed system and method for replicated storage of structured data records
JP4927412B2 (en) * 2006-02-10 2012-05-09 株式会社日立製作所 Storage control method and control method thereof
US8447829B1 (en) 2006-02-10 2013-05-21 Amazon Technologies, Inc. System and method for controlling access to web services resources
JP4800059B2 (en) * 2006-02-13 2011-10-26 株式会社日立製作所 Virtual storage system and control method thereof
CN100423491C (en) * 2006-03-08 2008-10-01 杭州华三通信技术有限公司 Virtual network storing system and network storing equipment thereof
US9317195B1 (en) * 2006-04-25 2016-04-19 Parallels IP Holdings GmbH Seamless integration of non-native windows with dynamically scalable resolution into host operating system
US8117554B1 (en) * 2006-04-25 2012-02-14 Parallels Holdings, Ltd. Seamless integration of non-native widgets and windows with dynamically scalable resolution into native operating system
US8176153B2 (en) * 2006-05-02 2012-05-08 Cisco Technology, Inc. Virtual server cloning
US8909758B2 (en) * 2006-05-02 2014-12-09 Cisco Technology, Inc. Physical server discovery and correlation
US8307359B1 (en) * 2006-06-23 2012-11-06 Emc Corporation Embedded virtual storage area network using a virtual block network fabric
US8442958B2 (en) * 2006-06-26 2013-05-14 Cisco Technology, Inc. Server change management
US7706303B2 (en) 2006-06-26 2010-04-27 Cisco Technology, Inc. Port pooling
JP2008102672A (en) 2006-10-18 2008-05-01 Hitachi Ltd Computer system, management computer, and method of setting operation control information
US7970851B2 (en) * 2006-10-31 2011-06-28 Netapp, Inc. Method and system for managing and monitoring virtual storage servers of a hosting storage server
US8826032B1 (en) 2006-12-27 2014-09-02 Netapp, Inc. Systems and methods for network change discovery and host name resolution in storage network environments
US8332860B1 (en) 2006-12-30 2012-12-11 Netapp, Inc. Systems and methods for path-based tier-aware dynamic capacity management in storage network environments
US20080250407A1 (en) * 2007-04-05 2008-10-09 Microsoft Corporation Network group name for virtual machines
US9042263B1 (en) 2007-04-06 2015-05-26 Netapp, Inc. Systems and methods for comparative load analysis in storage networks
US7707248B2 (en) * 2007-06-25 2010-04-27 Microsoft Corporation Credit-based peer-to-peer storage
US8738905B2 (en) * 2007-12-10 2014-05-27 International Business Machines Corporation Third party secured storage for web services and web applications
WO2009081953A1 (en) * 2007-12-26 2009-07-02 Canon Anelva Corporation Sputtering apparatus, sputter film forming method, and analyzer
US8028062B1 (en) * 2007-12-26 2011-09-27 Emc Corporation Non-disruptive data mobility using virtual storage area networks with split-path virtualization
US20090170574A1 (en) * 2007-12-28 2009-07-02 Motorola Inc Methods and slider form factor devices with contiguous surfaces when open
US8626936B2 (en) * 2008-01-23 2014-01-07 International Business Machines Corporation Protocol independent server replacement and replication in a storage area network
US8099497B2 (en) 2008-02-19 2012-01-17 Netapp, Inc. Utilizing removable virtual volumes for sharing data on a storage area network
US8370833B2 (en) * 2008-02-20 2013-02-05 Hewlett-Packard Development Company, L.P. Method and system for implementing a virtual storage pool in a virtual environment
US20090276654A1 (en) * 2008-05-02 2009-11-05 International Business Machines Corporation Systems and methods for implementing fault tolerant data processing services
US8019732B2 (en) 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US8015343B2 (en) * 2008-08-08 2011-09-06 Amazon Technologies, Inc. Providing executing programs with reliable access to non-local block data storage
US7890626B1 (en) * 2008-09-11 2011-02-15 Gadir Omar M A High availability cluster server for enterprise data management
US20100088520A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Protocol for determining availability of peers in a peer-to-peer storage system
US20100131856A1 (en) * 2008-11-26 2010-05-27 Brian Joseph Kalbfleisch Personalized, Online, Scientific Interface
US8140812B2 (en) * 2009-07-01 2012-03-20 International Business Machines Corporation Method and apparatus for two-phase storage-aware placement of virtual machines
US20110153715A1 (en) * 2009-12-17 2011-06-23 Microsoft Corporation Lightweight service migration
US9389895B2 (en) * 2009-12-17 2016-07-12 Microsoft Technology Licensing, Llc Virtual storage target offload techniques
US8380938B2 (en) * 2010-02-24 2013-02-19 International Business Machines Corporation Providing shared access to data storage resources across cluster computing environment boundaries
US9355282B2 (en) * 2010-03-24 2016-05-31 Red Hat, Inc. Using multiple display servers to protect data
US9317820B1 (en) * 2010-03-31 2016-04-19 Emc Corporation System and method for configuring a cloud computing space
CN101894313A (en) * 2010-04-08 2010-11-24 山东高效能服务器和存储研究院 General-purpose computer asset statistical management method independent of client operation system
DE102010029655A1 (en) * 2010-06-02 2011-12-08 Endress + Hauser Flowtec Ag Method for providing a control menu for a field device of process automation technology
US8898318B2 (en) * 2010-06-03 2014-11-25 Microsoft Corporation Distributed services authorization management
CN101986703A (en) * 2010-10-22 2011-03-16 华为软件技术有限公司 Video recording method, network video surveillance system and front end as well as scheduling server
US8594080B2 (en) * 2010-10-29 2013-11-26 International Business Machines Corporation Multiple functionality in a virtual storage area network device
US8762339B2 (en) 2010-11-29 2014-06-24 International Business Machines Corporation Disaster recovery utilizing collapsible virtualized capacity
US9021198B1 (en) * 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US8423585B2 (en) 2011-03-14 2013-04-16 Amazon Technologies, Inc. Variants of files in a file system
US9075497B1 (en) * 2011-03-15 2015-07-07 Symantec Corporation Enabling selective policy driven seamless user interface presentation between and among a host and a plurality of guests
CN102137161B (en) * 2011-03-15 2013-10-30 华中科技大学 File-level data sharing and storing system based on fiber channel
US9059919B1 (en) * 2011-03-28 2015-06-16 Symantec Corporation Systems and methods for preserving network settings for use in a pre-boot environment
US8707085B2 (en) 2011-06-30 2014-04-22 International Business Machines Corporation High availability data storage systems and methods
US9112812B2 (en) * 2011-09-22 2015-08-18 Embrane, Inc. Distributed virtual appliance
WO2013069051A1 (en) * 2011-11-08 2013-05-16 Hitachi, Ltd. Computer system, and method for managing resource pool information
EP3133775B1 (en) 2011-12-29 2020-05-06 Huawei Technologies Co., Ltd. Cloud computing system and method for managing storage resources therein
CN102591594B (en) * 2012-02-10 2015-05-20 杭州华三通信技术有限公司 Data processing method and equipment
DE102012101162B4 (en) * 2012-02-14 2017-02-23 Fujitsu Technology Solutions Intellectual Property Gmbh Cluster storage system, method for secure deletion of data and computer program product
US9229901B1 (en) 2012-06-08 2016-01-05 Google Inc. Single-sided distributed storage system
US9172744B2 (en) 2012-06-14 2015-10-27 Microsoft Technology Licensing, Llc Scalable storage with programmable networks
CN104106035A (en) * 2012-06-28 2014-10-15 汉阳大学校产学协力团 Method for adjusting UI and user terminal using same
CN102722377B (en) * 2012-06-28 2015-05-20 上海美琦浦悦通讯科技有限公司 Network video application processing system based on adaptive communication environment (ACE) framework
US9547656B2 (en) * 2012-08-09 2017-01-17 Oracle International Corporation Method and system for implementing a multilevel file system in a virtualized environment
US9819737B2 (en) 2012-08-23 2017-11-14 Cisco Technology, Inc. System and method for policy based fibre channel zoning for virtualized and stateless computing in a network environment
US9058122B1 (en) 2012-08-30 2015-06-16 Google Inc. Controlling access in a single-sided distributed storage system
US8862561B1 (en) 2012-08-30 2014-10-14 Google Inc. Detecting read/write conflicts
US8676851B1 (en) 2012-08-30 2014-03-18 Google Inc. Executing transactions in distributed storage systems
US9164702B1 (en) 2012-09-07 2015-10-20 Google Inc. Single-sided distributed cache system
US9104607B2 (en) 2012-10-31 2015-08-11 International Business Machines Corporation Simulation engine for use in disaster recovery virtualization
US8879718B2 (en) 2012-12-04 2014-11-04 Genesys Telecommunications Laboratories, Inc. Distributed event delivery
US9104625B2 (en) 2012-12-11 2015-08-11 International Business Machines Corporation Disaster recovery internet protocol address failover
US9049265B1 (en) 2012-12-26 2015-06-02 Google Inc. Serving remote access to storage resources
WO2014101218A1 (en) * 2012-12-31 2014-07-03 华为技术有限公司 Computing and storage integrated cluster system
US9300536B2 (en) 2013-02-05 2016-03-29 International Busines Machines Corporation Cluster-aware resource provisioning in a networked computing environment
KR102009810B1 (en) 2013-06-07 2019-08-12 삼성전자주식회사 Method and apparatus for transmitting and receiving a service in a wireless communication system
US9552370B1 (en) * 2013-06-27 2017-01-24 EMC IP Holding Company LLC Signaling impending out of storage condition from a virtual tape drive
US9313274B2 (en) 2013-09-05 2016-04-12 Google Inc. Isolating clients of distributed storage systems
CN103490985B (en) * 2013-09-18 2017-06-06 天脉聚源(北京)传媒科技有限公司 A kind for the treatment of method and apparatus of image information
US9503523B2 (en) * 2013-09-20 2016-11-22 Cisco Technology, Inc. Hybrid fibre channel storage with end-to-end storage provisioning and external connectivity in a storage area network environment
US20150095799A1 (en) * 2013-09-30 2015-04-02 Sheng Tai (Ted) Tsao Method and Apparatus For Information Exchange Over a Web Based Environment
CN103634379B (en) * 2013-11-13 2017-02-01 华为技术有限公司 Management method for distributed storage space and distributed storage system
US9842152B2 (en) 2014-02-19 2017-12-12 Snowflake Computing, Inc. Transparent discovery of semi-structured data schema
US10545917B2 (en) 2014-02-19 2020-01-28 Snowflake Inc. Multi-range and runtime pruning
US9628350B2 (en) * 2014-11-05 2017-04-18 Amazon Technologies, Inc. Dynamic scaling of storage volumes for storage client file systems
US9798567B2 (en) 2014-11-25 2017-10-24 The Research Foundation For The State University Of New York Multi-hypervisor virtual machines
US9853873B2 (en) 2015-01-10 2017-12-26 Cisco Technology, Inc. Diagnosis and throughput measurement of fibre channel ports in a storage area network environment
CN104657177A (en) * 2015-02-12 2015-05-27 北京深思数盾科技有限公司 Program automatic update method
US9900250B2 (en) 2015-03-26 2018-02-20 Cisco Technology, Inc. Scalable handling of BGP route information in VXLAN with EVPN control plane
US10222986B2 (en) 2015-05-15 2019-03-05 Cisco Technology, Inc. Tenant-level sharding of disks with tenant-specific storage modules to enable policies per tenant in a distributed storage system
US11588783B2 (en) 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US10778765B2 (en) 2015-07-15 2020-09-15 Cisco Technology, Inc. Bid/ask protocol in scale-out NVMe storage
US9870366B1 (en) * 2015-09-18 2018-01-16 EMC IP Holding Company LLC Processing storage capacity events in connection with file systems
US9892075B2 (en) 2015-12-10 2018-02-13 Cisco Technology, Inc. Policy driven storage in a microserver computing environment
US9998528B2 (en) * 2016-02-17 2018-06-12 International Business Machines Corporation Direct access storage device analyzer
US10140172B2 (en) 2016-05-18 2018-11-27 Cisco Technology, Inc. Network-aware storage repairs
US20170351639A1 (en) 2016-06-06 2017-12-07 Cisco Technology, Inc. Remote memory access using memory mapped addressing among multiple compute nodes
US10664169B2 (en) 2016-06-24 2020-05-26 Cisco Technology, Inc. Performance of object storage system by reconfiguring storage devices based on latency that includes identifying a number of fragments that has a particular storage device as its primary storage device and another number of fragments that has said particular storage device as its replica storage device
US10437780B2 (en) 2016-07-14 2019-10-08 Snowflake Inc. Data pruning based on metadata
US10116721B1 (en) 2016-08-22 2018-10-30 Amazon Technologies, Inc. Redundancy control in streaming content encoder pools
US11563695B2 (en) 2016-08-29 2023-01-24 Cisco Technology, Inc. Queue protection using a shared global memory reserve
US10545914B2 (en) 2017-01-17 2020-01-28 Cisco Technology, Inc. Distributed object storage
US10243823B1 (en) 2017-02-24 2019-03-26 Cisco Technology, Inc. Techniques for using frame deep loopback capabilities for extended link diagnostics in fibre channel storage area networks
US10713203B2 (en) 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10254991B2 (en) 2017-03-06 2019-04-09 Cisco Technology, Inc. Storage area network based extended I/O metrics computation for deep insight into application performance
US10771340B2 (en) * 2017-03-16 2020-09-08 Samsung Electronics Co., Ltd. Automatic ethernet storage discovery in hyperscale datacenter environment
US10666513B2 (en) * 2017-05-03 2020-05-26 International Business Machines Corporation Filesystem share auto-detect
US10303534B2 (en) 2017-07-20 2019-05-28 Cisco Technology, Inc. System and method for self-healing of application centric infrastructure fabric memory
CN107317881B (en) * 2017-08-10 2021-04-20 上海庄生机电工程设备有限公司 BA system based on micro-service architecture
US10404596B2 (en) 2017-10-03 2019-09-03 Cisco Technology, Inc. Dynamic route profile storage in a hardware trie routing table
US10942666B2 (en) 2017-10-13 2021-03-09 Cisco Technology, Inc. Using network device replication in distributed storage clusters
CN108173673A (en) * 2017-12-07 2018-06-15 深圳市宏电技术股份有限公司 A kind of long-distance maintenance method, device and the equipment of subnet of router equipment
CN108092968B (en) * 2017-12-12 2020-12-08 浙江齐治科技股份有限公司 Account management method and account management system equipment
CN108228099B (en) * 2017-12-27 2021-01-26 中国银联股份有限公司 Data storage method and device
CN108521383A (en) * 2018-04-13 2018-09-11 郑州云海信息技术有限公司 One kind being based on VSAN frameworks virtual method, system and equipment
US11016798B2 (en) 2018-06-01 2021-05-25 The Research Foundation for the State University Multi-hypervisor virtual machines that run on multiple co-located hypervisors
CN109032521B (en) * 2018-07-25 2019-09-10 星环信息科技(上海)有限公司 Storage volume creation method, device, server and storage medium
CN109257629A (en) * 2018-09-30 2019-01-22 视联动力信息技术股份有限公司 A kind of data transmission system
CN109558451B (en) * 2018-11-14 2022-06-10 咪咕文化科技有限公司 Data management method and system and storage medium
US11126575B1 (en) * 2019-03-05 2021-09-21 Amazon Technologies, Inc. Interrupt recovery management
CN111625421B (en) * 2020-05-26 2021-07-16 云和恩墨(北京)信息技术有限公司 Method and device for monitoring distributed storage system, storage medium and processor
CN113312170B (en) * 2020-05-29 2024-01-23 阿里巴巴集团控股有限公司 Memory management system and method
US11314417B2 (en) * 2020-09-23 2022-04-26 Pensando Systems, Inc. Methods and systems for NVMe target load balancing based on real time metrics
CN113596125B (en) * 2021-07-21 2023-11-14 咪咕互动娱乐有限公司 Resource downloading method, device, data system and readable storage medium
CN113760931B (en) * 2021-08-20 2023-12-29 济南浪潮数据技术有限公司 Resource information access method, device, equipment and medium
US11552844B1 (en) * 2022-04-11 2023-01-10 Target Brands, Inc. Persistent storage for server clusters

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287063B2 (en) * 2001-10-05 2007-10-23 International Business Machines Corporation Storage area network methods and apparatus using event notifications with data
US7290045B2 (en) * 2002-07-01 2007-10-30 Sun Microsystems, Inc. Method and apparatus for managing a storage area network including a self-contained storage system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930340B2 (en) * 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
US6658590B1 (en) * 2000-03-30 2003-12-02 Hewlett-Packard Development Company, L.P. Controller-based transaction logging system for data recovery in a storage area network
US6606690B2 (en) * 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US20030061491A1 (en) * 2001-09-21 2003-03-27 Sun Microsystems, Inc. System and method for the allocation of network storage
US7177935B2 (en) * 2001-10-05 2007-02-13 International Business Machines Corporation Storage area network methods and apparatus with hierarchical file system extension policy
US6959373B2 (en) * 2001-12-10 2005-10-25 Incipient, Inc. Dynamic and variable length extents
US8949395B2 (en) * 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
CN100393069C (en) * 2004-12-29 2008-06-04 中兴通讯股份有限公司 Method of differentiating multiple services for anti IP data stream in multicast to impact communication system
US8271612B2 (en) * 2008-04-04 2012-09-18 International Business Machines Corporation On-demand virtual storage capacity
US20190215363A1 (en) * 2018-01-08 2019-07-11 Softnas Operating Inc. Dynamic pool-based tiering for synchronization storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287063B2 (en) * 2001-10-05 2007-10-23 International Business Machines Corporation Storage area network methods and apparatus using event notifications with data
US7290045B2 (en) * 2002-07-01 2007-10-30 Sun Microsystems, Inc. Method and apparatus for managing a storage area network including a self-contained storage system

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104741B2 (en) * 2003-03-11 2015-08-11 Hitachi, Ltd. Method and apparatus for seamless management for disaster recovery
US20130179404A1 (en) * 2003-03-11 2013-07-11 Hitachi, Ltd. Method and apparatus for seamless management for disaster recovery
US9979671B2 (en) * 2011-08-31 2018-05-22 International Business Machines Corporation Management of storage cluster performance with hybrid workloads
US10243872B2 (en) 2011-08-31 2019-03-26 International Business Machines Corporation Management of storage cluster performance with hybrid workloads
US20150188790A1 (en) * 2012-08-20 2015-07-02 Lg Electronics Inc. Method and apparatus for transmitting a response to a command in wireless communication system
US9762465B2 (en) * 2012-08-20 2017-09-12 Lg Electronics Inc. Method and apparatus for transmitting a response to a command in wireless communication system
US20140351419A1 (en) * 2013-05-21 2014-11-27 Exablox Corporation Automatic data ring discovery and configuration
US20150052382A1 (en) * 2013-08-14 2015-02-19 Netapp, Inc. Failover methods and systems for a virtual machine environment
US9923965B2 (en) 2015-06-05 2018-03-20 International Business Machines Corporation Storage mirroring over wide area network circuits with dynamic on-demand capacity
US9923784B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Data transfer using flexible dynamic elastic network service provider relationships
US10057327B2 (en) 2015-11-25 2018-08-21 International Business Machines Corporation Controlled transfer of data over an elastic network
US10177993B2 (en) 2015-11-25 2019-01-08 International Business Machines Corporation Event-based data transfer scheduling using elastic network optimization criteria
US10216441B2 (en) 2015-11-25 2019-02-26 International Business Machines Corporation Dynamic quality of service for storage I/O port allocation
US9923839B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Configuring resources to exploit elastic network capability
US10581680B2 (en) 2015-11-25 2020-03-03 International Business Machines Corporation Dynamic configuration of network features
US10608952B2 (en) 2015-11-25 2020-03-31 International Business Machines Corporation Configuring resources to exploit elastic network capability
CN108513657A (en) * 2016-12-26 2018-09-07 华为技术有限公司 Data transfer device and backup server

Also Published As

Publication number Publication date
US11178234B1 (en) 2021-11-16
US8473596B2 (en) 2013-06-25
US9467513B2 (en) 2016-10-11
US20150089036A1 (en) 2015-03-26
US20130282795A1 (en) 2013-10-24
US10326846B1 (en) 2019-06-18
US9787780B1 (en) 2017-10-10
US8688772B2 (en) 2014-04-01
US20040215749A1 (en) 2004-10-28
US8639788B2 (en) 2014-01-28
US20080115144A1 (en) 2008-05-15
US7379990B2 (en) 2008-05-27
US8903963B2 (en) 2014-12-02
US20090100163A1 (en) 2009-04-16
US10791181B1 (en) 2020-09-29

Similar Documents

Publication Publication Date Title
US11178234B1 (en) Method and apparatus for web based storage on-demand distribution
US9288266B1 (en) Method and apparatus for web based storage on-demand
US9602600B1 (en) Method and apparatus for web based storage on-demand
US9307055B1 (en) Method and system for concurrent web based multitasking support
US6606690B2 (en) System and method for accessing a storage area network as network attached storage
US7430616B2 (en) System and method for reducing user-application interactions to archivable form
US7716319B2 (en) Computer system and method for managing log information
US20060095705A1 (en) Systems and methods for data storage management
US20110066948A1 (en) Method and apparatus for accessing and managing a multi-layered virtual server by deploying web folder tree
US20120233305A1 (en) Method, apparatus, and computer product for managing operation
US20090031012A1 (en) Automated cluster node configuration
CN112035062B (en) Migration method of local storage of cloud computing, computer equipment and storage medium
US20140122676A1 (en) Method and Apparatus For Web Based Storage On Demand
CN107733667B (en) Log management method and system

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: TS PATENTS LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STT WEBOS, INC.;TSAO, SHENG TAI;REEL/FRAME:041276/0240

Effective date: 20170216

AS Assignment

Owner name: STT WEBOS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TS PATENTS LLC;REEL/FRAME:046538/0200

Effective date: 20180802

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment: 8