1. A disk controller comprising:
a reader configured to execute a plurality of read operations with respect to a first area on the magnetic disk while offsetting a head configured to read data from the magnetic disk, when the reader retries reading data from a magnetic disk;
a selector configured to select data from a plurality of pieces of read data from results of the read operations based on a predetermined index with respect to each data length shorter than a data length of the area; and
a combining module configured to combine pieces of read data selected for the data lengths, respectively.
2. The disk controller of claim 1, wherein
the selector comprises:
a decoder configured to execute maximum likelihood decoding on the pieces of read data from the results of the read operations based on a Viterbi algorithm;
a storage module configured to store the pieces of read data decoded by the decoder;
a waveform calculator configured to convolute each piece of read data decoded by the decoder in order to calculate a waveform signal representing the read data before the maximum likelihood decoding; and
a difference calculator configured to calculate a difference between the waveform signal and the read data before the maximum likelihood decoding with respect to each piece of read data, and
the selector is configured to select the data based on the difference.
3. The disk controller of claim 2, wherein the difference calculator is configured to calculate a noise component as the difference from the waveform signal and the read data before the maximum likelihood decoding.
4. The disk controller of claim 2, wherein the difference calculator is configured to calculate a signal power as the difference from the waveform signal and the read data before the maximum likelihood decoding.
5. The disk controller of claim 2, wherein the difference calculator is configured to calculate a signal-to-noise ratio as the difference from the waveform signal and the read data before the maximum likelihood decoding.
6. The disk controller of claim 2, further comprising a filter configured to execute finite impulse response filtering on each piece of read data from the results of the read operations using a predetermined parameter, wherein
the decoder is configured to execute the maximum likelihood decoding on each piece of read data after the filtering based on the Viterbi algorithm, and
the waveform calculator is configured to convolute each piece of read data decoded by the decoder using the predetermined parameter used in the filtering in order to calculate the waveform signal representing the read data before the maximum likelihood decoding.
7. The disk controller of claim 1, wherein
the reader is configured to execute the read operations with respect to a physical sector as the area on the magnetic disk, and
the selector is configured to select the data with respect to each section of the physical sector.
8. A disk drive device comprising:
a magnetic disk;
a reader configured to execute a plurality of read operations with respect to a first area on the magnetic disk while offsetting a head configured to read data from the magnetic disk when the reader retries reading data from a magnetic disk;
a selector configured to select data from a plurality of pieces of read data from results of the read operations based on a predetermined index with respect to each data length shorter than a data length of the area; and
a combining module configured to combine pieces of read data selected for the data lengths, respectively.
9. A disk control method comprising:
reading a first area on the magnetic disk a plurality of times while offsetting a head that reads data from the magnetic disk in retrying reading data from a magnetic disk;
selecting data from a plurality of pieces of read data from results of the read operations based on a predetermined index with respect to each data length shorter than a data length of the area; and
combining pieces of read data selected for the data lengths, respectively.
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 electronically communicating a correct Uniform Resource Locator (URL), the method comprising:
detecting a copying of a URL from a browser to be placed in an electronic communication;
obtaining one of a fully qualified domain name and an Internet Protocol (IP) address of a computing device hosting a resource referenced by said URL in response to said URL specifying an address of a loopback interface of said computing device via a localhost; and
replacing, by a processor, said localhost in said URL with one of said fully qualified domain name and said IP address of said computing device.
2. The method as recited in claim 1 further comprising:
providing said URL with one of said fully qualified domain name and said IP address of said computing device to be available to be shared with other users via said electronic communication.
3. The method as recited in claim 2, wherein said electronic communication comprises one of the following: electronic mail and instant messaging.
4. The method as recited in claim 1 further comprising:
querying an operating system of said computing device for one of said fully qualified domain name and said IP address of said computing device.
5. The method as recited in claim 1 further comprising:
obtaining said IP address of said computing device from a proxy component.
6. The method as recited in claim 1 further comprising:
accessing a domain name system server for translating said fully qualified domain name into said IP address in response to said computing system being relocated.
7. A computer program product embodied in a computer readable storage medium for electronically communicating a correct Uniform Resource Locator (URL), the computer program product comprising the programming instructions for:
detecting a copying of a URL from a browser to be placed in an electronic communication;
obtaining one of a fully qualified domain name and an Internet Protocol (IP) address of a computing device hosting a resource referenced by said URL in response to said URL specifying an address of a loopback interface of said computing device via a localhost; and
replacing said localhost in said URL with one of said fully qualified domain name and said IP address of said computing device.
8. The computer program product as recited in claim 7 further comprising the programming instructions for:
providing said URL with one of said fully qualified domain name and said IP address of said computing device to be available to be shared with other users via said electronic communication.
9. The computer program product as recited in claim 8, wherein said electronic communication comprises one of the following: electronic mail and instant messaging.
10. The computer program product as recited in claim 7 further comprising the programming instructions for:
querying an operating system of said computing device for one of said fully qualified domain name and said IP address of said computing device.
11. The computer program product as recited in claim 7 further comprising the programming instructions for:
obtaining said IP address of said computing device from a proxy component.
12. The computer program product as recited in claim 7 further comprising the programming instructions for:
accessing a domain name system server for translating said fully qualified domain name into said IP address in response to said computing system being relocated.
13. A method for electronically communicating a correct Uniform Resource Locator (URL), the method comprising:
detecting a copying of a URL from a browser to be placed in an electronic communication;
obtaining one or more of a list of possible URLs and a list of possible Media Access Control (MAC) addresses encoded as a single URL for accessing a computing device hosting a resource referenced by one or more of said list of possible URLs and said list of possible MAC addresses in response to said URL specifying an address of a loopback interface of said computing device via a localhost; and
replacing, by a processor, said URL containing said localhost with said single encoded URL.
14. The method as recited in claim 13 further comprising:
providing said single encoded URL to be available to be shared with other users via said electronic communication.
15. The method as recite din claim 14 further comprising:
decoding said single encoded URL into said list of possible URLs to access said resource hosted by said computing device.
16. The method as recited in claim 15 further comprising:
accessing each potential URL in said list of possible URLs.
17. The method as recited in claim 16 further comprising:
accessing said resource hosted by said computing device in response to said computing device being reachable by a URL in said list of possible URLs.
18. The method as recited in claim 16 further comprising:
decoding said single encoded URL into said list of possible MAC addresses in response to said computing device not being reachable by any URL in said list of possible URLs.
19. The method as recited in claim 18 further comprising:
querying a domain name system server to obtain a current Internet Protocol (IP) address for each MAC address in said list of possible MAC addresses.
20. The method as recited in claim 19 further comprising:
accessing each obtained IP address; and
accessing said resource hosted by said computing device in response to said computing device being reachable by an IP address obtained from said domain name system server.