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

Distributed real-time communications system

Assignee: AVATAR ONTOLOGY Ltd
•
Filing: 1996-04-22
•
Granted: 1999-12-28
•
Expires: 2016-04-22
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus is provided which enables users to communicate in a perceived real time environment. In one embodiment a number of musical parts are contributed one each from a number of client terminals. Each terminal generates and sends to a server a short sequence or sequence of sequences, for example a few bars of music. The server echoes the sequences out to each of the other clients' terminals where they are synchronised to a local clock and repeated a plurality of times, with the generated sequence being repeated at the sending client a similar number of times. The local synchronisacion overcomes the problems of propagation delay between clients and server and the repetition of sequences allows a continuous stream of data to be output at each client. A solo, or non-repetitive line may be added by commencing sending the solo line to the server before the remaining lines. The solo line is buffered at each of the clients and then synchronized to the local clock. The non-solo lines arrive at the solo client after the solo data stream has commenced. However, as they are repetitive they are synchronised by the local clock to the next sequence repeat.

Inventors

  • 👤 Matthew Donaldson Moller

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 07:37
CPC Classifications
G; G10; G10H; G10H1/00; G10H1/0033; G10H1/0041; G10H1/0058; H; H04; H04L; H04L12/00; H04L12/02; H04L12/16; H04L12/18; H04L12/1813; H04L12/1822; H04L65/00; H04L65/60; H04L65/61; H04L65/611; H04L65/70; H04L65/80; H04L9/00; H04L9/40; G10H2240/00; G10H2240/171; G10H2240/175; G10H2240/281; G10H2240/311; H04L65/1066; H04L65/1101; H04L67/00; H04L67/01

Claims Analysis

Total Claims: 32
Claim 1
Independent Claim 213 words
A method for synchronising data from a plurality of sources over a client-server network comprising the steps of: sending a first start command from the server to a first client to start a local clock at said first client; sending a continuous stream of data from said first client to said server; sending a further start command from the server to a plurality of further clients to start a local clock in each of said further clients, said further start command being delayed with respect to said first start command; sending a sequence of data from each of said plurality of further clients to said server; sending said continuous data stream from said server to each of said plurality of further clients; re-synchronising said received continuous data stream at each of said plurality of further clients; sending the data sequences from said server to each of said plurality of further clients and to said first client; wherein said step of sending either includes or excludes sending a given data sequence back to a respective further client from which it was sent; re-synchronising the received data sequences at each of said clients to the local clock; and repeating the received and locally generated data sequences at each of said clients a plurality of times.
Claim 2
Independent Claim 213 words
A method for synchronising data from a plurality of sources over a client-server network comprising the steps of: sending a first start command from the server to a first client to start a local clock at said first client; sending a continuous stream of data from said first client to said server; sending a further start command from the server to a plurality of further clients to start a local clock in each of said further clients, said further start command being delayed with respect to said first start command; sending a sequence of data from each of said plurality of further clients to said server; sending said continuous data stream from said server to each of said plurality of further clients; re-synchronising said received continuous data stream at each of said plurality of further clients; sending the data sequences from said server to each of said plurality of further clients and to said first client; wherein said step of sending either includes or excludes sending a given data sequence back to a respective further client from which it was sent; re-synchronising the received data sequences at each of said clients to the local clock; and repeating the received and locally generated data sequences at each of said clients a plurality of times.
Claim 3
Dependent Claim 22 words
A method according to claim 1, wherein one or more of said sequences of data comprises a sequence of sequences of data.
Claim 4
Dependent Claim 17 words
A method according to claim 1, wherein each data sequence is representative of a musical instrumental part.
Claim 5
Dependent Claim 24 words
A method according to claim 3, wherein one or more of said data sequences is generated by a Musical Instrument Digital Interface (MIDI) device.
Claim 6
Dependent Claim 17 words
A method according to claim 4, comprising playing back the received data sequences on said MIDI device.
Claim 7
Dependent Claim 43 words
A method according to claim 1, wherein the sequence of data sent by each client co the server comprises data about a sequence of one or more musical notes and includes the relative timing of the note, and other parameters describing the note.
Claim 8
Dependent Claim 15 words
A method according to claim 1, wherein the length of each data sequence is variable.
Claim 9
Dependent Claim 20 words
A method according to claim 1, wherein the length of the data sequence produced by each client is the same.
Claim 10
Dependent Claim 26 words
A method according to claim 1, wherein one or more clients generate a data sequence having a length different to that of said first data sequence.
Claim 11
Dependent Claim 20 words
A method according to claim 2, wherein the length of each sequence of said sequence of sequences is the same.
Claim 12
Dependent Claim 17 words
A method according to claim 2, wherein the sequences comprising said sequence of sequences have different lengths.
Claim 13
Dependent Claim 24 words
A method according to claim 9, wherein the length of each longer sequence is an integral multiple of the length of the shortest sequence.
Claim 14
Dependent Claim 55 words
A method according to claim 1, comprising, for each local clock: setting a beat length; and on each beat: a) retrieving a data stream from the server; b) examining the data stream for data to be played back; c) outputting the playback data; and d) repeating steps a) to c) for any remaining data streams.
Claim 15
Dependent Claim 22 words
A method according to claim 13, wherein each local clock includes a counter, comprising the step of incrementing the counter every beat.
Claim 16
Dependent Claim 42 words
A method according to claim 14, wherein the data sequence sent to each client includes sequence length data, comprising the step of dividing the cumulative count of said counter by the sequence length and determining the present sequence beat from the remainder.
Claim 17
Dependent Claim 199 words
Apparatus for synchronizing data from a plurality of sources over a client-server network comprising: means for sending a first start command from the server to a first client to start a local clock at said first client; means for sending a continuous stream of data from said first client to said server; means for sending a further start command from the server to a plurality of further clients to start a local clock in each of said further clients, said further start command being delayed with respect to said first start command; means for sending a sequence of data from each of said plurality of further clients to said server; means for sending said continuous data stream from said server the each of said plurality of further clients; means for re-synchronising said received continuous data stream at each of said plurality of further clients; means for sending the data sequences from said server to each of said plurality of further clients and to said first client; means for re-synchronising the received data sequences at each of said clients to the local clock; and means for repeating the received data sequences at each of said clients a plurality of times.
Claim 18
Dependent Claim 199 words
Apparatus for synchronizing data from a plurality of sources over a client-server network comprising: means for sending a first start command from the server to a first client to start a local clock at said first client; means for sending a continuous stream of data from said first client to said server; means for sending a further start command from the server to a plurality of further clients to start a local clock in each of said further clients, said further start command being delayed with respect to said first start command; means for sending a sequence of data from each of said plurality of further clients to said server; means for sending said continuous data stream from said server the each of said plurality of further clients; means for re-synchronising said received continuous data stream at each of said plurality of further clients; means for sending the data sequences from said server to each of said plurality of further clients and to said first client; means for re-synchronising the received data sequences at each of said clients to the local clock; and means for repeating the received data sequences at each of said clients a plurality of times.
Claim 19
Dependent Claim 21 words
Apparatus according to claim 16, wherein one or more of said sequences of data comprises a sequence of sequences of data.
Claim 20
Dependent Claim 16 words
Apparatus according to claim 16, wherein each data sequence is representative of a musical instrumental part.
Claim 21
Dependent Claim 17 words
Apparatus according to claim 18, wherein said generating means comprises a Musical Instrument Digital Interface (MIDI) device.
Claim 22
Dependent Claim 18 words
Apparatus according to claim 19, comprising means for playing back the received data sequences on said MIDI device.
Claim 23
Dependent Claim 42 words
Apparatus according to claim 18, wherein the sequence of data sent by each client to the server comprises data about a sequence of one or more musical noses and includes the relative timing of the note, and other parameters describing the note.
Claim 24
Dependent Claim 14 words
Apparatus according to claim 16, wherein the length of each data sequence is variable.
Claim 25
Dependent Claim 19 words
Apparatus according to claim 16, wherein the length of the data sequence produced by each client is the same.
Claim 26
Dependent Claim 25 words
Apparatus according to claim 16, wherein one or more clients generate a data sequence having a length different to that of said first data sequence.
Claim 27
Dependent Claim 19 words
Apparatus according to claim 17, wherein the length of each sequence of said sequence of sequences is the same.
Claim 28
Dependent Claim 16 words
Apparatus according to claim 17, wherein the sequences comprising said sequence of sequences have different lengths.
Claim 29
Dependent Claim 23 words
Apparatus according to claim 24, wherein the length of each longer sequence is an integral multiple of the length of the shortest sequence.
Claim 30
Dependent Claim 53 words
Apparatus according to claim 16, comprising, for each local clock: means for setting a beat length; means for retrieving a data stream from the server on each beat; means for examining on each beat the data stream for data to be played back; and means for outputting the playback data on each beat.
Claim 31
Dependent Claim 23 words
Apparatus according to claim 28, wherein each local clock includes a counter, the apparatus further comprising means for incrementing the counter every beat.
Claim 32
Dependent Claim 43 words
Apparatus according to claim 29, wherein the data sequence sent to each client includes sequence length data, the apparatus further comprising means for dividing the cumulative count of said counter by the sequence length and determining the present sequence beat from the remainder.

References Cited (Backward Citations)

JPS63105590A Cited
US5020101A Cited
US5265248A Cited
US5398278A Cited
US5388264A Cited
US5602992A Cited
US5670732A Cited
US5661665A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-12-27 2003-06-28 2003-12-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-12-27 2007-06-28 2007-12-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-12-27 2011-06-28 2011-12-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag