text:
|Publication number
|Publication type
|Application number
|Publication date
|May 19, 1998
|Filing date
|Dec 4, 1995
|Priority date
|Dec 4, 1995
|Fee status
|Also published as
|Publication number
|Debra Nakanishi Masada
|Original Assignee
|International Business Machines Corporation
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (24), Non-Patent Citations (18), Referenced by (100), Classifications (14), Legal Events (4)
|External Links: USPTO, USPTO Assignment, Espacenet
This invention relates generally to data management systems, and in particular, to a method and system for backing up and restoring data in a groupware environment.
The number of ways for communicating computer data has created a plethora of data that has inundated those who try to manage it for business and academia. The widespread use of e-mail, computer bulletin-boards, and fax machines enable anyone having a fax/modem to send and receive vast amounts of data. Additionally, a growing use of multi-media, such as CD-ROMS with both sound and image data and other means for inputting video information such as cameras with computer communications adapters have increased the different types of data that must be managed.
Groupware is a recently coined term intended to classify software that is designed to coordinate and manage such diverse types of data for multiple users communicating over a network. The term is still in its infancy, so there are a number of current definitions for groupware. However, one highly approved product that has shaped and defined groupware terminology is Lotus Notes developed by Lotus Development Corp., a subsidiary of the IBM Corporation. A widely accepted workable definition of groupware offered in view of the capability of Lotus Notes is given in the book, "Essential Client/Server Survival Guide", by R. Orfali, D. Harkey, and J. Edwards available from Van Nostrand Reinhold, New York, N.Y., 1994. According to that definition, "groupware is software that supports the creation, flow, and tracking of non-structured information in direct support of collaborative group activity." The definition implies that groupware is involved in the management of both information and activities. The information that Groupware manages is termed "documents." A plurality of such documents form a document database.
It is useful to compare a groupware document database to a relational database in order to appreciate how a groupware database is different. A relational database manages all data by requiring that it conform to a rigid structured format. For example, the basic unit of management in an SQL relational database is a table. Thus, all data must fit to prescribed rows and columns of tables. Each table has rows and columns locatable by indices. Data contained in a table may be externally identified at any time by referring to these indices. Such external identification aids tasks such as backup and restoration since it is always clear how to address the data.
In contrast, groupware documents are made up of highly unstructured data--including for example text, image, graphics, faxes, e-mail, and information from an electronic bulletin board. Groupware documents may also include digital sound, icons, formulas, and the information described as a "form" that defines how data may be entered, viewed, and stored. Groupware documents are not required to have external identifiers such as names, or titles, because flexibility of creation and use is encouraged by the lack of formalities. On the other hand the lack of external identifiers and the various ways that data may be entered and stored creates difficulties in backing up and restoring groupware documents and the databases that store them.
A document, in its rawest form, is a collection of diverse types of information. The document is to groupware what a table is to a SQL database, i.e. the basic unit of management. Groupware helps end users create document databases. It can move these documents via electronic mail and database replicas. Groupware includes tools that are needed to query, manage, and navigate through document databases. Documents are the currency of groupware. Typically, groupware launches the tools that create the document. For example if the document contains an image, movie, or sound clip, the groupware will find the data and launch executable code that allows the data to be viewed or heard.
Groupware builds on at least five foundation technologies: multi-media, document management, workflow, e-mail, conferencing and scheduling. Groupware manages these technologies to allow the end user to take advantage of their combined capabilities. It is useful to explore at least one such technology to gain an insight into the complexities of groupware.
Workflow is the technology of processing documents. For example, a work-order for a repair service may require that a document be accessed by telephone company personnel for entering customer information and a description of the problem. The same document should then be accessible to the repair person for entering a diagnosis, to a job estimator for calculating the cost of repairs, to the customer for approving the work, to the repair person for entering their work completion report, and again to the customer again for approving completion and indicating feedback. Further, the document should be accessible to quality control and management personnel who oversee the project. Workflow technology for handling such a sequence is readily available but it is unreasonable to expect all users, including the customer, to adhere to a rigid format. Yet, all the data must be readily available and capable of being located quickly by any user for the system to be useful.
Another technology supported by groupware is image technology. The new technologies of PCs, local area networks, scanners, and optical disks have allowed the automation of image storage as well as the data-centered tracking systems that locate stored images. Image technology supports economical online storage and display of images. In some applications, the cost savings associated with reduced staff and faster online access to groupware documents, i.e. seconds versus hours or even days, justifies the incremental expense for client/server systems. The authors of the "Essential Client/Server Survival Guide", referenced above, estimate it costs $25,000 to fill a four-drawer paper file cabinet and $2,160 annually to maintain it . They further estimate that about 3 percent of paper is eventually lost, with an average cost of $120 to recover a paper document. It is these costs that have encouraged the growth of the electronic image industry and made groupware document management so important.
As with any data processing system it is important to be able to back up groupware documents for maintenance and recovery. It is also valuable that the backup system support more than one backup version as well as deal with different types of backup media. Further, it is valuable to have a groupware system that is capable of backing up and restoring one selected document at a time. The prior art has attempted to provide back up of groupware databases by using file-level back up. Unfortunately such so-called database level backup can not provide the capability to back up and restore individual documents with the databases. Since such documents do not have external identifiers, the prior art does not provide a means to back them up. Thus, there is a clear need in the art to provide a tool that would support the capability to back up and restore an individual document within a database while also providing the capability to back up the entire database.
The need to replicate data in a multi-user database architecture by movement of data among the users poses a unique challenge to a backup function in such an architecture. In this regard, when a document in a Notes database is deleted, it is marked as a "deletion stub", i.e. it is not actually purged from the database but rather marked to be deleted at some later time. The presence of a deletion stub communicates to the replication process that a database has a deletion that must be replicated to other databases that exist on other servers. If a document is accidentally deleted from a database and replication occurs before the document is restored, the restoration of a database-level backup copy is not sufficient without manual intervention. The reason for this is that all the data, including any dates/times, within the restored database reflect values that existed within the database at the time the entire database was backed up. Hence, the erroneous replicated deletion will eventually be replicated back to the restored database, in effect nullifying the restored data. Thus, there is a clear need in the art to provide a way to restore a document that is accidentally deleted from a database to prevent replication type errors. Moreover, it would be an advance to provide the general capability of being able to restore groupware documents that cannot be opened for any reason.
Backing up an entire database may be required in certain circumstances; however, at times it is only necessary to back up that which has changed since the last back up operation. For example, in a database that is not often updated it would be wasteful to back up an entire database when updating a few documents in the database would suffice. Thus, there is a clear need in the art to provide a system having incremental back up capability and also having the ability to provide the above referenced services to solve the above-described problems.
To overcome the limitations in the prior art described above, and to overcome other limitations that will become apparent upon reading and understanding this application, this invention provides a method and system for backing up and restoring groupware documents.
This invention enables back up and restoration of at least one groupware document stored in a groupware database on a groupware document server. This invention is capable of restoring an existing document in a groupware document database. This invention is also capable of incrementally forming a back up of the groupware database to the backup server in order to back up only those documents in the database that have changed since the most recent backup operation. Further, this invention is capable of restoring a plurality of existing documents belonging to the group document database on the groupware server, and also of restoring a document in the database that is marked as being opened by the groupware document server.
In a preferred embodiment this invention comprises backup and restoration logic in the form of software that is loaded into memory coupled to the groupware document server and the backup server. In another embodiment, the logic is recorded on a recording medium for executing a method according to the invention.
Referring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIG. 1 is a block diagram of a groupware environment employing this invention;
FIG. 2 is a block diagram of back up and restore logic of this invention shown in an architectural relationship with a groupware document server operating in the groupware environment shown in FIG. 1;
FIG. 3 is a block diagram of modules of the logic of this invention depicted in FIG. 2;
FIG. 4 is an example of a groupware client's view of groupware documents available in a groupware document database stored in the groupware document server of FIG. 2;
FIG. 5 is an example of an alternative view of the same groupware documents viewed in FIG. 4;
FIG. 6 is an example of a client creation of a document that is to be stored in the groupware document database;
FIG. 7 is an example of a multimedia document existing in the groupware document database;
FIG. 8A is an example of a client creation of the equivalent of an electronic mail (e-mail) document that is to be stored in the groupware document database;
FIG. 8B is an example of a client creation of a e-mail document that is a reply to the e-mail document of FIG. 8A;
FIG. 9A is a data structure created by the logic of this invention to enable the operation of this invention;
FIG. 9B is another data structure used by logic of this invention to manage the operation of this invention;
FIG. 9C is still another data structure used by the logic of this invention to manage the operation of this invention;
FIGS. 10, 11, 12, 13, 14, 15, 16, 17, 18, and 19 are each flow charts showing the operational sequence of the method of this invention carried out in the groupware environment of FIG. 1; and
FIG. 20 is an article of manufacture, such as pre-recorded floppy disk, or other similar computer program product, for use in the groupware environment of FIG. 1 with program means recorded thereon for directing the data processing system to facilitate the practice of the method of this invention as shown in flow charts in FIGS. 10-19.
This invention is described in a preferred embodiment in the following drawing figures. In these figures, a like number shown in various figures represent the same or similar elements. While this invention is described in terms of the best mode for achieving specific objectives, it will be appreciated by those skilled in the art that variations may be accomplished in view of these teachings without deviating from the spirit or scope of the invention. In particular, certain aspects of this invention are described as operating in terms of computer software in computer memory, but this invention may also be embodied in whole or in part in application specific integrated circuitry (ASIC) by one skilled in the computer arts in view of the teachings herein.
The terms "groupware server" and "groupware server logic" are used throughout this description to denote server logic that may reside within a groupware application or product. Many groupware systems have client and server components and access to database contents is provided through the client code, with the active cooperation of logic in the server component.
In this description, a "server" denotes a node at which a system resource is managed. The server provides to system users the service of access to the resource. A "client" is a local process at a user that acts as an agent of a server when the user requires access to a resource managed by the server.
System Architecture
FIG. 1 shows a preferred groupware environment 21 for the operation of this invention. A backup server 22 is connected by a communications network 23 to client workstations (clients) 34, 42, and 48, a groupware document server 40, smart peripherals 28, a file server 56, a video server 59 and a router 54 for communicating with other networks. The smart peripherals may send electronic mail (e-mail) messages to the clients and the server to indicate that events have occurred, such as print jobs that are completed or errors that have occurred. Such data may eventually become data stored in a database on a server or client. The backup server has a storage unit 24 and mountable media 25 for storing backup copies 26 of documents of a groupware document database 38 that is itself stored on the groupware document server storage unit 36. The different kinds of storage media can comprise a hierarchy of backup storage. The backup storage unit may be, for example, a hard disk drive with magnetic or optical storage capability. Clients 34, 42, and 48 each have a respective storage unit 30, 44, and 50 on which private databases may be kept and accordingly the logic of this invention enables backup copies of these documents to be stored on storage unit 24 of backup server 22.
A file server 56 is also shown as part of the groupware environment for the sake of completeness and to contrast the well-known role of a file server with the relatively new concept of a groupware document server. A groupware environment does not require a file server, but a typical business or academic groupware environment would likely include one. The file server's role is to make applications stored on storage unit 58, such as spreadsheets and wordprocessors, available to clients on the network and to store user files created in association with such applications. A user may in fact use the file server as a client to the groupware document server for the purposes of creating, and viewing documents in the groupware database.
Recall that the documents in the groupware database are referred to as "unstructured" for having no rigid format that their data must adhere to. A groupware document may be thought of as a container of manifold types of information. Groupware data used to construct documents may include text, image, graphics, faxes, e-mail, and general multi-media including music. Thus, the clients in the groupware environment depicted in FIG. 1 inherently include an assortment of well-known computer multi-media equipment such as video equipment, digital sound creation equipment, CD-ROM, scanners, fax machines, modems, and other communication equipment including those devices that are not presently in existence but will serve similar purposes to those described above.
For the purposes of this specification, documents are broadly defined to encompass any record-level piece of data within a groupware database, including forms, icons, formulas, and data from e-mail including that from users and machines, such as the smart peripherals discussed above. Documents may contain many data types, including text, graphics, image, video, and audio. Documents can be made up of data which is actually stored partially in the document itself and partially in other documents in the same database or in different databases.
The inventor has recognized that it is expensive to copy each entire groupware database onto the backup server's storage unit. Accordingly, she has provided the logic of this invention, which enables the file server to interact with the backup server to provide services that make such duplication unnecessary. However, she has also recognized that such duplication may, in certain circumstances, be appropriate. Thus, the logic of the invention enables the backup server to provide the above-referenced services while also having the ability to restore an entire groupware database. The logic is shown as being implemented in the memory of the groupware server but could be implemented at any appropriate point in the system of FIG. 1, including the backup server. Although, it is preferred to provide the logic in the form of modules on a server workstation, one skilled in the art will recognize that any workstation having the ability to communicate on the network can be configured with the logic of the invention to operate in conjunction with the backup server. Thus, for example, client station 42 could serve the same function as server 40 for carrying out the operation of the invention even though it might be somewhat more encumbered than the server in terms of performance because it would have to access the groupware document database over the network.
Referring to FIG. 2, the groupware document server 40 includes a central processor 68 that operates as the central control unit of the server hardware as well as the main engine for running software, including backup and restore logic 66 which embodies the present invention. The processor is in communication with input/output circuitry 62 to enable communications with various input/output devices such as displays, keyboards, and pointing devices. Additionally, the processor is in communications with network communications circuitry 70 for enabling communications on network 23 (FIG. 1), which may be a local area network (LAN) of a well-known topology such as a token-passing ring or ethernet bus. Main memory 64, which may be well-known random access memory or read only memory, loads software that supports this invention. The software is typically loaded into main memory from mass storage 36 when the server is powered up. The mass storage 36 may be a well-known direct access storage device, such as a hard disk drive. Communications between main memory 64 and mass storage unit 36 is achieved through data bus 73.
Logic of this invention
Referring to FIGS. 2 and 3, the backup and restore logic 66 is embodied as a computer program having four modules and is loaded into main memory 64. In this description, the four modules are treated separately in order to distinctly describe their respective functions and characteristics. However, although the invention supports four distinct paths of logic that provide distinct functions, the preferred embodiment of the invention is in computer-executable code that is not differentiated into four separate, executable files. The logic embodying the invention operates under control of an operating system 67, which may be for example IBM's OS/2, Microsoft's Windows, or the well-known UNIX system. Groupware document server logic 63 provides commands and instruction sets that control access to documents in the database 38 (FIG. 1). The logic 66 communicates directly with the logic 63. The logic 66 includes an "incremental backup" module 72, an "existing document restore" module 74, a "groupware database restore module" 76, and an "unopenable database restore module" 78.
The module 72 gives the backup server the capability to scan through a particular database in the groupware environment and backs up only those documents which are new or have been modified since the last incremental back up. Additionally, adjustments are made to reflect deletions of documents from the database since the last back up operation. In the instance when a database has been created after the last back up operation all of the documents in the database are backed up.
The module 74 supports back up and restoration of a particular document selected by a user. The invention uses the groupware document viewing facility as a way of retrieving a document into memory so that its internal identification can be discovered. This capability is needed in a groupware environment because groupware documents often have no required external identifier, such as a name or title that each document must have and therefore prior to this invention the user had no convenient method to back up a particular document because he/she was unable to identify it.
The module 76 enables the backup server to restore an entire database back to the level of the database at a particular point in time. The module is capable of restoring the entire database according to either of two embodiments. In a first embodiment, the server is enabled to restore an entire database by merging restored documents with a previously restored database. This first embodiment works in conjunction with module 74 to restore the database following the document level restore. In a second embodiment, the entire database is restored by the module rebuilding a copy of the database from the most current backup copies of documents that reside on the backup server.
The module 78 provides the capability for restoring a document that cannot be opened. For example, some documents are marked to indicate that they are to be deleted. Generally, once these documents are marked, they are inaccessible to other software applications. However, there may be a reason to open such a file for backup, i.e., the file was erroneously marked for deletion. Prior to this invention there was no convenient way for a user to create a backup copy of a file erroneously marked for deletion. This invention allows the user to restore a document that cannot be opened or updated directly.
Although the logic of this invention is adaptable to any groupware document server software and any backup server software, the inventor has recognized that the logic of this invention is particularly best for a groupware document server that operates under control of the groupware document server software known as Lotus Notes (Notes) available from Lotus Development Corporation and a backup server operating under the control of Adstar Distributed Storage Manager (ADSM) software available from IBM Corporation.
The logic of the invention is best implemented for communicating with the backup server software and the groupware document server software through an Application Programming Interface (API). An API is a set of software functions that a user can use to access services and communicate with other software. For example an operating system typically offers an API that includes basic reading and writing of files. Lotus Notes, the preferred groupware document server software, offers over 100 functions through API's that are publicly available to other programs and are also used by Notes itself. Basic functions are offered through API's that are part of the ADSM backup server logic also. The functions include being able to send and receive data to and from the ADSM backup server. The logic of this invention essentially queries the API's and then figuratively glues the data from the two sets of API's together.
The logic of this invention calls the groupware document server logic in order to scan through the documents database. In the preferred embodiment the groupware document server logic is Lotus Notes. In this case the invention's logic calls a Notes API function called NSFSearch to scan through the database. For each document it finds, it calls a callback routine that receives information from the NFSSearch API. Some of the information obtained by the callback routine is stored in a data structure that will be discussed below with reference to FIG. 9A. This data structure represents a datastream that is sent to the backup server.
Another Notes API function, NSFNoteGetInfo, is called to allow the logic of this invention to get remaining data about a particular document that is unavailable from NFSSearch. NSFNoteGetlnfo must be called for each piece of data desired for a document because the API does not pass a complete data structure filled with data and therefore data is obtained on this piece-meal basis.
The data within a Notes document is referred to as an "item." Thus, in a preferred environment, documents are divisible into items. For example, a document that represents a chapter of a book might be comprised of the following items: (1) a chapter title; (2) a body of text; (3) a graphic illustration; (4) a statistics table; and (5) a subheading.
The logic of this invention recognizes and stores enough information to rebuild each item that makes up a document in order to restore and back up documents. Therefore, the logic is enabled to build a data structure for the document itself and including data fields dedicated to each item making up the document. Information about these items is obtained from the API NSFItemInfo. Additionally, information regarding the storage location or database path of each document is combined with information obtained from that API to create a data object for maintaining data integrity of specified documents by enabling the back up and restore operation.
Notes also has a special type of item, referred to as an "object." A groupware object includes composite data that either defines a specialty function, like an attached file, or is displayed to the user in a format determined by another application. An example is an attached file, which appears in a document as an icon. When the icon is invoked through a well-known double clicking of a mouse button options are given to a user (usually through a dialog box) to disconnect the file. Such a function might be handy for attaching a big file to a message so that the receiver can read the message, detach the file, keep it the file, and discard the message. Another example is a Window's OLE (object linking and embedding) object.
The Lotus Notes groupware document server logic identifies documents, referred to as "notes", by various internal IDs. A single note will have a universal note ID (UNID), an originator note ID, and a replication note ID, among others. Lotus Notes keeps these for its own purposes but they must be retained and kept intact, generally, by the logic of this invention so that the document can be restored accurately. Additionally, the inventor of this invention has critically recognized that these internal IDs, and in particular the UNID, may be used to identify documents for the purposes of back up and restore so that the problem of not having external identifiers for documents is largely circumvented.
Additionally, the logic of this invention is enabled to send a data stream containing a data field representing the entire document database. Table 1 is a psuedocode representation of the preferred embodiment of a portion of the logic of this invention that creates the data structures that are sent to the backup server and used for the restore and back up of document data. These data structures are used to build document data objects that are manipulated by the invention to back up the groupware document database and restore documents of the groupware document database. The table is explained in terms of the data structure with reference to FIGS. 9A and 9B below. For example, the structure InNoteDbHdr (shown in the data stream of FIG. 9B and created by the logic of this invention, as illustrated in Table 1 below) is a byte stream of data that can be parsed with the logic of this invention but is otherwise unintelligible.
The table is further understandable for the purposes of practicing this invention with reference to the operation of the invention described with reference to the flow diagrams, FIGS. 10-19. The psuedocode is written for execution by a "C" language compiler and it is envisioned that one skilled in the art will have familiarity with the well-known "C language and also how to program API's including those presented with Lotus Notes and ADSM" for operation of the preferred embodiment of the invention.
TABLE 1______________________________________#ifndef-- H-- LNPARMS--#define-- H-- LNPARMS--#define ITEM-- BUFFER-- SIZE 32768#define BIG-- BUFFER-- SIZE 65536#define NOTES-- OBJECT-- MEM-- SIZE 65000typedef struct S-- InNoteHdr /* Document Header */intl6 structSz; /* Size of structure, including dbInfoBuff*/intl6 structVers; /* Structure version*/DBID ; /* Notes database id*/NOTEID ; /* Note id within a db*/OID ; /* Notes OID originator id*/WORD nClass; /* Notes "note" class series of flags - help*/WORD preV3Priv; /* Notes privileges - pre Notes vers 3.0*/WORD NFlags; /* Flags for note generic flags - security*/TIMEDATE lastacc; /* Date/time of last access of note changes were accessed*/} InNoteHdr;typedef struct S-- lnNoteDbHdr (database header){ intl6 structSz; /* Size of structure, including dbInfoBuff */ intl6 structVers; /* Structure version */ intl6 dbHdrInfoLen; /* db header info length */ TIMEDATE dbHdrBackupTD; /* date/time of backup - */ used for later search char dbHdrInfo NSF-- INFO-- SIZE+1!; /* database header */fo DBREPLICAINFO ; /* Replication info */} InNotedbhdr;typedef struct S-- lnNoteItemHdr{ intl6 structSz; /* Size of structure*/ intl6 structVers; /* Structure version*/ char magic; /* magic number*/ WORD ItemFlags; /* Item flags*/ DWORD ValueLength; /* Length of Item char string that follows*/ WORD NameLength; /* Length of Item name*/ uint8 reserved; /* unused right now */ uint8 dataFlags; /* Values Iisted below*/ DWORD nObjSize; /* size of object that goes with item object*/ WORD nObjclass; /* Notes object class*/ WORD nObjPriv; /* Notes object privileges*/ char data 1! /* Item name and value*/} lnNoteItemHdr;/* #define ITEM-- HDR-- SIZE 23 in bytes don't include thedata 1! */#define ITEM-- HDR-- SIZE sizeof(InNoteItemHdr) -1 /* don't include data *//* values for dataFlags in lnNotesItemHdr.This field is used to tell the programmerabout any special informationhe should know about the data stream that follows this header.*/#define DF-- NOTES-- OBJECT (uint8)(0�0001)/* This data stream has a notes object */#endif /* -- H-- LNPARMS-- */______________________________________
Table 1 is best understood with reference to the description of the data structures created by the logic of this invention and with reference to the description of flow charts, both descriptions in this specification appearing below.
Data Structures
FIG. 9A is an example of a document data object made of a series of data structures used by logic shown in FIG. 2 to manage the operation of this invention depicted in the following flow chart diagrams described below. The structure "lnNoteHdr" 101 contains descriptive data pertinent to the document itself. The contents of the descriptive data appear in Table 1, in the section enclosed in brackets following "typedef struct S-- InNoteHdr" and before "InNoteHdr;". The comments for each executable line of pseudocode describe that which the field contains. The comments are included between delimiters that appear as "/*" and "*/`. For example, the executable line "int16 structSz" contains data identifying the "Size of structure, including dbInfoBuff", wherein dbInfoBuff refers to the size of the database, and is defined in documentation available with the groupware document server.
A piece of data within the structure "lnNoteHdr" 101 is the part built by the executable code statement "TIMEDATE lastacc" (Table 1) which includes the "Date/time of last access of the note." By keeping up with the date and time of the last access the back up of the data may take place without interfering with a replication service that may be used on the groupware service. Replication may be used, for example, to allow one groupware server to send data to another groupware server. A disadvantage of database-level backup services of the prior art is that they do not reflect the most recent time that a document has been restored and replication is triggered by such date/time information. Thus, replication of restored data may not occur because of this out-of-sync condition.
The "lnNoteItemHdr" structure 103 contains data that contains descriptive data about an item that may make up the document. Datafield 105 contains the "ItemName" which is descriptive data that contains an identifying name of the item. Datafield 107 contains the "ItemValue" which is the actual data itself that makes up the item named in the "ItemName" field. Datafield 109 is also a lnNoteItemHdr structure to indicate that there are typically several items in a document and each item must be identified by such a datafield. Similarly, datafields 111 and 113 respectively contain the corresponding datafield of ItemName and ItemValue.
The "lnNoteItemHdr" structure 103 is constructed by a portion of the code shown in Table 1. Referring to Table 1 above, with reference to the section of the psuedocode enclosed in brackets following "typedef struct S-- lnNoteItemHdr" and before "lnNoteltemHdr;" the comments for each executable line describe that which the field contains. As described above, the comments are included between the delimiters "/*" and "*/`. For example, the executable line "int16 structVers" contains data identifying the "Structure Version".
An almost identical data stream of the type shown in FIG. 9A is shown in FIG. 9B, wherein fields 115, 117, 119, and 121 are identical in type to those described with reference to fields 101, 103, 105, and 107 respectively. The data stream in FIG. 9B is different from the structure of FIG. 9A because of the addition of a "Notes Object" field which contains dynamic linking information which is useful for file attachment, as described above.
FIG. 9C shows a data stream containing only field 125 containing "lnNotedbhdr" which is descriptive data about the database of documents itself. The lnNotedbhdr structure is constructed by a portion of the code shown in Table 1. Referring to Table 1 above, with reference to the section of the psuedocode enclosed in brackets following "typedef struct S-- lnNoteDbHdr" and before "lnNotedbhdr;" the comments for each executable line describe that which the field contains. For example, the executable line "int16 dbHdrInfoLen" contains data identifying the database header information field length.
A part of field "lnNotedbhdr" is built by the code "TIMEDATE dbHdrBackupTD". This part includes the "date/time of back up" and is used for a later search through the database. Use of this value allows the process to distinguish which documents in the database have been changed or are new since the last incremental back up.
Groupware Document Database Example
FIGS. 4-8A and 8B provide an example of a groupware document database that includes a plurality of documents. The examples are shown for the purpose of teaching how the system of this invention including the logic modules referenced above function to maintain data integrity of individual documents stored in a document database. Thus, the examples are not limitations of this invention. It will be apparent to those skilled in the art that the invention is capable of backing up any type of document stored in a groupware database.
FIG. 4 shows a hypothetical user's view of documents in the groupware database. The user may be logged-on at any client in the network 23. Assume, the user is part of a hypothetical university that teaches students careers related to film. Viewport or window 60 appears on a display (not shown) on the client and contains a title bar 79 entitled "GROUPWARE DOCUMENTS." The title bar also contains information that changes to indicate how the information is presented on the client's viewport. In this example, the information is arranged as "Courses: By Course." In other words the database primarily contains documents dealing with college courses and this particular presentation-view shows the documents arranged sequentially by course number. The documents are arranged in a hierarchial presentation with certain documents being presented in a subservient fashion to "main documents." In this example, each course description is the main document and certain documents pertaining to the same course are considered subservient to it. A short narrative title describing a course represents the course description document. Double clicking on the title brings up a presentation of more information describing the course. For example, a document containing data that contains student information, referred to as "Student Roster, (by) T. Hobbes" is presented one-hierarchy level below the course description entitled "From Cats to Catwoman: A review of the impact of felines on film."
In this example the client has used the "Action bar" tool 80 to select a presentation or view by selecting the "View" Action. The particulars of "how" the data is arranged by the groupware server logic is not important to the teaching of this invention. However, since the documents may be arranged in a variety of ways within the database and contain no required external identifier, the complexity of backing up and/or restoring documents should be apparent to those skilled in the art. For the sake of understanding the invention, the examples shown are based on the preferred groupware document server software Lotus Notes.
The selection of a particular view option has allowed the client to arrange the documents by descending course number, or in this example. "Flm-503", "Flm-500", "Flm-103", "Flm-102, and "Flm-101". The title of the course Flm-503 has been discussed and the titles of the others are in respective order, "Forum Discussion--Moral Issues of Film", "Big Bucks from Films", "Big Thrills from Films", and "Fundamental of Films." Each has a professor who is listed in the view, and in respective order (including Flm-503) are, "C. Hobbyss", "D. Wingright", "S. Spendbigr (Flm 103&102)", and "H. Wood."
The documents available in the database for Flm-503 further include "Multimedia report requirements" by graduate assistant "T. Hobbes" which describes, in this hypothetical example, how the students are to prepare their reports in multimedia format. An icon 81 that appears to be a cat's face in viewport 60 is used to open a document containing a sample report made by the assistant, T. Hobbes. This example of a multimedia document that is launched by an icon is described below in more detail with reference to FIG. 7. Each student's report is included in the database, from which it can be ascertained that student, "B. Spunky" has submitted his "Mid-term" report and "Final" report while the other students, "B. Sassy" and "B. Chrithmyth" have not yet submitted their final versions.
Referring again to FIG. 4, in this example the course "Flm-500" is intended to be a course conducted electronically. Students create documents that are the equivalent of e-mail and the professor, "D. Wingright" has the option of creating another document equivalent to e-mail by replying to their documents. In this example we see that "A. Student" has composed a document and "D. Wingright" has replied. No reply has been made for comments from "B. Student" and "C. Student."
Assume in this hypothetical example that another client wishes to view information in the same database in a different way than that shown in FIG. 4. Accordingly, an alternative view is shown in FIG. 5. Assume that the client has chosen to view documents by author instead of by course. In this case the documents are presented by author arranged in alphabetical order according to the last name beginning with "Chrimyth" and ending with "Wood." For each document the date of creation is shown, with the course, and document type. It can be appreciated that documents could be sorted and stored in various ways including by document type. The "Document Type" column shown on viewport 60 indicates a particular data "form". A form defines how the data can be viewed. The data which describes how to create the form is stored in one place in the database, and the data that is contained within a particular document adhering to that form will be stored somewhere else. This further complicates the problem of backing up and restoring documents in a groupware environment; however, the inventor has critically recognized techniques for doing so that are described below in the section titled "Operation of the Invention."
Returning to the example of FIG. 5, three documents are shown for author "T. Hobbes" and this comports with the same information shown in a different way on FIG. 4. Further, we can see that all three documents were created on Aug. 20, 1995. Similar information exists for each author. FIGS. 6, 7, 8A, and 8B are each examples of the different documents shown in FIGS. 4 and 5 for various authors.
FIG. 6 shows the creation of a "New Topic" as shown in title bar 79. The category of this new topic defines the document type (FIG. 5). In this example the category is "Course Description" wherein the hypothetical professor, C. Hobbyss, Ph. D. has entered the text description of the course so that students can be decide if they wish to take the course. The document is stored in the database upon completion and accessible to any client for viewing. Rights to modify the description are of course dependent on that assigned by a groupware administrator and are not particularly pertinent to this invention.
FIG. 7 shows the hypothetical example of a multi-media document opened by the icon 81 in FIG. 4. In this example the document includes animation and includes sound clips. The animation is contained in another icon within the document. The icon launches a video 82 of animated spotlights moving animated light beam graphics that sweep across a title banner graphic 83 while music plays over speakers accompanied by musical note graphics. The document also contains still graphics 84, 85 of cats dressed up in top hats and bowties. The category is shown as "Report" which indicates a document form having multi-media capability.
FIGS. 8A and 8B are examples of text documents that are compiled via the equivalent of e-mail. FIG. 8A shows a comment sent by "A. Student" on Sep. 1, 1995 for the course Flm-500. Note that the title bar 79 indicates that e-mail is a "New Topic." FIG. 8B shows the hypothetical professor of this course viewing the document with the option of entering a "Reply" (see title bar 79), to the "New Topic" entered by A. Student.
Operation of the Invention
FIGS. 10-19 describe the operation of this invention in flow diagram form. Each sequence of operation is performed by the logic modules described above in the groupware environment shown in FIG. 1. Initially, the module obtains the date of the last incremental back up, which has been stored on the backup server (which could be in any secure place).
Referring to FIG. 10, the operation of the incremental backup module 72 is shown. In step 86, the module notifies the backup server of the database name and path. In step 87, the module searches through the database to identify the documents that have been modified, added, or deleted (changed) since the last incremental back up. Recall that deleting a document since the last incremental back up is treated as a modification of that particular document within the database. In steps 87 and 88, if the document is a deleted document, then data that can be used to identify the document later is added to a list. Steps 89-91 do not apply to deleted documents. In Step 89, contents for the identified documents are translated into a self-describing datastream. In steps 90 and 91, if the document contains rich-text data, i.e. a groupware object, then that object is also translated to the datastream. Steps 90 and 91 can be repeated if more than one groupware object exists in the document. In step 92, the self-describing datastream is sent as a data object to the backup server 22. The database path and internal id of the document are also sent to the backup server 22. The processing in Steps 87-92 can occur for each new, or changed, document in the groupware database. In Step 93, the backup server 22 is notified of all the documents that have been deleted from the groupware database. In step 94, the backup date/time (timestamp) are saved in the backup server 22 or in some secure place; then the backup server 22 performs the backup operation. It will be apparent to those skilled in the art that the above-described logic can be extended to multiple databases for a single execution.
FIG. 11 shows restoration of an existing document as performed by module 74. In order to invoke this module, the user specifies the document he wants to restore by selecting for viewing an existing document from a database. For example, FIG. 7 shows a document selected for viewing. Once the document is loaded into main memory, then logic module 74 can be used to obtain the document's internal ID. For example, the inventor has critically recognized that the currently popular groupware application Lotus Notes has an internal ID that is unique to each document and it is referred to as a universal ID (UNID). This internal ID can then be translated into a data object ID that is sent to the backup server. Generally, the logic module 74 takes advantage of the inventor's critical recognition, and solves the problem of selecting a document for back up which has no external identifier such as a name or title.
The step-by-step application of the general operation of module 74 is described below. In step 95, the user identifies which document or documents he wants to restore by viewing an existing document from the groupware database 38. In step 96, the module creates a restore list of data objects representing eligible document back up copies from the backup server. In step 98, each document is tested against user-supplied date/time criteria. The eligible document backup copies (those that pass the test) are added to the restore list. In step 99, the restore list is sorted such that off-line media, including sequential media, is accessed efficiently. A backup copy of the document is obtained from the backup server in step 100. Connecting step "A" is used at the end of FIG. 11 and at the beginning of FIG. 12 to show connectivity between the steps of these two flowcharts. In general, an identical letter appearing in one flow diagram, such as FIG. 11, and also in another diagram, such as FIG. 12, is used to show connectivity of processing from one flow diagram to another.
Referring to FIG. 12, the self-describing data object is interpreted to reconstruct the document, in step 102. In step 104 the existing document that was retrieved into memory in step 96 is updated. In step 106, if a groupware object exists in the document, then the restored data is translated to a groupware object. Step 106 can be repeated if more than one groupware object exists in a document. In step 108, the existing document in the database is updated to reflect the update of the retrieved document in step 104. The logic 66 checks to see if there is another document to be retrieved in step 110, and if there is, processing continues to connecting step B and back to step 94 of FIG. 11. Then processing repeats the above steps 94 through 108 until the test in step 110 is satisfied because there are no remaining documents. In step 110a, the updated database is written to the hard disk.
FIGS. 13-15 show the operation of logic module 76 which provides a capability of restoring an entire database. The inventor has recognized that there will be situations which require that an entire database be recovered to its state at a particular point in time. To support this type of recovery, a sufficient number of versions of every document in the database must be kept in the backup server. In such a situation the logic of this invention works together with a well-known database-level backup product such as ADSM to make a database-level copy of the database. The logic then takes enough periodic incremental back ups of each database to cover any updates since the database level copy was made. This is advantageous because it is no longer necessary to keep an inordinate number of backup versions in the server for all those databases whose data changes on an extremely frequent basis once this invention is implemented on a groupware document database.
FIG. 13 shows the basic steps of restoring an entire database by merging restored documents with the restored database. The following steps are understood to begin after the user uses a well known database-level backup system, such as ADSM to restore the database-level copy of the database. In step 112, that restored groupware database is opened. In step 114, module 76 begins the step of creating a restore list of data objects representing eligible document backup copies from the server for restoration. Each document is tested against a pre-determined time criteria, in step 116, to determine those which are eligible. For example, the user may optionally specify a "from date/time" and "to date/time", whose combination defines a range in which eligible document backup copies must fall. The eligible document backup copies, i.e., those that pass the test will be added to the restore list in step 118. In step 120, the restore list is sorted such that off-line media, including sequential media, is accessed efficiently. Processing continues to continuation step C.
FIG. 14 shows a continuation of the operation of logic module 76 in a first embodiment of restoring an entire database. Following continuation step C, an inquiry is posed in step 124 to see if there are remaining entries in the list. If the answer is "no" then the updated database is committed by being written to the hard disk in step 125, and processing ends in step 126. If the answer is "yes" then processing flows step 128. In step 130, a backup copy of the document from the backup server is obtained. Processing continues to continuation step E.
FIG. 15 shows the continuation of the process described above. Following continuation step E, in step 132, the module checks to see if the document can be opened for updating. For example, if a document has been marked to be deleted then it cannot be opened. If the answer to the inquiry of step 132 is "no" then, in step 134, module 76 calls the "unopenable document restore" module 78. The operation of module 78 is described below with reference to FIGS. 18 and 19. If the answer to the inquiry in step 132 is "yes", then, in step 136, the data object is translated to place the database document in memory. The document is updated in memory in step 138. And the document in the database is updated with the restored document, in step 140.
Continuation step F continues back to FIG. 14 and flows into step 124 where module 76 checks to see if there are remaining entries in the list and processing of steps 128 and 140 are repeated until there are no remaining eligible entries in the list. When there are no more entries the updated database is written to the hard disk and the processing ends in step 126.
FIG. 16 shows a second embodiment for carrying out the restore of an entire database by module 76. This embodiment is based on the inventor's critical recognition that it may be sufficient to rebuild a copy of a groupware database from backup copies of documents. This embodiment does not rely on an independent database-level back up system, but rather relies on there being a sufficient number of versions of document backup copies kept on the backup server which supports such a restore.
FIG. 16 shows the basic steps of rebuilding a database solely from backup copies of documents. Implicitly, it is to be understood that data will not allowed to be restored into an existing file. Therefore, tests will be performed to ensure that an existing file is not overwritten before the following steps are carried out. Step 142 is the beginning step of the process. In step 144, each document is tested against a predetermined time criteria in a similar fashion as described above with reference to the first embodiment. Passing documents are added to the restore list as shown in step 146. In step 148, the restore list is sorted into an order that promotes efficient access to mountable media. Processing continues through continuation step G into FIG. 17.
Referring to FIG. 17, in step 152, logic module 76 checks to see if there are remaining eligible entries in this list and if the answer is "no" processing ends in step 154. However, if the answer is "yes", then processing continues into step 156. In step 156, for the next data object entry in the list, the module retrieves a backup copy of the document from the server. In step 156, the backup copy of the document, which is in the form of a self-describing data stream, is obtained from the backup server. In step 158, the database is updated with the restored document. In step 159, if the data stream indicates a groupware object, then that object is built and entered in the database. Processing continues back to the inquiry in step 152 until there are no remaining entries in the list and then processing continues to step 153, in which the data in the new database is written to the hard disk and step 154 in which case it ends.
FIGS. 18 and 19, described below, describe the operation of logic module 78 which is used to restore documents that are unopenable. An example of an unopenable document is that which occurs with the well known groupware product Lotus Notes. Lotus Notes uses a procedure of creating "deletion stubs". Presence of a deletion stub communicates to a replication process used for moving data between databases that a database has a deletion that must be replicated to other databases. Since the deletion stub indicates that a file is no longer accessible, there is no convenient facility in the prior art to open a document marked with a deletion stub. Since with prior art systems the document cannot be opened, it cannot be directly read or updated. FIG. 18 and 19 show the basic steps to restore a document that cannot be opened or updated directly. Step 160 shows the beginning of the restorer of an unopenable document procedure. In step 161, the database into which the document is to be restored is opened. In step 162, the groupware database is searched to identify the documents to be restored. In step 163, the list of documents is sorted to minimize media mounts. In step 164, a backup copy of the unopenable document is retrieved from the backup server into main memory. Then, in step 166, the module writes the backup copy into the database with the original unique document ID. In 167, if the restore data stream indicates a groupware object, then the data is translated to a groupware object. Continuation step H flows into FIG. 19 where the step for processing is shown.
In step 168, the original document id from the backup copy is retained in main memory. In step 169, the newly created document is committed to the database. In step 170, that same document is read back into memory, and the document id is checked. In step 171, if this document id is the same as the saved id, then the update worked, even without an "open", so the updated database is committed to the hard disk in step 175 and processing ends in step 176. If, in step 171, the IDs do not match, then processing continues in step 172. In step 172, the unopenable document is deleted from the database. Then, in step 174, the unique document ID is replaced with the original ID stored in memory. Thus, the document which had been marked as unopenable has been restored in the database by module 78. Changes to the database are committed to the hard disk in step 175. Processing ends in step 176.
Article of Manufacture Embodying Logic of this Invention
While this invention is primarily discussed as a method, it can be understood by a person of ordinary skill in the art that the apparatus discussed above in connection with FIGS. 1 and 2 may be programmed or otherwise designed to facilitate the practice of the method of this invention. Also, an article of manufacture such as a pre-recorded floppy disk 702 in FIG. 20, or other similar computer program product for use with a data processing system, such as the data processing system of FIG. 1, could include a storage medium such as magnetic storage medium 704 and program means recorded thereon, such as program means 706, 708, 710, 712 and 714 for directing the data processing system to facilitate the practice of the method of this invention. It will be understood that such apparatus and articles of manufacture also fall within the spirit and scope of this invention.
Other embodiments and modifications of this invention may occur to those of ordinary skill in the art in view of these teachings. Therefore, this invention is limited only by the following claims, which include all such embodiments and modifications when viewed in conjunction with the above specification and accompanying drawing.
|Cited Patent
|Filing date
|Publication date
|Nov 6, 1987
|Apr 3, 1990
|Xerox Corporation
|Garbage collector for hypermedia systems
|Jul 30, 1990
|Jan 15, 1991
|Hitachi, Ltd.
|Document storage and retrieval system
|Jan 23, 1989
|Feb 18, 1992
|Vortex Systems, Inc.
|Fault tolerant computer backup system
|Jul 27, 1989
|Jul 21, 1992
|Personal Computer Peripherals Corporation
|Backup computer program for networks
|Sep 8, 1989
|Jul 21, 1992
|International Business Machines Corporation
|Method for selecting multiple versions of data in a reduced record units text editing system
|Apr 26, 1989
|Aug 18, 1992
|International Business Machines Corporation
|Method for deleting a marked portion of a structured document
|Aug 3, 1988
|Oct 13, 1992
|Minicom Data Corporation
|Method and apparatus for updating software at remote locations
|Aug 11, 1989
|Nov 10, 1992
|Digital Equipment Corporation
|File backup system for producing a backup copy of a file which may be updated during backup
|Oct 12, 1989
|May 18, 1993
|Bell Communications Research, Inc.
|Method and apparatus for updating application databases used in a distributed transaction processing environment
|Oct 9, 1991
|May 25, 1993
|Matsushita Electric Industrial Co., Ltd.
|Method of managing storage medium
|Apr 20, 1992
|Nov 16, 1993
|International Business Machines Corporation
|Method and system for incremental time zero backup copying of data
|Dec 19, 1989
|Jan 4, 1994
|Epoch Systems, Inc.
|Digital data processor with improved backup storage
|Dec 13, 1993
|Aug 16, 1994
|Ricoh Company, Ltd.
|Electronic filing system using a mark on each page of the document for building a database with respect to plurality of multi-page documents
|May 28, 1992
|Jan 10, 1995
|International Business Machines Corporation
|Data backup and recovery in a data processing system
|Jul 20, 1994
|Feb 20, 1996
|Hitachi, Ltd.
|Knowledge data base processing system and expert system
|Sep 30, 1993
|May 7, 1996
|Sybase, Inc.
|Data backup system with methods for stripe affinity backup to multiple archive devices
|Aug 5, 1993
|Jul 16, 1996
|Amado; Armando
|Apparatus for applying analysis rules to data sets in a relational database to generate a database of diagnostic records linked to the data sets
|Jan 28, 1994
|Sep 3, 1996
|Kikuchi; Satoshi
|Facsimile server system comprising a facsimile server and at least one remote facsimile
|Feb 24, 1994
|Sep 3, 1996
|Fujitsu Limited
|Structured database system together with structure definition frame storing document body data
|Aug 18, 1993
|Oct 1, 1996
|Borland International, Inc.
|System and methods for data field management in a computer database system
|Jun 7, 1995
|Feb 25, 1997
|International Business Machines Corporation
|Distributed database management over a network
|Oct 12, 1994
|Jun 17, 1997
|Fujitsu Limited
|Parallel merge and sort process method and system thereof
|Mar 2, 1994
|Jun 24, 1997
|Mitsubishi Denki Kabushiki Kaisha
|Backup, restoration, migration systems of a database
|Dec 30, 1994
|Aug 19, 1997
|Aegis Star Corporation
|Method for storing and retrieving digital data transmissions
|Applied Informatics and Distributed Systems Group, "Computer Supported Cooperative Work", TUM Informatik XI, p. 1, Apr. 22, 1997.
|Applied Informatics and Distributed Systems Group, Computer Supported Cooperative Work , TUM Informatik XI, p. 1, Apr. 22, 1997.
|Archive Backup Client, Open VMS systems client for IBM s ADSTAR Distributed Storage Manager, Storage Solutions Specialists, Inc., pp. 1, 1997.
|Archive Backup Client, Open VMS systems client for IBM's ADSTAR Distributed Storage Manager, Storage Solutions Specialists, Inc., pp. 1, 1997.
|IBM Corporation, "OS/2 Warp connect and OS/2 Warp Server -Peer-to-Peer Networking", OS/2 Warp Connect vs. Microsoft NT Workstation, pp. 1-4, 1996.
|IBM Corporation, OS/2 Warp connect and OS/2 Warp Server Peer to Peer Networking , OS/2 Warp Connect vs. Microsoft NT Workstation, pp. 1 4, 1996.
|Leeds, "CA delivers backup agent for NOVELL groupware to ensure recoverability of critical messaging and collaboration data", Cheyenne, A Division of CA, pp. 1-2, Sep. 17, 1997.
|Leeds, "LAN timnes names CA's ARCSERVE top backup and restore solution for WINDOWS NT networks", Cheyenne, A division of CA, pp. 1-2, Sep. 1997.
|Leeds, CA delivers backup agent for NOVELL groupware to ensure recoverability of critical messaging and collaboration data , Cheyenne, A Division of CA, pp. 1 2, Sep. 17, 1997.
|Leeds, LAN timnes names CA s ARCSERVE top backup and restore solution for WINDOWS NT networks , Cheyenne, A division of CA, pp. 1 2, Sep. 1997.
|Payack, "PDC software announces new organization to sharpen focus on network storage", PDC Software, pp. 1-2, Jun. 12, 1997.
|Payack, PDC software announces new organization to sharpen focus on network storage , PDC Software, pp. 1 2, Jun. 12, 1997.
|PDC, "Network-attached storage, data management, and tape library leaders combine forces to create industry-standard network backup protocol.", Industry-Standard Network Backup Protocol, pp. 1-2, Oct. 28, 1996.
|PDC, Network attached storage, data management, and tape library leaders combine forces to create industry standard network backup protocol. , Industry Standard Network Backup Protocol, pp. 1 2, Oct. 28, 1996.
|Turrell, "Learning through Experience: How Companies are using Groupware", City University Business School's Notes Report, pp. 1-14, May 13, 1996.
|Turrell, Learning through Experience: How Companies are using Groupware , City University Business School s Notes Report, pp. 1 14, May 13, 1996.
|Worthington, "Improving Electronic Document Management", Office of Government Information Technology, pp. 1-7, Oct. 1995.
|Worthington, Improving Electronic Document Management , Office of Government Information Technology, pp. 1 7, Oct. 1995.
|Citing Patent
|Filing date
|Publication date
|Feb 10, 1997
|Feb 16, 1999
|Oracle Corporation
|Database backup/restore and bulk data transfer
|Jun 5, 1997
|Oct 12, 1999
|International Business Machines Corporation
|Groupware save operation
|Jun 23, 1997
|Jun 13, 2000
|Hitachi, Ltd.
|Programs maintenance procedures in parallel processing system
|Mar 31, 1997
|Nov 7, 2000
|International Business Machines Corporation
|Programming development environment for intranet and internet applications employing unique project data structure
|Jan 20, 1998
|Dec 12, 2000
|Texas Instruments Incorporated
|Computer-aided project notebook
|Jul 6, 1998
|Mar 20, 2001
|Adaptec, Inc.
|Intelligent backup and restoring system and method for implementing the same
|Feb 23, 1999
|Sep 11, 2001
|Adaptec, Inc.
|Drive preparation methods for intelligent backup systems
|Aug 31, 1998
|Dec 11, 2001
|Xerox Corporation
|Maintaining document identity across hierarchy and non-hierarchy file systems
|Mar 31, 1998
|Mar 19, 2002
|Emc Corporation
|System and method for backing up data stored in multiple mirrors on a mass storage subsystem under control of a backup server
|Feb 23, 1999
|Apr 16, 2002
|Adaptec, Inc.
|Method for generating a footprint image file for an intelligent backup and restoring system
|Feb 23, 1999
|Apr 16, 2002
|Adaptec, Inc.
|Automated drive repair systems and methods
|Feb 23, 1999
|May 7, 2002
|Adaptec, Inc.
|Method and apparatus for backing up a disk drive upon a system failure
|Apr 30, 1999
|Jul 2, 2002
|Adaptec, Inc.
|Hard disk bootstrap redirection
|Dec 16, 1999
|Oct 1, 2002
|Livevault Corporation
|Systems and methods for backing up data files
|Nov 17, 2000
|Nov 5, 2002
|Adaptec, Inc.
|Intelligent backup and restoring system and method for implementing the same
|Apr 28, 2000
|Nov 19, 2002
|International Business Machines Corporation
|Coordinating remote copy status changes across multiple logical sessions to maintain consistency
|Jun 27, 1997
|Nov 26, 2002
|Sun Microsystems, Inc.
|Method for generating database server configuration documentation
|Oct 6, 1999
|Dec 17, 2002
|International Business Machines Corporation
|Method for database assisted file system restore
|Dec 16, 1999
|Feb 25, 2003
|Livevault Corporation
|Systems and methods for backing up data files
|Mar 30, 1999
|Feb 25, 2003
|Adaptec, Inc.
|Method and apparatus for partitioning and formatting a storage media without rebooting by creating a logical device control block (DCB) on-the-fly
|Feb 23, 1999
|Mar 11, 2003
|Adaptec, Inc.
|Method for managing primary and secondary storage devices in an intelligent backup and restoring system
|Aug 31, 1998
|May 13, 2003
|Xerox Corporation
|Extending application behavior through active properties attached to a document in a document management system
|Jun 29, 2001
|Jun 24, 2003
|Xerox Corporation
|Tagging related files in a document management system
|Jan 25, 1999
|Jul 15, 2003
|International Business Machines Corporation
|Method and system for establishing collection of hostable applications
|Feb 12, 1999
|Sep 2, 2003
|Intergraph Hardware Technologies Company
|Apparatus and method for transmitting documents between a server computer and a client computer
|Apr 21, 2000
|Sep 23, 2003
|International Business Machines Corporation
|Method and apparatus for the management of file attachments in a groupware oriented system
|Dec 16, 1999
|Sep 23, 2003
|Livevault Corporation
|Systems and methods for backing up data files
|Sep 19, 2000
|Oct 28, 2003
|Bocada, Inc,
|Method for extracting and storing records of data backup activity from a plurality of backup devices
|Dec 10, 1999
|Dec 30, 2003
|Hitachi, Ltd.
|Programs maintenance procedures in parallel processing system
|Feb 23, 1999
|Jan 27, 2004
|Adaptec, Inc.
|Method of generating a database for use in an intelligent backup and restoring system
|May 21, 2002
|Mar 9, 2004
|Livevault Corporation
|Systems and methods for backing up data files
|Sep 19, 2000
|Mar 16, 2004
|Bocada, Inc.
|Extensible method for obtaining an historical record of data backup activity (and errors) and converting same into a canonical format
|Apr 24, 2000
|Mar 16, 2004
|Microsoft Corporation
|Method and system for providing common coordination and administration of multiple snapshot providers
|Sep 19, 2000
|Jun 1, 2004
|Bocada, Inc.
|Method for visualizing data backup activity from a plurality of backup devices
|Dec 16, 1999
|Aug 17, 2004
|Livevault Corporation
|Systems and methods for backing up data files
|Oct 29, 1999
|Nov 30, 2004
|Microsoft Corporation
|Ambient calculus-based modal logics for mobile ambients
|Dec 16, 1999
|Jan 25, 2005
|Livevault Corporation
|Systems and methods for backing up data files
|Jun 27, 2001
|Jun 21, 2005
|International Business Machines Corporation
|Viewing changes to a shared document in one object
|Feb 23, 1999
|Aug 23, 2005
|Adaptec, Inc.
|Method of finding application components in an intelligent backup and restoring system
|Apr 27, 2000
|Jun 13, 2006
|International Business Machines Corporation
|System and method for transferring related data objects in a distributed data storage environment
|Feb 4, 2002
|Oct 17, 2006
|Ricoh Company, Ltd.
|Image processing apparatus having a status holding function, and image processing system including the same
|Feb 28, 2003
|Apr 17, 2007
|Microsoft Corporation
|Active stream format for holding multiple media streams
|Sep 30, 2003
|May 29, 2007
|Iron Mountain Incorporated
|Systems and methods for backing up data files
|Feb 28, 2003
|Nov 13, 2007
|Microsoft Corporation
|Active stream format for holding multiple media streams
|Oct 28, 2004
|Mar 11, 2008
|Microsoft Corporation
|Active stream format for holding multiple media streams
|Sep 26, 2006
|Jul 1, 2008
|Ricoh Company, Ltd.
|Image processing apparatus having a status holding function, and image processing system including the same
|Jul 22, 2003
|Nov 25, 2008
|Bocada, Inc.
|Extensible method for obtaining an historical record of data backup activity (and errors) and converting same into a canonical format
|Oct 28, 2004
|Dec 16, 2008
|Microsoft Corporation
|Active stream format for holding multiple media streams
|Mar 1, 2004
|Feb 24, 2009
|Bocada, Inc.
|Method for visualizing data backup activity from a plurality of backup devices
|May 3, 2007
|Jan 5, 2010
|Iron Mountain Incorporated
|Systems and methods for backing up data files
|Aug 30, 2004
|May 18, 2010
|Microsoft Corporation
|Ambient calculus-based modal logics for mobile ambients
|Dec 21, 2004
|Jun 29, 2010
|Emc Corporation
|System and method for protecting and sharing data across a network
|Nov 14, 2005
|Oct 12, 2010
|Double-Take Software Canada, Inc.
|Method and system for time addressable storage
|Feb 7, 2006
|Dec 14, 2010
|Sap Ag
|Business process extension for productivity suite application
|May 29, 2007
|Dec 28, 2010
|Iron Mountain Incorporated
|Systems and methods for maintaining data files
|Dec 20, 2006
|Jan 4, 2011
|International Business Machines Corporation
|Failover processing for automatic responder in mixed server environment
|Oct 31, 2007
|Feb 1, 2011
|Symantec Operating Corporation
|Backup agent for dynamically decomposing a database backup request to constituent files to facilitate backup restartability
|Apr 20, 2006
|Feb 15, 2011
|Sag Ag
|Business process extensions to enable alerts and reports within the context of groupware
|Apr 20, 2006
|Feb 15, 2011
|Sap Ag
|Methods and apparatus for contextual awareness in a groupware client
|Nov 30, 2009
|Oct 18, 2011
|Microsoft Corporation
|Non-volatile memory cache performance improvement
|Dec 23, 2003
|Dec 20, 2011
|At&T Intellectual Property I, Lp
|Web based extranet architecture providing applications to non-related subscribers
|Jul 22, 2002
|Jan 24, 2012
|Kabushiki Kaisha Toshiba
|Backup and recovery system and method
|Oct 24, 2003
|Apr 24, 2012
|Microsoft Corporation
|Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
|Oct 24, 2003
|Aug 7, 2012
|Microsoft Corporation
|Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
|Apr 12, 2006
|Aug 14, 2012
|Emc (Benelux) B.V., S.A.R.L.
|Apparatus and method for information recovery quality assessment in a computer system
|Sep 13, 2011
|Aug 28, 2012
|Microsoft Corporation
|Non-volatile memory cache performance improvement
|May 25, 2005
|Dec 18, 2012
|Emc Corporation
|Selecting data in backup data sets for grooming and transferring
|Aug 27, 2010
|Mar 5, 2013
|International Business Machines Corporation
|Method and apparatus for automated processing of a data stream
|Oct 30, 2008
|Mar 26, 2013
|Bocada, Inc.
|Method for extracting and storing records of data backup activity from a plurality of backup devices
|Jun 13, 2003
|May 14, 2013
|Honda Motor Co., Ltd.
|Storage of selected e-mails including attachments in document management system
|Feb 2, 2012
|Jul 16, 2013
|Microsoft Corporation
|Managing cache data and metadata
|Nov 11, 2011
|Oct 22, 2013
|At&T Intellectual Property I, Lp
|Web based extranet architecture providing applications to non-related subscribers
|Mar 31, 2011
|Dec 17, 2013
|Locator Ip, Lp
|Interactive advisory system
|Dec 10, 2007
|Jan 14, 2014
|Microsoft Corporation
|Management of external memory functioning as virtual cache
|Feb 23, 2007
|Jan 21, 2014
|Locator IP, L.P.
|Interactive advisory system for prioritizing content
|Apr 21, 2010
|Aug 19, 2014
|Google Inc.
|Tracking changes in on-line spreadsheet
|Feb 1, 2006
|Sep 9, 2014
|Accuweather, Inc.
|Location-based data communications system and method
|Oct 14, 2004
|Dec 9, 2014
|Locator Ip, Lp
|Interactive advisory system
|Jul 21, 2011
|Dec 9, 2014
|Microsoft Corporation
|Using external memory devices to improve system performance
|Dec 16, 2005
|Dec 16, 2014
|Microsoft Corporation
|Optimizing write and wear performance for a memory
|Nov 14, 2008
|May 12, 2015
|Microsoft Technology Licensing, Llc
|Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
|Nov 23, 2004
|Jun 23, 2015
|Hewlett-Packard Development Company, L.P.
|Method of restoring backup data
|Dec 12, 2014
|Jul 28, 2015
|Locator IP, L.P.
|Interactive advisory system
|Apr 20, 2006
|Aug 18, 2015
|Sap Se
|Groupware time tracking
|Jun 13, 2003
|Apr 1, 2004
|Honda Giken Kogyo Kabushiki Kaisha
|Storage of selected e-mails including attachments in document management system
|Mar 14, 2002
|Jun 3, 2004
|Katsuya Nakagawa
|Data synchronization system, apparatus used for the system, and data synchonization method
|Dec 23, 2003
|Oct 7, 2004
|Sbc Properties, L.P.
|Web based extranet architecture providing applications to non-related subscribers
|Mar 11, 2002
|Oct 14, 2004
|Alain Gruson
|Communication system and method between stations processing common folders
|Jul 9, 2003
|Jan 13, 2005
|Burks David P.
|System and method for restoring files
|Mar 1, 2004
|Jan 20, 2005
|Liam Scanlan
|Method for visualizing data backup activity from a plurality of backup devices
|Aug 30, 2004
|Feb 24, 2005
|Microsoft Corporation
|Ambient calculus-based modal logics for mobile ambients
|Oct 28, 2004
|Mar 17, 2005
|Microsoft Corporation
|Active stream format for holding multiple media streams
|Sep 30, 2003
|Mar 31, 2005
|Livevault Corporation
|Systems and methods for backing up data files
|Jan 31, 2005
|Aug 4, 2005
|Samsung Electronics Co., Ltd.
|Apparatus and method for processing characters in a wireless terminal
|Jan 14, 2005
|Jul 20, 2006
|Weatherbank, Inc.
|Interactive advisory system
|Feb 7, 2006
|Nov 30, 2006
|Agassi Shai E
|Business process extension for productivity suite application
|Apr 12, 2006
|Dec 21, 2006
|Yoav Boaz
|Apparatus and method for information recovery quality assessment in a computer system
|Nov 28, 2006
|Mar 29, 2007
|Microsoft Corporation
|Systems and methods for automatic database or file system maintenance and repair
|Aug 27, 2010
|Mar 1, 2012
|International Business Machines Corporation
|Method and Apparatus for Automated Processing of a Data Stream
|Sep 19, 2001
|Mar 28, 2002
|Bocada Inc
|Method for extracting and storing records of data backup activity from a plurality of backup devices
|U.S. Classification
|International Classification
|Cooperative Classification
|European Classification
|Sep 20, 2001
|Fee payment
Year of fee payment: 4
|Dec 7, 2005
|Maintenance fee reminder mailed
|May 19, 2006
|Lapse for failure to pay maintenance fees
|Jul 18, 2006
|Expired due to failure to pay maintenance fee
Effective date: 20060519


text:
Parks Canada
Home > National Historic Sites > Bar U Ranch National Historic Site > What's New > Special Events
Saturday July 18
We would like to welcome our special guests: Strathcona Mounted Troop Musical Ride. Performance at 1 p.m. at our arena.
Parks Day event schedule: 10 a.m. to 4.30 p.m. Wagon shuttle, visitor centre and ranch site. 10 a.m. to 11 a.m. Butter-making demo and tasting, cookhouse. 10 a.m. to 11 a.m. Bannock-making demo and tasting, roundup camp. 11 a.m. to Noon Laundry demo, next to garden. 11 a.m. to Noon Take a hike, meet at visitor centre picnic table (south side). 1 p.m. to 2 p.m. Strathcona Mounted Troop Musical Ride, arena. 2.30 p.m. to 3.30 p.m. Rope making, dairy barn.
Thursday July 30
We celebrate 20 years since our grand opening. We'll be serving up cake, fun and other festivities for your family. Stop by for a visit and help to "round-up" new memories for the next 20 years!
Saturday August 1
Support the Friends of the Bar U Ranch Association on their annual day ride into original Bar U Ranch grazing lands. Ride your own horse or take a seat on a horse-drawn wagon. Everyone is welcome. Call 403-395-3330 or 403-395-3879 for more information.
Sunday August 9
Time-honoured and traditional skills of ranching comes to our rodeo arena. Cheer on your favourite ranch as teams of working cowboys compete for silver Bar U buckles - and bragging rights! You'll be entertained with events such as broke horse racing, wild cow milking, team sorting as well as branding and doctoring.
Sunday September 6
Watch today's teamsters guide their heavy horse teams around a course of skill-testing manoeuvres. See how skills of days gone by are demonstrated by drivers from 18 to 80 years of age! Keeping horsepower-history alive for all to enjoy and be inspired by.
The Bar U Ranch gates swung open May 11 for Opening Day, kicking off its 20th anniversary season as a National Historic Site.
Open-fire-prepared stew and biscuits, live music and our first annual pack horse competition were the order of the day on June 7.
A cowboy negotiates his horse through the 'cowboy curtain', just part of a complicated obstacle course at the Canadian Cowboy Challenge, June 27 & 28.
The Bar U Ranch experienced record crowds as visitors came and celebrated Canada Day with a variety of activities and a flag-raising ceremony.

subset: commoncrawl


text: That's all one needs, a place for a good night's sleep. It is on a busy highway, but the noise level is limited by upstair bedrooms. I personally could not hear the noise. So, it is a good place to rest and move on. It is run by a very friendly gentleman who is always ready to help. You get... More


text:
Do not forget to follow us on twitter!
Support the PTA by joining the Kroger Community Rewards Program.
If you haven't already done so, please reenroll or sign up online to create an account
and then add Woodrow Wilson Middle School as your Organization to receive
community rewards. To do this, go to Kroger.com and either sign in to your account or
create a new account. Once an account is created, go to the Community Rewards tab
to add an organization to receive the awards that you help generate just by shopping.
You can either search for Woodrow Wilson Middle School or enter our organization
number, which is 82589. We appreciate you taking the time to sign up for Kroger Card
Community Rewards, it is our easiest fundraiser that everyone can be a part of. Any
questions, you may contact Kristi Downs at 540-797-5828 or via email at
Home of the Presidents
"You are here in order to enable the world to live more amply, with greater vision, with a finer spirit of hope and achievement. You are here to enrich the world."
― Woodrow Wilson
Woodrow Wilson Middle School Mission Statement
We, the faculty, staff, parents, and students at Woodrow Wilson Middle School pledge to create a learning environment that ensures students meet or exceed state academic standards. We will have an environment that promotes skills and behaviors which enhance self-esteem and respect for one's self and the community.
Disclaimer | Website Guidelines | Site Map


text:
0 Your Favorites
Follow Us
S finest cat burglar crack whore... this bitch
Latina Pornstar Reality
Big boobs matures old + young
Babes teens tits
Blond Pornstars Blowjob
Anal lesbians sex toys
(C) VideoSexArchive.com | DMCA | 2257 | Privacy | Terms | Contact
VideoSexArchive is rated with RTA label. Parents, you can easily block access to this site. Please read this page for more informations.
VideoSexArchive is a free hosting service for your porn videos. Our pages contain absolutely no spyware/adware/trojan/etc. There is no charge (no hidden charges either) for viewing our videos.


text:
LaMP (Lingual Media Player)1.7.0
editor's review
LaMP (Lingual Media Player) is a software application whose purpose is to help users learn a foreign language in an interactive way. The program features a built-in video player that is able to display two subtitles simultaneously, one in the native language and the other in the foreign one.
It sports a clean and intuitive layout that allows you to carry out most operations with minimum effort.
The tool offers support for the following video formats: AVI, MKV, WMV, MPEG, DIVX, MP4, ASF, FLV, MOV, M4V, and MOB file format. You can upload files into the working environment using the built-in browse function, so you cannot rely on "drag and drop" operations.
LaMP (Lingual Media Player) gives you the possibility to translate the current subtitle using the Bing online service. You are allowed to select the language of the subtitle and translate the text into a target one, such as English, French, German, Russian, Finnish, Spanish, Arabic, Chinese, Hindi, Hebrew, Greek, Hungarian, Japanese, and others.
The utility displays the translated subtitle directly in the primary panel, and you can view the translated version of the text using the Google online service via your default web browser, and go to an online dictionary for quickly checking the meaning of words, such as Oxford or Cambridge.
What's more, you can play, pause, or stop the current video selection, seek for a position in the video streams, switch to a full screen mode for a better focus on your work, adjust the volume, zoom in or out, as well as select between different audio tracks.
Other notable characteristics worth mentioning are represented by the possibility to turn the subtitles on or off, make the utility repeat the last phrase, as well as adjust the subtitle delay.
LaMP (Lingual Media Player) features a wide range of YouTube videos which offer information about various topics, such as education, travelling, words and phrases, English lessons, films, documentaries, entertainment, pronunciation, music, history, cartoons, and others.
Plus, you can filter the YouTube results by language, category, and date, preview the clips, as well as add a custom video the to the list by providing a valid YouTube URL.
All in all, LaMP (Lingual Media Player) offers a handy set of tools for helping you learn a new language in a fun way. Thanks to its intuitive interface, it is suitable for rookies and professionals alike.
top FREE alternatives


text: As it was our last night in the borders we thought we would book a meal at this 4 star hotel/bistro. Having been no space in the bistro, which I was informed of at the time of booking so was happy with, we were shown into the bar dining area. Our drinks order was taken and we were given menus,... More


text:
And the two are spending their money on traditional campaign activities, according to an analysis of their campaign expenses through Sept. 30. For both, advertising — on the air and through the mail — has been a dominant expense.
Mullin, who is running his first political race, has spent far more than Wallace on outside consultants, both for strategy and fundraising help. Wallace's campaign has devoted much more money than Mullin to payroll.
The winner of the hotly contested race may someday be in the same situation as Lucas — as a popular incumbent who doesn't draw strong opponents.
Lucas has held his seat since 1994 and has typically coasted to re-election while raising far less money than the average House seat winner. His Democratic opponent this year, Tim Murray, has reported raising $374.
But since becoming, first, the top Republican on the House Agriculture Committee, and, last year, the chairman, Lucas has had more responsibility for helping other Republican candidates. He told The Oklahoman last year that his increased activity on the fundraising circuit was attributable to his leadership position.
For most of the past two years, his House campaign functioned as a national fundraising machine: It spent nearly $200,000 just on fundraising consultants and food. And through Sept. 30, Lucas had given $580,000 to GOP causes, primarily the National Republican Congressional Committee.
That changed this month, as Lucas dropped more than $200,000 on broadcast and newspaper ads about himself.
Lucas is certainly not the only House leader who has become a fundraiser for party candidates; he's just one of many.
In fact, House Speaker John Boehner, who doesn't even have a Democratic opponent, had spent $20 million in campaign funds through Sept. 30 — more than any other House candidate — with about $12 million going to Republican campaign organizations and candidates.


text:
Product Reviews
Ceramic Stools
I was very pleased with my purchase. The price was competitive & the free shipping made it a good value. Arrived quickly & in perfect condition. The free shipping that Overstock.com offers entices me to use them whenever I can find what I'm looking for!
- How did the color on site compare with the actual product? Exact match
- Please tell us about the quality of the product. Good Quality
- How accurate was the on site description of the product? Quite accurate
Was This Review Helpful?
People who bought this also bought


text:
to OnBoard.
We are the leading authority
and catalyst for women in the
boardroom for Georgia companies.
We are here to
Sign up to receive the OnBoard Now eNewsletter to stay informed and
connect to make a difference.
We ADVOCATE
For the advancement of women in the boardroom and executive suites of Georgia public companies.
Get on Board and Advocate
Advocate with your other OnBoard colleagues by becoming a member/sponsor/advocate and actively engage to help raise women's voices in our corporations and boardrooms.
We INSPIRE
The passion for women to rise in executive leadership positions of public corporations.
Meet the change that moves the cause
Inspire or be inspired by learning more about our Executive Honor Roll, our Lettie Pate Whitehead Evans Award winners and experience the stories of women making a difference.
We CONNECT
High caliber professionals to provide education, expanded networks and advancement opportunities for
women and boards.
Get connected and make a difference
Check out the latest OnBoard events and broaden your circle of influential executives in Georgia and across the nation committed to women and boards.
News (dynamic, do not modify here)
Kathy Waller joins the Delta Air Lines Inc. Board
Delta Air Lines Inc. (DAL:NYSE) elected Kathy N. Waller to the Board of Directors. Ms. Waller is the Chief Financial Officer of... More
September 29 – Annual Invitation Only Wine Reception
OBoard members should register for the September 29th Invitation Only Wine Reception hosted by Dentons (formerly McKenna Long & Aldridge) from 5:30pm... More
Events (dynamic, do not modify here)
November 10, 2015 – Annual Awards and Study Dinner
Join us for the 23rd publication of the OnBoard study along with the annual awards: 2015 Executive Leadership Honor Roll; and the 13th Presentation of the Lettie Pate Whitehead Evans Award to an outstanding woman board member. Our keynote speaker will be Hala Moddelmog, President and... More
January 20, 2016 – Advancing Women to the Boardroom
"Advancing Women to the Boardroom" SAVE THE DATE! For A Joint Meeting of The Commerce Club's Women in Leadership and OnBoard Presenting a panel discussion on: What is the landscape of women serving on for-profit boards, U.S. and globally? What prepares you for board service?... More
View All Events


text:
- Earthquakes gets critical 1-0 win over Real Salt Lake Updated: Sep-27-15 9:35 pm
SAN JOSE, California - Matias Perez Garcia scored in the 87th minute to give the San Jose Earthquakes a 1-0 victory over Real Salt Lake on Sunday, a result they desperately needed to keep their playoff hopes alive.
- Real Salt Lake beats Santa Tecla 2-1 in CONCACAF play Updated: Sep-25-15 12:41 am
SANDY, Utah. - Olmes Garcia and Juan Manuel Martinez scored in a 4-minute span in the second half to help Real Salt Lake beat Santa Tecla of El Salvador 2-1 on Thursday night in CONCACAF Champions League.
- Sandoval scores 2 goals, RSL beats Galaxy 3-0 Updated: Sep-20-15 12:17 am
SANDY, Utah - Devon Sandoval scored twice, Javier Morales converted a penalty kick and Real Salt Lake beat the Los Angeles Galaxy 3-0 on Saturday night.
- Morales leads Real Salt Lake over Houston Dynamo, 3-1 Updated: Sep-12-15 11:55 pm
HOUSTON - Javier Morales had a goal and an assist to help Real Salt Lake beat the Houston Dynamo 3-1 on Saturday night.


text:
Select Local Merchants
Millennium Day SpaRead MoreGather your girlfriends and spend a day at the spa. If you're wondering which spa to visit, look no further than the highly-rated Millennium Skin Care in Inglewood. Treat your skin to a rejuvenating facial from this spa. Say goodbye to dry skin and ache with a professional skin treatment, such as a body wrap, chemical peel, and microdermabrasion. At this spa, you can maintain your youthful skin with a cosmetic or beauty injection. Millennium Skin Care helps brighten your look with such services as eyelash extensions. A large selection of alternative services are readily available for you at this spa. Give your locks some love at this spa, a local salon with talented stylists. This establishment offers professional hair removal services for both men and women. This spa provides a wide array of services, all of which are accommodated on an appointment-only basis. Whether you're a solo spa-goer or prefer to relax with friends, Millennium Skin Care's prices won't stand in the way of your plans. Millennium Skin Care prides itself on accepting various major credit cards for convenient payment. When you need to release some toxins, head to Millennium Skin Care for a rejuvenating spa treatment.543 West Manchester BoulevardInglewood, CA US
Creative Images - Ron JonésRead MoreThe professional hair stylists at Dessilina at Creative Images in Inglewood will treat your hair like an art piece. Say goodbye to blackheads and clogged pores with a facial! Improve the health of your skin with a professional skin care treatment. Chopped or trimmed, a new haircut from this salon will leave you feeling confident. More often than not, customers try more than just one of the many beauty services at Dessilina at Creative Images. Some of their best are eyelash extensions and make up application, as well as many more! There's no need to make an appointment. This salon offers walk-ins for all services offered. Your beauty services can be paid for with a major credit card at this establishment. Drivers will be surprised by the number of street parking spots available near Dessilina at Creative Images. Make your next hair appointment at Dessilina at Creative Images, where you can expect nothing short of fabulous.165 N Market StInglewood, CA US
Tammy @Spa 313Read MoreTreat yourself to an affordable head-to-toe makeover from Inglewood's Culver City, a trendy full-service salon. Clear up your skin with a relaxing and rejuvenating facial. If you're experiencing tension or stress, treat yourself to a relaxing massage from this salon. Experiment with your style using Culver City's cosmetic offering like eyelash extensions and make up application. For on-trend and creative hair care services, head on over to this salon. Day or night, this salon happily accepts walk-ins for any beauty services. Your beauty services can be paid for with a major credit card at this establishment. Drivers can enjoy the luxury of valet parking or park in a lot nearby Culver City. When you have a hankering for a salon service, call Culver City and schedule an appointment.313 North La Brea AvenueInglewood, CA US
In The CutRead MoreIn The Cut in Inglewood provides a range of hair services to meet any expectation. Rejuvenate your skin with a facial from this salon and leave feeling silky smooth. The stylists at this salon are here to provide you with creative, professional and top-of-the-line services, including hair cuts. The beauty staff at this salon is happy to accommodate walk-ins for treatments and services. In The Cut also accepts credit card payments for those who prefer to pay with plastic. Drivers should plan to park on the street when dining at In The Cut's E Regent St residence. Wear your confidence proudly when you step out of In The Cut with a style that's uniquely you.220 E Regent StInglewood, CA US
Divine Hair by QuinnRead MoreWhether you're looking for highlights or an all-over color, the stylists at Divine Hair by Quinn in Inglewood are here to assist you. After getting your hair done at this salon, the compliments will come pouring in. This salon provides guests with quick and easy appointment booking for all beauty services. Divine Hair by Quinn accepts many different payment methods, including major credit cards such as Visa, MasterCard and Discover. In addition to street parking, there is a lot right around the corner, so finding a space shouldn't be an issue for drivers. So stop by Divine Hair by Quinn for quality hair care you won't find anywhere else.224 E Regent StInglewood, CA US
Emerald Chateau Beauty SalonRead MoreSwitch up your go-to haircut and color and leave Emerald Chateau Beauty Salon in Inglewood feeling like a brand new person. Keep up with the latest and greatest hairstyles and schedule your next hair makeover today. Don't wait until the last minute to attend to your needs. This salon's services are only available by appointment. Emerald Chateau Beauty Salon prides itself on accepting various major credit cards for convenient payment. Parking spaces are available curbside near the salon. So when split ends get you down or your roots begin to show, schedule an appointment at Emerald Chateau Beauty Salon today.401 E Hillcrest BlvdInglewood, CA US


text:
- Subscribe
- Magazine
- Contract Packaging
- Education
- Leaders in Packaging
- Calendar
- Jobs
Download this free, 140-page Flexible Packaging Playbook jam-packed with strategies for success, best practices, and pitfalls to avoid. Learn more »
Article | August 31, 1996
Supplier news: Relocations, expansions
Dow Chemical (Midland, MI) is building a $12 million center for R&D, marketing and business personnel for its films and foams businesses.
Related Sponsored Content
44 Best Package Designs
Sign up to receive timely updates from our editors and download this e-book of our editors' selections for most innovative package designs of the past year.


text:
Returned to The Greenbrier after many years. We suspect the new owner has a vision to bring this icon into the new millennium while keeping its' old world charm & elegance. I think it's on the right track, but I think they have some work to do. The staff is a big asset, if not the biggest asset to this resort. I think you have to stay there to understand. It's all about service with a personal touch, they all seemed vested in the hotel. We did not encounter one surly or inefficient or unfriendly staff member. That is hard to find anywhere.
If you don't "get" the interior design then it's hard to appreciate the talent that went into the original design and how seamlessly the new additions (casino) blend into the hotel. It's just best to lose yourself in the Dorothy Draper/Carlton Varnay world.....you're on vacation!!! The casino is lovely in an old world (think Monte Carlo) style.....jackets required, no smoking, no loud music, no loud bells....just lots of fun. You can walk out of the casino at 3:00 am and have a choice between the best ice cream soda east of the Mississippi at Drapers or have a nightcap at the Cafe Carlton.
I think the big issue for me was the food at the Main Dinning Room. I prefer the main room because it is what sets The Greenbrier apart from so many resorts. The ambiance is perfection, but the food, while very good needs to go to the next level. Some items we ordered were not cooked properly and were a bit bland. Might be time to go after a top chef. The other restaurants were very good, but the service was a bit too slow. They seemed overextended at the Forum as we waited 30 minutes past our reservation and then did not get served for quite awhile. That would not do well in a 5 star review.
The Spring Row Cottages are our favorite for our family. They need some updating but are still lovely. The pool improvements are excellent. The view from the edge of the infinity pool out over the golf course and beyond to the mountains is just sheer perfection. Our family loved the golf courses, the horseback riding, clay shooting, fishing, along with the spa & fitness center. All got rave reviews.
The Greenbrier is not just another resort....it's a setting and a place that has it's own unique feel, smell, pace and beauty. I just love it.... and hope its' journey back to the top is swift and flawless. We will love to be there each step of the way.