Patent ID: 8117283

Claim:
A method for providing remote access to segments of a transmitted program, the method comprising: recording a first program; storing the first program at a communication server; receiving first information specifying a first segment of the first program from a first communication device at the communication server in response to user input issued to the first communication device; in response to receiving the first information at the communication server, transferring first access information from the communication server to the first communication device, wherein the first access information comprises information for accessing the first segment on the communication server; wherein the first access information is transferred from the first communication device to a second communication device; receiving a first request for access to the first segment from the second communication device at the communication server, wherein the first request is based on the first access information transferred from the first communication device to the second communication device; in response to receiving the first request at the communication server, transferring the first segment from the communication server to the second communication device; receiving second information specifying a first segment of a second program from the first communication device at the communication server in response to user input issued to the first communication device; in response to receiving the second information at the communication server, transferring a reply from the communication server to the first communication device indicating that the second program is not stored at the communication server to thereby direct the first communication device to transfer the first segment of the second program from the first communication device to the communication server; in response to receiving the first segment of the second program at the communication server, storing the first segment of the second program at the communication server; in response to receiving the first segment of the second program at the communication server, transferring second access information from the communication server to the first communication device, wherein the second access information comprises information for accessing the first segment of the second program on the communication server; receiving a second request for access to the first segment of the second program from the second communication device at the communication server, wherein the second request is based on second access information previously transferred from the first communication device to the second communication device; and in response to receiving the second request at the communication server, transferring the first segment of the second program from the communication server to the second communication device.