← Back to Patent Explorer
US5602992A Expired / Lapsed US ⏱️ 0.0 years remaining

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

Assignee: Intel Corp
•
Filing: 1993-11-29
•
Granted: 1997-02-11
•
Expires: 2013-11-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Gunner Danneels

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-23 19:11
CPC Classifications
H; H04; H04J; H04J3/00; H04J3/02; H04J3/06; H04J3/062; H04J3/0632; H04J3/0635; H04J3/0638; H04J3/0658; H04J3/0661; H04J3/0664; H04L; H04L65/00; H04L65/60; H04L65/70; H04L65/75; H04L65/764; H04L65/80; H04L9/00; H04L9/40; H04L65/1066; H04L65/1101; H04L69/00; H04L69/14

Claims Analysis

Total Claims: 29
Claim 1
Independent Claim 196 words
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.
Claim 2
Dependent Claim 196 words
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.
Claim 3
Dependent Claim 34 words
The method as claimed in claim 1 further including the step of: discarding said data packet if said time information indicates a time earlier than a time indicated by said virtual server system clock.
Claim 4
Dependent Claim 87 words
The method as claimed in claim 1 further including the steps of: 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.
Claim 5
Dependent Claim 21 words
The method as claimed in claim 1 wherein said information captured in said data packet comprises either video or audio information.
Claim 6
Dependent Claim 64 words
The method of claim 1, wherein said step of computing of a difference based on a first data packet and time information on a server clock further comprises the steps of: computing a value by subtracting the capture time period of said first data packet from the time information stamped on said first data packet; and subtracting said value from said server system clock.
Claim 7
Dependent Claim 289 words
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.
Claim 8
Dependent Claim 289 words
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.
Claim 9
Dependent Claim 49 words
The method as claimed in claim 6 further including the step of: scheduling processing of said information from data packets of said first set or said second set of data packets if said time information indicates a time later than a time indicated by said virtual server system clock.
Claim 10
Dependent Claim 44 words
The method as claimed in claim 6 further including the step of: discarding data packets of said first set or said second set of data packets if said time information indicates a time earlier than a time indicated by said virtual server system clock.
Claim 11
Dependent Claim 117 words
The method as claimed in claim 6 further including the steps of: calculating an index into said information in data packets of said first set or said second set of data packets corresponding to a value in said virtual server system clock; discarding a first portion of data packets of said first set or said second set of data packets from a beginning position in said data packets to a position in said data packets indicated by said index; and processing a second portion of data packets of said first set or said second set of data packets from a position in said data packets indicated by said index to an ending position of said data packets.
Claim 12
Dependent Claim 35 words
The method as claimed in claim 6 wherein said information captured in said first set of data packets comprises video information and said information captured in said second set of data packets comprises audio information.
Claim 13
Dependent Claim 64 words
The method of claim 6, wherein said step of computing of a difference based on a first data packet and time information on a server clock further comprises the steps of: computing a value by subtracting the capture time period of said first data packet from the time information stamped on said first data packet; and subtracting said value from said server system clock.
Claim 14
Dependent Claim 200 words
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.
Claim 15
Dependent Claim 200 words
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.
Claim 16
Dependent Claim 38 words
The apparatus as claimed in claim 12 further including: means for 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.
Claim 17
Dependent Claim 33 words
The apparatus as claimed in claim 12 further including: means for discarding said data packet if said time information indicates a time earlier than a time indicated by said virtual server system clock.
Claim 18
Dependent Claim 90 words
The apparatus as claimed in claim 12 further including: means for calculating an index into said information in said data packet corresponding to a value in said virtual server system clock; means for 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 means for 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.
Claim 19
Dependent Claim 21 words
The apparatus as claimed in claim 12 wherein said information captured in said data packet comprises either video or audio information.
Claim 20
Dependent Claim 295 words
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.
Claim 21
Dependent Claim 295 words
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.
Claim 22
Dependent Claim 48 words
The apparatus as claimed in claim 17 further including: means for scheduling processing of said information from data packets of said first set or said second set of data packets if said time information indicates a time later than a time indicated by said virtual server system clock.
Claim 23
Dependent Claim 43 words
The apparatus as claimed in claim 17 further including: means for discarding data packets of said first set or said second set of data packets if said time information indicates a time earlier than a time indicated by said virtual server system clock.
Claim 24
Dependent Claim 120 words
The apparatus as claimed in claim 17 further including: means for calculating an index into said information in data packets of said first set or said second set of data packets corresponding to a value in said virtual server system clock; means for discarding a first portion of data packets of said first set or said second set of data packets from a beginning position in said data packets to a position in said data packets indicated by said index; and means for processing a second portion of data packets of said first set or said second set of data packets from a position in said data packets indicated by said index to an ending position of said data packets.
Claim 25
Dependent Claim 35 words
The apparatus as claimed in claim 17 wherein said information captured in said first set of data packets comprises video information and said information captured in said second set of data packets comprises audio information.
Claim 26
Dependent Claim 242 words
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.
Claim 27
Dependent Claim 242 words
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.
Claim 28
Dependent Claim 195 words
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.
Claim 29
Dependent Claim 195 words
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.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-02-11 2000-08-12 2001-02-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-02-11 2004-08-12 2005-02-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-02-11 2008-08-12 2009-02-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag