WO1998049626A1 - Distributed mirroring of data volumes in networked systems - Google Patents

Distributed mirroring of data volumes in networked systems Download PDF

Info

Publication number
WO1998049626A1
WO1998049626A1 PCT/US1998/008621 US9808621W WO9849626A1 WO 1998049626 A1 WO1998049626 A1 WO 1998049626A1 US 9808621 W US9808621 W US 9808621W WO 9849626 A1 WO9849626 A1 WO 9849626A1
Authority
WO
WIPO (PCT)
Prior art keywords
workstations
backup
update
file server
network
Prior art date
Application number
PCT/US1998/008621
Other languages
French (fr)
Inventor
Maurice Bizzarri
Original Assignee
Award Software International, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Award Software International, Inc. filed Critical Award Software International, Inc.
Priority to EP98918849A priority Critical patent/EP0985176A1/en
Priority to JP54732598A priority patent/JP2002500787A/en
Publication of WO1998049626A1 publication Critical patent/WO1998049626A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the present invention is in the field of computer networks and pertains in particular apparatus and methods for leveling traffic on computer networks.
  • a computer network comprises a system of workstations, which may be personal computers (PCs), linked together by typically a serial data link.
  • PCs personal computers
  • One or more file servers on the network provide storage for generated data, as well as a source for application software needed by the users to perform their functions.
  • Networking allows multiple users to share data storage hardware, software resources, and peripherals such as printers and facsimile equipment.
  • Net PCs in the art users can be stationed at generically identical work stations, with their applications and specific tools related to job function stored on a server.
  • storage space may be provided on a server on the network to archive data files and to provide temporary storage for workstations on the network.
  • Networks are typically created and customized for the appropriate situations where they will be utilized. Although systems may differ, their function is fairly generic, that is, to provide an environment whereby data can be generated, stored, backed up, updated and the like, in a cost effective and efficient manner.
  • One of the inherent limitations that must be dealt with when operating a computer network relates to the capacity of the network data link to transmit data back and forth between servers, peripherals, and workstations on the network. This capacity or capability is known in the art as bandwidth. Information in transit on an active network line is typically known in the art as network traffic. A large amount of traffic can be generated, for example, when the number of users sending or receiving data at the same time is large.
  • burst technology is used to speed the delivery of information packets by cutting the number of processes such as identification, or by simplifying protocols.
  • Higher bandwidth systems are developed and introduced, such as fiber optic systems and the like.
  • Using multiple servers that are strategically placed, or mirrored, is also employed as a way to minimize network traffic.
  • Yet another method, is to increase the memory storage at individual work stations, typically, with cache memory, reducing the user's need to access the network servers as often.
  • a data mirroring system for a network including one or more workstations and a file server
  • a backup component adapted for backing up work product data from the workstations to the file server as stored work product data at the one or more workstations changes
  • an update component adapted for mirroring work environment from the file server to the one or more workstations as master copies of work environment are changed.
  • the backup component and the update component are adapted to check network traffic level, and to execute only if traffic is at or below a pre- stored level.
  • the system can be provided to execute on the file server, one or more of the workstations, or both.
  • the system is further adapted for maintaining a status list of backup and update status of all workstations on the network.
  • the system is further adapted for tracking backup and update failure, and for presenting a notice of stations not served during a backup or update procedure.
  • only a backup facility is provided, and in others only an update facility is provided.
  • a method for mirroring workspace and work environment data between a file server and workstations on a network comprising steps of (a) monitoring the file server for changes made in master work environment; (b) initiating update routines mirroring work environment from the file server to workstations upon sensing a change made in the master work environment; (c) monitoring workstations for changes made on workspace storage; and (d) initiating backups data transfer from the workstations to the file server upon sensing a change made in workspace storage.
  • system of the present invention provides new and enhanced functionality for data maintenance tools for networks, allowing data transmission in many cases to be restricted to times of low network activity.
  • Fig. 1 is a simplified overview of a company network in a preferred embodiment of the present invention.
  • Fig. 2 is a pseudo-code example of a method for practicing the present invention.
  • Fig. 3 is another pseudo-code example of a method in practice of the present invention.
  • Fig. 1 is an overview diagram of a network system 9 according to the present invention, comprising individual workstations 13,15 and 17 linked to a file server 19 via a network data link 11. It will be apparent to one with skill in the art that there could be a different or greater number of workstations, peripheral devices, and servers of different types comprising network system 9, However, in this embodiment, three workstations and one server are shown and deemed sufficient to adequately illustrate the present invention.
  • Workstations 13, 15, and 17 are shown in Fig. 1 with the same symbols. It is to be understood, however, that there may be several different types of workstations.
  • a workstation dedicated to making engineering drawings may, for example, have a large, high resolution monitor, and other hardware dedicated to graphic rendition.
  • a workstation dedicated to secretarial work may not need the high-end monitor used for a graphics workstation, and so on.
  • Each workstation 13, 15 and 17 has a non- volatile memory (disk in this example) for storage.
  • Station 13 has disk 20, station 15 has disk 21, and station 17 has disk 22.
  • the disk at each workstation stores work environment and workspace for the associated workstation.
  • disk 20 has a section (a) providing workspace and a section (b) dedicated to work environment.
  • Workstation 15 similarly has a section (c) providing workspace and a section (d) dedicated to work environment.
  • Disk 22 at workstation 17 has a section (e) providing workspace, and a section (f) dedicated to work environment.
  • Workspace is memory space for storing, at least temporarily, files and other data generated by a user during working sessions.
  • Work environment is memory space dedicated to working copies of applications, utilities, and the like to be executed at a workstation in for performance of work.
  • part of the work environment at a graphics art workstation will typically be a powerful graphics generation program, and the workstation will have certain hardware to enhance performance for the intended use (graphics).
  • graphics graphics
  • the nonvolatile storage capacity at each workstation may vary widely according to the intended use of the workstation and other factors, with the requirement that the capacity be sufficient for the workspace and work environment.
  • File server 19 has a non- volatile memory 23 associated with it that can be a single physical hard disk, or may a logical volume spread over a group of devices, as in a RAID array. There are many types of memory-storage methods and apparatus, including but not limited to such as using hard disks, that might be used for memory 23. In a typical network installation, the storage capacity of disks 20-
  • Region 25 comprises in this example three sections a, c, and e, which are master workspace sections for data stored temporarily in workspace sections a, c and e of disk drives 20, 21, and 22 at workstations 13, 15, and 17 respectively.
  • Region 27 in this example comprises sections b, d, and f corresponding to sections b, d, and f of disks 20, 21, and 22 at workstations 13, 15, and 17.
  • workstations 13, 15, and 17 are not identical in hardware and assigned function. That is, it is assumed in this example that the workstations are considerably different, such as one workstation for computer graphics, another for secretarial work, and another for accounting functions.
  • the work environment for each of the three workstations will be considerably different, and the master environment for each will be different in disk 23. If workstations 13, 15, and 17 were identical in function they could all be served by a master copy of a single work environment in disk 23.
  • Disk 23 may well have other information and general purpose data accessible by all workstations. It is to the corresponding workspace and work environment sections, however, that the present invention pertains.
  • the workstations are not independent, but draw their work environment regularly from file server 19, from data and applications stored in memory 23. Similarly, master storage and archiving of work product at each of the workstations is stored through file server 19 in memory 23. This ability to share allows the overall computer plant to be minimized relative to overall functionality. It is necessary, however, as previously described, that sufficient bandwidth be provided in the data link of the network to allow all workstation access to work environment and all data backup from workstations to the file servers to be accomplished without causing undue delay or difficulty anywhere in the network.
  • File server 19 has access to a list 29 containing information about all of the workstations in network 9.
  • List 29 in this example is a database.
  • List 29 in this embodiment stores a configuration map for each workstation, identifying, for example, work function (i.e. graphical or word processing), which applications used, and boot information, among other information.
  • list 29 stores association of logical workspace and work environment sections in workstations with corresponding master sections in memory 23.
  • section d at memory 23 is the master copy in this example of the work environment for workstation 15 (and for other workstations on the network, if any, identical in function to workstation 15).
  • list 29 may be maintained in a number of different ways and may be stored in a number of different places. This list may be stored and maintained, for example, in memory 23, or in any other memory accessible to file server 19.
  • backup of generated work product and updating of work environment are accomplished throughout both work and idle times by utilizing opportunistic periods when network traffic is at or below a predetermined threshold.
  • This unique mirroring activity is accomplished by mirroring routines 14 according to embodiments of the present invention (Fig. 1). These mirroring routines are indicated by the abbreviation MR in Fig. 1.
  • MR mirroring routines 14
  • a procedure is initiated for workstations to begin or to continue previous interrupted backup of work product and other data.
  • mirroring routines 14 are shown accessible and executable by each of workstations 13, 15,and 17, and also by file server
  • mirroring routines 14 may be executed just on the file server, only on one or more workstations, or on all workstations and file servers as shown, with functionality distributed among the various mirroring routines.
  • the mirroring routines according to embodiments of the present invention accomplish one of two general purposes. One is backup of workspace and the other is mirroring updates in master work environment. In each function, activity is typically triggered by a change in data. For example, there is no need to back up workspace if there have been no changes in workspace content at any workstation.
  • mirroring routines 14 running on workstation 13.
  • the mirroring routine running on that workstation checks network traffic level, and if the traffic level is below the preset threshold, mirroring begins. When traffic exceeds the threshold, backup stops until activity falls below the threshold again. In this manner backups may be fragmented and distributed over relatively long periods, with a portion done now and portion later, and so on. This distributed activity is a principle object of the present invention in some aspects, providing for even distribution of the mirroring traffic.
  • backup may be sporadic, as required by using only low- traffic periods, it is needed to keep running track of the state of backup of each workstation, and this function is fulfilled by list 29. Backup revisions are tracked, and the backup state of each workstation is maintained in database 29.
  • the mirroring routine might execute on file server 19, and be triggered whenever network activity is below the threshold. At all low activity periods in this embodiment the mirroring routine begins checking each workstation in order and initiates backup for those wherein data content of the workspace has changed since the last activity period of the workspace mirroring routine.
  • backup might be implemented with the twin requirements that backup be required and network traffic be below the preset threshold.
  • the mirroring activity is triggered by a change in master work environment.
  • a system administrator will make such upgrades using special hardware and/or software tools.
  • the fact of a change in a master copy of work environment starts a procedure whereby workstations requiring updating associated with the change are updated. Data transfer direction in this case is from the file server to the workstations.
  • Work environment updating may be scheduled in various ways in different embodiments of the present invention.
  • the administrator doing the update may assign a priority, depending on the reason for the update.
  • a very high priority means that workstations will be immediately updated regardless of network traffic, forcing (perhaps) other traffic to be delayed.
  • Lower priority may be assigned allowing the updates to be made at times of reduced network traffic.
  • the administrator may also have access to update scheduling routines wherein updates may be forced to specific times-of-day (which includes times-of-night).
  • compression and decompression tools are installed with the software and automated at the server and at each workstation on network 9, so that only compressed data is being transmitted over network line 11. It will be apparent to one with skill in the art that any other feature designed to facilitate lower network traffic, and that is known in the art, could be employed in network 9 such as burst technology, fiber-optic lines, server-mirroring techniques and so on.[DK2]
  • Fig. 2 is a pseudo code listing illustrating one example of a procedure according to an embodiment of the preset invention to update work environment. In this embodiment updates to individual work environments are performed when an update is done to the master copy or copies of work environments in file server 19. Generally, the system manager would have an access tool or workstation for the purpose of accessing file sever 19 and initiating changes.
  • the system (through execution of MR 14) checks for a change in a master in step 200. If a new revision is needed, then a revision counter is set and incremented in step 201. The system then retrieves information in list 29 in step 202, and determines the particular workstations that must targeted for the revision made in the master. Step 203 sets up an entry point for repetition of mirroring activity to be done until all workstations needing the update are successfully updated, or added to a list of not-accessible workstations.
  • step 204 targeted workstations are contacted.
  • a first workstation is contacted the first time through the repetitive process, and a next workstation in order of ID no., and so forth.
  • the new revision is sent in step 205.
  • the workstation replies, in step 206, that the revision was successful.
  • List 29 is then updated to reflect the new revision in step 207. This process is repeated between steps 204 through 208 until all targeted workstations have been updated.
  • List 29 containing all of the new updates is then saved and stored in step 209. After the process is complete, it may be that one or more workstations did not get updated. These workstations may be malfunctioning or off-line for repair, and so forth.
  • Step 210 assesses the location and confirms the identifying information of such workstations, and alerts the system manager to the situation in step 211.
  • the explicit example illustrated by Fig. 2 does not have a step for checking network traffic. In some embodiments, however, such a step is included, with a traffic level below a pre-programmed threshold as a condition to continue with update. There are also no steps shown for an administrator to set priority, or to set specific times for updates to be done. Such steps are included, however, in some embodiments, as described above.
  • Fig. 2 is pseudo code indicating functionality in a specific embodiment, and is meant for illustrative purposes only. It will be apparent to one with skill in the art that many specific programming languages could be used to implement the mirroring routines. It will also be apparent to one with skill in the art that there are many variations of configuration and steps that could be used to adapt the software to a particular network environment. For example, in one embodiment, manual steps could be integrated with automated steps where system manager interface might be desired. In another embodiment, the functions of the software could be wholly automated with events scheduled over a period of several days, etc.
  • Fig. 3 is a pseudo code listing steps for backing up data generated at workstations.
  • a network traffic-detection feature of the software checks network traffic, and alerts the system when network traffic falls below a predetermined level, as previously described.
  • step 301 a new backup order is initiated.
  • List 29 is accessed in step 302 and workstations are located and contacted.
  • Backup repetition is initiated at step 303.
  • step 304 contact is made with a first or next workstation to start backing up it's workspace.
  • This process as mentioned above with reference to Fig. 1 is transparent to the user, meaning he or she can continue working and remain oblivious to the process.
  • a pop-up icon can signify to the user that backup is taking place, however, it is not required.
  • step 305 all marked files at the workstation contacted are accessed.
  • step 306 the files are stored in the appropriate associated section of memory 23 (Fig. 1).
  • list 29 is updated for the workstation in contact to index the backup rev. for that station.
  • control is sent back to step 303, unless all stations have been accessed, or did not respond.
  • step 309 list 29 is saved.
  • the system will confirm the location and identify information of those particular workstations in step 310, and alert the system manager in step 311. It is emphasized again here that the listing of Fig. 3 is just one example of how the backup system may work in embodiments of the invention.

Abstract

A mirroring system (14) for a network (9) operates to backup work product from workstations (13, 15, 17) on the network to one or more file servers (19), and also performs updates of changes in master copies of work environment to workstations (13, 15, 17) from the one or more file servers (19). In some embodiments the mirroring system (14) checks for network traffic level, and only initiates data transmission if traffic is at or below a preset level. As backups and updates occur, a status list (29) is maintained to track the update and backup revision levels at each workstations (13, 15, 17) on the network. In some embodiments, workstations (13, 15, 17) failing to backup or update are listed and reported.

Description

Distributed Mirroring of Data Volumes in Networked Systems
Field of the Invention
The present invention is in the field of computer networks and pertains in particular apparatus and methods for leveling traffic on computer networks.
Background of the Invention
One of the most cost-effective tools for managing and controlling the output of multiple computer users in a group setting, is computer networking. A computer network comprises a system of workstations, which may be personal computers (PCs), linked together by typically a serial data link. One or more file servers on the network provide storage for generated data, as well as a source for application software needed by the users to perform their functions. Networking allows multiple users to share data storage hardware, software resources, and peripherals such as printers and facsimile equipment. As networks have evolved, there has been a tendency to rely more and more on server functions and to minimize the hardware and software resident at each workstation. This concept greatly reduces cost factors related to individual workstations, and at the same time, allows managers greater control over work output.. Companies such as SUN, Oracle, Microsoft and Intel have introduced such workstations termed
Net PCs in the art. In practice, users can be stationed at generically identical work stations, with their applications and specific tools related to job function stored on a server. At the same time, storage space may be provided on a server on the network to archive data files and to provide temporary storage for workstations on the network.
There are many types of network systems available, as well as different types of topologies and technologies used. Networks are typically created and customized for the appropriate situations where they will be utilized. Although systems may differ, their function is fairly generic, that is, to provide an environment whereby data can be generated, stored, backed up, updated and the like, in a cost effective and efficient manner.
One of the inherent limitations that must be dealt with when operating a computer network relates to the capacity of the network data link to transmit data back and forth between servers, peripherals, and workstations on the network. This capacity or capability is known in the art as bandwidth. Information in transit on an active network line is typically known in the art as network traffic. A large amount of traffic can be generated, for example, when the number of users sending or receiving data at the same time is large.
In a typical network environment there are peak-use periods, and periods when traffic is light . For example the period near the end of a workshift, say 5:00 P.M., might well be a peak traffic period because a number of users are closing applications, storing data on a server from temporary storage at the workstation, and performing functions (printing, faxing and the like) using peripherals. Other periods, such as lunch times, break times, and late night or early morning hours may well be light-traffic periods. System and worker efficiency suffers during peak periods partly because of the amount of data that has to be identified and processed. If the amount of data to be transferred in a given period is beyond the bandwidth capability of the network, functions must be delayed. There are improvements that have been made in system technology that can partially address the problems of network burden. For example, burst technology is used to speed the delivery of information packets by cutting the number of processes such as identification, or by simplifying protocols. Higher bandwidth systems are developed and introduced, such as fiber optic systems and the like. Using multiple servers that are strategically placed, or mirrored, is also employed as a way to minimize network traffic. Yet another method, is to increase the memory storage at individual work stations, typically, with cache memory, reducing the user's need to access the network servers as often.
While known system improvements, as described above, can reduce network traffic, some of them can also introduce new problems. For example, while providing cache memory to individual work stations can aid in reducing network traffic, in the event of an administered boot- sector revision, cache-capable workstations may not receive the new revision if their cache is full of data at the time of the revision.
What is clearly needed is an apparatus and method that enables transparent backup of a user's files as he or she works, whether or not a cache is used, incorporating an ability to recognize and utilize light- traffic periods for backups, and at the same time to automatically synchronize and implement updated revisions to applications and boot information.
Summary of the Invention
In a preferred embodiment of the present invention a data mirroring system for a network including one or more workstations and a file server is provided, comprising a backup component adapted for backing up work product data from the workstations to the file server as stored work product data at the one or more workstations changes; and an update component adapted for mirroring work environment from the file server to the one or more workstations as master copies of work environment are changed. In some embodiments one or both of the backup component and the update component are adapted to check network traffic level, and to execute only if traffic is at or below a pre- stored level.
The system can be provided to execute on the file server, one or more of the workstations, or both. In some embodiments the system is further adapted for maintaining a status list of backup and update status of all workstations on the network. In other embodiments the system is further adapted for tracking backup and update failure, and for presenting a notice of stations not served during a backup or update procedure. In some embodiments of the invention only a backup facility is provided, and in others only an update facility is provided. In another aspect a method for mirroring workspace and work environment data between a file server and workstations on a network, comprising steps of (a) monitoring the file server for changes made in master work environment; (b) initiating update routines mirroring work environment from the file server to workstations upon sensing a change made in the master work environment; (c) monitoring workstations for changes made on workspace storage; and (d) initiating backups data transfer from the workstations to the file server upon sensing a change made in workspace storage.
In various embodiments the system of the present invention provides new and enhanced functionality for data maintenance tools for networks, allowing data transmission in many cases to be restricted to times of low network activity. Brief Description of the Drawing Figures
Fig. 1 is a simplified overview of a company network in a preferred embodiment of the present invention.
Fig. 2 is a pseudo-code example of a method for practicing the present invention.
Fig. 3 is another pseudo-code example of a method in practice of the present invention.
Description of the Preferred Embodiments
Fig. 1 is an overview diagram of a network system 9 according to the present invention, comprising individual workstations 13,15 and 17 linked to a file server 19 via a network data link 11. It will be apparent to one with skill in the art that there could be a different or greater number of workstations, peripheral devices, and servers of different types comprising network system 9, However, in this embodiment, three workstations and one server are shown and deemed sufficient to adequately illustrate the present invention.
Workstations 13, 15, and 17 are shown in Fig. 1 with the same symbols. It is to be understood, however, that there may be several different types of workstations. A workstation dedicated to making engineering drawings may, for example, have a large, high resolution monitor, and other hardware dedicated to graphic rendition. A workstation dedicated to secretarial work may not need the high-end monitor used for a graphics workstation, and so on.
Each workstation 13, 15 and 17 has a non- volatile memory (disk in this example) for storage. Station 13 has disk 20, station 15 has disk 21, and station 17 has disk 22. The disk at each workstation stores work environment and workspace for the associated workstation. In Fig. 1 , disk 20 has a section (a) providing workspace and a section (b) dedicated to work environment. Workstation 15 similarly has a section (c) providing workspace and a section (d) dedicated to work environment. Disk 22 at workstation 17 has a section (e) providing workspace, and a section (f) dedicated to work environment.
Workspace is memory space for storing, at least temporarily, files and other data generated by a user during working sessions. Work environment is memory space dedicated to working copies of applications, utilities, and the like to be executed at a workstation in for performance of work. As an example, part of the work environment at a graphics art workstation will typically be a powerful graphics generation program, and the workstation will have certain hardware to enhance performance for the intended use (graphics). It will be apparent to those with skill in the art that the nonvolatile storage capacity at each workstation may vary widely according to the intended use of the workstation and other factors, with the requirement that the capacity be sufficient for the workspace and work environment. File server 19 has a non- volatile memory 23 associated with it that can be a single physical hard disk, or may a logical volume spread over a group of devices, as in a RAID array. There are many types of memory-storage methods and apparatus, including but not limited to such as using hard disks, that might be used for memory 23. In a typical network installation, the storage capacity of disks 20-
22 might range from several dozen megabytes to a few gigabits, whereas storage capacity of memory 23 at file server 19 could range into terabytes.
Disk 23 is divided in this embodiment into two regions 25 and 27. Region 25 comprises in this example three sections a, c, and e, which are master workspace sections for data stored temporarily in workspace sections a, c and e of disk drives 20, 21, and 22 at workstations 13, 15, and 17 respectively.
Region 27 in this example comprises sections b, d, and f corresponding to sections b, d, and f of disks 20, 21, and 22 at workstations 13, 15, and 17. This correspondence assumes that workstations 13, 15, and 17 are not identical in hardware and assigned function. That is, it is assumed in this example that the workstations are considerably different, such as one workstation for computer graphics, another for secretarial work, and another for accounting functions. In this example the work environment for each of the three workstations will be considerably different, and the master environment for each will be different in disk 23. If workstations 13, 15, and 17 were identical in function they could all be served by a master copy of a single work environment in disk 23.
Disk 23 may well have other information and general purpose data accessible by all workstations. It is to the corresponding workspace and work environment sections, however, that the present invention pertains. In a networked system of the sort depicted in overview in Fig. 1 , it is, as described above, the ability to share space and functions that is of particular importance. The workstations are not independent, but draw their work environment regularly from file server 19, from data and applications stored in memory 23. Similarly, master storage and archiving of work product at each of the workstations is stored through file server 19 in memory 23. This ability to share allows the overall computer plant to be minimized relative to overall functionality. It is necessary, however, as previously described, that sufficient bandwidth be provided in the data link of the network to allow all workstation access to work environment and all data backup from workstations to the file servers to be accomplished without causing undue delay or difficulty anywhere in the network.
File server 19 has access to a list 29 containing information about all of the workstations in network 9. List 29 in this example is a database. List 29 in this embodiment stores a configuration map for each workstation, identifying, for example, work function (i.e. graphical or word processing), which applications used, and boot information, among other information. Similarly, list 29 stores association of logical workspace and work environment sections in workstations with corresponding master sections in memory 23. For example, section d at memory 23 is the master copy in this example of the work environment for workstation 15 (and for other workstations on the network, if any, identical in function to workstation 15). When, in the course of events, a change is made in the work environment in section d in memory 23, such as, for example, an upgrade in a drawing program used by workstation 15, it is important that the new version be propagated at earliest convenience to workstation 15 and like stations on the network.
Similarly, as operators at various workstations create copy and files (work product) it is important that this work product be backed up to master sections of memory 23 corresponding to each workstation.
There is therefore considerable two-way traffic on the typical network, and, unfortunately, the traffic is not well distributed over time. It is to this distribution of traffic over time that the present invention is addressed in some aspects. It will be apparent to those with skill in the art that list 29 may be maintained in a number of different ways and may be stored in a number of different places. This list may be stored and maintained, for example, in memory 23, or in any other memory accessible to file server 19.
In an embodiment of the present invention, backup of generated work product and updating of work environment are accomplished throughout both work and idle times by utilizing opportunistic periods when network traffic is at or below a predetermined threshold. This unique mirroring activity is accomplished by mirroring routines 14 according to embodiments of the present invention (Fig. 1). These mirroring routines are indicated by the abbreviation MR in Fig. 1. In one embodiment for example, when network traffic falls to 40 percent of maximum, a procedure is initiated for workstations to begin or to continue previous interrupted backup of work product and other data. In Fig. 1 mirroring routines 14 are shown accessible and executable by each of workstations 13, 15,and 17, and also by file server
19. In various embodiments, mirroring routines 14 may be executed just on the file server, only on one or more workstations, or on all workstations and file servers as shown, with functionality distributed among the various mirroring routines. The mirroring routines according to embodiments of the present invention accomplish one of two general purposes. One is backup of workspace and the other is mirroring updates in master work environment. In each function, activity is typically triggered by a change in data. For example, there is no need to back up workspace if there have been no changes in workspace content at any workstation.
However, when the content of workspace at any workstation, such as section a at workstation 20, for example, changes, then it is necessary that the new workspace content be mirrored to section a at memory 23 associated with file server 19. In one embodiment there may be an instance of mirroring routines 14 running on workstation 13. When workspace activity is detected, then the mirroring routine running on that workstation checks network traffic level, and if the traffic level is below the preset threshold, mirroring begins. When traffic exceeds the threshold, backup stops until activity falls below the threshold again. In this manner backups may be fragmented and distributed over relatively long periods, with a portion done now and portion later, and so on. This distributed activity is a principle object of the present invention in some aspects, providing for even distribution of the mirroring traffic. Because backup may be sporadic, as required by using only low- traffic periods, it is needed to keep running track of the state of backup of each workstation, and this function is fulfilled by list 29. Backup revisions are tracked, and the backup state of each workstation is maintained in database 29. [Dκi]In an alternative architecture, the mirroring routine might execute on file server 19, and be triggered whenever network activity is below the threshold. At all low activity periods in this embodiment the mirroring routine begins checking each workstation in order and initiates backup for those wherein data content of the workspace has changed since the last activity period of the workspace mirroring routine.
It will be apparent to those with skill in the art that there are a number of ways that backup might be implemented with the twin requirements that backup be required and network traffic be below the preset threshold. In the case of work environment updates, the mirroring activity is triggered by a change in master work environment. Typically a system administrator will make such upgrades using special hardware and/or software tools. In a preferred embodiment of the present invention the fact of a change in a master copy of work environment starts a procedure whereby workstations requiring updating associated with the change are updated. Data transfer direction in this case is from the file server to the workstations.
Work environment updating may be scheduled in various ways in different embodiments of the present invention. For example, the administrator doing the update may assign a priority, depending on the reason for the update. A very high priority means that workstations will be immediately updated regardless of network traffic, forcing (perhaps) other traffic to be delayed. Lower priority may be assigned allowing the updates to be made at times of reduced network traffic. The administrator may also have access to update scheduling routines wherein updates may be forced to specific times-of-day (which includes times-of-night).
Again, because in some embodiments network traffic level will vary, and because the mirroring routines according to some embodiments of the present invention operate only during low traffic periods, mirroring of updates may be somewhat sporadic, and it may be needed to keep accurate track of update versions, which again is done in list 29. List 29 is therefore, in most embodiments of the invention, updated after each update of work environment to workstations, to record which workstations have which revision of update.
In one embodiment of the invention, compression and decompression tools are installed with the software and automated at the server and at each workstation on network 9, so that only compressed data is being transmitted over network line 11. It will be apparent to one with skill in the art that any other feature designed to facilitate lower network traffic, and that is known in the art, could be employed in network 9 such as burst technology, fiber-optic lines, server-mirroring techniques and so on.[DK2]
Because of the dynamic nature of networks, there may at times be workstations that cannot be accessed by the file server for environment update or workspace backup, or both. If a workstation can not be updated or backed up because it was perhaps off-line or failed during data transfer, that information is recorded in list 29 allowing the system to re-try the installation at that particular workstation at a later time, or notify the system manager of the problem. Fig. 2 is a pseudo code listing illustrating one example of a procedure according to an embodiment of the preset invention to update work environment. In this embodiment updates to individual work environments are performed when an update is done to the master copy or copies of work environments in file server 19. Generally, the system manager would have an access tool or workstation for the purpose of accessing file sever 19 and initiating changes.
Referring to Fig. 2, the system (through execution of MR 14) checks for a change in a master in step 200. If a new revision is needed, then a revision counter is set and incremented in step 201. The system then retrieves information in list 29 in step 202, and determines the particular workstations that must targeted for the revision made in the master. Step 203 sets up an entry point for repetition of mirroring activity to be done until all workstations needing the update are successfully updated, or added to a list of not-accessible workstations.
In step 204, targeted workstations are contacted. A first workstation is contacted the first time through the repetitive process, and a next workstation in order of ID no., and so forth. The new revision is sent in step 205. When the revision is completed at a particular workstation, the workstation replies, in step 206, that the revision was successful. List 29 is then updated to reflect the new revision in step 207. This process is repeated between steps 204 through 208 until all targeted workstations have been updated. List 29 containing all of the new updates is then saved and stored in step 209. After the process is complete, it may be that one or more workstations did not get updated. These workstations may be malfunctioning or off-line for repair, and so forth. Step 210 assesses the location and confirms the identifying information of such workstations, and alerts the system manager to the situation in step 211. The explicit example illustrated by Fig. 2 does not have a step for checking network traffic. In some embodiments, however, such a step is included, with a traffic level below a pre-programmed threshold as a condition to continue with update. There are also no steps shown for an administrator to set priority, or to set specific times for updates to be done. Such steps are included, however, in some embodiments, as described above.
The code shown in Fig. 2 is pseudo code indicating functionality in a specific embodiment, and is meant for illustrative purposes only. It will be apparent to one with skill in the art that many specific programming languages could be used to implement the mirroring routines. It will also be apparent to one with skill in the art that there are many variations of configuration and steps that could be used to adapt the software to a particular network environment. For example, in one embodiment, manual steps could be integrated with automated steps where system manager interface might be desired. In another embodiment, the functions of the software could be wholly automated with events scheduled over a period of several days, etc.
Fig. 3 is a pseudo code listing steps for backing up data generated at workstations. In step 300, a network traffic-detection feature of the software checks network traffic, and alerts the system when network traffic falls below a predetermined level, as previously described. In step 301 a new backup order is initiated. List 29 is accessed in step 302 and workstations are located and contacted. Backup repetition is initiated at step 303. In step 304 contact is made with a first or next workstation to start backing up it's workspace. This process, as mentioned above with reference to Fig. 1 is transparent to the user, meaning he or she can continue working and remain oblivious to the process. In one embodiment, a pop-up icon can signify to the user that backup is taking place, however, it is not required. At step 305 all marked files at the workstation contacted are accessed. At step 306 the files are stored in the appropriate associated section of memory 23 (Fig. 1). At step 307 list 29 is updated for the workstation in contact to index the backup rev. for that station. At step 308 control is sent back to step 303, unless all stations have been accessed, or did not respond.
Generally whole files will be backed up in this process and stored in the server, however partial files may also be backed up to current status while a user is still working in them. This is an automated and ongoing process until network traffic should rise above a predetermined level at which time the backup procedure may halt, or finish just the work in progress.
In step 309, list 29 is saved. As in the update procedure described with reference to Fig. 2, there may be one or more workstations that did not backup it's files successfully because they may have been off-line or under repair, etc. The system will confirm the location and identify information of those particular workstations in step 310, and alert the system manager in step 311. It is emphasized again here that the listing of Fig. 3 is just one example of how the backup system may work in embodiments of the invention.
It will be apparent to one with skill in the art that there are many ways that the software of the present invention may be written and configured to adapt to a network environment without departing from the spirit and scope of the present invention. For example, the software could be implemented on a wide scale between two or more company networks that are in different locations but are connected to each other, such as in a cooperative company Intranet. This and other embodiments, that have already been described above, are possible. The invention in its several aspects is limited only by the scope of the claims which follow.

Claims

What is claimed is:
1. A data mirroring system for a network including one or more workstations and a file server, comprising: a backup component adapted for backing up work product data from the workstations to the file server as stored work product data at the one or more workstations changes; and an update component adapted for mirroring work environment from the file server to the one or more workstations as master copies of work environment are changed.
2. The system of claim 1 wherein one or both of the backup component and the update component are adapted to check network traffic level, and to execute only if traffic is at or below a pre-stored level.
3. The system of claim 1 wherein the backup and update components each execute on the file server.
4. The system of claim 1 wherein the backup component executes on each workstation and the update component executes on the file server.
5. The system of claim 1 wherein both components execute on the one or more workstations.
6. The system of claim 1 further adapted for maintaining a status list of backup and update status of all workstations on the network.
7. The system of claim 6 further adapted for tracking backup and update failure, and for presenting a notice of stations not served during a backup or update procedure.
8. A backup system for a network including one or more workstations and a file server, comprising: a traffic-level component adapted for checking network traffic to be at or below a pre-stored traffic threshold as a condition for initiating backup; and a data transfer component adapted for transmitting data from the one or more workstations to the file server during time periods wherein the traffic-level component determines traffic is at or below the threshold.
9. The backup system of claim 8 wherein the system executes on the file server.
10. The backup system of claim 8 wherein the system executes on each workstation.
11. The backup system of claim 8 further adapted for maintaining a status list of backup and update status of all workstations on the network.
12. The backup system of claim 11 further adapted for tracking backup failure, and for presenting a notice of stations not served during a backup procedure.
13. A work environment update system for a network including one or more workstations and a file server, comprising: a traffic-level component adapted for checking network traffic to be at or below a pre-stored traffic threshold as a condition for initiating updates; and a data transfer component adapted for transmitting data from the file server to the one or more workstations during time periods wherein the traffic-level component determines traffic is at or below the threshold.
14. The update system of claim 13 wherein the system executes on the file server.
15. The update system of claim 13 further adapted for maintaining a status list of update status of all workstations on the network.
16. The update system of claim 15 further adapted for tracking backup failure, and for presenting a notice of stations not served during a backup procedure.
17. A method for mirroring workspace and work environment data between a file server and workstations on a network, comprising steps of:
(a) monitoring the file server for changes made in master work environment;
(b) initiating update routines mirroring work environment from the file server to workstations upon sensing a change made in the master work environment;
(c) monitoring workstations for changes made on workspace storage; and
(d) initiating backups data transfer from the workstations to the file server upon sensing a change made in workspace storage.
18. The method of claim 17 further comprising a step for determining network traffic level is below a pre-stored level as a condition for backup or update.
19. The method of claim 17 further comprising steps for maintaining a status list of update and backup status for workstations on the network.
20. A non- volatile memory device characterized in that it contains recorded code for performing the steps of claim 16
PCT/US1998/008621 1997-05-01 1998-04-28 Distributed mirroring of data volumes in networked systems WO1998049626A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP98918849A EP0985176A1 (en) 1997-05-01 1998-04-28 Distributed mirroring of data volumes in networked systems
JP54732598A JP2002500787A (en) 1997-05-01 1998-04-28 Distributed mirroring of data volumes in network systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US84709997A 1997-05-01 1997-05-01
US08/847,099 1997-05-01

Publications (1)

Publication Number Publication Date
WO1998049626A1 true WO1998049626A1 (en) 1998-11-05

Family

ID=25299759

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/008621 WO1998049626A1 (en) 1997-05-01 1998-04-28 Distributed mirroring of data volumes in networked systems

Country Status (4)

Country Link
EP (1) EP0985176A1 (en)
JP (1) JP2002500787A (en)
KR (1) KR20010020430A (en)
WO (1) WO1998049626A1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1168176A2 (en) * 2000-06-09 2002-01-02 Hewlett-Packard Company Utilization of unused disk space on networked computers
WO2002035355A1 (en) * 2000-02-01 2002-05-02 Flemming Danhild Fald Method for parallel datatransmission from computer in a network and backup system therefor
FR2826473A1 (en) * 2001-06-22 2002-12-27 Stor Is Stand-alone RAID type unit for connection to a network for provision of backing up and archiving services for computer data for use by small, medium and large enterprises
US6732144B1 (en) * 1999-11-19 2004-05-04 Kabushiki Kaisha Toshiba Communication method for data synchronization processing and electronic device therefor
WO2006023829A2 (en) * 2004-08-20 2006-03-02 Enterasys Networks, Inc. System, method and apparatus for traffic mirror setup, service and security in communication networks
US7440966B2 (en) 2004-02-12 2008-10-21 International Business Machines Corporation Method and apparatus for file system snapshot persistence
US7690040B2 (en) 2004-03-10 2010-03-30 Enterasys Networks, Inc. Method for network traffic mirroring with data privacy
US8589354B1 (en) * 2008-12-31 2013-11-19 Emc Corporation Probe based group selection
WO2014053089A1 (en) 2012-10-01 2014-04-10 Huawei Technologies Co., Ltd. Controlling data synchronization and backup services
US8788462B1 (en) 2008-12-31 2014-07-22 Emc Corporation Multi-factor probe triggers
US8972352B1 (en) 2008-12-31 2015-03-03 Emc Corporation Probe based backup
US9092377B2 (en) 2011-09-29 2015-07-28 International Business Machines Corporation Managing back up operations for data

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4666990B2 (en) * 2004-09-30 2011-04-06 株式会社日本デジタル研究所 Network RAID system
JP4635558B2 (en) * 2004-10-27 2011-02-23 カシオ計算機株式会社 Backup server device and program
KR100751075B1 (en) * 2005-10-31 2007-08-21 한국정보사회진흥원 The Remote Mirroring System using the Parallel Transfer Technique on NAS
KR102225577B1 (en) * 2020-08-21 2021-03-09 (주)테온 Method and device for distributed storage of data using hybrid storage

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495607A (en) * 1993-11-15 1996-02-27 Conner Peripherals, Inc. Network management system having virtual catalog overview of files distributively stored across network domain
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495607A (en) * 1993-11-15 1996-02-27 Conner Peripherals, Inc. Network management system having virtual catalog overview of files distributively stored across network domain
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732144B1 (en) * 1999-11-19 2004-05-04 Kabushiki Kaisha Toshiba Communication method for data synchronization processing and electronic device therefor
WO2002035355A1 (en) * 2000-02-01 2002-05-02 Flemming Danhild Fald Method for parallel datatransmission from computer in a network and backup system therefor
EP1168176A2 (en) * 2000-06-09 2002-01-02 Hewlett-Packard Company Utilization of unused disk space on networked computers
EP1168176A3 (en) * 2000-06-09 2008-05-14 Hewlett-Packard Company Utilization of unused disk space on networked computers
FR2826473A1 (en) * 2001-06-22 2002-12-27 Stor Is Stand-alone RAID type unit for connection to a network for provision of backing up and archiving services for computer data for use by small, medium and large enterprises
US7440966B2 (en) 2004-02-12 2008-10-21 International Business Machines Corporation Method and apparatus for file system snapshot persistence
US7690040B2 (en) 2004-03-10 2010-03-30 Enterasys Networks, Inc. Method for network traffic mirroring with data privacy
US8239960B2 (en) 2004-03-10 2012-08-07 Enterasys Networks, Inc. Method for network traffic mirroring with data privacy
WO2006023829A2 (en) * 2004-08-20 2006-03-02 Enterasys Networks, Inc. System, method and apparatus for traffic mirror setup, service and security in communication networks
WO2006023829A3 (en) * 2004-08-20 2007-08-02 Enterasys Networks Inc System, method and apparatus for traffic mirror setup, service and security in communication networks
US8819213B2 (en) 2004-08-20 2014-08-26 Extreme Networks, Inc. System, method and apparatus for traffic mirror setup, service and security in communication networks
US8589354B1 (en) * 2008-12-31 2013-11-19 Emc Corporation Probe based group selection
US8788462B1 (en) 2008-12-31 2014-07-22 Emc Corporation Multi-factor probe triggers
US8972352B1 (en) 2008-12-31 2015-03-03 Emc Corporation Probe based backup
US9092377B2 (en) 2011-09-29 2015-07-28 International Business Machines Corporation Managing back up operations for data
US9811426B2 (en) 2011-09-29 2017-11-07 International Business Machines Corporation Managing back up operations for data
WO2014053089A1 (en) 2012-10-01 2014-04-10 Huawei Technologies Co., Ltd. Controlling data synchronization and backup services
EP2893644A4 (en) * 2012-10-01 2015-09-30 Huawei Tech Co Ltd Controlling data synchronization and backup services

Also Published As

Publication number Publication date
EP0985176A1 (en) 2000-03-15
KR20010020430A (en) 2001-03-15
JP2002500787A (en) 2002-01-08

Similar Documents

Publication Publication Date Title
US6912629B1 (en) System and method for restoring data from secondary volume to primary volume in a data storage system
US5805897A (en) System and method for remote software configuration and distribution
EP0985176A1 (en) Distributed mirroring of data volumes in networked systems
US9158629B2 (en) Methods and systems for managing bandwidth usage among a plurality of client devices
RU2192039C2 (en) Executive regeneration routine for backup copying support program
US6178452B1 (en) Method of performing self-diagnosing and self-repairing at a client node in a client/server system
US6003044A (en) Method and apparatus for efficiently backing up files using multiple computer systems
US6446175B1 (en) Storing and retrieving data on tape backup system located at remote storage system site
US5852724A (en) System and method for "N" primary servers to fail over to "1" secondary server
US8738869B2 (en) Storage system including a plurality of modules having different control information
US7305462B2 (en) Data storage system and control method thereof
US7650475B2 (en) Storage system and method for managing data using the same
US7418489B2 (en) Method and apparatus for applying policies
US7251747B1 (en) Method and system for transferring data using a volatile data transfer mechanism such as a pipe
US7913116B2 (en) Systems and methods for incremental restore
US20050160305A1 (en) Information processing system, information processing apparatus, and control method for information processing system
US8352430B1 (en) File storage system to support high data rates
US6813683B2 (en) Method and apparatus for copying data from a main site to a remote site
KR20060004915A (en) Recovery from failures within data processing systems
JP2005537530A (en) Virtual storage
US20050278397A1 (en) Method and apparatus for automated redundant data storage of data files maintained in diverse file infrastructures
WO1998053400A1 (en) Apparatus and method for backup of a disk storage system
CN109558260B (en) Kubernetes fault elimination system, method, equipment and medium
US6754682B1 (en) Method and apparatus for enabling consistent ancillary disk array storage device operations with respect to a main application
KR101024249B1 (en) Real-time data replication system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1019997010058

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 1998 547325

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1998918849

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 98806647.5

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1998918849

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1998918849

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019997010058

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1019997010058

Country of ref document: KR