This application is related to U.S. patent application Ser. No. 10/075,194, filed Feb. 12, 2002, and entitled “SYSTEM AND METHOD FOR PROVIDING MULTI-LOCATION ACCESS MANAGEMENT TO SECURED ITEMS,” which is hereby incorporated herein by reference.
1. Field of the Invention
The present invention relates to security systems for data and, more particularly, to security systems that produce audit files.
2. Description of the Related Art
Security systems can be used to restrict access to files (e.g., documents) through use of cryptology. Such security systems are often called file security systems or document security systems. Typically, the files (e.g., documents) are encrypted using a public key and then later decrypted by only those authorized users having an appropriate private key. It is advantageous to monitor security events of file security systems that occur over time. In this regard, file security systems can audit or log security events to an audit file (or log file). An audit file allows a security administrator to later review the security events that have occurred over time with respect to the file security system. Examples of security events could be failed attempts to open files, changes to authorized users, new security classifications, etc.
Furthermore, after audit files have been made, the audit files can be reviewed. The audit files enable a security administrator to diagnose conditions of the file security system. Typically, file security systems are often distributed across multiple machines and multiple locations, but are interconnected via a network. In contrast, the security administrator often resides at a central location. Hence, the file security system needs to transfer audit files to the central location. Unfortunately, however, if the audit files are locally created by local machines and then transmitted to the central location, the transmission of the audit files can involve the transfer of large amounts of data, which can hamper the ability of the file security system to operate as intended. Further complications result from the distributed, multi-tier file security system that uses multiple (possibly redundant) servers in multiple tiers.
Thus, there is a need for efficient and reliable methods to transmit audit files to a centralized audit location in an efficient and reliable manner so that subsequent audit analysis can be performed.
Broadly speaking, the invention relates to improved techniques for transferring files through a multi-tier computing environment. The transfer of files across the multiple tiers of the computing environment can use staging at intermediate tiers to facilitate the file transfer. Each tier can include at least one computing machine that includes a file transfer manager. The file transfer managers at the computing machines in each of the multiple tiers serve to effectuate the file transfer through the multi-tier computing environment.
In one embodiment, the multi-tier computing environment is a multi-tier file security system and the files being transferred are audit files. The multi-tier file security system provides efficient and reliable techniques to transfer audit files through the file security system. De-centralized audit files can thus be transmitted through the multi-tier file security system to a central location, e.g., an audit server, thereby facilitating review of the audit files.
The invention can be implemented in numerous ways, including as a method, system, device, and computer readable medium. Several embodiments of the invention are discussed below.
As a method for transferring a file from a local client to a remote server in a fault-tolerant manner, one embodiment of the invention includes at least the acts of: identifying a file to be transferred; dividing the file into a plurality of blocks; sending a next block of the plurality of blocks of the file to a receiver; receiving a returned status from the receiver; evaluating the returned status; repeating the acts of sending of the next block, receiving of the returned status and evaluating when the returned status is a first predetermined status; waiting for a predetermined period of time when the returned status is a second predetermined status; requesting, following the waiting for the predetermined period of time, an updated status from the remote receiver when the returned status is the second predetermined status; and concluding the transfer of the file when the returned status is a third predetermined status.
As a method for transferring a file from a sender computer to a receiver computer through at least one intermediate computer, one embodiment of the invention includes at least the acts of: sending the file block-by-block from the sender computer to the intermediate computer; staging the file at the intermediate computer once all of the blocks of the file have been received at the intermediate computer; thereafter sending the staged file block-by-block from the intermediate computer to the receiver computer; informing the intermediate computer once the receiver computer has all of the blocks of the staged file; and subsequently removing the staged file from the intermediate computer.
As a file transfer system for fault-tolerant file transfer over computers arranged in multiple tiers, one embodiment of the invention includes at least: a first computer that includes at least first data storage that stores a file to be transferred and a first file transfer manager; a second computer that includes at least a second file transfer manager and a second data storage that temporarily stores the file received from the first computer over a data transmission link; and a third computer that includes at least a third file transfer manager that receives the file from the second computer and a third data storage that stores the file, thereby completing the transfer of the file.
As a computer readable medium including at least computer program code for transferring a file from a sender computer to a receiver computer through at least one intermediate computer, one embodiment of the invention includes at least: computer program code for sending the file block-by-block from the sender computer to the intermediate computer; computer program code for staging the file at the intermediate computer once all of the blocks of the file have been received at the intermediate computer; computer program code for thereafter sending the staged file block-by-block from the intermediate computer to the receiver computer; computer program code for receiving status information at the intermediate computer that the receiver computer has all of the blocks of the staged file; and computer program code for subsequently removing the staged file from the intermediate computer after the status information is received.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
The invention relates to improved techniques for transferring files through a multi-tier computing environment. The transfer of files across the multiple tiers of the computing environment can use staging at intermediate tiers to facilitate the file transfer. Each tier can include at least one computing machine that includes a file transfer manager. The file transfer managers at the computing machines in each of the multiple tiers serve to effectuate the file transfer through the multi-tier computing environment.
In one embodiment, the multi-tier computing environment is a multi-tier file security system and the files being transferred are audit files. The multi-tier file security system provides efficient and reliable techniques to transfer audit files through the file security system. De-centralized audit files can thus be transmitted through the multi-tier file security system to a central location, e.g., an audit server, thereby facilitating review of the audit files.
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will become obvious to those skilled in the art that the invention may be practiced without these specific details. The description and representation herein are the common meanings used by those experienced or skilled in the art to most effectively convey the substance of their work to others skilled in the art. In other instances, well-known methods, procedures, components, and circuitry have not been described in detail to avoid unnecessarily obscuring aspects of the invention.
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Further, the order of blocks in process flowcharts or diagrams representing one or more embodiments of the invention do not inherently indicate any particular order nor imply any limitations in the invention.
Embodiments of the invention are discussed herein with reference to
Additionally, as the clients 106 operate in the context of the file security system 100 to provide restricted access to files, each computing machine within the file security system 100 can produce an audit file. Namely, the clients 106 can produce audit files 108 and the local server 104 can produce an audit file 114. In addition, the central server 102 might even produce an audit file. Typically, an administrator (e.g., security administrator) of the file security system 100 would interact with the central server 102. In one situation, the administrator would desire to review audit information that has been acquired by the file security system 100. The review of the audit files would allow the security administrator to diagnose problems with the system, detect attempts for unauthorized access, detect security breaches, and the like.
Hence, the audit files which are locally created by the various computing machines need to be transmitted to a central resource. The various computing devices make use of file transfer managers (FTMs) to transfer the audit files. Each of the clients 106 includes a file transfer manager (FTM) 110. The local server 104 also includes a file transfer manager 116.
As shown in
Within each tier, the computing machine includes a file transfer manager (FTM) that operates as a sender and/or receiver of blocks of an audit file. Hence, as shown in
The state machine 300 includes three states, namely, “incomplete” 302, “staged” 304 and “completed” 306. The state machine 300 pertains to the transfer of a file from one machine (e.g., computer) to another. When a file transfer is started, a state machine is initially within the “incomplete” state 302. As the data of the audit file being transferred is in transit, the state machine remains in the “incomplete” state 302. Once all of the data of the audit file has been successfully transferred, the state machine transitions 308 to the “staged” state 304, assuming that the recipient machine is not the final destination. From the “staged” state 304, the state machine transitions 310 to the “completed” state 306 once the state machine has been notified that that the transmission to the final destination machine has completed. At this point, the transfer of the audit file is completed. Hence, in the case in which the recipient machine is the final destination machine, then the state machine can transition 314 directly from the “incomplete” state 302 to the “completed” state 306.
Furthermore, for enhanced reliability, fault tolerance features are built-in to the state machine 300. In particular, the state machine 300 can transition 312 from the “staged” state 304 to the “incomplete” state 302 should the machine having the staged version of the audit file be shut down, fail, or otherwise lose ability to participate in the file transfer operation. Also, the state machine 300 allows the file transfer process to be restarted when communication errors or other technical problems exist. In particular, the state machine 300 can transition 316 from the “incomplete” state 302 to restart the transfer.
Initially, the client sends an audit file, block-by-block, to the local server. As the local server receives the audit file, the file transfer manager is in the “incomplete” state. Once the file transfer manager at the local server has received the audit file, the file transfer manager enters the “staged” state. The client is also aware that the local server has entered the staged state. In this example, the file transfer manager at the local server at this point enters the “restart” state due to some failure of the local server. The client is informed of the restart state and starts to resend the audit file to the local server. The local server then initially enters the “incomplete” state, but subsequently enters the “staged” state once all of the audit file has been received. Next, the local server can begin to send the audit file to the audit server. Once the audit server begins to receive the audit file, the audit server enters the “incomplete” state. Once the file transfer manager at the audit server has received all of the audit file, the file transfer manager enters the “completed” state given that the audit server is the final destination for the audit file. The file transfer manager at the local server becomes aware that the file transfer has been completed and thus enters the “completed” state. Thereafter, the client becomes aware that the local server has entered the “completed” state, and thus enters the “completed” state.
The multi-tier file transfer process 400 is a representative case involving three tiers and one restart. However, it should be understood that the file transfer process is flexible and fault-tolerant such that one to many tiers can be traversed by the audit file during the transfer process and that zero to many restarts can be invoked. During transfer, the audit files are staged at each of the intervening computing machines (e.g., servers) between the client and the audit server. Hence, the file transfer process is reliable, efficient and fault-tolerant.
The send process 500 initially sets 502 a file offset to zero (0). The audit file is partitioned into blocks to better manage the transfer of the audit file. The file offset is used to access each of the blocks. A first (next) block for the audit file at the current file offset is then sent 504 to the receiver. The receiver is the receiving machine or the receiver portion of the file transfer manager within the receiving machine. A sender is the sending machine or the sender portion of the file transfer manager within the sending machine.
A decision 506 then determines whether a communication error has resulted. When the decision 506 determines that a communication error has occurred, then the process 500 waits 508 for a retry delay period. After the retry delay period, the send process 500 returns to repeat the operation 504 and subsequent operations so that the block can again be sent.
On the other hand, when the decision 506 determines that there is no communication error, the receiver returns a status. The decision 510 determines whether the status returned by the receiver is “success”. When the decision 510 determines that the status returned is “success”, then the file offset is updated 512 so that a next block of the audit file can be retrieved. Following the operation 512, the send process 500 returns to repeat the operation 504 and subsequent operations so that the next block of the audit file can be sent to the receiver.
Alternatively, when the decision 510 determines that the status returned is not “success”, a decision 514 determines whether the status returned is “restart”. When the decision 514 determines that the status returned is “restart”, the send process 500 returns to repeat the operation 502 and subsequent operations so as to restart the send process 500.
On the other hand, when the decision 514 determines that the status returned is not “restart”, then a decision 516 determines whether the status returned is “staged”. When the decision 516 determines that the status returned is “staged”, the send process 500 waits 518 for a staged delay period. After the wait or delay for the staged delay period, the send process 500 requests 520 file transfer status from the receiver. Here, the send process 500 requests 520 (e.g., polls) the receiver to provide its current status. The status returned from the receiver is then used to repeat the decision 514 and subsequent operations so that a restart can occur if needed.
Alternatively, when the decision 516 determines that the status returned is not “staged”, then a decision 522 determines whether the status returned from the receiver is “completed”. When the decision 522 determines that the status returned is “completed”, a decision 524 determines whether the file transfer was initiated locally. When the decision 524 determines that the file transfer was initiated locally, then the send process 500 is complete and ends as the requested sending of the audit file has successfully completed. On the other hand, when the decision 524 determines that the file transfer was not initiated locally, the staged file is removed 526 from a local data store (e.g., disk drive). In this case, the send process 500 pertains to an intermediate machine that temporarily stores a staged file in its local data store during the transmission of the audit file. Once the transfer of the audit file has successfully completed, the staged file can be removed from the local store of the intervening machine. After the operation 526, the send process 500 is complete and ends.
Further, when the decision 522 determines that the status returned is not “completed”, then an error condition results because the file transfer never completes. In this case, an error is logged 528. The error can, for example, be logged in an audit file. After the error is logged 528, the file transfer is terminated 530. Thereafter, the send process 500 is complete and ends.
The receive process 600 begins with a decision 602 that determines whether a block of the audit file has been received. When the decision 602 determines that a block of the audit file has not yet been received, then the receive process 600 awaits the arrival of a block of the audit file. On the other hand, when the decision 602 determines that a block of the audit file has been received, then a decision 604 determines whether the file transfer status is known. If the receiving machine is the endpoint machine for the file transfer, then it knows its file transfer status. When the decision 604 determines that the file transfer status is not known, a decision 606 determines whether the file receiver is available. When the decision 606 determines that the file receiver is available, the file transfer status is obtained 608 from the file receiver. Following the operation 608, as well as following the decision 604 when the file transfer status is known, a decision 610 determines whether the file transfer status is “incomplete”. When the decision 610 determines that the file transfer status is not “incomplete”, the file transfer status can be returned 612 to the sender. The sender is the sending machine or the sender portion of the file transfer manager within the sending machine. Following the operation 612, the receive process 600 returns to repeat the decision 602 and subsequent operations so that additional blocks of the audit file can be received.
On the other hand, when the decision 610 determines that the file transfer status is “incomplete”, a decision 614 can determine whether the byte offset is as expected. The byte offset provides an indication that previously sent blocks of the audit file have been properly received. Further, when the decision 606 determines that the file receiver is not available, the receive process 600 assumes 616 that the file transfer status is “incomplete”, and the byte offset is set 618 to zero (0). Following the operation 618, the receive process 600 also performs the decision 614 to determine whether the byte offset is as expected.
When the decision 614 determines that the byte offset is as expected, the received block is written 620 to the staging area. Here, the received block is temporarily stored in a local memory storage (e.g., a local data store) at the receiver. At this point, the received block is staged on the receiving machine for subsequent transmission to another machine (typically in a subsequent tier). After the received block has been written 620 to the staging area, the byte offset is updated 622 to account for the reception of the block. Next, a decision 624 determines whether the received block is the last block of the audit file. When the decision 624 determines that the received block is not the last block of the audit file, the receive process 600 returns to repeat the decision 602 and subsequent operations so that additional blocks of the audit file can be received and processed in a similar manner.
Alternatively, when the decision 624 determines that the received block is the last block of the audit file, a decision 626 determines whether the transfer is “complete”. Here, the status can be “complete” or “staged”, depending on whether the receiving machine is the endpoint machine (i.e., destination machine) for the audit file. When the decision 626 determines that the transfer is complete, then the file transfer status is set 628 to “complete”. Alternatively, when the decision 626 determines that the transfer is not complete, then the file transfer status is set 630 to “staged”. Following the operations 628 and 630, the file transfer status is returned 632 to the sender. Here, the sender is informed of the file transfer status of the receiver. Following the operation 632, the receive process 600 is complete and ends.
Alternatively, when the decision 614 determines that the byte offset is not as expected, then a decision 634 determines whether the byte offset is too low. When the decision 634 determines that the byte offset is not too low, then the file transfer status is set 636 to “success”. The “success” status indicates that the transfer of the audit file is proceeding successfully but is not yet “staged” or “completed”. In one example, the byte offset can become too low if multiple sending machines are sending (or have sent) blocks of the same audit file to the receiving machine. On the other hand, when the decision 634 determines that the byte offset is not too low, the file transfer status is set 638 to “restart” because at least one block of the audit file has been dropped in transit. Following the operations 636 and 638, the file transfer status is returned 640 to the sender. Following the operation 640, the receive process 600 returns to repeat the decision 602 and subsequent operations so that additional blocks of the audit file can be received and processed in a similar manner.
The status response process 700 begins with a decision 702 that determines whether a file transfer status request has been received. For example, the file transfer status request can be initiated by the request 520 for the file transfer status as shown in
When the decision 704 determines that the file transfer status is not known, then a decision 706 determines whether the file receiver is available. When the decision 706 determines that the file receiver is available, then the file transfer status is obtained 708 from the receiver. On the other hand, when the decision 706 determines that the file receiver is not available, then the file transfer status is assumed 710 to be “incomplete”. Following the operations 708 and 710, as well as following the decision 704 when the file transfer status is known, the file transfer status is sent 712 to the requestor (the sender). Following the operation 712, the status response process 700 is complete and ends.
In a file security system, it is not uncommon to have multiple tiers of computing machines. Since each of these machines can often participate in sending and receiving of audit files, the file transfer managers and the processing therefore in
Additional details on a security system can be found in U.S. patent application Ser. No. 10/075,194, filed Feb. 12, 2002, and entitled “SYSTEM AND METHOD FOR PROVIDING MULTI-LOCATION ACCESS MANAGEMENT TO SECURED ITEMS,” which is hereby incorporated by reference for all purposes.
The invention is preferably implemented by software, but can also be implemented in hardware or a combination of hardware and software. The invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, optical data storage devices, and carrier waves. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
The various embodiments, implementations and features of the invention noted above can be combined in various ways or used separately. Those skilled in the art will understand from the description that the invention can be equally applied to or used in other various different settings with respect to various combinations, embodiments, implementations or features provided in the description herein.
The advantages of the invention are numerous. Different embodiments or implementations may yield one or more of the following advantages. One advantage of the invention is that files (e.g., audit files) are able to be reliably and efficiently transmitted through a network. Another advantage of the invention is that the transfer of audit files is able to traverse a multi-tier network by staging the audit files at intermediate machines. Still another advantage of the invention is that audit files can be transmitted through a multi-tier network even when redundant computing machines are provided within the multiple tiers.
The many features and advantages of the present invention are apparent from the written description, and thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.
Number | Name | Date | Kind |
---|---|---|---|
4203166 | Eshram et al. | May 1980 | A |
4734568 | Watanabe | Mar 1988 | A |
4757533 | Allen et al. | Jul 1988 | A |
4796220 | Wolfe | Jan 1989 | A |
4799258 | Davies | Jan 1989 | A |
4827508 | Shear | May 1989 | A |
4888800 | Marshall et al. | Dec 1989 | A |
4972472 | Brown et al. | Nov 1990 | A |
5032979 | Hecht et al. | Jul 1991 | A |
5052040 | Preston et al. | Sep 1991 | A |
5058164 | Elmer et al. | Oct 1991 | A |
5144660 | Rose | Sep 1992 | A |
5204897 | Wyman | Apr 1993 | A |
5220657 | Bly et al. | Jun 1993 | A |
5235641 | Nozawa et al. | Aug 1993 | A |
5247575 | Sprague et al. | Sep 1993 | A |
5276735 | Boebert et al. | Jan 1994 | A |
5301247 | Rasmussen et al. | Apr 1994 | A |
5319705 | Halter et al. | Jun 1994 | A |
5369702 | Shanton | Nov 1994 | A |
5375169 | Seheidt et al. | Dec 1994 | A |
5404404 | Novorita | Apr 1995 | A |
5406628 | Beller et al. | Apr 1995 | A |
5414852 | Kramer et al. | May 1995 | A |
5495533 | Linehan et al. | Feb 1996 | A |
5499297 | Boebert | Mar 1996 | A |
5502766 | Boebert et al. | Mar 1996 | A |
5535375 | Eshel et al. | Jul 1996 | A |
5557765 | Lipner et al. | Sep 1996 | A |
5570108 | McLaughlin et al. | Oct 1996 | A |
5584023 | Hsu | Dec 1996 | A |
5600722 | Yamaguchi et al. | Feb 1997 | A |
5606663 | Kadooka | Feb 1997 | A |
5655119 | Davy | Aug 1997 | A |
5661806 | Nevoux et al. | Aug 1997 | A |
5671412 | Christiano | Sep 1997 | A |
5673316 | Auerbach et al. | Sep 1997 | A |
5677953 | Dolphin | Oct 1997 | A |
5680452 | Shanton | Oct 1997 | A |
5684987 | Mamiya et al. | Nov 1997 | A |
5689718 | Sakurai et al. | Nov 1997 | A |
5699428 | McDonnal et al. | Dec 1997 | A |
5708709 | Rose | Jan 1998 | A |
5715403 | Stefik | Feb 1998 | A |
5717755 | Shanton | Feb 1998 | A |
5720033 | Deo | Feb 1998 | A |
5729734 | Parker et al. | Mar 1998 | A |
5732265 | Dewitt et al. | Mar 1998 | A |
5745573 | Lipner et al. | Apr 1998 | A |
5748736 | Mittra | May 1998 | A |
5751287 | Hahn et al. | May 1998 | A |
5757920 | Misra et al. | May 1998 | A |
5765152 | Ericson | Jun 1998 | A |
5778065 | Hauser et al. | Jul 1998 | A |
5787169 | Eldridge et al. | Jul 1998 | A |
5787173 | Seheidt et al. | Jul 1998 | A |
5787175 | Carter | Jul 1998 | A |
5790789 | Suarez | Aug 1998 | A |
5790790 | Smith et al. | Aug 1998 | A |
5813009 | Johnson et al. | Sep 1998 | A |
5821933 | Keller et al. | Oct 1998 | A |
5825876 | Peterson | Oct 1998 | A |
5835592 | Chang et al. | Nov 1998 | A |
5835601 | Shimbo et al. | Nov 1998 | A |
5857189 | Riddle | Jan 1999 | A |
5862325 | Reed et al. | Jan 1999 | A |
5870468 | Harrison | Feb 1999 | A |
5870477 | Sasaki et al. | Feb 1999 | A |
5881287 | Mast | Mar 1999 | A |
5892900 | Ginter et al. | Apr 1999 | A |
5893084 | Morgan et al. | Apr 1999 | A |
5898781 | Shanton | Apr 1999 | A |
5922073 | Shimada | Jul 1999 | A |
5923754 | Angelo et al. | Jul 1999 | A |
5933498 | Schnek et al. | Aug 1999 | A |
5944794 | Okamoto et al. | Aug 1999 | A |
5953419 | Lohstroh et al. | Sep 1999 | A |
5968177 | Batten-Carew et al. | Oct 1999 | A |
5970502 | Salkewicz et al. | Oct 1999 | A |
5987440 | O'Neil et al. | Nov 1999 | A |
5991879 | Still | Nov 1999 | A |
5999907 | Donner | Dec 1999 | A |
6014730 | Ohtsu | Jan 2000 | A |
6023506 | Ote et al. | Feb 2000 | A |
6032216 | Schmuck et al. | Feb 2000 | A |
6038322 | Harkins | Mar 2000 | A |
6044155 | Thomlinson et al. | Mar 2000 | A |
6055314 | Spies et al. | Apr 2000 | A |
6058424 | Dixon et al. | May 2000 | A |
6061790 | Bodnar | May 2000 | A |
6069057 | Richards | May 2000 | A |
6085323 | Shimizu et al. | Jul 2000 | A |
6088717 | Reed et al. | Jul 2000 | A |
6088805 | Davis et al. | Jul 2000 | A |
6098056 | Rusnak et al. | Aug 2000 | A |
6101507 | Cane et al. | Aug 2000 | A |
6105131 | Carroll | Aug 2000 | A |
6122630 | Strickler et al. | Sep 2000 | A |
6134327 | Van Oorschot | Oct 2000 | A |
6134658 | Multerer et al. | Oct 2000 | A |
6134660 | Boneh et al. | Oct 2000 | A |
6134664 | Walker | Oct 2000 | A |
6141754 | Choy | Oct 2000 | A |
6145084 | Zuili | Nov 2000 | A |
6158010 | Moriconi et al. | Dec 2000 | A |
6161139 | Win et al. | Dec 2000 | A |
6182142 | Win et al. | Jan 2001 | B1 |
6185684 | Pravetz et al. | Feb 2001 | B1 |
6192408 | Vahalia et al. | Feb 2001 | B1 |
6205549 | Pravetz et al. | Mar 2001 | B1 |
6212561 | Sitaraman et al. | Apr 2001 | B1 |
6223285 | Komuro et al. | Apr 2001 | B1 |
6226618 | Downs et al. | May 2001 | B1 |
6226745 | Wiederhold et al. | May 2001 | B1 |
6240188 | Dondeti et al. | May 2001 | B1 |
6249873 | Richard et al. | Jun 2001 | B1 |
6253193 | Ginter et al. | Jun 2001 | B1 |
6260040 | Kauffman et al. | Jul 2001 | B1 |
6260141 | Park | Jul 2001 | B1 |
6263348 | Kathrow et al. | Jul 2001 | B1 |
6272631 | Thomlinson et al. | Aug 2001 | B1 |
6272632 | Carman et al. | Aug 2001 | B1 |
6282649 | Lambert et al. | Aug 2001 | B1 |
6289450 | Pensak et al. | Sep 2001 | B1 |
6292895 | Baltzley | Sep 2001 | B1 |
6292899 | McBride | Sep 2001 | B1 |
6295361 | Kadansky et al. | Sep 2001 | B1 |
6301614 | Najork et al. | Oct 2001 | B1 |
6308256 | Folmsbee | Oct 2001 | B1 |
6308273 | Goertzel et al. | Oct 2001 | B1 |
6314409 | Schnek et al. | Nov 2001 | B2 |
6317777 | Skarbo et al. | Nov 2001 | B1 |
6332025 | Takahashi et al. | Dec 2001 | B2 |
6336114 | Garrison | Jan 2002 | B1 |
6339423 | Sampson et al. | Jan 2002 | B1 |
6339825 | Pensak et al. | Jan 2002 | B2 |
6341164 | Dilkie et al. | Jan 2002 | B1 |
6343316 | Sakata | Jan 2002 | B1 |
6347374 | Drake et al. | Feb 2002 | B1 |
6349337 | Parsons et al. | Feb 2002 | B1 |
6351813 | Mooney et al. | Feb 2002 | B1 |
6356903 | Baxter et al. | Mar 2002 | B1 |
6356941 | Cohen | Mar 2002 | B1 |
6357010 | Viets et al. | Mar 2002 | B1 |
6363480 | Perlman | Mar 2002 | B1 |
6370249 | Van Oorschot | Apr 2002 | B1 |
6381698 | Devanbu et al. | Apr 2002 | B1 |
6389433 | Bolosky et al. | May 2002 | B1 |
6389538 | Gruse et al. | May 2002 | B1 |
6393420 | Peters | May 2002 | B1 |
6405315 | Burns et al. | Jun 2002 | B1 |
6421714 | Rai et al. | Jul 2002 | B1 |
6442688 | Moses et al. | Aug 2002 | B1 |
6442695 | Dutcher et al. | Aug 2002 | B1 |
6446090 | Hart | Sep 2002 | B1 |
6449721 | Pensak et al. | Sep 2002 | B1 |
6453353 | Win et al. | Sep 2002 | B1 |
6466932 | Dennis et al. | Oct 2002 | B1 |
6477544 | Bolosky et al. | Nov 2002 | B1 |
6490680 | Scheidt et al. | Dec 2002 | B1 |
6505300 | Chan et al. | Jan 2003 | B2 |
6510349 | Schnek et al. | Jan 2003 | B1 |
6519700 | Ram et al. | Feb 2003 | B1 |
6529956 | Smith et al. | Mar 2003 | B1 |
6530020 | Aoki | Mar 2003 | B1 |
6530024 | Proctor | Mar 2003 | B1 |
6542608 | Scheidt et al. | Apr 2003 | B2 |
6549623 | Scheidt et al. | Apr 2003 | B1 |
6550011 | Sims | Apr 2003 | B1 |
6557039 | Leong et al. | Apr 2003 | B1 |
6567914 | Just et al. | May 2003 | B1 |
6571291 | Chow | May 2003 | B1 |
6584466 | Serbinis et al. | Jun 2003 | B1 |
6587946 | Jakobsson | Jul 2003 | B1 |
6588673 | Chan et al. | Jul 2003 | B1 |
6594662 | Sieffert et al. | Jul 2003 | B1 |
6598161 | Kluttz et al. | Jul 2003 | B1 |
6603857 | Batten-Carew et al. | Aug 2003 | B1 |
6608636 | Roseman | Aug 2003 | B1 |
6611599 | Natarajan | Aug 2003 | B2 |
6611846 | Stoodley | Aug 2003 | B1 |
6615349 | Hair | Sep 2003 | B1 |
6615350 | Schell et al. | Sep 2003 | B1 |
6625650 | Stelliga | Sep 2003 | B2 |
6629243 | Kleinman et al. | Sep 2003 | B1 |
6633311 | Douvikas et al. | Oct 2003 | B1 |
6640307 | Viets et al. | Oct 2003 | B2 |
6646515 | Jun et al. | Nov 2003 | B2 |
6647388 | Numao et al. | Nov 2003 | B2 |
6678835 | Shah et al. | Jan 2004 | B1 |
6687822 | Jakobsson | Feb 2004 | B1 |
6711683 | Laczko et al. | Mar 2004 | B1 |
6718361 | Basani et al. | Apr 2004 | B1 |
6735701 | Jacobson | May 2004 | B1 |
6738908 | Bonn et al. | May 2004 | B1 |
6775779 | England et al. | Aug 2004 | B1 |
6782403 | Kino et al. | Aug 2004 | B1 |
6801999 | Venkatesan et al. | Oct 2004 | B1 |
6807534 | Erickson | Oct 2004 | B1 |
6807636 | Hartman et al. | Oct 2004 | B2 |
6810389 | Meyer | Oct 2004 | B1 |
6810479 | Barlow et al. | Oct 2004 | B1 |
6816871 | Lee | Nov 2004 | B2 |
6826698 | Minkin et al. | Nov 2004 | B1 |
6834333 | Yoshino et al. | Dec 2004 | B2 |
6834341 | Bahl et al. | Dec 2004 | B1 |
6845452 | Roddy et al. | Jan 2005 | B1 |
6851050 | Singhal et al. | Feb 2005 | B2 |
6865555 | Novak | Mar 2005 | B2 |
6874139 | Krueger et al. | Mar 2005 | B2 |
6877136 | Bess et al. | Apr 2005 | B2 |
6889210 | Vainstein | May 2005 | B1 |
6891953 | DeMello et al. | May 2005 | B1 |
6892201 | Brown et al. | May 2005 | B2 |
6892306 | En-Seung et al. | May 2005 | B1 |
6907034 | Begis | Jun 2005 | B1 |
6909708 | Krishnaswamy et al. | Jun 2005 | B1 |
6915434 | Kuroda et al. | Jul 2005 | B1 |
6920558 | Sames et al. | Jul 2005 | B2 |
6931450 | Howard et al. | Aug 2005 | B2 |
6931530 | Pham et al. | Aug 2005 | B2 |
6931597 | Prakash | Aug 2005 | B1 |
6938042 | Aboulhosn et al. | Aug 2005 | B2 |
6941355 | Donaghey et al. | Sep 2005 | B1 |
6941456 | Wilson | Sep 2005 | B2 |
6941472 | Moriconi et al. | Sep 2005 | B2 |
6944183 | Iyer et al. | Sep 2005 | B1 |
6947556 | Matyas, Jr. et al. | Sep 2005 | B1 |
6950818 | Dennis et al. | Sep 2005 | B2 |
6950936 | Subramaniam et al. | Sep 2005 | B2 |
6950941 | Lee et al. | Sep 2005 | B1 |
6950943 | Bacha et al. | Sep 2005 | B1 |
6952780 | Olsen et al. | Oct 2005 | B2 |
6957261 | Lortz | Oct 2005 | B2 |
6959308 | Gramsamer et al. | Oct 2005 | B2 |
6961849 | Davis et al. | Nov 2005 | B1 |
6968060 | Pinkas | Nov 2005 | B1 |
6971018 | Witt et al. | Nov 2005 | B1 |
6978376 | Giroux et al. | Dec 2005 | B2 |
6978377 | Asano et al. | Dec 2005 | B1 |
6988133 | Zavalkovsky et al. | Jan 2006 | B1 |
6988199 | Toh et al. | Jan 2006 | B2 |
6993135 | Ishibashi | Jan 2006 | B2 |
6996718 | Henry et al. | Feb 2006 | B1 |
7003117 | Kacker et al. | Feb 2006 | B2 |
7003560 | Mullen et al. | Feb 2006 | B1 |
7003661 | Beattie et al. | Feb 2006 | B2 |
7013332 | Friedel et al. | Mar 2006 | B2 |
7013485 | Brown et al. | Mar 2006 | B2 |
7020645 | Bisbee et al. | Mar 2006 | B2 |
7024427 | Bobbitt et al. | Apr 2006 | B2 |
7035854 | Hsiao et al. | Apr 2006 | B2 |
7035910 | Dutta et al. | Apr 2006 | B1 |
7046807 | Hirano et al. | May 2006 | B2 |
7051213 | Kobayashi et al. | May 2006 | B1 |
7058696 | Phillips et al. | Jun 2006 | B1 |
7058978 | Feuerstein et al. | Jun 2006 | B2 |
7073063 | Peinado | Jul 2006 | B2 |
7073073 | Nonaka et al. | Jul 2006 | B1 |
7076067 | Raike et al. | Jul 2006 | B2 |
7076312 | Law et al. | Jul 2006 | B2 |
7076469 | Schreiber et al. | Jul 2006 | B2 |
7076633 | Tormasov et al. | Jul 2006 | B2 |
7080077 | Ramamurthy et al. | Jul 2006 | B2 |
7095853 | Takuya | Aug 2006 | B2 |
7096266 | Lewin et al. | Aug 2006 | B2 |
7099926 | Ims et al. | Aug 2006 | B1 |
7107269 | Arlein et al. | Sep 2006 | B2 |
7107416 | Stuart et al. | Sep 2006 | B2 |
7117322 | Hochberg et al. | Oct 2006 | B2 |
7120635 | Bhide et al. | Oct 2006 | B2 |
7120757 | Tsuge | Oct 2006 | B2 |
7124164 | Chemtob | Oct 2006 | B1 |
7130964 | Ims et al. | Oct 2006 | B2 |
7131071 | Gune et al. | Oct 2006 | B2 |
7134041 | Murray et al. | Nov 2006 | B2 |
7136903 | Phillips et al. | Nov 2006 | B1 |
7145898 | Elliott | Dec 2006 | B1 |
7146388 | Stakutis et al. | Dec 2006 | B2 |
7146498 | Takechi et al. | Dec 2006 | B1 |
7159036 | Hinchliffe et al. | Jan 2007 | B2 |
7171557 | Kallahalla et al. | Jan 2007 | B2 |
7174563 | Brownlie et al. | Feb 2007 | B1 |
7177427 | Komuro et al. | Feb 2007 | B1 |
7178033 | Garcia | Feb 2007 | B1 |
7181017 | Nagel et al. | Feb 2007 | B1 |
7185364 | Knouse et al. | Feb 2007 | B2 |
7187033 | Pendharkar | Mar 2007 | B2 |
7188181 | Squier et al. | Mar 2007 | B1 |
7194764 | Martherus et al. | Mar 2007 | B2 |
7200747 | Riedel et al. | Apr 2007 | B2 |
7203317 | Kallahalla et al. | Apr 2007 | B2 |
7203968 | Asano et al. | Apr 2007 | B2 |
7219230 | Riedel et al. | May 2007 | B2 |
7224795 | Takada et al. | May 2007 | B2 |
7225256 | Villavicencio | May 2007 | B2 |
7227953 | Shida | Jun 2007 | B2 |
7233948 | Shamoon et al. | Jun 2007 | B1 |
7237002 | Estrada et al. | Jun 2007 | B1 |
7249044 | Kumar et al. | Jul 2007 | B2 |
7260555 | Rossmann et al. | Aug 2007 | B2 |
7265764 | Alben et al. | Sep 2007 | B2 |
7266684 | Jancula | Sep 2007 | B2 |
7280658 | Amini et al. | Oct 2007 | B2 |
7287055 | Smith et al. | Oct 2007 | B2 |
7290148 | Tozawa et al. | Oct 2007 | B2 |
7308702 | Thomsen et al. | Dec 2007 | B1 |
7313824 | Bala et al. | Dec 2007 | B1 |
7319752 | Asano et al. | Jan 2008 | B2 |
7380120 | Garcia | May 2008 | B1 |
7383586 | Cross et al. | Jun 2008 | B2 |
7386529 | Kiessig et al. | Jun 2008 | B2 |
20010011254 | Clark | Aug 2001 | A1 |
20010021926 | Schnek et al. | Sep 2001 | A1 |
20010032181 | Jakstadt et al. | Oct 2001 | A1 |
20010034839 | Karjoth et al. | Oct 2001 | A1 |
20010044903 | Yamamoto et al. | Nov 2001 | A1 |
20010056550 | Lee | Dec 2001 | A1 |
20020010679 | Felsher | Jan 2002 | A1 |
20020016922 | Richards et al. | Feb 2002 | A1 |
20020031230 | Sweet et al. | Mar 2002 | A1 |
20020035624 | Kim | Mar 2002 | A1 |
20020046350 | Lordemann et al. | Apr 2002 | A1 |
20020050098 | Chan | May 2002 | A1 |
20020056042 | Van Der Kaay et al. | May 2002 | A1 |
20020062240 | Morinville | May 2002 | A1 |
20020062245 | Niu et al. | May 2002 | A1 |
20020069077 | Brophy et al. | Jun 2002 | A1 |
20020069272 | Kim et al. | Jun 2002 | A1 |
20020069363 | Winburn | Jun 2002 | A1 |
20020073320 | Rinkevich et al. | Jun 2002 | A1 |
20020077986 | Kobata et al. | Jun 2002 | A1 |
20020077988 | Sasaki et al. | Jun 2002 | A1 |
20020087479 | Malcolm | Jul 2002 | A1 |
20020099947 | Evans | Jul 2002 | A1 |
20020124180 | Hagman | Sep 2002 | A1 |
20020129235 | Okamoto et al. | Sep 2002 | A1 |
20020133699 | Pueschel | Sep 2002 | A1 |
20020138762 | Horne | Sep 2002 | A1 |
20020143710 | Liu | Oct 2002 | A1 |
20020143906 | Tormasov et al. | Oct 2002 | A1 |
20020156726 | Kleckner et al. | Oct 2002 | A1 |
20020157016 | Russell et al. | Oct 2002 | A1 |
20020169963 | Seder et al. | Nov 2002 | A1 |
20020169965 | Hale et al. | Nov 2002 | A1 |
20020172367 | Mulder et al. | Nov 2002 | A1 |
20020174109 | Chandy et al. | Nov 2002 | A1 |
20020176572 | Ananth | Nov 2002 | A1 |
20020178271 | Graham et al. | Nov 2002 | A1 |
20020194484 | Bolosky et al. | Dec 2002 | A1 |
20020198798 | Ludwig et al. | Dec 2002 | A1 |
20030009685 | Choo et al. | Jan 2003 | A1 |
20030014391 | Evans et al. | Jan 2003 | A1 |
20030023559 | Choi et al. | Jan 2003 | A1 |
20030028610 | Pearson | Feb 2003 | A1 |
20030033528 | Ozog et al. | Feb 2003 | A1 |
20030037133 | Owens | Feb 2003 | A1 |
20030037237 | Abgrall et al. | Feb 2003 | A1 |
20030037253 | Blank et al. | Feb 2003 | A1 |
20030046238 | Nonaka et al. | Mar 2003 | A1 |
20030051039 | Brown et al. | Mar 2003 | A1 |
20030056139 | Murray et al. | Mar 2003 | A1 |
20030074580 | Knouse et al. | Apr 2003 | A1 |
20030078959 | Yeung et al. | Apr 2003 | A1 |
20030079175 | Limantsev | Apr 2003 | A1 |
20030081784 | Kallahalla et al. | May 2003 | A1 |
20030081787 | Kallahalla et al. | May 2003 | A1 |
20030088517 | Medoff | May 2003 | A1 |
20030088783 | DiPierro | May 2003 | A1 |
20030101072 | Dick et al. | May 2003 | A1 |
20030110169 | Zuili | Jun 2003 | A1 |
20030110266 | Rollins et al. | Jun 2003 | A1 |
20030110397 | Supramaniam | Jun 2003 | A1 |
20030115146 | Lee et al. | Jun 2003 | A1 |
20030115570 | Bisceglia | Jun 2003 | A1 |
20030120601 | Ouye | Jun 2003 | A1 |
20030120684 | Zuili et al. | Jun 2003 | A1 |
20030126434 | Lim et al. | Jul 2003 | A1 |
20030154381 | Ouye | Aug 2003 | A1 |
20030159066 | Staw et al. | Aug 2003 | A1 |
20030177070 | Viswanath et al. | Sep 2003 | A1 |
20030177378 | Wittkotter | Sep 2003 | A1 |
20030182579 | Leporini et al. | Sep 2003 | A1 |
20030196096 | Sutton | Oct 2003 | A1 |
20030197729 | Denoue et al. | Oct 2003 | A1 |
20030200202 | Hsiao et al. | Oct 2003 | A1 |
20030217264 | Martin et al. | Nov 2003 | A1 |
20030217281 | Ryan | Nov 2003 | A1 |
20030217333 | Smith et al. | Nov 2003 | A1 |
20030226013 | Dutertre | Dec 2003 | A1 |
20030233650 | Zaner et al. | Dec 2003 | A1 |
20040022390 | McDonald et al. | Feb 2004 | A1 |
20040025037 | Hair | Feb 2004 | A1 |
20040039781 | LaVallee et al. | Feb 2004 | A1 |
20040064710 | Vainstein | Apr 2004 | A1 |
20040068524 | Aboulhosn et al. | Apr 2004 | A1 |
20040068664 | Nachenberg et al. | Apr 2004 | A1 |
20040073718 | Johannessen et al. | Apr 2004 | A1 |
20040088548 | Smetters et al. | May 2004 | A1 |
20040098580 | DeTreville | May 2004 | A1 |
20040103202 | Hildebrand et al. | May 2004 | A1 |
20040103280 | Balfanz et al. | May 2004 | A1 |
20040133544 | Kiessig et al. | Jul 2004 | A1 |
20040158586 | Tsai | Aug 2004 | A1 |
20040193602 | Liu et al. | Sep 2004 | A1 |
20040193905 | Lirov et al. | Sep 2004 | A1 |
20040193912 | Li et al. | Sep 2004 | A1 |
20040199514 | Rosenblatt et al. | Oct 2004 | A1 |
20040215956 | Venkatachary et al. | Oct 2004 | A1 |
20040215962 | Douceur et al. | Oct 2004 | A1 |
20040243853 | Swander et al. | Dec 2004 | A1 |
20050021467 | Franzdonk | Jan 2005 | A1 |
20050021629 | Cannata et al. | Jan 2005 | A1 |
20050028006 | Leser et al. | Feb 2005 | A1 |
20050039034 | Doyle et al. | Feb 2005 | A1 |
20050071275 | Vainstein et al. | Mar 2005 | A1 |
20050071657 | Ryan | Mar 2005 | A1 |
20050071658 | Nath et al. | Mar 2005 | A1 |
20050081029 | Thornton et al. | Apr 2005 | A1 |
20050086531 | Kenrich | Apr 2005 | A1 |
20050091484 | Thornton et al. | Apr 2005 | A1 |
20050120199 | Carter | Jun 2005 | A1 |
20050138371 | Supramaniam | Jun 2005 | A1 |
20050138383 | Vainstein | Jun 2005 | A1 |
20050177716 | Ginter et al. | Aug 2005 | A1 |
20050177858 | Ueda | Aug 2005 | A1 |
20050198326 | Schlimmer et al. | Sep 2005 | A1 |
20050223242 | Nath | Oct 2005 | A1 |
20050223414 | Kenrich et al. | Oct 2005 | A1 |
20050235154 | Serret-Avila | Oct 2005 | A1 |
20050256909 | Aboulhosn et al. | Nov 2005 | A1 |
20050273600 | Seeman | Dec 2005 | A1 |
20050283610 | Serret-Avila et al. | Dec 2005 | A1 |
20050288961 | Tabrizi | Dec 2005 | A1 |
20060005021 | Torrubia-Saez | Jan 2006 | A1 |
20060075465 | Ramanathan et al. | Apr 2006 | A1 |
20060093150 | Reddy et al. | May 2006 | A1 |
20060168147 | Inoue et al. | Jul 2006 | A1 |
20060230437 | Boyer et al. | Oct 2006 | A1 |
20070006214 | Dubal et al. | Jan 2007 | A1 |
20070067837 | Schuster | Mar 2007 | A1 |
Number | Date | Country |
---|---|---|
0 672 991 | Sep 1995 | EP |
0 674 253 | Sep 1995 | EP |
0 809 170 | Nov 1997 | EP |
0 913 966 | May 1999 | EP |
0 913 967 | May 1999 | EP |
0 950 941 | Oct 1999 | EP |
0 950 941 | Oct 1999 | EP |
1 107 504 | Jun 2001 | EP |
1 107504 | Jun 2001 | EP |
1 130 492 | Sep 2001 | EP |
1 154 348 | Nov 2001 | EP |
1324565 | Jul 2003 | EP |
2 328 047 | Feb 1999 | GB |
2001-036517 | Feb 2001 | JP |
WO 9641288 | Dec 1996 | WO |
WO 0056028 | Sep 2000 | WO |
WO 0161438 | Aug 2001 | WO |
WO 0163387 | Aug 2001 | WO |
WO 0163387 | Aug 2001 | WO |
WO 0177783 | Oct 2001 | WO |
WO 0178285 | Oct 2001 | WO |
WO 0184271 | Nov 2001 | WO |