1. A computer-implemented method of providing a version number of a first versioned object having a present name and a present version number, comprising:
in response to changing said present name of said first versioned object to a different name, said different name having been used by a second versioned object, said first versioned object being a first file, said present name being a file name of said first file, said second versioned object being a second file, said second file being different from said first file, said different name being a file name of said second file, said different name not being used by a previous version of said first versioned object, said second versioned object using said different name being associated with an existing version number comprising delimiter-separated components having a starting component and an ending component, said starting component being a left-most component of said delimiter-separated components, said ending component being a right-most component of said delimiter-separated components,
identifying a value of said starting component of said existing version number associated with said second versioned object;
generating a new version number for said first versioned object having said different name, said new version number comprising a new plurality of components, wherein a value of a new starting component of said new plurality of components of said new version number is different from said value of said starting component of said existing version number associated with said second versioned object, said new starting component being a left-most component of said new plurality of components of said new version number;
wherein in response to said different name being associated with a first successor of said first versioned object with respect to said present version number, said generating increments a value of an ending component of said present version number to provide a new ending component of said new plurality of components of said new version number, said new ending component being a right-most component of said new plurality of components; and
wherein in response to said different name being associated with an nth successor of said first versioned object with respect to said present version number, where n is greater than one, said generating said new version number appends a component pair comprising a pair component equal to n\u22121 and another pair component equal to a predetermined value to a right end of said new version number.
2. The method of claim 1 wherein a third versioned object having another existing version number uses said different name, said another existing version number comprising another delimiter-separated components having another starting component and another ending component, wherein said identifying identifies a highest value of said starting component of said existing version number associated with said second versioned object and said another starting component of said another existing version number associated with said third versioned object, and said generating said new version number comprises incrementing said highest value by a predetermined value to provide an incremented value, and said new starting component of said new plurality of components of said new version number is set to said incremented value.
3. The method of claim 1 wherein said new plurality of components of said new version number is a delimiter-separated series of components.
4. The method of claim 1 wherein a uniform resource identifier (URI) comprises said different name and said new version number.
5. The method of claim 4 further comprising: displaying said first versioned object associated with said URI.
6. An article of manufacture for providing a version number of a first versioned object having a present name and a present version number, said article of manufacture comprising:
a computer readable storage medium;
first program instructions to computer usable program code for, in response to changing said present name of said first versioned object to a different name, said different name having been used by a second versioned object, said first versioned object being a first file, said present name being a file name of said first file, said second versioned object being a second file, said second file being different from said first file, said different name being a file name of said second file, said different name not being used by a previous version of said first versioned object, said second versioned object using said different name being associated with an existing version number comprising delimiter-separated components having a starting component and an ending component, said starting component being a left-most component of said delimiter-separated components, said ending component being a right-most component of said delimiter-separated components,
identify a value of said starting component of said existing version number associated with said second versioned object; and
generate a new version number for said first versioned object having said different name, said new version number comprising a new plurality of components, wherein a value of a new starting component of said new plurality of components of said new version number is different from said value of said starting component of said existing version number associated with said second versioned object, said new starting component being a left-most component of said new plurality of components of said new version number;
wherein in response to said different name being associated with a first successor of said first versioned object with respect to said present version number, said first program instructions to generate said new version number increments a value of an ending component of said present version number to provide a new ending component of said new plurality of components of said new version number, said new ending component being at a right- most component of said new plurality of components;
wherein in response to said different name being associated with an nth successor of said first versioned object with respect to said present version number, where n is greater than one, said first program instructions to generate said new version number appends a component pair comprising a pair component equal to n\u22121 and another pair component equal to a predetermined value to a right end of said new version number; and
wherein said first program instructions are stored on said computer readable storage medium.
7. The article of manufacture of claim 6 wherein a third versioned object having another existing version number uses said different name, said another existing version number comprising another delimiter-separated components having another starting component and another ending component, said third versioned object being a third file, wherein said first program instructions to identify identifies a highest value of said starting component of said existing version number associated with said second versioned object and said another starting component of said another existing version number associated with said third versioned object, and said first program instructions to generate said new version number increments said highest value by a predetermined value to provide an incremented value, and said new starting component of said new plurality of components of said new version number is set to said incremented value.
8. The article of manufacture of claim 6 wherein said new plurality of components of said new version number is a delimiter-separated series of components.
9. The article of manufacture of claim 6 wherein a uniform resource identifier (URI) comprises said different name and said new version number.
10. The article of manufacture of claim 9 further comprising:
second program instructions to display said first versioned object associated with said URI, wherein said second program instructions are stored on said computer readable storage medium.
11. A computer system providing a version number of a first versioned object having a present name and a present version number, comprising:
a processor; and
a memory, storing instructions that when executed cause said processor to:
in response to changing said present name of said first versioned object to a different name, said different name having been used by a second versioned object, said first versioned object being a first file, said present name being a file name of said first file, said second versioned object being a second file, said second file being different from said first file, said different name being a file name of said second file, said different name not being used by a previous version of said first versioned object, said second versioned object using said different name being associated with an existing version number comprising delimiter-separated components having a starting component and an ending component, said starting component being a left-most component of said delimiter-separated components, said ending component being a right-most component of said delimiter-separated components,
identify a value of said starting component of said existing version number associated with said second versioned object; and
generate a new version number for said first versioned object having said different name, said new version number comprising a new plurality of components, wherein a value of a new starting component of said new plurality of components of said new version number is different from said value of said starting component of said existing version number associated with said second versioned object, said new starting component being a left-most component of said new plurality of components of said new version number;
wherein in response to said different name being associated with a first successor of said first versioned object with respect said present version number, said instructions to generate said new version number increments a value of an ending component of said present version number to provide a new ending component of said new plurality of components of said new version number, said new ending component being a right-most component of said new plurality of components of said new version number; and
wherein in response to said different name being associated with an nth successor of said first versioned object with respect to said present version number, where n is greater than one, said instructions to generate said new version number appends a component pair comprising a pair component equal to n\u22121 and another pair component equal to a predetermined value to a right end of said new version number.
12. The computer system of claim 11 wherein said value of said new starting component of said new version number is greater than said value of said starting component of said existing version number associated with said second versioned object using said different name.
13. The computer system of claim 11 wherein said components are integers.
14. The computer system of claim 11 wherein a uniform resource identifier (URI) comprises said different name and said new version number.
15. A computer-implemented method of providing a version number of a first versioned object having a present name and a present version number, comprising:
in response to changing said present name of said first versioned object to a different name, thereby producing a new version of said first versioned object, said first versioned object being a first file, said present name being a file name of said first file, said different name having been used by a second versioned object, said second versioned object being a second file, said second file being different from said first file, said different name being a file name of said second file, said different name not being used by a previous version of said first versioned object, said second versioned object using said different name being associated with an existing version number comprising delimiter-separated integers having a starting integer and an ending integer, said starting integer being a left-most integer of said delimiter-separated integers, said ending integer being a right-most integer of said delimiter-separated integers, wherein said first file is not a version of said second file, and said second file is not a version of said first file,
identifying a value of said starting integer of said existing version number associated with said second versioned object;
in response to said new version of said first versioned object being a first successor with respect to said present version number, generating a first new version number comprising a new plurality of delimiter-separated integers for said first versioned object using said different name, wherein a value of a starting integer of said new plurality of delimiter-separated integers of said first new version number is different from said value of said starting integer of said existing version number associated with said second versioned object, said starting integer of said new plurality of delimiter-separated integers of said new version number being a left-most integer, and a value of an ending integer of said new plurality of delimiter-separated integers of said first new version number is set to a value of an ending integer of said present version number plus one; and
in response to said new version of said first versioned object being a second successor with respect to said present version number, generating a second new version number comprising another new plurality of delimiter-separated integers for said first versioned object using said different name, wherein a value of a starting integer of said another new plurality of delimiter-separated integers of said second new version number is different from said value of said starting integer of said existing version number associated with said second versioned object, said starting integer of said another new plurality of delimiter-separated integers of said second new version number being a left most integer, and a component pair of (1.0) is appended to a right end of said second new version number.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method for routing a data request by a network server device, comprising the steps of:
receiving a Web protocol data request at the network server device;
providing a file protocol redirection to a requesting client in response to said Web protocol data request; and
transferring, to the requesting client, data requested in said Web protocol data request using a file access protocol specified in said file protocol redirection;
wherein said providing step further comprises
converting the Web protocol data request to a file access path indicating that the requesting client use the file access protocol to request the data, and
transmitting the file access path to the requesting client using the Web protocol; and
wherein said transferring step further comprises the steps of:
receiving, from said requesting client, a second data request in response to said file protocol redirection, said second data request requesting data transfer in the file access protocol specified in said file protocol redirection, and
transferring data, requested by the requesting client, to said requesting client in response to said second data request using the file access protocol.
2. The method of claim 1, wherein:
receiving the Web protocol data request at the network server comprises receiving a Hyper Text Transfer Protocol data request at the network server;
converting the Web protocol data request to the file access path indicating that the requesting client use the file access protocol to request the data comprises converting the Hyper Text Transfer Protocol data request into a file protocol redirection message, the file protocol redirection message including the file access path that is operable to direct the requesting client to use the file access protocol, specified in the file access path, to request the data;
transmitting the file access path to the requesting client using the Web protocol comprises transmitting the file protocol redirection message to the requesting client using the Hyper Text Transfer Protocol; and
receiving the second client data request in response to said file protocol redirection comprises receiving the second client data request from the requesting client in response to transmitting the file protocol redirection message, the second client data request requesting access to the file access path included in the file protocol redirection message via the file protocol specified in the file protocol redirection message.
3. The method of claim 2, wherein:
converting the Hyper Text Transfer Protocol data request into a file protocol redirection message comprises converting the Hyper Text Transfer Protocol data request into a file transfer protocol (FTP) redirection message, the FTP redirection message including the file access path that is operable to direct the requesting client to use the FTP protocol, specified in the file access path, to request the data;
transmitting the file protocol redirection message to the requesting client using the Hyper Text Transfer Protocol comprises transmitting the FTP redirection message to the requesting client using the Hyper Text Transfer Protocol; and
receiving the second client data request from the requesting client in response to transmitting the file protocol redirection message, comprises receiving the second client data request from the requesting client in response to transmitting the FTP redirection message, the second client data request requesting access to the file access path included in the file protocol redirection message via the FTP protocol specified in the FTP redirection message.
4. The method of claim 1 wherein said Web protocol is Hypertext Transfer Protocol.
5. The method of claim 1 wherein said Web protocol is Web Cache Communication Protocol.
6. The method of claim 1 wherein said file protocol redirection is an HTTP redirection to file transfer protocol (FTP).
7. The method of claim 1 wherein said file protocol redirection is an HTTP redirection to Common Internet File System (CIFS).
8. The method of claim 1 wherein said file protocol redirection is an HTTP redirection to Network File System (NFS).
9. The method of claim 1 wherein the step of providing said file redirection further comprises the step of determining the file protocol in response to an identity of the requesting client.
10. The method of claim 1 wherein the step of providing said file redirection further comprises the step of determining the file protocol in response to a configuration of the requesting client.
11. The method of claim 1 wherein said network server device is a content engine in a content delivery network.
12. The method of claim 1 wherein said network server device is a network attached storage device.
13. The method of claim 1, further comprising, in response to transmitting, receiving a file access protocol data request from the requesting client, via the file access protocol.
14. The method of claim 1, wherein, when the file access path specifies a File Transfer Protocol as the file access protocol, the file access path has a format \u201cftp:hostnamepathdirectoryfilename.ext\u201d and wherein, when the file access path specifies one of a Common Internet File System and a Network File System (NFS) as the file access protocol, the file access path has a format \u201cfile:mount-pathdirectoryfilename.ext.\u201d
15. The method of claim 1, wherein:
receiving a Web protocol data request at the network server comprises receiving a Hypertext Transfer protocol data request at the network server; and
providing the file protocol redirection in response to said Web protocol data request comprises providing a mount path redirection in response to said Hypertext Transfer protocol data request, a mount path of the mount path redirection being based on a identity of a requesting client, configuration parameters that indicate a file access protocol to be used to access a file, and a configuration of the client to mount file server volumes.
16. The method of claim 1, wherein:
receiving a Web protocol data request at the network server device comprises receiving a client request Uniform Resource Locator (URL); and
converting the Web protocol data request to a file access path indicating that the requesting client use the file access protocol to request the data comprises converting the client request URL to the file access path indicating that that requesting client use the file access protocol to request the data.
17. A system device for routing a data request, comprising:
means for receiving a Web protocol data request;
means for providing a file protocol redirection to a requesting client in response to said Web protocol data request; and
means for transferring, to the requesting client, data requested in said Web protocol data request using a file access protocol specified in said file protocol redirection;
wherein said means for providing further comprises
means for converting the Web protocol data request to a file access path indicating that the requesting client use the file access protocol to request the data, and
means for transmitting the file access path to the requesting client using the Web protocol; and
wherein said means for transferring further comprises:
means for receiving, from said requesting client, a second data request in response to said file protocol redirection, said second data request requesting data transfer in the file access protocol specified in said file protocol redirection, and
means for transferring data, requested by the requesting client, to said requesting client in response to said second data request using the file access protocol.
18. The system device of claim 17 wherein said Web protocol is Hypertext Transfer Protocol.
19. The system device of claim 17 wherein said Web protocol is Web Cache Communication Protocol.
20. The system device of claim 17 wherein said file protocol redirection is an HTTP redirection to file transfer protocol.
21. The system device of claim 17 wherein said file protocol redirection is an HTTP redirection to Common Internet File System.
22. The system device of claim 17 wherein said file protocol redirection is an HTTP redirection to Network File System.
23. The system device of claim 17 wherein said means for determining the file protocol further comprises means for determining the file protocol in response to an identity of the requesting client.
24. The system device of claim 17 where is means for providing a file redirection further comprises means for determining the file protocol in response to a configuration of the requesting client.
25. A computer program product having a computer-readable medium including computer program logic encoded thereon that, when performed on a computer system device having a coupling of a memory, a processor, and at least one communications interface, provides a method for routing a data request by performing the operations of:
receiving a Web protocol data request at a network server;
providing a file protocol redirection to a requesting client for said Web protocol data request; and
transferring to the requesting client data requested in said Web protocol data request using a file access protocol specified in said file protocol redirection;
wherein providing further comprises:
converting the Web protocol data request to a file access path indicating that the requesting client use the file access protocol to request the data, and
transmitting the file access path to the requesting client using the Web protocol; and
wherein transferring further comprises:
receiving, from the requesting client, a second data request in response to said file protocol redirection, said second data request requesting data transfer in the file access protocol specified in said file protocol redirection, and
transferring data, requested by the requesting client, to said requesting client in response to said second data request using the file access protocol.
26. The computer program product of claim 25, wherein:
receiving a Web protocol data request at the network server comprises receiving a Hypertext Transfer protocol data request at the network server; and
providing the file protocol redirection in response to said Web protocol data request comprises providing a mount path redirection in response to said Hypertext Transfer protocol data request, a mount path of the mount path redirection being based on a identity of a requesting client, configuration parameters that indicate a file access protocol to be used to access a file, and a configuration of the client to mount file server volumes.