Modular backup and retrieval system used in conjunction with a storage area network

Information

  • Patent Grant
  • 8930319
  • Patent Number
    8,930,319
  • Date Filed
    Thursday, September 13, 2012
    12 years ago
  • Date Issued
    Tuesday, January 6, 2015
    9 years ago
Abstract
A modular computer storage system and method is provided for managing and directing data archiving functions, which is scalable and comprehends various storage media as well as diverse operating systems on a plurality of client devices. A client component is associated with one or more client devices for generating archival request. A file processor directs one or more storage devices, through one or more media components, which control the actual physical level backup on various storage devices. Each media component creates a library indexing system for locating stored data. A management component coordinates the archival functions between the various client components and the file processor, including setting scheduling policies, aging policies, index pruning policies, drive cleaning policies, configuration information, and keeping track of running and waiting jobs.
Description
BACKGROUND

1. Field of the Invention


The present invention is directed towards backup systems for computer networks. In particular, the present invention is directed towards the implementation of a distributed, hierarchical backup system with a storage area network (SAN) system.


2. Related Art


Conventional backup devices commonly employ a monolithic backup and retrieval system servicing a single server with attached storage devices. These systems usually control all aspects of a data backup or retrieval, including timing the backup, directing the files to be backed up, directing the mode of the archival request, and directing the storage process itself through attached library media. Further, these backup and retrieval systems are not scalable, and often direct only one type of backup and retrieval system, such as a network backup or a single machine backup.


Due to the monolithic structure of these backup and retrieval systems, a slight change in the operation of any one of the several functional aspects of the backup and retrieval system requires a large amount of effort to upgrade or change the backup and retrieval system, including in some situations, reinstalling the backup and retrieval system in its entirety.


Also, the operation of a backup and retrieval system across a network containing several different types of hardware and operating systems presents significant challenges to an enterprise scale backup including maintaining data coherency, bridging file system protocols, and accessibility issues across multiple hardware and operating system configurations.


Other currently available backup solutions do not address scalability issues, hierarchy issues, and the problems inherent in the storage of different files in a network file system. Many other problems and disadvantages of the prior art will become apparent to one skilled in the art after comparing such prior art with the present invention as described herein.


SUMMARY

A file processor manages data transmission in a computer storage system. The file processor operates as a part of a computing system and may be implemented as programs running on a computational device. A management component module and at least one client component work in conjunction with the file processor for archival purposes such as archival requests. The client component may be implemented as a program running on a computing device. Archival requests include storing data such as a computer file in a location different then the original location of the data. Archival requests may also include retrieval of stored data and may include restoring data to a previous state such as retrieving earlier versions of a file. The computer storage system may be comprised of a media component and a client component that manage functions associated with a backup of a computer storage system.


Another aspect of the invention includes a modular network storage system in which a file processor directs the functions associated with the archival of data over a network. A plurality of backup devices, each having space for the archival of data are directed by a plurality of media components. Each media component is a part of a computing device and is communicatively coupled to one or more of the plurality of the backup devices and the file processor for controlling archival functions of the backup devices in accordance with the direction from the file processor. A plurality of client components each generate archival type requests to the file processor which then provide direction to the plurality of media components for directing the archival functions in accordance with the archival type requests.


The modular network storage system may include a management component that is communicatively coupled to the file processor and the plurality of client devices for coordinating archival functions where the management component is a part of a computing device such as a program running on a computer. The modular network storage system may include a plurality of client devices where each client component is communicatively coupled to one or more of the plurality of client devices and the file processor for communicating the archival type requests from the client devices to the file processor. At least two of the plurality of client devices may run different operating systems. A network storage media may be communicatively coupled to two or more of the plurality of client devices over the network as well as the plurality of backup devices and at least one client device may include a local storage media, wherein the archival functions include reading data from either the network storage media or the local storage media and then writing the data to one of the plurality of backup devices.


A method of the present invention includes providing a file processor, which is communicatively coupled to at least one client component and a plurality of media components; providing a plurality of backup devices, each backup device has physical storage space for performing archival functions; coupling the plurality of media components communicatively with the plurality of backup devices, and with a file processor, wherein each of the media components control the archival functions of one or more backup devices; generating an archival type request, by the client component to the file processor; and directing, by the file processor through the plurality of media components, the backup devices to perform an archival function, in accordance with the archival type request.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic block diagram of a modular backup and retrieval system built in accordance with principles according to the present invention.



FIG. 2 is a schematic block diagram of a modular backup system working in conjunction with a storage area network (SAN) system according to principles of the present invention.



FIG. 3 is schematic block diagram of the interaction of the library media of FIG. 2 with the SAN system.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS


FIG. 1 is a schematic block diagram of a modular backup system. A modular backup system 100 comprises three components, a management component 110, one or more client components 120, and one or more media components 130.


Typically, these three components, the management component 110, the client component 120, and the media component 130, may reside on several different machines. For example, the management component 110, the client component 120, and the media component 130 may all reside on a single computing device. Or, the management component 110 and one of the media components 130 may reside on a single computing device with the client component 120 residing on a different computing device. Or, the management component 110 and one of the client components 120 may reside on a single computing device with the media component 130 residing on a different computing device. Or, the media component 130 and the client component 120 may reside on the same computing device with the management component 110 residing on a different computing device. Or, the management component 110, the client component 120, and the media component 130 may all reside on different computing devices.


As shown in FIG. 1, the management component 110 is coupled to the client components 120 and the media components 130. The media components 130 are also coupled to the client components 120.


These components of the management component 110, the client component 120, and the media component 130 are typically software programs running on the respective computing devices. Although the computing devices may not be the same devices, communication should exist between these components, as is demonstrated.


The client component 120 controls the actions and parameters of a backup or retrieval for a particular client computing device. A client computing device is the computing device in need of backup and retrieval assistance. The client components 120 each reside on a client computing device, or are in active communication with the client computing device. The particular client component 120 provides, for a particular client computing device, communication with a management director component 110 regarding such parameters as backup schedules, types of files in the backup schedule, the method of backup or retrieval, and other broad scope backup and retrieval management functions for the client computing device. The particular client component 120 communicates with a particular media component 130 responsible for the actual backup or retrieval function.


The media component 130 controls the actions and parameters of the actual physical level backup or retrieval at the library media containing the archived data. Each media component 130 is responsible for one or more physical backup media devices. As shown in FIG. 1, the media component 130 may be responsible for a single backup device 140, or for a plurality of backup devices 150 through 160. The particular media component 130 directs the data that is the subject of an archival type request to or from, as the case may be, the particular backup devices 140, 150, or 160 that it is responsible for. In the case of a retrieval type archival request, the particular media component 130 directs the retrieved data to a requesting client component 120.


The particular media component 130 also creates a library index for the data contained on the particular backup devices 140, 150, or 160 for which it is responsible for operating. Additionally, the particular media component 130 indexes the location of the archived data and files on the particular associated backup media devices 140, 150, or 160 that it is responsible for operating, and allows the management component 110 and the client component 120 access to certain information about the index entries. The media component 130 uses this library index to quickly and easily locate a particular backed up file or other piece of data on the physical devices at its disposal.


The particular media component 130 either resides on a computing device physically responsible for the operating the library media which the particular media component is responsible for, or it must be in active communication with that computing device. The media component also communicates with the management component 110, since the management component is responsible for the allocation of physical media for backup and retrieval purposes.


The backup devices 140, 150, and 160 can comprise many different types of media, such as massively parallel fast access magnetic media, tape jukebox media, or optical jukebox media devices. The determination of which backup device is to be implemented is determined by several parameters. These include time related frequency of accesses, importance of the backup file or data and urgency of its retrieval, or how long ago the backup was made.


The management component 110 directs many aspects of the backup and retrieval functions. These aspects include scheduling policies, aging policies, index pruning policies, drive cleaning policies, configuration information, keeping track of all running and waiting jobs, allocation of drives, type of backup (i.e. full, incremental, or differential), tracking different applications running on each client, and tracking media. The management component 110 may contain the scheduling information for a timetable of backups for the computing devices. Any number of computing devices might be involved, and the computing devices may be interconnected.



FIG. 2 is a schematic block diagram of a modular backup system working in conjunction with a storage area network (SAN) system 250. A computing device 200 contains and operates a management component 202, which is responsible for the coordination of backup, storage, retrieval, and restoration of files and data on a computer network system 290. The management component 202 coordinates the aspects of these functions with a client component 212, running on another computing device 210, and a client component 222 running on yet another computing device 220. The computing device 220 also has an attached data storage device 214, to which it can store data and files locally.


The computing devices 210, 220, and 230 are connected to the SAN system 250 via a connection 264, such as a direct fiber channel connection, or a SCSI connection. However, it should be realized that any type of network connection is possible.


The SAN system 250 environment comprises the connection media 264, routers, and associated hubs for the actual data communication functions of the network, and a file processor 252. The elements of the SAN system 250 not explicitly numbered are implied in a remainder of the SAN system 250.


Another computing device 230 contains another client component 232. However, the computing device 230 is connected, through a network 270, to a file processor 252 for interaction with the SAN system 250 through another network 265. This network could be any type of network, such as a LAN operating under a TCP/IP protocol.


The client components 232, 222, or 212 coordinate and direct local backup and retrieval functions on the computing devices 230, 220, and 210, respectively. The management component 202 coordinates and directs the overall network backup of the computer network 290.


The computing devices 210, 220, and 230 can all be different architectures of machines running different operating systems. Hardware systems could include those made by SUN, Hewlett/Packard, Intel based families of processors, and machines based on the RS6000 and PowerPC families of processors, to name a few. Operating systems can include the many flavors of UNIX and UNIX-like operating systems, such as HP/UX, Solaris, AIX, and Linux, to name a few, as well as Windows NT by Microsoft.


The file processor 252 of the SAN system 250 contains a client component 262 and a media component 260. Storage media 257, 258, and 259 are communicatively coupled to the file processor 252 for storage of network files from the computing devices 210, 220, and 230. These storage devices can be magnetic media for fast retrieval, tape media for longer term storage, or optical media for much longer term storage.


The overall SAN system 250 acts as a block access device to the computing devices 210, 220, and 230. Thus, the overall SAN system 250 acts as a virtual media device and centralizes the network file system from the computing devices 210, 220, and 230. As such, true dynamic sharing of the data and files through the SAN system 250 is possible. These data and files are available to the computing devices 210, 220, and 230. The computing devices 210, 220, and 230 present their network file and data requests to the file processor 252 over the SAN network media 264 remainder of the SAN system 250 as they would any other storage media available to that computing device. The file processor 252, working in accordance with its software, interprets the data and file requests from the external computing devices. The file processor 252 then performs the file or data request based on the information it is given, and responds accordingly to the file or data request. The network file system is maintained and operated on solely by the file processor 252 of the SAN system 250. All accesses, writes, reads, and requests for information on any files and/or data under the network file system is handled by the SAN system 250, and in particular the file processor 252.


The file processor 252 keeps track of all the stored files and/or data stored on the media devices 257, 258, and 259. The file processor 252 maintains and presents a file system view of the stored data and/or files to the computing devices 210, 220, and 230 over the remainder of the SAN system 250 and the SAN network media 264. The computing devices 210, 220, and 230, when accessing or inquiring about portions of the network file system, perform these functions by requesting them through the file processor 252 of the SAN system 250.


The SAN system 250 allows access to the files and/or data stored in its storage media, and actually performs all the function of a file system to the attached computing devices 210, 220, and 230. Opening, closing, reading, and writing of data to files and of files themselves actually look and perform like a normal file system to the attached computing devices 210, 220, and 230. These actions are transparent to the computing devices. As such, the SAN system 250 acts and performs as a file system to the rest of the computing devices connected to the file processor 252. Also, from the perspective of the computing devices, each computing device can access and view the data and/or files stored by the file processor 252 of the SAN system 250 as part of a large, monolithic file system.


A client component 262 and a media component 260 can be part of the SAN system 250. These components work in conjunction with other components present in the network environment, including the file processor 252 itself, to make up a network backup and retrieval system for the computer network 290.


In an embodiment of the present invention, the file processor 252 works in conjunction with the management component 202, the media component 260, and the client component 262 for archival type requests, such as those concerned with backup, retrieval, and restoration purposes. The media component 260 acts in conjunction with the management component 202 and/or the client component 262 in a backup and retrieval operation with regards to the network files as stored on the SAN 250.


The management component 202 could, for example, initiate a full backup of the network file system as stored and managed on the SAN system 250. This could be initiated through the network link 270 directly to the client component 262, bypassing the SAN link 264.


Or, the management component 202 could initiate the action through any of the computing devices 210, 220, or 230. This initiation may take place either in a direct request to the SAN system 250 or indirectly to the components 260 and 262 through such methods such as data encapsulation and data bridging. Or, the initiation could be a special file memory request to the SAN system 250, which the file processor 252 interprets to be a particular backup and retrieval instruction.


It may also be possible that the client component 262 requests the backup itself, independently of the media component 260. In either event the client component 262 would manage the functions associated during the backup with the host system, in this case the SAN system 250, such as determining the actual files or data to backup, the level of backup, and other such client machine specific determinations. The data and/or files that need to be backed up would be made available from the network file storage media 257, 258, and 259, wherein the client component 262 turns control over to the media component 260. The media component 260 would then direct the physical storage of the data and/or files on the network file system from the storage media 257, 258, or 259, as the case may be, and onto the library storage media 275. The media component 260 could then perform the indexing functions on the archived data and/or files.


It should be noted that the backup could take several forms. A backup could target data and files on a sector or block write basis, or could be used in a file basis.


In the case of an incremental backup, for example, only those blocks or files that have been altered would be stored for backup and retrieval purposes. In the case of a differential backup, only those changed blocks as contained within an altered file would be stored. Or, other criteria, such as file size, can be used to determine a hybrid backup strategy wherein both files and blocks are saved, depending on the criteria employed and the state of the data and/or files as they exist on the SAN system.


In a restore-type archival operation, a similar method would be employed. Either the media component 260 or the client component 262 may request a restore. In either case, the client component 262 would then perform the managerial tasks associated with the request, as described earlier. Control would then pass to the media component 260 to physically perform the extraction of the stored or archived data and/or files from the library media 275. The client component 262 would then forward the retrieved data and/or files to the requesting device.


Should the requesting device be the SAN system itself, the client component 262 would forward the retrieved data to the SAN system 250, wherein the SAN system 250 could write the data out to the appropriate storage media 257, 258, or 259.


Or, the client component 262 could forward the retrieved data and/or files to the management component 202, wherein the management component 202 routes the requested data and/or files to the particular computing device.


Alternately, the computing device 220 running the client component 222 may request a restore or other archival request for its attached memory media device 214 through the client component 222. The media component 260 could be contacted either as a special media access request to the SAN system 250, or it could access the media component 260 through such methods as data encapsulation over the SAN network 264. Once contacted, if the request was for retrieval or a restore, the media component 260 would collect the appropriate data and/or files and relay the retrieved data and/or files to the computing device 220 through a communication with the SAN system 250. This return communication could be in the form of a SAN communication of a network type file or data, or it could employ the use of data encapsulation or data bridging for the transmittal of the retrieved information.


If the request from the client component 222 is for archiving a file, block, or set of either of the two, the media component 260 could acknowledge the request either directly through a SAN type message from the SAN system 250, or by encapsulating the response in a SAN type message. The client component 222 running on the computing device 220 would then direct the appropriate data or files from the memory media 214 to the media component 260. This again may take place either through a special access protocol recognizable by the SAN system 250 and redirected to the media component 260, or through encapsulating the data sent over the SAN link 264 from the computing device as a SAN-formatted message directed to the media component 260. It should be noted that the management component 202 running on a different computing device could also initiate a backup and retrieval request by the client component 222 through the network 270.


Turning now the computing device 230, the computing device 230 is running a client component 232 that manages its archiving needs. The computing device 230 is not in direct contact with the media component 260 operating on the library storage media 275. A request for an archival action such as retrieval, a restoration, or a backup is made by the client component 232. This request can be initiated either by the management component 202 or by the client component 232 itself. The client component 232 then coordinates and determines the scope of the backup and retrieval request, and accordingly acts to notify the media component 260. This may be accomplished either by a direct request to the SAN system 250 over the SAN link 264 acting as a request for a local backup and retrieval request, in which the SAN system 250 coordinates the backup and retrieval request. Or, this may be accomplished by the routing of a message directly for the media component 260 through use of data encapsulation via the SAN system 250.


If the request is a request for a backup, the client component 232 could then communicate the files and/or data to be archived to the media component 260 in a similar manner. The media component 260 would then perform the requested backup to the media library 275.


If the request is one for a retrieval or restoration, the media component 260 would extract the requested data from the media library 275 and route the data back to the client component 232 which would be responsible for the placement of the data on the computing system 230. This outbound messaging may be accomplished either by direct communication through the SAN system 250, or may be by indirect methods, such as data encapsulation from the media component 260 or the use of data bridging techniques.



FIG. 3 is schematic block diagram of the interaction of the library media of FIG. 2 with the SAN system. As shown, a library media 310 controlled by a media component 320 may comprise a number of different storage media, or may just comprise one. In FIG. 3, the library media 310 comprises a fast, alterable random access device 312, a fast, non-alterable random access device 314, a serial device 316, a slow, alterable random access device 318, and a slow, non-alterable random access device 319.


An example of the fast, alterable random access device 312 includes various magnetic media, such as a disc drive, that could include multiple writing surfaces. An example of the fast, non alterable random access device 314 includes a multi disc optical system. An example of the slow, alterable random access device 318 includes jukeboxes containing disc drive cartridges. An example of the slow, non-alterable random access device 314 includes jukeboxes containing optical discs. An example of the serial device 316 could include a magnetic tape cartridge jukebox.


The media component 320 would control the placement of files, sectors, and other backup and retrieval information on the appropriate library media. This placement could be controlled according to the parameters of the backup, such as proximity in date, or whether the archived data is alterable in the archived form. Other parameters to consider could be the relative frequency of requests to the data or to importance of the data as determined by a client component or a management component directing those parameters.


Thus, in the case of differential backups, portions of the archived file may reside across several different media. Older portions may be contained in the device 314, while newer updated versions of that block may be contained in the device 312. Portions that have not changed may still be in other library devices.


In view of the above detailed description of the present invention and associated drawings, other modifications and variations will now become apparent to those skilled in the art. It should also be apparent that such other modifications and variations may be effected without departing from the spirit and scope of the present invention as set forth in this specification.

Claims
  • 1. A system for directing storage of data in a computer network, the system comprising: at least a first client computing device configured to communicate with a first network comprising a local area network wherein first file-based backup data is transferred as files in a first file-based format on the local area network to at least a first storage device with a first protocol;at least a second client computing device configured to communicate with a second network comprising a storage area network, wherein second block-based backup data is transferred at least as block writes in a second block-based format on the storage area network to at least a second storage device, wherein the second block-based format is not file based with a second protocol that is different than the first protocol;a file processor comprising computer hardware, the file processor configured to communicate with the first client computing device with the first network comprising the local area network, and the second client computing device with the second network comprising the storage area network, wherein the file processor is configured to maintain a file-based network file system for the first file-based backup data transferred as files in the first file-based format from the first client computing to the first storage device through the first network with the first protocol;wherein the file processor is further configured to maintain the file-based network file system for the second block-based backup data transferred as block writes in the second block-based format from the second client computing device to the second storage device through the second network with the second protocol,wherein the file processor determines files associated with the second block-based backup data based at least in part on the first file-based backup data to generate a centralized file-based network file system that includes both the files in the first file-based backup data and the files associated with the second block-based backup data to present a centralized file-based view of both the first file-based backup data and the second block-based backup data to both the first and second client computers wherein actions comprising at least one of opening, closing reading and writing by the file processor is transparent to both the first and second client computing devices; anda media component executing in one or more computer processors configured to communicate with the first client computing device with the first network comprising the local area network and the second client computing device with the second network comprising the storage area network, the media component further configured to communicate with the network file system associated with the file processor, wherein the media component in response to storage operations is configured to maintain an index of the first file-based backup data transferred as the files by the first network and further maintains the index for the second block-based backup data transferred as the block writes with the second network, wherein the index comprises the first file-based backup data and the second block-based backup data;wherein the media component uses the index to process requests for the first file-based backup data; andwherein the media component uses the index to process requests for the second block-based backup data.
  • 2. The system of claim 1, further comprising a management computing device that is configured to instruct one of the first and second client computing devices to initiate a storage operation request.
  • 3. The system of claim 1, wherein the second client computing device is part of a storage area network (SAN).
  • 4. The system of claim 1, wherein a media module executes on the file processor.
  • 5. The system of claim 1, wherein the file processor writes the data based on instructions received from a management computing device.
  • 6. The system of claim 1, further comprising an archive library, wherein the archive library comprises different types of storage media.
  • 7. A system for directing storage of data in a computer network, the system comprising: a file processor comprising computer hardware, wherein the file processor communicates with at least a first computing device with a first network comprising a local area network that transmits first file-based backup data in a first file-based format from the first computing device to at least a first storage device with a first protocol,wherein file processor further communicates with at least a second computing device with a second network comprising a storage area network that transmits second block-based backup data as block writes in a second block-based format from the second computing device to at least a second storage device with a second protocol that is different than the first protocol, wherein the second block-based format is not file based,the file processor configured to maintain a network file system for the first file-based backup data transferred as files in the first file-based format from the first client computing device to the first storage device through the first network with the first protocol,wherein the file processor is further configured to maintain the network file system for the second block-based backup data transferred as block writes in the second block-based format from the second client computing device to the second storage device through the second network with the second protocol,wherein the file processor determines files associated with the second block-based backup data based at least in part on the first file-based backup data to generate a centralized network file system that includes both the files in the first file-based backup up data and the files associated with the second block-based backup data to present a centralized file-based view of the first file-based backup data and the second block-based backup data to both the first and second client computers wherein actions comprising at least one of opening, closing reading and writing by the file processor is transparent to both the first and second client computing devices;a management computing device comprising computer hardware, the management computing device in communication with the first and second client computing devices and the file processor, the management computing device directs storage operations between the first and second client computing devices, the local area network, the storage area network, the file processor, and the first and second storage devices, wherein the management computing device is further configured to instruct one of the of the first and second client computing devices to initiate a storage operation request; andan archive library, wherein the archive library comprises different types of storage media.
  • 8. The system of claim 7, wherein the second client computing device is part of a storage area network (SAN).
  • 9. The system of claim 7, wherein a media module executes on the file processor.
  • 10. The system of claim 9, wherein the media module maintains an index of the data stored on the first and second storage devices.
  • 11. The system of claim 7, wherein the file processor writes the first and second backup data based on instructions received from the management computing device.
  • 12. A method for directing storage of data in a computer network, the method comprising: tracking first file-based backup data transferred from at least a first client computing device to at least a first storage device with a first network comprising a local area network that transmits files in a first file-based format with a first protocol with to a file processor executing in one or more computer processors;maintaining, with the file processor, a network file system for the first backup file-based data transferred as files in the first file-based format from the first client computing device to the first storage device through the first network with the first protocol;tracking, with the file processor, second block-based backup data transferred from at least a second client computing device to at least a second storage device with a second network comprising a storage area network that transmits block writes in a second block-based format with a second protocol that is different than the first protocol, and wherein the second block-based format is not file based;maintaining, with the file processor, the second block-based backup data transferred as block writes in the second block-based format from the second client computing device to the second storage device through the second network with the second protocol,determining, with the file processor, files associated with the second block-based backup data based at least in part on the first file-based backup data to generate a centralized network file system network file system that includes both the files in the first file-based backup up data and the files associated with the second block-based backup data to present a centralized file-based view of the first file-based backup data and the second block-based backup data to both the first and second client computers wherein actions comprising at least one of opening, closing reading and writing by the file processor is transparent to both the first and second client computing devices; andcoordinating with a management computing device comprising computer hardware, storage operations between the first and second client computing devices, the local area network, the storage area network, the file processor, and the first and second storage devices.
  • 13. The method of claim 12, further comprising writing, with the file processor, at least a portion of the first file-based backup data and second block-based backup data to an archive library in response to an instruction received from the management computing device.
  • 14. The method of claim 13, additionally comprising sending the instruction based on a data aging policy maintained by the management computing device.
  • 15. The method of claim 13, additionally comprising sending the instruction by bypassing the storage area network.
  • 16. The method of claim 12, additionally comprising initiating with the management computing device a backup of the network file system.
  • 17. The method of claim 12, further comprising instructing one of the first and second client computing devices to initiate a storage operation.
  • 18. The system of claim 12, further comprising indexing data stored on the first and second storage devices.
RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 12/702,716, filed Feb. 9, 2010, now U.S. Pat. No. 8,352,433, issued Jan. 8, 2013, which is a continuation of U.S. patent application Ser. No. 11/356,467, filed Feb. 15, 2006 now abandoned, which is a continuation of U.S. patent application Ser. No. 09/610,738, filed Jul. 6, 2000, now U.S. Pat. No. 7,035,880, issued Apr. 25, 2006, which claims the benefit of priority of U.S. Provisional Patent Application No. 60/143,743, filed Jul. 14, 1999, U.S. Provisional Patent Application No. 60/143,744, filed Jul. 14, 1999, and U.S. Provisional Patent Application No. 60/179,345, filed Jan. 31, 2000.

US Referenced Citations (587)
Number Name Date Kind
4296465 Lemak Oct 1981 A
4686620 Ng Aug 1987 A
4751639 Corcoran et al. Jun 1988 A
4995035 Cole et al. Feb 1991 A
5005122 Griffin et al. Apr 1991 A
5093912 Dong et al. Mar 1992 A
5125075 Goodale et al. Jun 1992 A
5133065 Cheffetz et al. Jul 1992 A
5140683 Gallo et al. Aug 1992 A
5163148 Walls Nov 1992 A
5193154 Kitajima et al. Mar 1993 A
5204958 Cheng et al. Apr 1993 A
5212772 Masters May 1993 A
5212784 Sparks May 1993 A
5226157 Nakano et al. Jul 1993 A
5239647 Anglin et al. Aug 1993 A
5241668 Eastridge et al. Aug 1993 A
5241670 Eastridge et al. Aug 1993 A
5265159 Kung Nov 1993 A
5276860 Fortier et al. Jan 1994 A
5276867 Kenley et al. Jan 1994 A
5287500 Stoppani, Jr. Feb 1994 A
5301351 Jippo Apr 1994 A
5311509 Heddes et al. May 1994 A
5321816 Rogan et al. Jun 1994 A
5333251 Urabe et al. Jul 1994 A
5333315 Saether et al. Jul 1994 A
5347653 Flynn et al. Sep 1994 A
5386545 Gombos, Jr. et al. Jan 1995 A
5387459 Hung Feb 1995 A
5410700 Fecteau et al. Apr 1995 A
5426284 Doyle Jun 1995 A
5448718 Cohn et al. Sep 1995 A
5448724 Hayashi et al. Sep 1995 A
5455926 Keele et al. Oct 1995 A
5485606 Midgdey et al. Jan 1996 A
5491810 Allen Feb 1996 A
5495607 Pisello et al. Feb 1996 A
5504873 Martin et al. Apr 1996 A
5537568 Yanai et al. Jul 1996 A
5544345 Carpenter et al. Aug 1996 A
5544347 Yanai et al. Aug 1996 A
5555404 Torbjornsen et al. Sep 1996 A
5559957 Balk Sep 1996 A
5559991 Kanfi Sep 1996 A
5564037 Lam Oct 1996 A
5574898 Leblang et al. Nov 1996 A
5598546 Blomgren Jan 1997 A
5608865 Midgely et al. Mar 1997 A
5613134 Lucus et al. Mar 1997 A
5615392 Harrison et al. Mar 1997 A
5619644 Crockett et al. Apr 1997 A
5634052 Morris May 1997 A
5638509 Dunphy et al. Jun 1997 A
5642496 Kanfi Jun 1997 A
5649185 Antognini et al. Jul 1997 A
5659614 Bailey, III Aug 1997 A
5666501 Jones et al. Sep 1997 A
5673381 Huai et al. Sep 1997 A
5673382 Cannon et al. Sep 1997 A
5675511 Prasad et al. Oct 1997 A
5677900 Nishida et al. Oct 1997 A
5682513 Candelaria et al. Oct 1997 A
5687343 Fecteau et al. Nov 1997 A
5699361 Ding et al. Dec 1997 A
5719786 Nelson et al. Feb 1998 A
5729743 Squibb Mar 1998 A
5734817 Roffe et al. Mar 1998 A
5737747 Vishlitsky et al. Apr 1998 A
5740405 DeGraaf Apr 1998 A
5742807 Masinter Apr 1998 A
5751997 Kullick et al. May 1998 A
5758359 Saxon May 1998 A
5758649 Iwashita et al. Jun 1998 A
5761677 Senator et al. Jun 1998 A
5761734 Pfeffer et al. Jun 1998 A
5764972 Crouse et al. Jun 1998 A
5778165 Saxon Jul 1998 A
5778395 Whiting et al. Jul 1998 A
5790828 Jost Aug 1998 A
5793867 Cordery et al. Aug 1998 A
5805920 Sprenkle et al. Sep 1998 A
5806058 Mori et al. Sep 1998 A
5812398 Nielsen Sep 1998 A
5812748 Ohran et al. Sep 1998 A
5813009 Johnson et al. Sep 1998 A
5813013 Shakib et al. Sep 1998 A
5813017 Morris Sep 1998 A
5829045 Motoyama Oct 1998 A
5829046 Tzelnic et al. Oct 1998 A
5835953 Ohran Nov 1998 A
5845257 Fu et al. Dec 1998 A
5860073 Ferrel et al. Jan 1999 A
5860104 Witt et al. Jan 1999 A
5864846 Voorhees et al. Jan 1999 A
5864871 Kitain et al. Jan 1999 A
5875478 Blumenau Feb 1999 A
5875481 Ashton et al. Feb 1999 A
5878230 Weber et al. Mar 1999 A
5881311 Woods Mar 1999 A
5884067 Storm et al. Mar 1999 A
5887134 Ebrahim Mar 1999 A
5893139 Kamiyama Apr 1999 A
5896531 Curtis et al. Apr 1999 A
5897642 Capossela et al. Apr 1999 A
5898431 Webster et al. Apr 1999 A
5901327 Ofek May 1999 A
5924102 Perks Jul 1999 A
5926836 Blumenau Jul 1999 A
5933104 Kimura Aug 1999 A
5933601 Fanshier et al. Aug 1999 A
5950205 Aviani, Jr. Sep 1999 A
5956519 Wise et al. Sep 1999 A
5956733 Nakano et al. Sep 1999 A
5958005 Thorne et al. Sep 1999 A
5966730 Zulch Oct 1999 A
5970233 Liu et al. Oct 1999 A
5970255 Tran et al. Oct 1999 A
5974563 Beeler, Jr. Oct 1999 A
5978841 Berger Nov 1999 A
5983239 Cannon Nov 1999 A
5987478 See et al. Nov 1999 A
5991753 Wilde Nov 1999 A
5995091 Near et al. Nov 1999 A
6000020 Chin et al. Dec 1999 A
6003089 Shaffer et al. Dec 1999 A
6009274 Fletcher et al. Dec 1999 A
6012053 Pant et al. Jan 2000 A
6012090 Chung et al. Jan 2000 A
6012415 Linseth Jan 2000 A
6016553 Schneider et al. Jan 2000 A
6018744 Mamiya et al. Jan 2000 A
6021415 Cannon et al. Feb 2000 A
6023710 Steiner et al. Feb 2000 A
6026414 Anglin Feb 2000 A
6026437 Muschett et al. Feb 2000 A
6052735 Ulrich et al. Apr 2000 A
6061671 Baker et al. May 2000 A
6064821 Shough et al. May 2000 A
6070228 Belknap et al. May 2000 A
6073128 Pongracz et al. Jun 2000 A
6073137 Brown et al. Jun 2000 A
6073220 Gunderson Jun 2000 A
6076148 Kedem et al. Jun 2000 A
6078934 Lahey et al. Jun 2000 A
6081883 Popelka et al. Jun 2000 A
6085030 Whitehead et al. Jul 2000 A
6088694 Burns et al. Jul 2000 A
6091518 Anabuki Jul 2000 A
6094416 Ying Jul 2000 A
6101585 Brown et al. Aug 2000 A
6105037 Kishi Aug 2000 A
6105129 Meier et al. Aug 2000 A
6108640 Slotznick Aug 2000 A
6108712 Hayes, Jr. Aug 2000 A
6112239 Kenner et al. Aug 2000 A
6122668 Teng et al. Sep 2000 A
6131095 Low et al. Oct 2000 A
6131190 Sidwell Oct 2000 A
6137864 Yaker Oct 2000 A
6148377 Carter et al. Nov 2000 A
6148412 Cannon et al. Nov 2000 A
6151590 Cordery et al. Nov 2000 A
6154787 Urevig et al. Nov 2000 A
6154852 Amundson et al. Nov 2000 A
6157919 Cordery et al. Dec 2000 A
6161111 Mutalik et al. Dec 2000 A
6161192 Lubbers et al. Dec 2000 A
6167402 Yeager Dec 2000 A
6175829 Li et al. Jan 2001 B1
6182198 Hubis et al. Jan 2001 B1
6189051 Oh et al. Feb 2001 B1
6212512 Barney et al. Apr 2001 B1
6212521 Minami et al. Apr 2001 B1
6223269 Blumenau Apr 2001 B1
6226759 Miller et al. May 2001 B1
6230164 Rekieta et al. May 2001 B1
6249795 Douglis Jun 2001 B1
6253217 Dourish et al. Jun 2001 B1
6260069 Anglin Jul 2001 B1
6263368 Martin Jul 2001 B1
6266679 Szalwinski et al. Jul 2001 B1
6266784 Hsiao et al. Jul 2001 B1
6269382 Cabrera et al. Jul 2001 B1
6269431 Dunham Jul 2001 B1
6275953 Vahalia et al. Aug 2001 B1
6292783 Rohler Sep 2001 B1
6295541 Bodnar Sep 2001 B1
6298439 Beglin Oct 2001 B1
6301592 Aoyama et al. Oct 2001 B1
6304880 Kishi Oct 2001 B1
6314439 Bates et al. Nov 2001 B1
6314460 Knight et al. Nov 2001 B1
6324581 Xu et al. Nov 2001 B1
6327590 Chidlovskii et al. Dec 2001 B1
6327612 Watanabe Dec 2001 B1
6328766 Long Dec 2001 B1
6330570 Crighton Dec 2001 B1
6330572 Sitka Dec 2001 B1
6330589 Kennedy Dec 2001 B1
6330642 Carteau Dec 2001 B1
6341287 Sziklai et al. Jan 2002 B1
6343287 Kumar et al. Jan 2002 B1
6343324 Hubis et al. Jan 2002 B1
6345288 Reed et al. Feb 2002 B1
6350199 Williams et al. Feb 2002 B1
6351763 Kawanaka Feb 2002 B1
6351764 Voticky et al. Feb 2002 B1
RE37601 Eastridge et al. Mar 2002 E
6353878 Dunham Mar 2002 B1
6356801 Goodman et al. Mar 2002 B1
6356863 Sayle Mar 2002 B1
6360306 Bergsten Mar 2002 B1
6363462 Bergsten Mar 2002 B1
6367029 Mayhead et al. Apr 2002 B1
6367073 Elledge Apr 2002 B2
6374336 Peters et al. Apr 2002 B1
6374363 Wu et al. Apr 2002 B1
6389432 Pothapragada et al. May 2002 B1
6396513 Helfman et al. May 2002 B1
6397308 Ofek et al. May 2002 B1
6418478 Ignatius et al. Jul 2002 B1
6421709 McCormick et al. Jul 2002 B1
6421711 Blumenau et al. Jul 2002 B1
6438595 Blumenau et al. Aug 2002 B1
6442600 Anderson Aug 2002 B1
6442706 Wahl et al. Aug 2002 B1
6453325 Cabrera et al. Sep 2002 B1
6466592 Chapman Oct 2002 B1
6470332 Weschler Oct 2002 B1
6473794 Guheen et al. Oct 2002 B1
6484162 Edlund et al. Nov 2002 B1
6487561 Ofek et al. Nov 2002 B1
6487644 Huebsch et al. Nov 2002 B1
6493811 Blades et al. Dec 2002 B1
6502205 Yanai et al. Dec 2002 B1
6519679 Devireddy et al. Feb 2003 B2
6535910 Suzuki et al. Mar 2003 B1
6538669 Lagueux, Jr. et al. Mar 2003 B1
6540623 Jackson Apr 2003 B2
6542909 Tamer et al. Apr 2003 B1
6542972 Ignatius et al. Apr 2003 B2
6546545 Honarvar et al. Apr 2003 B1
6549918 Probert et al. Apr 2003 B1
6553410 Kikinis Apr 2003 B2
6557039 Leong et al. Apr 2003 B1
6564219 Lee et al. May 2003 B1
6564228 O'Connor May 2003 B1
6581143 Gagne et al. Jun 2003 B2
6593656 Ahn et al. Jul 2003 B2
6604149 Deo et al. Aug 2003 B1
6615241 Miller et al. Sep 2003 B1
6618771 Leja et al. Sep 2003 B1
6629110 Cane et al. Sep 2003 B2
6631477 LeCrone et al. Oct 2003 B1
6631493 Ottesen et al. Oct 2003 B2
6647396 Parnell et al. Nov 2003 B2
6647399 Zaremba Nov 2003 B2
6647409 Sherman et al. Nov 2003 B1
6654825 Clapp et al. Nov 2003 B2
6658436 Oshinsky et al. Dec 2003 B2
6658526 Nguyen et al. Dec 2003 B2
6675177 Webb Jan 2004 B1
6704933 Tanaka et al. Mar 2004 B1
6721767 De Meno et al. Apr 2004 B2
6721784 Leonard et al. Apr 2004 B1
6728733 Tokui Apr 2004 B2
6732088 Glance May 2004 B1
6732124 Koseki et al. May 2004 B1
6732231 Don et al. May 2004 B1
6732244 Ashton et al. May 2004 B2
6742092 Huebsch et al. May 2004 B1
6745178 Emens et al. Jun 2004 B1
6757794 Cabrera et al. Jun 2004 B2
6760723 Oshinsky et al. Jul 2004 B2
6763351 Subramaniam et al. Jul 2004 B1
6789161 Blendermann et al. Sep 2004 B1
6795828 Ricketts Sep 2004 B2
6816941 Carlson et al. Nov 2004 B1
6820070 Goldman et al. Nov 2004 B2
6839741 Tsai Jan 2005 B1
6839803 Loh et al. Jan 2005 B1
6850994 Gabryjelski et al. Feb 2005 B2
6860422 Hull et al. Mar 2005 B2
6865568 Chau Mar 2005 B2
6868424 Jones et al. Mar 2005 B2
6871163 Hiller et al. Mar 2005 B2
6871182 Winnard et al. Mar 2005 B1
6874023 Pennell et al. Mar 2005 B1
6886020 Zahavi et al. Apr 2005 B1
6892221 Ricart et al. May 2005 B2
6912645 Dorward et al. Jun 2005 B2
6941304 Gainey et al. Sep 2005 B2
6948038 Berkowitz et al. Sep 2005 B2
6952758 Chron et al. Oct 2005 B2
6957186 Guheen et al. Oct 2005 B1
6968351 Butterworth Nov 2005 B2
6970997 Shibayama et al. Nov 2005 B2
6973553 Archibald, Jr. et al. Dec 2005 B1
6976039 Chefalas et al. Dec 2005 B2
6978265 Schumacher Dec 2005 B2
6983351 Gibble et al. Jan 2006 B2
6995675 Curkendall et al. Feb 2006 B2
6996616 Leighton et al. Feb 2006 B1
7003519 Biettron et al. Feb 2006 B1
7003641 Prahlad et al. Feb 2006 B2
7028079 Mastrianni et al. Apr 2006 B2
7035880 Crescenti et al. Apr 2006 B1
7039860 Gautestad May 2006 B1
7058661 Ciaramitaro et al. Jun 2006 B2
7062761 Slavin et al. Jun 2006 B2
7076685 Pillai et al. Jul 2006 B2
7082441 Zahavi et al. Jul 2006 B1
7085904 Mizuno et al. Aug 2006 B2
7096315 Takeda et al. Aug 2006 B2
7099901 Sutoh et al. Aug 2006 B2
7103731 Gibble et al. Sep 2006 B2
7103740 Colgrove et al. Sep 2006 B1
7107298 Prahlad et al. Sep 2006 B2
7107395 Ofek et al. Sep 2006 B1
7107416 Stuart et al. Sep 2006 B2
7120757 Tsuge Oct 2006 B2
7130970 Devassy et al. Oct 2006 B2
7133870 Tripp et al. Nov 2006 B1
7134041 Murray et al. Nov 2006 B2
7139826 Watanabe et al. Nov 2006 B2
7146387 Russo et al. Dec 2006 B1
7149893 Leonard et al. Dec 2006 B1
7155421 Haldar Dec 2006 B1
7155465 Lee et al. Dec 2006 B2
7155481 Prahlad et al. Dec 2006 B2
7155633 Tuma et al. Dec 2006 B2
7159081 Suzuki Jan 2007 B2
7171468 Yeung et al. Jan 2007 B2
7171585 Gail et al. Jan 2007 B2
7174312 Harper et al. Feb 2007 B2
7188141 Novaes Mar 2007 B2
7194454 Hansen et al. Mar 2007 B2
7240100 Wein et al. Jul 2007 B1
7246140 Therrien et al. Jul 2007 B2
7246207 Kottomtharayil et al. Jul 2007 B2
7269612 Devarakonda et al. Sep 2007 B2
7269664 Hütsch et al. Sep 2007 B2
7272606 Borthakur et al. Sep 2007 B2
7278142 Bandhole et al. Oct 2007 B2
7287047 Kavuri Oct 2007 B2
7290017 Wang et al. Oct 2007 B1
7293133 Colgrove et al. Nov 2007 B1
7313659 Suzuki Dec 2007 B2
7315923 Retnamma et al. Jan 2008 B2
7315924 Prahlad et al. Jan 2008 B2
7328225 Beloussov et al. Feb 2008 B1
7328325 Solis et al. Feb 2008 B1
7343356 Prahlad et al. Mar 2008 B2
7343365 Farnham et al. Mar 2008 B2
7343453 Prahlad et al. Mar 2008 B2
7343459 Prahlad et al. Mar 2008 B2
7346623 Prahlad et al. Mar 2008 B2
7346676 Swildens et al. Mar 2008 B1
7346751 Prahlad et al. Mar 2008 B2
7356657 Mikami Apr 2008 B2
7359917 Winter et al. Apr 2008 B2
7376947 Evers May 2008 B2
7379978 Anderson et al. May 2008 B2
7380072 Kottomtharayil et al. May 2008 B2
7386535 Kalucha et al. Jun 2008 B1
7386552 Kitamura et al. Jun 2008 B2
7389311 Crescenti et al. Jun 2008 B1
7395282 Crescenti et al. Jul 2008 B1
7409509 Devassy et al. Aug 2008 B2
7424543 Rice, III Sep 2008 B2
7430587 Malone et al. Sep 2008 B2
7433301 Akahane et al. Oct 2008 B2
7434219 De Meno et al. Oct 2008 B2
7447692 Oshinsky et al. Nov 2008 B2
7454569 Kavuri et al. Nov 2008 B2
7457790 Kochunni et al. Nov 2008 B2
7467167 Patterson Dec 2008 B2
7472142 Prahlad et al. Dec 2008 B2
7472238 Gokhale Dec 2008 B1
7484054 Kottomtharayil et al. Jan 2009 B2
7490207 Amarendran Feb 2009 B2
7496589 Jain et al. Feb 2009 B1
7496841 Hadfield et al. Feb 2009 B2
7500053 Kavuri et al. Mar 2009 B1
7500150 Sharma et al. Mar 2009 B2
7509316 Greenblatt et al. Mar 2009 B2
7512601 Cucerzan et al. Mar 2009 B2
7519726 Palliyll et al. Apr 2009 B2
7523483 Dogan Apr 2009 B2
7529748 Wen et al. May 2009 B2
7532340 Koppich et al. May 2009 B2
7536291 Retnamma et al. May 2009 B1
7543125 Gokhale Jun 2009 B2
7546324 Prahlad et al. Jun 2009 B2
7565484 Ghosal et al. Jul 2009 B2
7577689 Masinter et al. Aug 2009 B1
7577694 Nakano et al. Aug 2009 B2
7581077 Ignatius et al. Aug 2009 B2
7584469 Mitekura et al. Sep 2009 B2
7587715 Barrett et al. Sep 2009 B1
7593935 Sullivan Sep 2009 B2
7596586 Gokhale et al. Sep 2009 B2
7596713 Mani-Meitav Sep 2009 B2
7603626 Williams et al. Oct 2009 B2
7606844 Kottomtharayil Oct 2009 B2
7610285 Zoellner et al. Oct 2009 B1
7613748 Brockway et al. Nov 2009 B2
7617253 Prahlad et al. Nov 2009 B2
7617262 Prahlad et al. Nov 2009 B2
7617541 Plotkin et al. Nov 2009 B2
7627598 Burke Dec 2009 B1
7627617 Kavuri et al. Dec 2009 B2
7636743 Erofeev Dec 2009 B2
7651593 Prahlad et al. Jan 2010 B2
7661028 Erofeev Feb 2010 B2
7668798 Scanlon et al. Feb 2010 B2
7668884 Prahlad et al. Feb 2010 B2
7673175 Mora et al. Mar 2010 B2
7676542 Moser et al. Mar 2010 B2
7685126 Patel et al. Mar 2010 B2
7689899 Leymaster et al. Mar 2010 B2
7716171 Kryger May 2010 B2
7730031 Forster Jun 2010 B2
7734593 Prahlad et al. Jun 2010 B2
7734669 Kottomtharayil et al. Jun 2010 B2
7734715 Hyakutake et al. Jun 2010 B2
7751628 Reisman Jul 2010 B1
7757043 Kavuri et al. Jul 2010 B2
7792789 Prahlad et al. Sep 2010 B2
7801871 Gosnell Sep 2010 B2
7802067 Prahlad et al. Sep 2010 B2
7814118 Kottomtharayil et al. Oct 2010 B2
7827266 Gupta Nov 2010 B2
7831793 Chakravarty et al. Nov 2010 B2
7840537 Gokhale et al. Nov 2010 B2
7844676 Prahlad et al. Nov 2010 B2
7865517 Prahlad et al. Jan 2011 B2
7870355 Erofeev Jan 2011 B2
7873808 Stewart Jan 2011 B2
7877351 Crescenti et al. Jan 2011 B2
7882077 Gokhale et al. Feb 2011 B2
7882093 Kottomtharayil et al. Feb 2011 B2
7890718 Gokhale Feb 2011 B2
7890719 Gokhale Feb 2011 B2
7937393 Prahlad et al. May 2011 B2
7937420 Tabellion et al. May 2011 B2
7937702 De Meno et al. May 2011 B2
7962455 Erofeev Jun 2011 B2
7984063 Kottomtharayil et al. Jul 2011 B2
8037028 Prahlad et al. Oct 2011 B2
8041673 Crescenti et al. Oct 2011 B2
8046331 Sanghavi et al. Oct 2011 B1
8055627 Prahlad et al. Nov 2011 B2
8060514 Arrouye et al. Nov 2011 B2
8078583 Prahlad et al. Dec 2011 B2
8086809 Prahlad et al. Dec 2011 B2
8103670 Oshinsky et al. Jan 2012 B2
8103829 Kavuri et al. Jan 2012 B2
8121983 Prahlad et al. Feb 2012 B2
8166263 Prahlad Apr 2012 B2
8204859 Ngo Jun 2012 B2
8214444 Prahlad et al. Jul 2012 B2
8219524 Gokhale Jul 2012 B2
8266106 Prahlad et al. Sep 2012 B2
8266397 Prahlad et al. Sep 2012 B2
8271830 Erofeev Sep 2012 B2
8352422 Prahlad et al. Jan 2013 B2
8352433 Crescenti et al. Jan 2013 B2
8402219 Kavuri et al. Mar 2013 B2
8433679 Crescenti et al. Apr 2013 B2
8504634 Prahlad et al. Aug 2013 B2
8566278 Crescenti et al. Oct 2013 B2
8577844 Prahlad et al. Nov 2013 B2
8725731 Oshinsky et al. May 2014 B2
8725964 Prahlad et al. May 2014 B2
20020004883 Nguyen et al. Jan 2002 A1
20020032878 Karpf Mar 2002 A1
20020040376 Yamanaka et al. Apr 2002 A1
20020042869 Tate et al. Apr 2002 A1
20020049626 Mathias et al. Apr 2002 A1
20020049778 Bell et al. Apr 2002 A1
20020049883 Schneider et al. Apr 2002 A1
20020069324 Gerasimov et al. Jun 2002 A1
20020099690 Schumacher Jul 2002 A1
20020103848 Giacomini et al. Aug 2002 A1
20020107877 Whiting et al. Aug 2002 A1
20020120858 Porter et al. Aug 2002 A1
20020161753 Inaba et al. Oct 2002 A1
20030046313 Leung et al. Mar 2003 A1
20030050979 Takahashi Mar 2003 A1
20030061491 Jaskiewicz et al. Mar 2003 A1
20030097361 Huang et al. May 2003 A1
20030101086 San Miguel May 2003 A1
20030163399 Harper et al. Aug 2003 A1
20030172158 Pillai et al. Sep 2003 A1
20040039689 Penney et al. Feb 2004 A1
20040107199 Dalrymple et al. Jun 2004 A1
20040193953 Callahan et al. Sep 2004 A1
20040205206 Naik et al. Oct 2004 A1
20040230829 Dogan et al. Nov 2004 A1
20040267815 De Mes Dec 2004 A1
20050033800 Kavuri et al. Feb 2005 A1
20050039069 Prahlad et al. Feb 2005 A1
20050044114 Kottomtharayil et al. Feb 2005 A1
20050097070 Enis et al. May 2005 A1
20050146510 Ostergard Jul 2005 A1
20050246510 Retnamma et al. Nov 2005 A1
20050251786 Citron et al. Nov 2005 A1
20050268068 Ignatius et al. Dec 2005 A1
20050278207 Ronnewinkel Dec 2005 A1
20060005048 Osaki et al. Jan 2006 A1
20060010154 Prahlad et al. Jan 2006 A1
20060010227 Atluri Jan 2006 A1
20060036619 Fuerst et al. Feb 2006 A1
20060070061 Cox et al. Mar 2006 A1
20060115802 Reynolds Jun 2006 A1
20060116999 Dettinger et al. Jun 2006 A1
20060149604 Miller Jul 2006 A1
20060149724 Ritter et al. Jul 2006 A1
20060224846 Amarendran et al. Oct 2006 A1
20060282900 Johnson et al. Dec 2006 A1
20070022145 Kavuri Jan 2007 A1
20070028229 Knatcher Feb 2007 A1
20070043715 Kaushik et al. Feb 2007 A1
20070043956 El Far et al. Feb 2007 A1
20070061266 Moore et al. Mar 2007 A1
20070061298 Wilson et al. Mar 2007 A1
20070078913 Crescenti et al. Apr 2007 A1
20070100867 Celik et al. May 2007 A1
20070143756 Gokhale Jun 2007 A1
20070166674 Kochunni et al. Jul 2007 A1
20070183224 Erofeev Aug 2007 A1
20070250810 Tittizer et al. Oct 2007 A1
20070288536 Sen et al. Dec 2007 A1
20070296258 Calvert et al. Dec 2007 A1
20080059515 Fulton Mar 2008 A1
20080229037 Bunte et al. Sep 2008 A1
20080243855 Prahlad et al. Oct 2008 A1
20080243914 Prahlad et al. Oct 2008 A1
20080243957 Prahlad et al. Oct 2008 A1
20080243958 Prahlad et al. Oct 2008 A1
20080244177 Crescenti et al. Oct 2008 A1
20080282048 Miura Nov 2008 A1
20080288947 Gokhale et al. Nov 2008 A1
20080288948 Attarde et al. Nov 2008 A1
20080320319 Muller et al. Dec 2008 A1
20090171883 Kochunni et al. Jul 2009 A1
20090177719 Kavuri Jul 2009 A1
20090228894 Gokhale Sep 2009 A1
20090248762 Prahlad et al. Oct 2009 A1
20090271791 Gokhale Oct 2009 A1
20090319534 Gokhale Dec 2009 A1
20090319585 Gokhale Dec 2009 A1
20090320029 Kottomtharayil Dec 2009 A1
20090320033 Gokhale et al. Dec 2009 A1
20090320037 Gokhale et al. Dec 2009 A1
20100031017 Gokhale et al. Feb 2010 A1
20100049753 Prahlad et al. Feb 2010 A1
20100070466 Prahlad et al. Mar 2010 A1
20100070474 Lad Mar 2010 A1
20100070725 Prahlad et al. Mar 2010 A1
20100070726 Ngo et al. Mar 2010 A1
20100076932 Lad Mar 2010 A1
20100094808 Erofeev Apr 2010 A1
20100100529 Erofeev Apr 2010 A1
20100114837 Prahlad et al. May 2010 A1
20100122053 Prahlad et al. May 2010 A1
20100131461 Prahlad et al. May 2010 A1
20100138393 Crescenti et al. Jun 2010 A1
20100145909 Ngo Jun 2010 A1
20100179941 Agrawal et al. Jul 2010 A1
20100205150 Prahlad et al. Aug 2010 A1
20110066817 Kavuri et al. Mar 2011 A1
20110072097 Prahlad et al. Mar 2011 A1
20110093471 Brockway et al. Apr 2011 A1
20110173207 Kottomtharayil et al. Jul 2011 A1
20120030177 Crescenti et al. Feb 2012 A1
20120059797 Prahlad et al. Mar 2012 A1
20120089800 Prahlad et al. Apr 2012 A1
20120124042 Oshinsky et al. May 2012 A1
20120124289 Kavuri et al. May 2012 A1
20120330966 Prahlad et al. Dec 2012 A1
20130006944 Prahlad et al. Jan 2013 A1
20130254503 Kavuri et al. Sep 2013 A1
20130326178 Crescenti et al. Dec 2013 A1
20140025914 Prahlad et al. Jan 2014 A1
Foreign Referenced Citations (39)
Number Date Country
0259912 Mar 1988 EP
0341230 Nov 1989 EP
0381651 Aug 1990 EP
0405926 Jan 1991 EP
0467546 Jan 1992 EP
0599466 Jun 1994 EP
0670543 Sep 1995 EP
0717346 Jun 1996 EP
0774715 May 1997 EP
0809184 Nov 1997 EP
0862304 Sep 1998 EP
0899662 Mar 1999 EP
0910019 Apr 1999 EP
0981090 Feb 2000 EP
0986011 Mar 2000 EP
1035690 Sep 2000 EP
1174795 Jan 2002 EP
2216368 Oct 1989 GB
1064178 Aug 2013 HK
07-046271 Feb 1995 JP
07-073080 Mar 1995 JP
08-044598 Feb 1996 JP
H11-102314 Apr 1999 JP
H11-259459 Sep 1999 JP
2000-035969 Feb 2000 JP
2001-60175 Mar 2001 JP
2003-531435 Oct 2003 JP
WO 9417474 Aug 1994 WO
WO 9513580 May 1995 WO
WO 9839707 Sep 1998 WO
WO 9912098 Mar 1999 WO
WO 9914692 Mar 1999 WO
WO 9923585 May 1999 WO
WO 0058865 Oct 2000 WO
WO 0104756 Jan 2001 WO
WO 0106368 Jan 2001 WO
WO 0116693 Mar 2001 WO
WO 0180005 Oct 2001 WO
WO 2005050381 Jun 2005 WO
Non-Patent Literature Citations (52)
Entry
Swift et. al, “Improving the Reliability of Commodity Operating Systems”, ACM 2003.
Armstead et al., “Implementation of a Campus-Wide Distributed Mass Storage Service: The Dream vs. Reality,” IEEE, 1995, pp. 190-199.
Arneson, “Development of Omniserver; Mass Storage Systems,” Control Data Corporation, 1990, pp. 88-93.
Arneson, “Mass Storage Archiving in Network Environments” IEEE, 1998, pp. 45-50.
Ashton, et al., “Two Decades of policy-based storage management for the IBM mainframe computer”, www.research.ibm.com, 19 pages, published Apr. 10, 2003, printed Jan. 3, 2009., www.research.ibm.com, Apr. 10, 2003, pp. 19.
Cabrera, et al. “ADSM: A Multi-Platform, Scalable, Back-up and Archive Mass Storage System,” Digest of Papers, Compcon '95, Proceedings of the 40th IEEE Computer Society International Conference, Mar. 5, 1995-Mar. 9, 1995, pp. 420-427, San Francisco, CA.
Catapult, Inc., Microsoft Outlook 2000 Step by Step, Published May 7, 1999, “Collaborating with Others Using Outlook & Exchange”, p. 8 including “Message Timeline.”
Eitel, “Backup and Storage Management in Distributed Heterogeneous Environments,” IEEE, 1994, pp. 124-126.
Gait, “The Optical File Cabinet: A Random-Access File system for Write-Once Optical Disks,” IEEE Computer, vol. 21, No. 6, pp. 11-22 (1988).
http://en.wikipedia.org/wiki/Naive—Bayes—classifier, printed on Jun. 1, 2010, in 7 pages.
Jander, “Launching Storage-Area Net,” Data Communications, US, McGraw Hill, NY, vol. 27, No. 4(Mar. 21, 1998), pp. 64-72.
Microsoft, about using Microsoft Excel 2000 files with earlier version Excel, 1985-1999, Microsoft, p. 1.
Rosenblum et al., “The Design and Implementation of a Log-Structure File System,” Operating Systems Review SIGOPS, vol. 25, No. 5, New York, US, pp. 1-15 (May 1991).
Toyoda, Fundamentals of Oracle 8i Backup and Recovery, DB Magazine, Japan, Shoeisha, Co., Ltd.; Jul. 2000; vol. 10, No. 4, 34 total pages.
Weatherspoon H. et al., “Silverback: A Global-Scale Archival System,” Mar. 2001, pp. 1-15.
Szor, The Art of Virus Research and Defense, Symantec Press (2005) ISBN 0-321-30454-3, Part 1.
Szor, The Art of Virus Research and Defense, Symantec Press (2005) ISBN 0-321-30454-3, Part 2.
Witten et al., Data Mining: Practical Machine Learning Tools and Techniques, Ian H. Witten & Eibe Frank, Elsevier (2005) ISBN 0-12-088407-0, Part 1.
Witten et al., Data Mining: Practical Machine Learning Tools and Techniques, Ian H. Witten & Eibe Frank, Elsevier (2005) ISBN 0-12-088407-0, Part 2.
Communication in European Application No. 02 747 883.3 (COMMV.003QEP), mailed Jul. 20, 2007).
European Communication, Application No. 01906806.3, dated Sep. 21, 2010, 6 pages (COMMV.003VEP).
European Examination Report, Application No. 01906806.3-1244, dated Sep. 13, 2006, 3 pages (COMMV.003VEP).
European Office Action dated Mar. 26, 2008, EP019068337 (COMMV.004VEP).
European Office Action dated Apr. 22, 2008, EP02778952.8 (COMMV.005QEP).
International Preliminary Report on Patentability dated May 15, 2006, PCT/US2004/038278 filed Nov. 15, 2004, (COMMV.007VPC; Publication No. WO2005/050381).
International Search Report and Preliminary Report on Patentability dated Feb. 21, 2002, PCT/US2001/003183.
International Search Report and Preliminary Report on Patentability dated Sep. 29, 2001, PCT/US2001/003209.
International Search Report and Preliminary Report on Patentability dated Mar. 3, 2003, PCT/US2002/018169.
International Search Report and Preliminary Report on Patentability dated May 4, 2001, PCT/US2000/019363.
International Search Report dated Aug. 22, 2002, PCT/US2002/017973.
International Search Report dated Dec. 21, 2000, PCT/US2000/019324.
International Search Report dated Dec. 21, 2000, PCT/US2000/019329.
International Search Report dated Dec. 23, 2003, PCT/US2001/003088.
International Search Report on Patentability dated Dec. 21, 2000 in PCT/US00/19364 filed Nov. 14, 2000 (Publication No. WO01/04756).
International Search Report, PCT Application PCT/US02/17973, Aug. 22, 2002; 1 page.
International Search Report, PCT/US2004/038278, Feb. 1, 2006.
Japanese Office Action dated Jul. 15, 2008, Application No. 2003/502696.
Supplementary European Search Report dated Sep. 21, 2006, EP02778952.8.
Supplementary European Search Report, European Patent Application No. 02747883, Sep. 15, 2006; 2 pages.
Translation of Japanese Office Action dated Mar. 25, 2008, Application No. 2003-504235.
U.S. Appl. No. 09/609,977, filed Jul. 5, 2000, Crescenti, et al.
U.S. Appl. No. 11/356,467, filed Feb. 15, 2006, Crescenti, et al.
Hsiao, et al., “Using a Multiple Storage Quad Tree on a Hierarchial VLSI Compaction Scheme”, IEEE, 1990, pp. 1-15.
U.S. Appl. No. 13/038,614, filed Sep. 26, 2013, Prahlad, et al.
U.S. Appl. No. 13/538,290, filed Jun. 29, 2012, Kottomtharayil et al.
U.S. Appl. No. 13/787,583, filed Mar. 6, 2013, Kavuri, et al.
U.S. Appl. No. 13/959,520, filed Aug. 5, 2013, Prahlad, et al.
U.S. Appl. No. 13/961,265, filed Aug. 7, 2013, Crescenti, et al.
Microsoft Press Computer Dictionary Third Edition, “Data Compression,” Microsoft Press, 1997, p. 130.
Pitoura et al., “Locating Objects in Mobile Computing”, IEEE Transactions on Knowledge and Data Engineering, vol. 13, No. 4, Jul.-Aug. 2001, pp. 571-592.
Rowe et al., “Indexes for User Access to Large Video Databases”, Storage and Retrieval for Image and Video Databases II, IS,& T/SPIE Symp. on Elec. Imaging Sci. & Tech., Feb. 1994, pp. 1-12.
Veeravalli, B., “Network Caching Strategies for a Shared Data Distribution for a Predefined Service Demand Sequence,” IEEE Transactions on Knowledge and Data Engineering, vol. 15, No. 6, Nov.-Dec. 2003, pp. 1487-1497.
Related Publications (1)
Number Date Country
20130007391 A1 Jan 2013 US
Provisional Applications (3)
Number Date Country
60143743 Jul 1999 US
60143744 Jul 1999 US
60179345 Jan 2000 US
Continuations (3)
Number Date Country
Parent 12702716 Feb 2010 US
Child 13615010 US
Parent 11356467 Feb 2006 US
Child 12702716 US
Parent 09610738 Jul 2000 US
Child 11356467 US