System for synchronizing data stream transferred from server to client by initializing clock when first packet is received and comparing packet time information with clock
First Claim
1. In a computer network having a plurality of computer systems coupled by a communication medium, one of said plurality of computer systems being a server system, a different one of said plurality of computer systems being a client system, a method for synchronizing a data stream transferred from said server system to said client system, said method comprising the steps of:
- capturing information into a data packet, said capturing step being performed by said server system;
storing time information into said data packet, said time information indicating when said capturing step is complete;
transferring said data packet to said client system across said communication medium;
initializing a virtual server system clock if said data packet is a first data packet in said data stream, said initializing step including the step of computing a difference based on time information stamped on said first data packet and time information on a server system clock;
retrieving said time information from said data packet;
comparing said time information with said virtual server system clock; and
processing said information in said data packet if said time information indicates a time equal to a time indicated by said virtual server system clock.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for synchronizing multiple independent data streams in a networked computer system is disclosed. In a computer network having a plurality of computer systems coupled by a communication medium, one of the plurality of computer systems being a server system, a different one of the plurality of computer systems being a client system, a method for synchronizing a data stream transferred from the server system to the client system, the method comprising the steps of: 1) capturing information into a data packet, the capturing step being performed by the server system; 2) storing time information into the data packet, the time information indicating when the capturing step is complete; 3) transferring the data packet to the client system across the communication medium; 4) initializing a virtual server system clock if the data packet is a first data packet is the data stream; 5) retrieving the time information from the data packet; 6) comparing the time information with the virtual server system clock; and 7) processing the information in the data packet if the time information indicates a time equal to a time indicated by the virtual server system clock. The present invention further includes the steps of: 1) scheduling processing of the information in the data packet if the time information indicates a time later than a time indicated by the virtual server system clock; and 2) discarding the data packet if the time information indicates a time earlier than a time indicated by the virtual server system clock.
-
Citations
23 Claims
-
1. In a computer network having a plurality of computer systems coupled by a communication medium, one of said plurality of computer systems being a server system, a different one of said plurality of computer systems being a client system, a method for synchronizing a data stream transferred from said server system to said client system, said method comprising the steps of:
-
capturing information into a data packet, said capturing step being performed by said server system; storing time information into said data packet, said time information indicating when said capturing step is complete; transferring said data packet to said client system across said communication medium; initializing a virtual server system clock if said data packet is a first data packet in said data stream, said initializing step including the step of computing a difference based on time information stamped on said first data packet and time information on a server system clock; retrieving said time information from said data packet; comparing said time information with said virtual server system clock; and processing said information in said data packet if said time information indicates a time equal to a time indicated by said virtual server system clock. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a computer network having a plurality of computer systems coupled by a communication medium, one of said plurality of computer systems being a server system, a different one of said plurality of computer systems being a client system, a method for synchronizing data streams transferred from said server system to said client system, said method comprising the steps of:
-
capturing information into a first set of data packets, said capturing step being performed by said server system; capturing information into a second set of data packets, said capturing step being performed by said server system; storing time information into said first set of data packets, said time information indicating when said capturing step is complete; storing time information into said second set of data packets, said time information indicating when said capturing step is complete; transferring said first set of data packets to said client system across said communication medium in a first data stream; transferring said second set of data packets to said client system across said communication medium in a second data stream; initializing a virtual server system clock if a data packet is a first data packet in a data stream, said initializing step includes computing a difference based on the time stamped on a reference data packet in a respective data stream and a time reading of a server clock; retrieving said time information from data packets of said first set or said second set of data packets; comparing said time information with said virtual server system clock; and processing said information from data packets of said first set or said second set of data packets if said time information indicates a time equal to a time indicated by said virtual server system clock. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. In a computer network having a plurality of computer systems coupled by a communication medium, one of said plurality of computer systems being a server system, a different one of said plurality of computer systems being a client system, an apparatus for synchronizing a data stream transferred from said server system to said client system, said apparatus comprising:
-
means for capturing information into a data packet, said means for capturing residing in said server system; means for storing time information into said data packet, said time information indicating when said capturing is finished; means for transferring said data packet to said client system across said communication medium; means for initializing a virtual server system clock if said data packet is a first data packet in said data stream by generating a difference based on a time stamped on said first data packet and a time reading on a server clock; means for retrieving said time information from said data packet; means for comparing said time information with said virtual server system clock; and means for processing said information in said data packet if said time information indicates a time equal to a time indicated by said virtual server system clock. - View Dependent Claims (13, 14, 15, 16)
-
-
17. In a computer network having a plurality of computer systems coupled by a communication medium, one of said plurality of computer systems being a server system, a different one of said plurality of computer systems being a client system, an apparatus for synchronizing data streams transferred from said server system to said client system, said apparatus comprising:
-
means for capturing information into a first set of data packets, said means for capturing residing in said server system; means for capturing information into a second set of data packets, said means for capturing residing in said server system; means for storing time information into said first set of data packets, said time information indicating when said capturing is finished; means for storing time information into said second set of data packets, said time information indicating when said capturing is finished; means for transferring said first set of data packets to said client system across said communication medium in a first data stream; means for transferring said second set of data packets to said client system across said communication medium in a second data stream; means for initializing a virtual server system clock if a data packet is a first data packet in a data stream by generating a difference based on a time stamped on a reference data packet and time information on a server clock; means for retrieving said time information from data packets of said first set or said second set of data packets; means for comparing said time information with said virtual server system clock; and means for processing said information from data packets of said first set or said second set of data packets if said time information indicates a time equal to a time indicated by said virtual server system clock. - View Dependent Claims (18, 19, 20, 21)
-
-
22. In a computer network having a plurality of computer systems coupled by a communication medium, one of said plurality of computer systems being a server system, a different one of said plurality of computer systems being a client system, a method for synchronizing a data stream transferred from said server system to said client system, said method comprising the steps of:
-
capturing information into a data packet, said capturing step being performed by said server system; storing time information into said data packet, said time information indicating when said capturing step is complete; transferring said data packet to said client system across said communication medium; initializing a virtual server system clock if said data packet is a first data packet in said data stream; retrieving said time information from said data packet; comparing said time information with said virtual server system clock; processing said information in said data packet if said time information indicates a time equal to a time indicated by said virtual server system clock; calculating an index into said information in said data packet corresponding to a value in said virtual server system clock; discarding a first portion of said data packet from a beginning position in said data packet to a position in said data packet indicated by said index; and processing a second portion of said data packet from a position in said data packet indicated by said index to an ending position of said data packet.
-
-
23. In a computer network having a plurality of computer systems coupled by a communication medium, one of said plurality of computer systems being a server system, a different one of said plurality of computer systems being a client system, a method for synchronizing a data stream transferred from said server system to said client system, said method comprising the steps of:
-
capturing information into a data packet, said capturing step being performed by said server system; storing time information into said data packet, said time information indicating when said capturing step is complete; transferring said data packet to said client system across said communication medium; initializing a virtual server system clock if said data packet is a first data packet in said data stream; retrieving said time information from said data packet; comparing said time information with said virtual server system clock; processing said information in said data packet if said time information indicates a time equal to a time indicated by said virtual server system clock; and scheduling processing of said information in said data packet if said time information indicates a time later than a time indicated by said virtual server system clock.
-
Specification