Method and apparatus for scalable transport processing fulfillment system
First Claim
1. A method for heterogeneous file processing in a fulfillment system, the method comprising:
- storing a set of action tasks in an action task table according to expected types of client files;
extracting from a client repository a client file and associated meta-data which is information concerning the client file;
storing the client file;
creating a client message containing the extracted meta-data and a link reference to the client file;
enqueueing the client message on a work scheduling queue containing a plurality of client messages;
dequeueing the client message from the work scheduling queue;
selecting at least one action task from the action task table based on selected meta-data information from the client message; and
processing the client message according to the selected action task.
2 Assignments
0 Petitions
Accused Products
Abstract
A scalable fulfillment system is presented that supports business processes, manages the transport and processing of business-related messages or documents between a business entity and clients, such as customers, vendors, and business partners, and generally supports business document processing. The system intelligently manages the transportation of files from clients, through processing of files, to generating responses that return to the clients. To accommodate a heterogeneous interfacing and processing with different clients in a central system, a file normalization technique is used that captures a common meta-data format from the numerous heterogeneous file types used by numerous clients. The meta-data files, also referred to as messages, contain links to their associated data files and are processed separately. Once the messages are entered into the system, an intelligent queue scheduler (IQS) is used to schedule the processing of messages across a scalable resource of processing engines based on normalized file meta-data parameters. The IQS supports serial processing file requirements in a parallel processing environment. The IQS in conjunction with processing daemons implement a dynamic queue that supports initial message entry and prioritization of messages within the IQS queue during the life cycle processing of a message. The processing daemons dynamically provide processing status, timestamps, message type information, client information and other similar information that can be used by the IQS in prioritizing processing steps. Message and file processing is partitioned in a series of separate action code modules that can be programmatically selected and sequenced in a desired processing pipelined order. By using a multi-pass action interfacing method, new actions can be defined and allowed to be pluggable in the system for processing new message types and adding new clients with possibly unique file types and interfaces. The ability to define new actions and define a programmable sequence of actions allows new capabilities of message processing as the system evolves.
35 Citations
24 Claims
-
1. A method for heterogeneous file processing in a fulfillment system, the method comprising:
-
storing a set of action tasks in an action task table according to expected types of client files;
extracting from a client repository a client file and associated meta-data which is information concerning the client file;
storing the client file;
creating a client message containing the extracted meta-data and a link reference to the client file;
enqueueing the client message on a work scheduling queue containing a plurality of client messages;
dequeueing the client message from the work scheduling queue;
selecting at least one action task from the action task table based on selected meta-data information from the client message; and
processing the client message according to the selected action task. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for scalable processing of client messages in a fulfillment system, the method comprising:
-
storing a set of action tasks in an action task table according to expected types of client files;
enqueueing a client message on a work scheduling queue, the client message containing meta-data concerning a client file;
dequeueing a client message according to a priority based upon a first set of meta-data information;
selecting an action task from the action task table based on a second set of meta-data information; and
processing the dequeued client message according to the selected action task on an available process from a group of parallel processes. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A scalable fulfillment system for transporting and processing heterogeneous data files in a business to business environment, the scalable fulfillment system comprising:
-
a source for client files;
a client transport interface for extracting a client file and client meta-data from the source for client files;
a transport and control interface for retrieving the client file and client meta-data from the client transport interface, for assigning a global message id to the client file and client meta-data, enqueueing the client meta-data as a client message to a work scheduling queue, and separately storing the client file; and
a scalable processing subsystem for dequeueing client messages from the work scheduling queue, communicating with a fulfillment database, and processing the client message and file according to the client source name, file type, and message direction. - View Dependent Claims (15, 16, 17)
-
-
18. A scalable processing system for processing client files in an fulfillment system, the scalable processing system comprising:
-
a work scheduling queue for scheduling client messages for processing where a client message comprises a client source name, file type, an indication of message direction as either incoming or outgoing, and a serial/parallel flag;
a scalable pool of processor resources;
individually selectable processor resources for processing a first set of client messages in sequential order based on the serial/parallel flag indicating serial processing; and
individually selectable processor resources for simultaneously processing a second set of client messages in parallel based on the serial/parallel flag indicating parallel processing. - View Dependent Claims (19, 20)
-
-
21. A computer readable medium whose contents cause a computer system to perform the processing of heterogeneous files in a fulfillment system by performing the steps of:
-
storing a set of action tasks in an action task table according to expected types of client files;
extracting from a client repository a client file and associated meta-data which is information concerning the client file;
storing the client file;
creating a client message containing the extracted meta-data and a link reference to the client file;
enqueueing the client message on a work scheduling queue containing a plurality of client messages;
dequeueing the client message from the work scheduling queue;
selecting at least one action task from the action task table based on selected meta-data information from the client message; and
processing the client message according to the selected action task. - View Dependent Claims (22, 23, 24)
-
Specification