Patents by Inventor Xiaoye Jiang

Xiaoye Jiang has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7555504
    Abstract: Read-only and read-write snapshot copies of a production file in a Unix-based file system are organized as a version set of file inodes and shared file blocks. Version pointers and branch pointers link the inodes. Initially the production file can have all its blocks preallocated or it can be a sparse file having only an inode and its last data block. A protocol is provided for creating read-only and read-write snapshots, deleting snapshots, restoring the production file with a specified snapshot, refreshing a specified snapshot, and naming the snapshots. Block pointers are marked with a flag indicating whether or not the pointed-to block is owned by the parent inode. A non-owner marking is inherited by all of the block's descendants. The block ownership controls the copying of indirect blocks when writing to the production file, and also controls deallocation and passing of blocks when deleting a read-only snapshot.
    Type: Grant
    Filed: September 23, 2003
    Date of Patent: June 30, 2009
    Assignee: EMC Corporation
    Inventors: Peter Bixby, Sachin Mullick, Jiannan Zheng, Xiaoye Jiang, Sorin Faibish
  • Patent number: 7475124
    Abstract: The SCSI and iSCSI layers over the TCP/IP layers of the protocol stack in an IP network client and in an IP network-attached storage server are replaced with a thin network block services layer. The network block services layer 71 implements a network block services protocol having a very reduced set of commands transmitted between the client and the storage server. The network block services protocol is used in a configuration process in which logical volumes of the network-attached storage are exported to the client and become local pseudo-disk instances. The client's operating system and application programs access the local pseudo-disk instances with what appears to be a standard device driver for a local disk device. The device driver maintains a TCP connection to each open device, and responds to connection failure by re-connecting with an alternative server IP port.
    Type: Grant
    Filed: September 25, 2002
    Date of Patent: January 6, 2009
    Assignee: EMC Corporation
    Inventors: Xiaoye Jiang, Dinesh Venkatesh, Mark K. Ku, Xiangping Chen
  • Patent number: 7412496
    Abstract: To permit multiple unsynchronized processors to update the file-modification time attribute of a file during concurrent asynchronous writes to the file, a primary processor having a clock manages access to metadata of the file. A number of secondary processors service client request for access to the file. Each secondary processor has a timer. When the primary processor grants a range lock upon the file to a secondary, it returns its clock time (m). Upon receipt, the secondary starts a local timer (t). When the secondary modifies the file data, it determines a file-modification time that is a function of the clock time and the timer interval, such as a sum (m+t). When the secondary receives an updated file-modification time (mp) from the primary, if mp>m+t, then the secondary updates the clock time (m) to (mp) and resets its local timer.
    Type: Grant
    Filed: August 22, 2003
    Date of Patent: August 12, 2008
    Assignee: EMC Corporation
    Inventors: Stephen A Fridella, Gang Ma, Xiaoye Jiang, Sorin Faibish, Rui Liang
  • Publication number: 20080005468
    Abstract: A cached disk array includes a disk storage array, a global cache memory, disk directors coupling the cache memory to the disk storage array, and front-end directors for linking host computers to the cache memory. The front-end directors service storage access requests from the host computers, and the disk directors stage requested data from the disk storage array to the cache memory and write new data to the disk storage. At least one of the front-end directors or disk directors is programmed for block resolution of virtual logical units of the disk storage, and for obtaining, from a storage allocation server, space allocation and mapping information for pre-allocated blocks of the disk storage, and for returning to the storage allocation server requests to commit the pre-allocated blocks of storage once data is first written to the pre-allocated blocks of storage.
    Type: Application
    Filed: May 8, 2006
    Publication date: January 3, 2008
    Inventors: Sorin Faibish, Stephen Fridella, Uday Gupta, Xiaoye Jiang, Peter Bixby
  • Patent number: 7315926
    Abstract: A protocol is provided for allocating file locking tasks between primary and secondary data mover computers in a network file server. When there is frequent read access and infrequent write access to a file, a primary data mover grants read locks to the entire file to secondary data movers, and the secondary data movers grant read locks to clients requesting read access. When write access to the file is needed, the read locks to the entire file are released and the read locks granted to the clients are released or expire or are demoted to non-conflicting byte range locks managed by the primary data mover. Concurrent read and write access to the same file is then managed by the primary data mover.
    Type: Grant
    Filed: September 21, 2004
    Date of Patent: January 1, 2008
    Assignee: EMC Corporation
    Inventors: Stephen A. Fridella, Xiaoye Jiang, Uday K. Gupta, Sorin Faibish
  • Publication number: 20070260842
    Abstract: In a data processing system, a first processor pre-allocates data blocks for use in a file system at a later time when a second processor needs data blocks for extending the file system. The second processor selectively maps the logical addresses of the pre-allocated blocks so that when the pre-allocated blocks are used in the file system, the layout of the file system on disk is improved to avoid block scatter and enhance I/O performance. The selected mapping can be done at a program layer between a conventional file system manager and a conventional logical volume layer so that there is no need to modify the data block mapping mechanism of the file system manager or the logical volume layer. The data blocks can be pre-allocated adaptively in accordance with the allocation history of the file system.
    Type: Application
    Filed: May 8, 2006
    Publication date: November 8, 2007
    Inventors: Sorin Faibish, Stephen Fridella, Xiaoye Jiang, Uday Gupta
  • Publication number: 20070260830
    Abstract: A primary processor manages metadata of a production dataset and a snapshot copy, while a secondary processor provides concurrent read-write access to the primary dataset. The secondary processor determines when a first write is being made to a data block of the production dataset, and in this case sends a metadata change request to the primary data processor. The primary data processor commits the metadata change to the production dataset and maintains the snapshot copy while the secondary data processor continues to service other read-write requests. The secondary processor logs metadata changes so that the secondary processor may return a “write completed” message before the primary processor commits the metadata change. The primary data processor pre-allocates data storage blocks in such a way that the “write anywhere” method does not result in a gradual degradation in I/O performance.
    Type: Application
    Filed: May 8, 2006
    Publication date: November 8, 2007
    Inventors: Sorin Faibish, Stephen Fridella, Uday Gupta, Xiaoye Jiang
  • Patent number: 7284016
    Abstract: Internally, a production file system and each of its related snapshot file systems have a common file system identifier (fid?) and a unique respective file system identifier (fsid?). Externally, the production file system and each of its related snapshot file systems has a common file system identifier (fsid) and a unique respective file identifier (fid). For example, the “fsid” and “fid” for the production and snapshot file systems are interchanged between a client-server protocol layer and a logical volume layer in a file server. Moreover, the file handle for an object indicates whether an object is in either a production file system that is not configured to have related snapshots, a production file system that is configured to have related snapshots, or a snapshot file system. When the object is in a snapshot file system, the file handle also indicates the related production file system.
    Type: Grant
    Filed: December 3, 2002
    Date of Patent: October 16, 2007
    Assignee: EMC Corporation
    Inventors: Dinesh Venkatesh, Xiaoye Jiang, Jiannan Zheng, Uresh Vahalia
  • Publication number: 20070179934
    Abstract: Accordingly a method and interface allows an attribute data base used by an Information Manager to be quickly populated and accurately maintained. A single Bulk Attribute Retrieval Request triggers the primary storage device to collect object attribute information. The method allows for selective collection of objects and attributes by providing filters and attribute lists in the Requests. The Request may be used to provide an incremental scan with appropriate time stamp filtering. In addition, the size of the results can be controlled by the IM by eliminating attributes that are not of interest to the IM. The Request is advantageously issued over a FileMover interface, which is an HTTP connection, and encoded in XML, allowing the IM to easily customize the Request as desired.
    Type: Application
    Filed: January 27, 2006
    Publication date: August 2, 2007
    Applicant: EMC Corporation
    Inventors: Ivan Basov, Christian Chuba, Stephen Fridella, Uday Gupta, Xiaoye Jiang, Christopher Stacey, Jiannan Zheng, Eyal Zimran
  • Publication number: 20070088702
    Abstract: An intelligent network client has the capability of accessing a first network server in accordance with a first high-level file access protocol, and responding to a redirection reply from the first network server by accessing a second network server in accordance with a second high-level file access protocol. For example, the intelligent network client can be redirected from a CIFS/DFS server to a NFS server, and from an NFSv4 server to a CIFS server. Once redirected, the intelligent network client performs a directory mounting operation so that a subsequent client access to the same directory goes directly to the second network server. For example, the first network server is a namespace server for translating pathnames in a client-server network namespace into pathnames in a NAS network namespace, and the second network server is a file server in the NAS network namespace.
    Type: Application
    Filed: October 3, 2005
    Publication date: April 19, 2007
    Inventors: Stephen Fridella, Sorin Faibish, Uday Gupta, Xiaoye Jiang, Eyal Zimran, Christopher Stacey
  • Publication number: 20070055702
    Abstract: A file server system has a cluster of server computers that share access to a file system in shared storage. One of the server computers has primary responsibility for management of access to the file system. In order to reduce the possibility of primary server overload when a large number of the clients happen to concurrently access the same file system, most metadata processing operations are offloaded to secondary server computers. This also facilitates recovery from failure of a primary server computer since only a fraction of the ongoing metadata operations of a primary server computer is interrupted by a failure of the primary server computer. For example, a secondary data mover may truncate, delete, create, or rename a file in response to a client request.
    Type: Application
    Filed: September 7, 2005
    Publication date: March 8, 2007
    Inventors: Stephen Fridella, Xiaoye Jiang, Sorin Faibish, John Forecast
  • Publication number: 20070055703
    Abstract: A namespace server translates client requests for access to files referenced by pathnames in a client-server namespace into requests for access to files referenced by pathnames in a NAS network namespace. The namespace server also translates between different file access protocols. If a client supports redirection and is requesting access to a file in a file server that supports the client's redirection, then the namespace server may redirect the client to the NAS network pathname of the file. Otherwise, the namespace server forwards a translated client request to the file server, and returns a reply from the file server to the client. A file server may redirect a redirection-capable client's access back to the namespace server for access to a share, directory, or file that is offline for migration, or for a deletion or name change that would require a change in translation information in the namespace server.
    Type: Application
    Filed: September 7, 2005
    Publication date: March 8, 2007
    Inventors: Eyal Zimran, Christopher Stacey, Mario Wurzl, Sorin Faibish, Stephen Fridella, Xiaoye Jiang, Uday Gupta
  • Publication number: 20060230148
    Abstract: For each high-level protocol, a respective mesh of Transmission Control Protocol (TCP) connections is set up for a cluster of server computers for the forwarding of client requests. Each mesh has a respective pair of TCP connections in opposite directions between each pair of server computers in the cluster. The high-level protocols, for example, include the Network File System (NFS) protocol, and the Common Internet File System (CIFS) protocol. Each mesh can be shared among multiple clients because there is no need for maintenance of separate TCP connection state for each client. The server computers may use Remote Procedure Call (RPC) semantics for the forwarding of the client requests, and prior to the forwarding of a client request, a new unique transaction ID can substituted for an original transaction ID in the client request so that forwarded requests have unique transaction IDs.
    Type: Application
    Filed: April 6, 2005
    Publication date: October 12, 2006
    Inventors: John Forecast, Stephen Fridella, Sorin Faibish, Xiaoye Jiang, Uday Gupta
  • Publication number: 20060129695
    Abstract: Network servers in a cluster share the same network protocol address for incoming client requests, and in a data link layer protocol a reply of a client to a request from a server is returned to this same server. For example: (1) ports of the servers are clustered into one single network channel used for incoming and outgoing requests to and from the servers; or (2) ports of the servers are clustered into one single network channel used for incoming requests to the servers and a separate port of each of the servers is used for outgoing requests from each of the servers; or (3) logical ports of the servers are clustered into one network channel used for requests to the servers and a separate logical port of each of the servers is used for outgoing requests from each of the servers.
    Type: Application
    Filed: December 14, 2004
    Publication date: June 15, 2006
    Inventors: Sorin Faibish, Xiaoye Jiang, Dennis Ting, Yehoshoua Sasson, Arthur Harris
  • Publication number: 20060074925
    Abstract: Servers in a storage system store a nested multilayer directory structure, and a global index that is an abstract of the directory structure. The global index identifies respective portions of the directory structure that are stored in respective ones of the servers, and the global index identifies paths through the directory structure linking the respective portions. Upon performing a top-down search of the directory structure in response to a client request and finding that a portion of it is offline, the global index is searched to discover portions of the directory structure that are located below the offline portion. The global index may also identify the respective server storing each of the respective portions of the directory structure, and may indicate whether or not each of the respective portions of the directory structure is known to be offline.
    Type: Application
    Filed: September 21, 2004
    Publication date: April 6, 2006
    Inventors: Peter Bixby, Xiaoye Jiang, Uday Gupta, Sorin Faibish
  • Publication number: 20060064405
    Abstract: A network file server has storage for storing a file system, and a computer programmed for access to the file system in accordance with a file access protocol and in accordance with a storage access protocol. The computer receives a file access request from a network client for access to a file in the file system in accordance with the network file access protocol. The computer decides whether it should finish the file access using the file access protocol or the client should finish the file access using the storage access protocol. Upon deciding that the client should finish the file access using the storage access protocol, the computer returns to the client metadata of the file including metadata specifying addresses of logical blocks of storage allocated to the file, and then the computer responds to storage access requests from the client by performing read-write access to the file.
    Type: Application
    Filed: September 21, 2004
    Publication date: March 23, 2006
    Inventors: Xiaoye Jiang, Uday Gupta, Sorin Faibish, Rui Liang
  • Publication number: 20060064554
    Abstract: A protocol is provided for allocating file locking tasks between primary and secondary data mover computers in a network file server. When there is frequent read access and infrequent write access to a file, a primary data mover grants read locks to the entire file to secondary data movers, and the secondary data movers grant read locks to clients requesting read access. When write access to the file is needed, the read locks to the entire file are released and the read locks granted to the clients are released or expire or are demoted to non-conflicting byte range locks managed by the primary data mover. Concurrent read and write access to the same file is then managed by the primary data mover.
    Type: Application
    Filed: September 21, 2004
    Publication date: March 23, 2006
    Inventors: Stephen Fridella, Xiaoye Jiang, Uday Gupta, Sorin Faibish
  • Patent number: 7010554
    Abstract: Metadata management in a file server or storage network is delegated from a primary data processor to a secondary data processor in order to reduce data traffic between the primary data processor and the secondary data processor. The primary data processor retains responsibility for managing locks upon objects in the file system that it owns, and also retains responsibility for allocation of free blocks and inodes of the file system. By leasing free blocks and inodes to the secondary and granting locks to the secondary, the secondary can perform the other metadata management tasks such as appending blocks to a file, truncating a file, creating a file, and deleting a file.
    Type: Grant
    Filed: April 4, 2002
    Date of Patent: March 7, 2006
    Assignee: EMC Corporation
    Inventors: Xiaoye Jiang, Gang Ma, Jiannan Zheng
  • Publication number: 20050240628
    Abstract: Metadata management in a file server or storage network is delegated from a primary data processor to a secondary data processor in order to reduce data traffic between the primary data processor and the secondary data processor. The primary data processor retains responsibility for managing locks upon objects in the file system that it owns, and also retains responsibility for allocation of free blocks and inodes of the file system. By leasing free blocks and inodes to the secondary and granting locks to the secondary, the secondary can perform the other metadata management tasks such as appending blocks to a file, truncating a file, creating a file, and deleting a file.
    Type: Application
    Filed: June 27, 2005
    Publication date: October 27, 2005
    Inventors: Xiaoye Jiang, Gang Ma, Uresh Vahalia
  • Patent number: 6889288
    Abstract: In a network attached cached disk storage system, data is transmitted over the network in data packets having a data length that is much smaller than the logical block size for reading or writing to disk storage. To avoid copying of data from network port buffers to the cache memory, the cache blocks of the cache memory are organized as linked lists of list elements, which can be used as network port input or output buffers. For TCP data packets, for example, each list element has a data slot for storing up to 1,500 bytes, and a field indicating the number of bytes stored in the data slot.
    Type: Grant
    Filed: December 2, 2002
    Date of Patent: May 3, 2005
    Assignee: EMC Corporation
    Inventors: Jean-Pierre Bono, Jiannan Zheng, Peter C. Bixby, Xiaoye Jiang