Method and apparatus for adaptive services networking
First Claim
1. A method for processing client file access transactions, the method comprising:
- presenting a virtual file system in an adaptive load balancer to a client computer system, the virtual file system providing access to an aggregated set of files stored by a plurality of server file systems respectively associated with a plurality of server computer systems;
receiving a client file access transaction from the client computer system, the client file access transaction specifying a file access operation to be performed relative to the virtual file system presented to the client computer system;
processing the client file access transaction in relation to metadata associated with the virtual file system, the metadata including translation data, to;
a) access metadata associated with the virtual file system to complete processing of the file access operation specified by the client file access transaction if the file access operation does not involve accessing a file stored by at least one of the plurality of server file systems; and
b) if the file access operation involves accessing a file stored by at least one of the plurality of server file systems, then translating, using the metadata, the client file access transaction into a server file access transaction for access to the file maintained within at least one of the plurality of server computer systems according to the file access operation specified by the client file access transaction by;
obtaining a virtual file identifier specified in the client file access transaction;
matching the virtual file identifier specified in the client file access transaction to a matching forwarding table entry in a forwarding table to identify a corresponding physical file identifier from the matching forwarding table entry;
creating the server file access transaction by replacing the virtual file identifier specified in the client file access transaction with the corresponding physical file identifier in the matching forwarding table entry, assigning a server transaction identity to the created server file access transaction, determining if an active transaction table includes an active transaction table entry that corresponds to the client transaction identity, and if not, creating an active transaction table entry including the assigned client transaction identity and an identity of the client computer system from which the client file access transaction was received;
storing the server transaction identity in an active transaction table entry that includes the client transaction identity of the received client file access transaction; and
forwarding the server file access transaction to a selected one of the plurality of server computer systems by identifying, from the matching forwarding table entry, the at least one server computer system at which an instance of that file can be accessed using the corresponding physical file identifier and forwarding the server file access transaction to a server computer system corresponding to the identified at least one server computer system.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus provide an adaptive load balancer that presents a virtual data system to client computer systems. The virtual data system provides access to an aggregated set of data, such as files or web service objects, available from a plurality of server data systems respectively operating within a plurality of server computer systems. The adaptive load balancer receives a client data access transaction from a client computer system that specifies a data access operation to be performed relative to the virtual data system presented to the client computer system. The adaptive load balancer processes the client data access transaction in relation to metadata associated with the virtual data system to provide access to the file or service object within a server computer system, or to access the metadata. The adaptive load balancer can work in conjunction with other adaptive load balancers to dynamically adjust to demands for access to data by replicating and migrating data such as files or service objects as needed between the server computer systems to accommodate data access demands.
395 Citations
35 Claims
-
1. A method for processing client file access transactions, the method comprising:
-
presenting a virtual file system in an adaptive load balancer to a client computer system, the virtual file system providing access to an aggregated set of files stored by a plurality of server file systems respectively associated with a plurality of server computer systems; receiving a client file access transaction from the client computer system, the client file access transaction specifying a file access operation to be performed relative to the virtual file system presented to the client computer system; processing the client file access transaction in relation to metadata associated with the virtual file system, the metadata including translation data, to; a) access metadata associated with the virtual file system to complete processing of the file access operation specified by the client file access transaction if the file access operation does not involve accessing a file stored by at least one of the plurality of server file systems; and b) if the file access operation involves accessing a file stored by at least one of the plurality of server file systems, then translating, using the metadata, the client file access transaction into a server file access transaction for access to the file maintained within at least one of the plurality of server computer systems according to the file access operation specified by the client file access transaction by; obtaining a virtual file identifier specified in the client file access transaction; matching the virtual file identifier specified in the client file access transaction to a matching forwarding table entry in a forwarding table to identify a corresponding physical file identifier from the matching forwarding table entry; creating the server file access transaction by replacing the virtual file identifier specified in the client file access transaction with the corresponding physical file identifier in the matching forwarding table entry, assigning a server transaction identity to the created server file access transaction, determining if an active transaction table includes an active transaction table entry that corresponds to the client transaction identity, and if not, creating an active transaction table entry including the assigned client transaction identity and an identity of the client computer system from which the client file access transaction was received; storing the server transaction identity in an active transaction table entry that includes the client transaction identity of the received client file access transaction; and forwarding the server file access transaction to a selected one of the plurality of server computer systems by identifying, from the matching forwarding table entry, the at least one server computer system at which an instance of that file can be accessed using the corresponding physical file identifier and forwarding the server file access transaction to a server computer system corresponding to the identified at least one server computer system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A method for processing client data access transactions, the method comprising:
-
in an adaptive load balancer, presenting a virtual data system to a client computer system, the virtual data system providing access to an aggregated set of data available from a plurality of server data systems respectively operating within a plurality of server computer systems; receiving a client data access transaction from the client computer system, the client data access transaction specifying a data access operation to be performed relative to the virtual data system presented to the client computer system; processing the client data access transaction in relation to metadata associated with the virtual data system, the metadata including translation data, to; a) access metadata associated with the virtual data system to complete processing of the data access operation specified by the client data access transaction if the data access operation does not involve access to data stored by at least one of the plurality of server data systems; and b) if the data access operation involves access to data stored by at least one of the plurality of server data systems, then translating, using the metadata, the client data access transaction into a server data access transaction for access to the data maintained within at least one of the plurality of server computer systems according to the data access operation specified by the client data access transaction by; obtaining a virtual data identifier specified in the client data access transaction; matching the virtual data identifier specified in the client data access transaction to a matching forwarding table entry in a forwarding table to identify a corresponding physical data identifier from the matching forwarding table entry; creating the server data access transaction by replacing the virtual data identifier specified in the client data access transaction with the corresponding physical data identifier in the matching forwarding table entry, assigning a server transaction identity to the created server data access transaction, determining if an active transaction table includes an active transaction table entry that corresponds to the client transaction identity, and if not, creating an active transaction table entry including the assigned client transaction identity and an identity of the client computer system from which the client data access transaction was received; storing the server transaction identity in an active transaction table entry that includes the client transaction identity of the received client data access transaction; and forwarding the server data access transaction to a selected one of the plurality of server computer systems by identifying, from the matching forwarding table entry, the at least one server computer system at which an instance of that data can be accessed using the corresponding physical data identifier and forwarding the server data access transaction to a server computer system corresponding to the identified at least one server computer system. - View Dependent Claims (29, 30, 31)
-
-
32. An adaptive load balancer comprising:
-
a processor; a memory; a first communications interface capable of communicating with a client computer system; a second communications interface capable of communicating with a plurality of server computer systems; and an interconnection mechanism coupling the processor, the memory, the first communications interface and the second communications interface; wherein the memory is encoded with an adaptive transaction application that when performed on the processor, produces an adaptive transaction processor that causes the adaptive load balancer to perform the operations of; presenting a virtual file system to the client computer system via the first communications interface, the virtual file system providing access to an aggregated set of files stored by a plurality of server file systems respectively associated with the plurality of server computer systems; receiving a client file access transaction from the client computer system via the first communications interface, the client file access transaction specifying a file access operation to be performed relative to the virtual file system presented to the client computer system; processing the client file access transaction in relation to metadata encoded in the memory associated with the virtual file system, the metadata including translation data, to; a) access the metadata in the memory associated with the virtual file system to complete processing of the file access operation specified by the client file access transaction if the file access operation does not involve accessing a file stored by at least one of the plurality of server file systems; and b) if the file access operation involves accessing a file stored by at least one of the plurality of server file systems, then translating, using the metadata, the client file access transaction into a server file access transaction for access to the file maintained within at least one of the plurality of server computer systems according to the file access operation specified by the client file access transaction by; obtaining a virtual file identifier specified in the client file access transaction; matching the virtual file identifier specified in the client file access transaction to a matching forwarding table entry in a forwarding table to identify a corresponding physical file identifier from the matching forwarding table entry; creating the server file access transaction by replacing the virtual file identifier specified in the client file access transaction with the corresponding physical file identifier in the matching forwarding table entry, assigning a server transaction identity to the created server file access transaction, determining if an active transaction table includes an active transaction table entry that corresponds to the client transaction identity, and if not, creating an active transaction table entry including the assigned client transaction identity and an identity of the client computer system from which the client file access transaction was received; storing the server transaction identity in an active transaction table entry that includes the client transaction identity of the received client file access transaction; and forwarding the server file access transaction to a selected one of the plurality of server computer systems by identifying from the matching forwarding table entry, the at least one server computer system at which an instance of that file can be accessed using the corresponding physical file identifier and forwarding the server file access transaction to a server computer system corresponding to the identified at least one server computer system. - View Dependent Claims (33)
-
-
34. A computer readable medium having computer executable instructions stored thereon which when executed by at least one processor of an adaptive load balancer cause the processor to process client data access transactions via operations comprising:
-
in an adaptive load balancer, presenting a virtual data system to a client computer system, the virtual data system providing access to an aggregated set of data available from a plurality of server data systems respectively operating within a plurality of server computer systems; receiving a client data access transaction from the client computer system, the client data access transaction specifying a data access operation to be performed relative to the virtual data system presented to the client computer system; processing the client data access transaction in relation to metadata associated with the virtual data system, the metadata including translation data, to; a) access metadata associated with the virtual data system to complete processing of the data access operation specified by the client data access transaction if the data access operation does not involve access to data stored by at least one of the plurality of server data systems; and b) if the data access operation involves access to data stored by at least one of the plurality of server data systems, then translating, using the metadata, the client data access transaction into a server data access transaction for access to the data maintained within at least one of the plurality of server computer systems according to the data access operation specified by the client data access transaction by; obtaining a virtual data identifier specified in the client data access transaction; matching the virtual data identifier specified in the client data access transaction to a matching forwarding table entry in a forwarding table to identify a corresponding physical data identifier from the matching forwarding table entry; creating the server data access transaction by replacing the virtual data identifier specified in the client data access transaction with the corresponding physical data identifier in the matching forwarding table entry, assigning a server transaction identity to the created server data access transaction, determining if an active transaction table includes an active transaction table entry that corresponds to the client transaction identity, and if not, creating an active transaction table entry including the assigned client transaction identity and an identity of the client computer system from which the client data access transaction was received; storing the server transaction identity in an active transaction table entry that includes the client transaction identity of the received client data access transaction; and forwarding the server data access transaction to a selected one of the plurality of server computer systems by identifying, from the matching forwarding table entry, the at least one server computer system at which an instance of that data can be accessed using the corresponding physical data identifier and forwarding the server data access transaction to a server computer system corresponding to the identified at least one server computer system. - View Dependent Claims (35)
-
Specification