Waveform synchronization system for data received from a network
Inventors
DHARWAD, HARSH • Ruchti, Timothy • Hughes, Paul • LIN, Abel
Assignees
Interested in licensing this patent?
MTEC can help explore whether this patent might be available for licensing for your application.
Abstract
A system that synchronizes waveforms received over a network from one or more devices, such as medical devices. Because of network delays or losses, waveforms can arrive at varying rates and times. Precise post-synchronization of the received data, to within a few milliseconds, is needed for accurate analysis. Applications include automatic classification of waveforms, such as detection of myocardial infraction from heart monitor waveforms. Synchronization uses sequence numbers assigned by each device, but must also account for sequence number wraparounds. Waveforms may also be synchronized across devices, by calculating the bias between within-device synchronized times and a common time source or common disturbance. Waveform data may also be stored data in a database or data warehouse; embodiments may index the data using a key with a date-time prefix and a hash code suffix, to support distributed indexing while reducing the chance of hash collisions to a very small probability.
Core Innovation
The invention relates to a key generation system that minimizes key collisions for large data streams. The system receives a multiplicity of records from a network over a time period, where each record includes record data and a record timestamp, calculates a key that comprises a timecode portion derived from the record timestamp and a hash code portion calculated from the record data, and stores each record in a database indexed by the calculated key. The key calculation does not comprise querying the database.
In some implementations, the system calculates an adjusted timestamp for each record of the multiplicity of records, where the adjusted timestamp synchronizes the multiplicity of records to a common time reference. The timecode portion of the key is then calculated based on the adjusted timestamp, and the timecode portion can comprise all or a portion of a Portable Operating System Interface (POSIX) time code.
The invention is also described in an architecture in which key calculation does not comprise communicating with another processor of a plurality of processors or with a central server. In such implementations, a plurality of processors coupled to a network connected to a multiplicity of medical devices that monitor a multiplicity of patients receive records, calculate the keys using the timecode portion derived from the record timestamp and the hash code portion from the record data, and store the records in the database indexed by the key.
Claims Coverage
The provided independent claims are clm-00001, clm-00008, clm-00009, clm-00015, clm-00018, and clm-00019, each directed to a key generation system that minimizes key collisions for large data streams. Across these independent claims, the inventive features consistently include a key built from a timecode portion derived from a record timestamp and a hash code portion derived from record data, stored in a database indexed by that key, with key calculation that avoids querying the database and, in several claims, avoids inter-processor or central-server communication.
Key based on timestamp-derived timecode and record-data hash without database querying
calculate a key for said each record of said multiplicity of records, wherein said key comprises a timecode portion derived from said record timestamp, and a hash code portion calculated from said record data; and wherein said calculate said key does not comprise querying said database; and store said each record in said database indexed by said key
Throughput and collision expectation constraints
receive up to 1,000,000 records per day; and, calculate said key for said each record, wherein an expected number of records per day that have identical keys is less than or equal to 0.10
Timecode portion includes POSIX time code
wherein said timecode portion comprises all or a portion of a Portable Operating System Interface (POSIX) time code
Adjusted timestamp synchronizes records to a common time reference for timecode derivation
calculate an adjusted timestamp for each record of each record of said multiplicity of records, wherein said adjusted timestamp synchronizes said multiplicity of records to a common time reference; and, calculate said timecode portion of said key based on said adjusted timestamp
Independent multi-processor key calculation without inter-processor or central-server communication
wherein said calculate said key does not comprise communicating with another processor of said plurality of processors or with a central server; and store said each record in said database indexed by said key
Medical device monitoring context for record generation
a plurality of processors coupled to a network connected to a multiplicity of medical devices that monitor a multiplicity of patients, and connected to a database, wherein each processor of said plurality of processors is configured to receive one or more records from said network of a multiplicity of records generated by said multiplicity of medical devices
Timecode portion comprises all or a portion of POSIX time code (medical-device implementations)
wherein said timecode portion comprises all or a portion of a Portable Operating System Interface (POSIX) time code
Collectively, the independent claims cover a per-record key generation approach for large data streams in which the key is formed from a timestamp-derived timecode portion and a record-data hash code portion, stored in a database indexed by the key, while explicitly avoiding querying the database during key calculation. Several independent claims further require adjusted timestamps synchronized to a common time reference for timecode derivation and/or specify POSIX time code usage. For multi-processor systems connected to medical devices monitoring patients, some independent claims also require that key calculation does not involve communicating with other processors or a central server.
Stated Advantages
Minimizes key collisions for large data streams.
Supports high throughput of up to 1,000,000 records per day.
Provides an expected number of records per day that have identical keys less than or equal to 0.10.
Avoids querying the database during key calculation.
In some implementations, avoids communicating with another processor or with a central server during key calculation.
Enables key timecode derivation from an adjusted timestamp synchronized to a common time reference.
Documented Applications
Key generation for large data streams generated by medical devices monitoring patients, where records are received over a network and stored in a database indexed by the generated keys.
Interested in licensing this patent?