IP Library Granted Patent US 7,895,355
Granted Patent B2
US 7,895,355 · App. 12/614,182 · Granted Feb 22, 2011

Method and system for detecting gaps in a data stream

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,895,355
App. No.
12/614,182
Granted
Feb 22, 2011
Kind
B2
Abstract

Systems and methods are described which allow the detection of gaps in a set of data. These systems and methods may include defining streams of data from a network topology, associating incoming data with one or more of these streams, and processing these streams. A gap may be detected by comparing the times of events in the stream. If a gap is detected remedial action may be taken, and processing of the streams temporarily halted. Processing of the streams may continue when data for a certain stream is received, or after the lapse of a certain period of time.

Claims (33)

1. A method for detecting gaps in data, comprising:

defining at a computer at least a first stream associated with a particular user's activities and a second stream associated with that user's activities from a network topology for presenting a logical website, wherein each of the streams is a logical data source associated with one or more servers, wherein each server has hosts, data locations, or a combination thereof associated with the server, and wherein each server is responsible for running a different portion of the logical website, wherein the computer comprises a processor and a computer readable medium storing a computer program executable to detect gaps in data;

receiving incoming data from one or more sources at the computer and associating the incoming data with one of the streams based on a source of the incoming data, wherein the source is one of the one or more servers or one of the hosts or data locations associated therewith and the incoming data comprises data regarding previous activities at one of the one or more servers, hosts, or data locations;

calculating a data loss for each stream, wherein the data loss is calculated between a next event (nextEvent.time) and a last event (lastTime) in the stream, wherein the computer calculates the data loss and wherein the data loss is a time difference between the occurrence of the next event and the last event;

stopping the processing of every stream if the first or second stream's calculated data loss is greater than a first user defined threshold;

resuming processing according to a second user defined threshold;

determining whether each stream has a gap based upon the calculated data loss and a user defined threshold (GAP_TIME), wherein a gap is detected if (nextEvent.time>=(lastTime+GAP_TIME)), wherein the computer determines whether each stream has a gap.

2. The method of claim 1 , further comprising stopping the processing of every stream if the first or second stream's calculated time difference is greater than a first time period.

3. The method of claim 2 , further comprising resuming processing of the first or second stream upon reception of more data associated with the first or second stream.

4. The method of claim 3 , further comprising resuming the processing of each stream in which the calculated time difference is not greater than the first time period.

5. A tangible non-transitory computer readable medium containing computer program instructions translatable for:

defining at least a first stream associated with a particular user's activities and a second stream associated with that user's activities from a network topology for presenting a logical website, wherein each of the streams is a logical data source associated with one or more servers, wherein each server has hosts, data locations, or a combination thereof associated with the server, and wherein each server is responsible for running a different portion of the logical website;

associating incoming data with one of the streams based on a source of the incoming data, wherein the source is one of the one or more servers or one of the hosts or data locations associated therewith and the incoming data comprises data regarding previous activities at one of the one or more servers, hosts, or data locations;

calculating a data loss for each stream, wherein the data loss is calculated between a next event (nextEvent.time) and a last event (lastTime) in the stream, wherein the data loss is a time difference between the occurrence of the next event and the last event;

stopping the processing of every stream if the first or second stream's calculated data loss is greater than a first user defined threshold;

resuming processing according to a second user defined threshold;

determining whether each stream has a gap based upon the calculated data loss and a user defined threshold (GAP_TIME), wherein a gap is detected if (nextEvent.time>=(lastTime+GAP_TIME)).

6. The computer readable medium of claim 5 , wherein the instructions are further translatable for stopping the processing of every stream if the first or second stream's calculated time difference is greater than a first time period.

7. The computer readable medium of claim 6 , wherein the instructions are further translatable for resuming processing of the first or second stream upon reception of more data associated with the first or second stream.

8. The computer readable medium of claim 6 , wherein the instructions are further translatable for resuming the processing of each stream in which the calculated time difference is not greater than the first time period.

9. The computer readable medium of claim 6 , wherein the instructions are further translatable for resuming processing after a second period of time.

10. A system for processing a real-time data feed, compromising:

a computer configured with definitions of at least a first stream associated with a particular user's activities and a second stream associated with that user's activities from a network topology for presenting a logical website, wherein each of the streams is a logical data source associated with one or more servers, wherein each server has hosts, data locations, or a combination thereof associated with the server, and wherein each server is responsible for running a different portion of the logical website, the computer comprising a processor and a tangible storage medium storing instructions executable by the processor to implement a method at the computer comprising:

receiving incoming data at the computer;

associating incoming data received over the network with one of the streams based on a source of the incoming data, wherein the source is one of the one or more servers or one of the hosts or data locations associated therewith and the incoming data comprises data regarding previous activities at one of the one or more servers, hosts, or data locations, wherein the associating is performed at the computer;

calculating a data loss for each stream, wherein the data loss is calculated between a next event (nextEvent.time) and a last event (lastTime) in the stream, wherein the calculating is performed at the computer, wherein the data loss is a time difference between the occurrence of the next event and the last event;

stopping the processing of every stream if the first or second stream's calculated data loss is greater than a first user defined threshold;

resuming the processing according to a second user defined threshold;

determining whether each stream has a gap based upon the calculated data loss and a user defined threshold (GAP_TIME), wherein a gap is detected if (nextEvent.time>=(lastTime GAP_TIME)), wherein the determining is performed at the computer.

11. The system of claim 10 , further comprising stopping the processing of every stream if the first or second stream's calculated time difference is greater than a first time period.

12. The system of claim 10 , further comprising resuming processing of the first or second stream upon reception of more data associated with the first or second stream.

13. The system of claim 10 , further comprising resuming the processing of each stream in which the calculated time difference is not greater than the first time period.

14. The system of claim 10 , wherein the processing resumes after a second period of time.

Assignments (11)
IP BUSINESS SALE AGREEMENT Recorded Sep 13, 2016
From: OPEN TEXT S.A.
To: OT IP SUB, LLC
Reel/Frame 040019/0627 →
CERTIFICATE OF AMALGAMATION Recorded Sep 13, 2016
From: IP OT SUB ULC
To: OPEN TEXT SA ULC
Reel/Frame 040019/0578 →
CERTIFICATE OF CONTINUANCE Recorded Sep 13, 2016
From: OP IP SUB, LLC
To: IP OT SUB ULC
Reel/Frame 040019/0500 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2011
From: VIGNETTE PARTNERSHIP, LP
To: OPEN TEXT S.A.
Reel/Frame 027483/0205 →
CERTIFICATE OF CONVERSION Recorded Oct 14, 2011
From: VIGNETTE OPERATING, LLC
To: VIGNETTE PARTNERSHIP, LP
Reel/Frame 027066/0773 →
CERTIFICATE OF CONVERSION Recorded Oct 13, 2011
From: VIGNETTE CORPORATION
To: VIGNETTE OPERATING, LLC
Reel/Frame 027091/0009 →
MERGER Recorded Oct 12, 2011
From: VIGNETTE SOFTWARE, LLC
To: VIGNETTE CORPORATION
Reel/Frame 027077/0423 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jan 14, 2010
From: VIGNETTE LLC (96%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 023792/0470 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jan 11, 2010
From: VIGNETTE CORPORATION (96%)
To: VIGNETTE LLC
Reel/Frame 024006/0001 →
INTELLECTUAL PROPERTY PURCHASE AGREEMENT Recorded Jan 11, 2010
From: VIGNETTE CORPORATION (4%)
To: VIGNETTE SOFTWARE LLC
Reel/Frame 023768/0708 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2009
From: ARTZ, JOHN C.; PATHAK, HEEREN
To: VIGNETTE CORPORATION
Reel/Frame 023702/0189 →