摘要:
The present invention allows arbitrary actions to be performed when grafting the namespace of one device into the namespace of the same or another device. Grafting of the namespace of one device into the namespace of the same or another device creates a logical namespace that can be presented to the user to allow the user to access information in a logically consistent manner. Active mount points are created by adding an active mount point attribute to a file or directory. When an I/O request processed by an I/O system encounters an active mount point, it turns control for processing the active mount point over to an active mount point driver. The active mount point driver assumes responsibility for processing the I/O request. In processing the I/O request, the active mount point driver decides what action should be taken to further processing of the I/O request. To further processing of the I/O request, the active mount point driver may utilize information from a variety of sources as well as make requests to other processes, drivers, systems, subsystems, devices, and so forth. Such actions may include those normally associated with an I/O request such as retrieving and mounting appropriate media as well as actions not normally associated with an I/O request.
摘要:
A processing system processes an I/O request and, upon interruption of the I/O request, identifies an owner of an active mount point or another entity, and then resumes processing the I/O request under the control of the identified owner. For instance, when an I/O request processed by an I/O system encounters an active mount point, the processing is interrupted as control is turned over to an active mount point driver. The active mount point driver assumes responsibility for processing the I/O request. In processing the I/O request, the active mount point driver decides what action should be taken to further processing of the I/O request. To further processing of the I/O request, the active mount point driver may utilize information from a variety of sources as well as make requests to other processes, drivers, systems, subsystems, devices, and so forth. Such actions may include those normally associated with an I/O request such as retrieving and mounting appropriate media as well as actions not normally associated with an I/O request. This technique allows arbitrary actions to be performed when grafting the name space of one device into the name space of the same or another device using active mount points.
摘要:
The present invention allows arbitrary actions to be performed when grafting the name space of one device into the name space of the same or another device. Grafting of the name space of one device into the name space of the same or another device creates a logical name space that can be presented to the user to allow the user to access information in a logically consistent manner. Active mount points are created by adding an active mount point attribute to a file or directory. When an I/O request processed by an I/O system encounters an active mount point, it turns control for processing the active mount point over to an active mount point driver. The active mount point driver assumes responsibility for processing the I/O request. In processing the I/O request, the active mount point driver decides what action should be taken to further processing of the I/O request. To further processing of the I/O request, the active mount point driver may utilize information from a variety of sources as well as make requests to other processes, drivers, systems, subsystems, devices, and so forth. Such actions may include those normally associated with an I/O request such as retrieving and mounting appropriate media as well as actions not normally associated with an I/O request.
摘要:
The present invention allows arbitrary actions to be performed when grafting the name space of one device into the name space of the same or another device. Grafting of the name space of one device into the name space of the same or another device creates a logical name space that can be presented to the user to allow the user to access information in a logically consistent manner. Active mount points are created by adding an active mount point attribute to a file or directory. When an I/O request processed by an I/O system encounters an active mount point, it turns control for processing the active mount point over to an active mount point driver. The active mount point driver assumes responsibility for processing the I/O request. In processing the I/O request, the active mount point driver decides what action should be taken to further processing of the I/O request. To further processing of the I/O request, the active mount point driver may utilize information from a variety of sources as well as make requests to other processes, drivers, systems, subsystems, devices, and so forth. Such actions may include those normally associated with an I/O request such as retrieving and mounting appropriate media as well as actions not normally associated with an I/O request.
摘要:
In order to decrease the overall cost of storing large amounts of data, systems have been developed that use a hierarchy of storage devices from fast local disks to archival off-line storage. Such storage devices may be managed in a hierarchy where data that is accessed only infrequently can be moved to archival storage. The present invention relies on a tight integration of a hierarchical storage manager into the I/O system so that remotely stored attributes can be identified and tracked internally to the I/O system just like any other attributes. Implementations of the present invention may rely on a layered driver model where lower level drivers detect the existence of files with remotely stored attributes and then transfer control for processing I/O requests involving files with remotely stored attributes to higher level drivers. The higher level drivers then assume control to finish processing the I/O request.
摘要:
A change journal for recording changes to files in a storage volume of a computer system keeps a record for each notable change to a file. Each record is given a unique update sequence number, which is a serial number of ever-increasing value assigned to each record. Each record includes one or more change reasons specifying what type of action occurred with respect to the associated file. The presence of a close file change reason in a record connotes that the record includes all the notable changes made to the file in a preceding file session, which is defined as the time occurring after the last time a close file change reason was entered in a change record, up to the time of the next succeeding close file change reason. For each file, an entry is made in the storage volume's master file table referencing the change record that currently includes the most up-to-date information on the status of the change reasons for the file.
摘要:
I/O systems of computers typically utilize multiple layered drivers to process I/O requests. I/O requests are passed from one driver to another in a defined sequence with each driver performing its processing in turn. The present invention provides a system and method for interrupting the normal sequence of processing and for allowing drivers that would not normally process an I/O request to intervene and assume control for processing the I/O request. The system and method provides a flexible and extensible way to define special types of files or directories that require special processing by a particular driver. The present invention adds a "reparse point" attribute to a file or directory. The reparse point attribute preferably contains a tag which identifies a particular driver as the owner of the reparse point and a data value which can be used by the owner driver to store any information necessary or useful in processing an I/O request. When a driver encounters a reparse point attribute, processing is interrupted and the tag and value of the reparse point are extracted from the attribute. The tag and value are then passed to the next higher level driver in the layered driver system until one driver recognizes itself as the owner of the reparse point. That driver then assumes responsibility for completing the I/O request. The owner of the reparse point may process the entire I/O requests itself, or may make further use of other drivers by passing other I/O requests to the drivers.
摘要:
When a client requests content from a Content Delivery Network based system (or other system), that content is typically provided from a source capable of providing high performance to that client. However, if the system determines that the client is using a slow connection, then the content is transmitted to the client from a source that provides a lower performance to that client, with a minimal or no performance penalty observable by the user of the client.
摘要:
Techniques are described for providing client computing nodes with enhanced access to data from remote locations, such as by providing and using local capabilities specific to the remote locations. In at least some situations, the access of a client computing node to data from a remote location may be enhanced by automatically performing activities local to the client computing node that improve the efficiency of communications sent between the client computing node and the remote location. As one example, access to data from a remote service may be enhanced by locally performing activities specific to the remote service, such as by using information about the remote service's internal mechanisms to cause the desired data to be provided from internal storage devices of the remote service without passing through front-end or other intermediate devices of the remote service while traveling to the client computing node.
摘要:
Techniques are described for facilitating interactions between task requesters who have tasks that are available to be performed and task performers who are available to perform tasks, such as via an electronic marketplace acting as an intermediary for task performance. In some situations, the facilitating of the interactions includes automatically matching available tasks to task performer users, such as to automatically generate recommendations for task performer users of available tasks that are appropriate for those task performer users to perform. Such generated task recommendations for task performer users may then be provided to those task performer users in various ways, including via one or more Web pages or electronic communications sent to devices of the task performer users. The task recommendations may be generated in various ways, including based on previous tasks performed by the task performer users and on other prior activities of the task performer users.