IP Library Granted Patent US 7,853,833
Granted Patent B1
US 7,853,833 · App. 09/658,823 · Granted Dec 14, 2010

Method and apparatus for enhancing reliability of automated data processing

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,853,833
App. No.
09/658,823
Granted
Dec 14, 2010
Kind
B1
Abstract

A number of items of data from a data source ( 12 ) can be processed and supplied to a data destination ( 16, 17 ). The data may include image data, text data, numeric data or other types of data, or combination of these types of data. The processing of the data is controlled by a project definition ( 14, 71, 101 ), which includes a plurality of modules selected from a variety of available modules (Tables 1-4). The modules have input and output ports which are interrelated by binding information. Capability is provided for automated detection and resolution of certain types of problems that may arise during automated data processing, including progressively inefficient use of memory, as well as development of an abnormal processing situation in which no meaningful data processing is taking place.

Claims (53)

1. A method comprising the steps of:

executing in a computer system a first procedure which selectively launches execution in said computer system of a predetermined project definition of a set of predetermined project definitions in response to respective requests for execution thereof,

wherein each said predetermined project definition is for manipulating data and comprises:

a plurality of function portions which each correspond to one of a plurality of predetermined function definitions that are different, each predetermined function definition defining a process to be applied to the data and at least one input port and at least one output port that are functionally related according to the corresponding function definition;

a further portion which includes a source portion identifying a data source and defining an output port through which data from the data source can be produced, and which includes a destination portion identifying a data destination and defining an input port through which data can be supplied to the data destination;

binding information which includes binding portions that each associate a respective said input port with one of said output ports; and

executing in said computer system a second procedure in association with at least one of the first procedure and the predetermined project definition,

wherein the second procedure, when executed, repeatedly performs a series of steps, comprising:

monitoring a predetermined performance characteristic of a set of predetermined performance characteristics;

determining an action relating to the at least one of the first procedure and the predetermined project definition in dependence upon at least the predetermined performance characteristic,

wherein the action relates to at least one of the first procedure and the predetermined definition, and

wherein the action comprises at least one of:

terminating the at least one of the first procedure and the predetermined project definition,

pausing execution of the at least one of the first procedure and the predetermined project definition without awaiting completion of the at least one of the first procedure and the predetermined project definition,

pausing execution of the at least one of the first procedure and the predetermined project definition upon completing execution of the current at least one of the first procedure and the predetermined project definition, and

re-starting execution of the current at least one of the first procedure and the predetermined project definition; and

causing execution of the determined action;

queuing input information destined for the first procedure upon execution of the determined action; and

submitting said queued input information to said first procedure upon re-starting execution of the at least one of the first procedure and the predetermined project definition.

2. A method according to claim 1 wherein the computer system comprises at least first and second processors, the first procedure being executed by the first processor and the second procedure being executed by the second processor.

3. A method according to claim 1 wherein,

the predetermined performance characteristic relates to at least one of memory utilization of a processor within the computer system, utilization of a processor within the computer system, status of a processor process, utilization of a network forming part of the computer system, and communications activity of a network forming part of the computer system.

4. A method according to claim 1 wherein,

re-starting execution of at least one of the first procedure and the predetermined project definition is carried out so as to resume execution of one of the at least one of the first procedure and the predetermined project definition which was interrupted, beginning with data from the associated data source which immediately follows the last data therefrom which was processed to completion and stored in the associated data destination.

5. A method according to claim 1 wherein,

the first procedure executes the set of predetermined project definitions in a predetermined order upon a set of data files stored within a memory connected to a computer network to which the computer system is also connected.

6. One or more non-transitory computer-readable storage media storing a computer program which, when executed by at least one processor, perform a method comprising:

executing in a computer system a first procedure which selectively launches execution in said computer system of a predetermined project definition of a set of predetermined project definitions in response to respective requests for execution thereof,

wherein each said predetermined project definition is for manipulating data and comprises:

a plurality of function portions which each correspond to one of a plurality of predetermined function definitions that are different, each predetermined function definition defining a process to be applied to the data and at least one input port and at least one output port that are functionally related according to the corresponding function definition;

a further portion which includes a source portion identifying a data source and defining an output port through which data from the data source can be produced, and which includes a destination portion identifying a data destination and defining an input port through which data can be supplied to the data destination;

binding information which includes binding portions that each associate a respective said input port with one of said output ports; and

executing in said computer system a second procedure in association with at least one of the first procedure and the predetermined project definition,

wherein the second procedure, when executed, repeatedly performs a series of steps, comprising:

monitoring a predetermined performance characteristic of a set of predetermined performance characteristics;

determining an action relating to the at least one of the first procedure and the predetermined project definition in dependence upon at least the predetermined performance characteristic,

wherein the action relates to at least one of the first procedure and the predetermined definition, and

wherein the action comprises at least one of:

terminating the at least one of the first procedure and the predetermined project definition,

pausing execution of the at least one of the first procedure and the predetermined project definition without awaiting completion of the at least one of the first procedure and the predetermined project definition,

pausing execution of the at least one of the first procedure and the predetermined project definition upon completing execution of the current at least one of the first procedure and the predetermined project definition, and

re-starting execution of the current at least one of the first procedure and the predetermined project definition; and

causing execution of the determined action;

queuing input information destined for the first procedure upon execution of the determined action; and

submitting said queued input information to said first procedure upon re-starting execution of the at least one of the first procedure and the predetermined project definition.

7. The computer-readable media according to claim 6 , wherein said program is operable when executed to facilitate;

execution within the computer system wherein it comprises at least first and second processors, the first procedure being executed by the first processor and the second procedure being executed by the second processor.

8. The computer-readable media according to claim 6 , wherein said program is operable when executed to facilitate;

that the predetermined performance characteristic relates to at least one of memory utilization of a processor within the computer system, utilization of a processor within the computer system, status of a processor process, utilization of a network forming part of the computer system, and communications activity of a network forming part of the computer system.

9. The computer-readable media according to claim 6 , wherein said program is operable when executed to facilitate;

re-starting execution of at least one of the first procedure and the predetermined project definition is carried out so as to resume execution of one of the at least one of the first procedure and the predetermined project definition which was interrupted, beginning with data from the associated data source which immediately follows the last data therefrom which was processed to completion and stored in the associated data destination.

10. The computer-readable media according to claim 6 , wherein said program is operable when executed to facilitate;

that the first procedure executes the set of predetermined project definitions in a predetermined order upon a set of data files stored within a memory connected to a computer network to which the computer system is also connected.

Assignments (26)
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded May 6, 2026
From: CANTOR FITZGERALD SECURITIES, AS COLLATERAL AGENT
To: CLEARSLIDE INC.; COREL CORPORATION (AS SUCCESSOR IN INTEREST TO CASCADE BIDCO CORP.)
Reel/Frame 075522/0510 →
RELEASE OF SECURITY INTEREST Recorded May 5, 2026
From: CITIBANK, N.A., AS AGENT
To: COREL CORPORATION; CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
Reel/Frame 075559/0953 →
SECURITY INTEREST Recorded Jul 3, 2019
From: CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
To: CITIBANK, N.A.
Reel/Frame 049678/0950 →
SECURITY INTEREST Recorded Jul 3, 2019
From: CASCADE BIDCO CORP.; COREL INC.; CLEARSLIDE INC.
To: CANTOR FITZGERALD SECURITIES
Reel/Frame 049678/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2019
From: COREL SOFTWARE LLC
To: COREL CORPORATION
Reel/Frame 048067/0586 →
CHANGE OF NAME Recorded Dec 29, 2015
From: 8324450 DELAWARE LLC
To: COREL SOFTWARE, LLC
Reel/Frame 037394/0987 →
RELEASE OF SECURITY INTEREST Recorded Jan 23, 2015
From: WELLS FARGO CAPITAL FINANCE (F/K/A WELLS FARGO FOOTHILL, INC
To: COREL CORPORATION
Reel/Frame 034803/0597 →
ENTITY DOMICILE CHANGE Recorded Dec 17, 2014
From: 8324450 CANADA INC.
To: 8324450 DELAWARE LLC
Reel/Frame 034651/0817 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE, AND REPLACE THE ASSIGNMENT PREVIOUSLY RECORDED ON REEL 030427 FRAME 0331. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT TO 8324450 CANADA INC. Recorded Aug 1, 2013
From: COREL CORPORATION
To: 8324450 CANADA INC.
Reel/Frame 030986/0268 →
RELEASE OF SECURITY INTEREST Recorded Jun 11, 2013
From: JPMORGAN CHASE BANK, N.A.
To: COREL CORPORATION; COREL INC.; COREL HOLDINGS CORPORATION; WINZIP COMPUTING LP; WINZIP INTERNATIONAL LLC; WINZIP COMPUTING LLC
Reel/Frame 030591/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2013
From: VECTOR CC HOLDINGS, SRL; VECTOR CC HOLDINGS III, SRL; VECTOR CC HOLDINGS IV, SRL
To: 8324450 CANADA INC.
Reel/Frame 030427/0403 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2013
From: COREL CORPORATION
To: VECTOR CC HOLDINGS, SRL; VECTOR CC HOLDINGS III, SRL; VECTOR CC HOLDINGS IV, SRL
Reel/Frame 030427/0331 →
ASSIGNMENT AND ASSUMPTION Recorded Dec 29, 2006
From: MORGAN STANLEY & COMPANY INCORPORATED
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 018688/0422 →
SECURITY AGREEMENT Recorded May 19, 2006
From: COREL CORPORATION; COREL INC.; COREL HOLDINGS CORPORATION; WINZIP COMPUTING LLC; WINZIP INTERNATIONAL LLC; WINZIP COMPUTING LP
To: MORGAN STANLEY & COMPANY INC.
Reel/Frame 017656/0072 →
RELEASE OF SECURITY INTERESTS Recorded May 17, 2006
From: CREDIT SUISSE TORONTO BRANCH (FKA CREDIT SUISSE FIRST BOSTON TORONTO BRANCH)
To: COREL CORPORATION; COREL US HOLDINGS, LLC
Reel/Frame 017636/0417 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded May 11, 2006
From: COREL CORPORATION
To: MICROGRAFX, INC.; IMAGE2WEB, INC.
Reel/Frame 017613/0601 →
SECOND LIEN SECURITY AGREEMENT Recorded Aug 2, 2005
From: COREL CORPORATION; COREL US HOLDINGS, LLC
To: CREDIT SUISSE FIRST BOSTON TORONTO BRANON
Reel/Frame 016784/0245 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2005
From: COREL INC.
To: COREL CORPORATION
Reel/Frame 016367/0762 →
SECURITY AGREEMENT Recorded Feb 28, 2005
From: COREL CORPORATION
To: CREDIT SUISSE FIRST BOSTON TORONTO BRANCH
Reel/Frame 016309/0733 →
SECURITY INTEREST Recorded Jul 22, 2004
From: COREL CORPORATION
To: WELLS FARGO FOOTHILL, INC.
Reel/Frame 015596/0932 →
SECURITY INTEREST Recorded Oct 6, 2003
From: COREL CORPORATION, AN ONTARIO CORPORATION
To: WELLS FARGO FOOTHILL, INC.
Reel/Frame 014560/0455 →
MERGER Recorded Apr 23, 2002
From: IMAGE2WEB, INC.
To: COREL CORPORATION (USA)
Reel/Frame 012843/0322 →
CHANGE OF NAME Recorded Apr 23, 2002
From: COREL CORPORATION (USA)
To: COREL INC.
Reel/Frame 012843/0314 →
SECURITY AGREEMENT Recorded Sep 5, 2001
From: MICROGRAFX, INC.; IMAGE2WEB, INC.
To: COREL CORPORATION
Reel/Frame 012128/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2001
From: MICROGRAFX, INC.
To: IMAGE2WEB, INC.
Reel/Frame 012112/0476 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2000
From: GHARBIA, NEZAR; ZURAWSKI, JOHN C.
To: IMAGE2WEB, INC.
Reel/Frame 011090/0674 →