An electronic document distribution network with uniform data stream

Abstract: An electronic document distribution network is provided having a uniform data stream which may be used by data processors of varying levels of data processing capability interconnected in the network. The network com­ prises a plurality of linked communicating data processors. Each of the processors has means for receiving and for transmitting a uniform data stream which is representative of the content and format of the document as well as the processing to be performed with respect to the document. The network includes higher level processors which have a higher level of data processing capability with respect to the data stream and lower level processors. One or more of the lower level processors further include means for scanning a received data stream and for selecting from the data stream parameters which this lower level processor is capable of processing. The lower level processor also has means for storing the non-selective parameters which it is not capable of processing. After the lower level processor has processed the selected parameters, the processor in­ cludes means for merging the selected parameters and the stored parameters into a reconstituted data stream which corresponds to the received data stream and means for transmitting this reconstituted data stream to another processor in the network.

Description: Technical Field This invention relates to electronic document distribution systems or networks and is particularly directed to the means for handling a uniform data stream between the varying communicating processors participating in the network. Background Art At the present time, one of the most rapidly expanding technologies in data processing is that of electronic document distribution to produce an automated office environment. This technology utilizes communication networks in an office-information- interchange system or electronic mail. Such a network is a complex interconnection of processing terminals or work stations of varying capabilities performing an assortment of data processing and text processing operations with respect to document production and distribution. A major problem that such networks present is the variety of interfaces and data forms which must be accommodated to functionally interconnect the various participating work stations and processors into an operational information-interchange system. In a conventional document distribution, not only must the various processing terminals be functionally interconnected but the system must provide the basic capability to enter and edit information, distribute information and print or display information. Irrespective of the network configuration, the system must be easy to use if it is to be effective. Also, the complexities of the various interface and data forms must be transparent to the users. In other words, the system must handle and distribute the documents with a minimum of operator intervention. To expect the sender of information to know very much about processor and data form requirements is unrealistic. The sender should be able to request that information be distributed. He should not have to be concerned about the expedients used in such a distribution. To this end, the art has been developing uniform data streams which are discernible by the various processor-work stations participating in the document distribution network. Architectures have been defined which specify data stream content as well as the rules involved in the communication in the network. These data stream architectures specify the form of the information by describing the syntax and meaning of allowable elements in the data stream. Reference is made to the article entitled "Electronic Information Interchange in an Office Environment" by M. R. DeSousa, IBM Systems Journal , Vol. 20, No. 1, 1981, at page 4. This article describes a typical document distribution or interchange architecture which permits information to be carried from a sender to a recipient in such a network without requiring that both be interactively communicating during the distribution process. Further, it permits a sender to send information such as a document to multiple recipients with a single distribution request. Finally, the distribution architecture provides for services such a security base storage during distribution and confirmation of delivery. In data distribution networks, uniform data stream may be considered to comprise two major components: the above described document interchange architecture which relates to communication and processing of the document and the document content architecture which is representative of the content and format of a particular document. The existence of such two major components is known from US-A- 4 356 546 (WHITESIDE et al.) describing a fault-tolerant multi-computer system for control applications. Each processor in the system receives "messages" from the other processors with information about their processing states. The messages contain data calculated by the other processors. When a processor has received all the data necessary to perform one of the tasks assigned to it, it performs the task and informs the other processors of the fact by means of a message. The document interchange architecture involved in the distribution and processing of documents in distribution networks is described in even greater detail in the article entitled "The Document Interchange Architecture: Member of a Family of Architectures in the SNA Environment", by T. Schick et al, IBM Systems Journal , Vol. 21, No. 2, 1982, at page 220. This article discloses an electronic document distribution system having a network of communicating data processors. Receiving and transmitting means are provided so that documents can be exchanged between processors. The data stream representing the document contains, apart from the document contents, information about "functions required to be performed on the document contents, such as pagination, highlighting, headings, footings, and centering". Because of the wide variety of data processing equipment available in the current office environment together with the need to make document distribution network readily compatible with equipment which may be made available in the future, document distribution networks must have the capability of integrating into the system communicating processors of varying levels of data processing capabilities. Existing document distribution systems such as those described in the above mentioned articles provide for a uniform data stream whereby data processing stations or work stations with varying data processing capability may communicate with each other by tollowing the protocol of the document interchange architecture. However, distribution systems problems arise when a document from a processor of higher capabilities is communicated to a processor or work station of lower or limited processing capabilities. This problem would be further complicated when it is necessary to further transmit the same document to a subsequent processor having greater or expanded data processing capabilities. This type of interchange may arise in many situations. For example, assume that a data stream containing relatively specific and sophisticated parameters with respect to document display is transmitted to a processor in the network which has very limited display capabilities and cannot process these specific parameters. After this receiving terminal has completed its processing requirements with respect to the document represented by the data stream, e.g., printing the document, it may become necessary for the data stream representative of the document to then be forwarded from this less sophisticated receiving processor to a more sophisticated processor which has the specific and complex display parameter processing capability. There is a need for the processor to have the ability of transmitting the original data stream intact to the final work station. A similar need arises when a data stream representative of a document is to be transmitted to a less sophisticated processor station which performs some processing function and then onto the more sophisticated data processor. Here again there is a need to pass the data stream intact through the intermediate data processing station to the more sophisticated file station. It is thus the object of the present invention to provide a solution to the above mentioned problems and especially to the problem which arises with respect to the system of the above mentioned article by Schick et al., that data which a particular processor cannot use is lost to subsequent processors. The system providing this solution is set out in claim 1. Preferred embodiments are set out in claims 2-5. Brief Description of Drawings Referring now to the drawings, wherein a preferred embodiment of the invention is illustrated, and wherein like reference numerals are used throughout to designate like parts; Fig. 1 is a logical block diagram showing apparatus which may be used in the practice of the present invention. Fig. 2 is a flow chart showing the general steps involved in receiving and processing the data stream representative of a particular document by the apparatus of Fig. 1. Fig. 3 is flow chart of the operations involved utilizing the apparatus of Fig. 1 to reconstitue and transmit or send the original received document data stream after processing has been completed. Fig. 4 is a diagrammatic representation of a data stream with its units and sub-units broken down to the levels dealt with in the present invention. Best Mode for Carrying Out the Invention With reference to the generalized apparatus of Fig. 1, the system of the present invention will be described. Let us assume that communicating processor 10 is the data processor having a relatively high level of data processing capability. This communicating processor will transmit over linkage 11 the data stream to communicating processor 12 which is a processor having a lower level of data capability with respect to the data stream than does communicating processor 10. Communicating processor 12 will selectively process the received data stream and subsequently transmit this received data stream intact to communicating processor 14 over linkage 13. Communicating processor 14 will for purposes of this illustration be a processor having a higher level of processing capability with respect to the data stream. Processors 10, 12 and 14 and communication linkages 13 and 11 are part of a document distribution network of the type described in the above mentioned M. R. DeSousa and T. Schick et al publications and particularly in the Schick et al publication. For purposes of the present embodiment, the illustrative communications network being here described will be considered to be a system in the Systems Network Architecture (SNA) environment described in the Schick et al publication. The present description will concern itself primarily with the functioning of communicating processor 12 which is a processor having relatively lower level of data processing capability than processors 10 and 14. For purposes of this example, let us assume that initially, communicating processor 10 is transmitting or sending over linkage 11 a document to communicating processor 12. Communicating processor 12 is to have the contents of the document printed at a work station of which communicating processor 12 forms a part. The printing operation involved with respect to the contents of the document is not part of the present invention and will not be shown or described. The document to be printed under the control of processor 12 will be represented by a data stream communicated over linkage 11 to processor 12. In addition to the content of the document involved, the data stream will contain parameters related to processing operations which are within the capabilities of communicating processors 10 and 14 but beyond the capability of processor 12. Let us assume for example that these parameters relate to document length. In other words, some more sophisticated processors like processors 10 or 14 have a capability for utilizing information concerning document length in order to anticipate and plan for the number of pages which the document will require and consequently the number of lines on each particular page. Since the data stream to be transmitted throughout the document distribution network is preferably a uniform one, parameters related to document size are included in the data stream transmitted to processor 12 even though processor 12 has no capability with respect to any document sizing operations. Since processing parameters such as those related to sizing of the document and the partitioning of the document by number of pages are processing parameters and do not relate to document content, they are customarily included in that portion of the data stream which relates to document distribution or document interchange architecture (DIA) rather than being treated as part of the document content unit in the data stream. The arrangement of a typical data stream illustrated by the data streams described in the above mentioned Schick et al article will be subsequently discussed in greater detail with respect to Fig. 4 of the Drawings which is based upon a figure appearing at page 225 of the Schick et al article. In any event, a data stream like that shown in Fig. 4 is transmitted over linkage 11 and received by communications adapter 15 in processor 12. This communication adapter may be any standard device having the capability, at the receiving end for converting received serial data communicated over linkage 11 to parallel form so that it may be handled in processor 12 and if there is to be any subsequent transmission from processor 12 onto linkage 13 then for reconverting the parallel data being handled in processor 12 to a serial form so that it may be transmitted or sent over linkage 13. The data stream received through communications adapter 15 is stored in a receive buffer 16 while the synchronous data link control (SDLC) unit 17 determines that the data link control elements in the received data stream as shown in Fig. 4 at the SDLC level of the data stream are proper. If they are proper, then a determination is made as to whether the data stream meets systems network architecture requirements. This is done by the SNA unit 18 which determines whether the transmission header of the basic transmission unit (at the SNA level of Fig. 4) is correct. The activities of the SDLC unit 17 and the SNA unit 18 with respect to the received information in buffer 16 is synchronized through the communications control unit 19 through the buffer control program unit 20 which controls the buffer 16. If the data stream satisfies the requirements of the SDLC and the SNA unit, the buffer control program unit moves the data stream from buffer 16 to document distribution data storage buffer 21. Then, the operations of the present invention to be described with respect to the flow charts in Figs. 2 and 3 will be carried out. First, a determination is made by the document interchange architecture (DIA) supervisory unit 35 as to whether the basic document interchange unit (DIU) as shown in Fig. 4 is present in the data stream. This step is shown in decision block 40 in the received document data stream processing flow chart shown in Fig. 2 which will now be followed in considering the processing operations involved when a document is received within processor 12. If the basic DIU unit is not present, an error condition will be indicated. If the DIU is present, then a determination is made, decision block 41, as to whether the document profile unit is present in the data stream. This document profile unit shown in the illustration of the data stream in Fig. 4 is the basic unit in which various document processing and distribution parameters are contained. Here again, if document profile is not present, then an error condition will be signaled. On the other hand, if the document profile is present, then, block 42, the profile will then be scanned or examined under the control of DIU receive controller 22. Next, decision block 43 in Fig. 2, a determination is made as to whether a base subprofile is present within the document profile. It is this base subprofile that contains both mandatory and optional processing parameters which are to be carried out with respect to the processing or interchange of the particular document. Of course, whether these parameters are carried out is dependent upon the processing capability of the particular processor then handling the document. The presence of the base profile is determined under the control of the DIU receive controller unit 22. If this base subprofile is present, then the processor 12 enters an operation involving steps 44, 45 and 46 wherein all of the parameters in the base profile are examined in sequence and the determination is first made, step 44 as to whether next parameter in the sequence is useable, i.e., whether processor 12 is capable of using the information in the next parameter. If processor 12 is capable, then, step 46, the parameter is extracted from the data stream. If processor 12 is not capable of processing that parameter, then, the process is looped back to step 44 and the next parameter is examined for the same purpose. This procedure is repeated until a determination is made, step 46, that the end of the base profile has been reached. The whole sequence is carried out under the control of profile validation unit 23 shown in the logic of Fig. 1. Upon the completion of the examination of the base profile, a document label is written, step 47, i.e., all of the parameters which have been extracted from the base profile of the data stream as being utilizable are transferred from data storage buffer 21 to a diskette storage means 25 in processor 12 through a diskette access method. These stored parameters are now available for the subsequent processing to be carried out on processor 12 with respect to the actual document content. For example, if the parameters relate primarily to a printing operation which is to be carried out on a printer not shown associated with processor 12, when the document contents are subsequently received, parameters stored in the diskette storage means on the document label will be utilized by the processor 12 in controlling the printing operation. As previously indicated, the actual printing operation under the control of processor 12 is not considered to be part of the present invention and will not be described. However, if details are desired as to the operation of a typical text processing work station including a processor 12 to print a document, they are provided in European application EP-A-67,288 assigned to the assignee of the present invention While this application uses an synchronous protocol for communication and the present invention uses asynchronous protocol, the general operation of the terminal with respect to display and printing operations will be substantially the same. It should be noted that since communicating processor 12 is a display terminal processor, that if the display is to be utilized it may be accessed through the DIU receive controller 22 acting through session summary logic 26 and display access method 27. Next, and still under the control of the profile validation unit 23, a determination is made as to whether there have been processing parameters in the base subprofile which have not been extracted, i.e., these would be processing parameters which had been previously passed over because processor 12 was incapable of carrying them out. If there are such processing parameters, then, step 49, a profile vector is written including these parameters. Here again and still under the control of the profile validation unit 23, the non-extracted parameters in the base profile previously examined are removed from the data stream that is stored in buffer 21 and then stored on a diskette 25 through diskette access method 24 as previously described. Thus, this write profile vector stored on a diskette in storage means 25 is representative of the parameters which the processor 12 was incapable of executing. Upon the completion of the storage of non-extracted parameters if there are any, the operation proceeds to its next step 50 wherein a portion of the data stream representative of the document content is received in storage buffer 21 under the control of document processor unit 28. Then, in a process involving steps 51 and 52 of Fig. 2 under the control of document processor unit 28, document content vectors are written, i.e., that portion of the data stream representative of document content is transferred to diskette storage 25 via diskette access method 24 in substantially the same manner as previously described with respect to the transfer of processing parameters. At this point, with the document content appropriately stored in diskette storage 25 and the processing parameters carried out with respect to the printing of the document, for example, under the control of processor 12 also stored in diskette storage 25 as a document label, the processor 12 is now ready to carry out such processing operations. While the processing operations are carried out by processor 12, the processing parameters which processor 12 is incapable of executing remain stored as the write profile vector in diskette storage 25. At some stage in subsequent operation either immediately after the performance of the document processing such as printing by processor 12, it may be necessary for processor 12 to transmit the original data stream as received to another processor such as communicating processor 14. Processor 12 has the capability of reconstituting the data stream so that it is substantially identical to the data stream received from processor 10. When the reconstituted data stream is to be transmitted to communicating processor 14, an appropriate command is inserted in command queue manager unit 29. In cases where the transmission upon completion of the processing in processor 12 is predetermined, the appropriate command may be preset in command queue manager 29. On the other hand, if there is a subsequent call for the document at some subsequent time after processing, the command may be inserted into command queue manager at the appropriate time either by communication through the network itself or by an operator keying in the request to the queue manager 29. At this point, the procedure set forth in the flow chart in Fig. 3 is as follows. First, step 53, command queue manager 29 activates DIU send controller unit 30 which will then control reconstitution of the base subprofile portion of the document interchange unit which was the portion previously separated into the document label and profile vector. At this point, step 54, document label is read out of storage in the diskette. This document label which contains the extracted parameters from the base profile which processor 12 has carried out is accessed from diskette storage means 25 through diskette access method 24 and stored in the appropriate sequence of the base profile being reconstructed as a portion of a data stream in data storage buffer 21. Similarly, step 55, and still under the control of the DIU send controller 30, the protile vector which contained the non-extracted parameters, i.e., those which processor 12 was incapable of executing is also read out of diskette storage 25 through diskette access method 24 and stored in its appropriate sequence in the profile of the data stream being reconstituted in data storage buffer 21. The extracted and non-extracted parameters are thus reformatted into the profile of the data stream in data storage buffer 21, step 56. At this point, a sequence involving steps 57, 58 and 59 under the control of DIU send controller 30 is carried out which involves reading the document content vector from diskette storage 25 through diskette access method 24 to the data storage buffer 21 and inserting this document content vector as the document content portion of the data stream being reconstituted in buffer 21. Then, under the control of the communication control unit 19, the data stream under the supervision of communication control unit 19 is moved into send buffer 31. Then, coordinated by the communications control unit 19, the SNA unit 18 determines whether or not the reconstituted data stream meets the network architecture requirements. This is carried out through buffer control program 20 which controls the send buffer 31. Next, in essentially the same manner as previously described with respect to the received information, SDLC unit 17 determines that the data stream when control elements in the data stream in send buffer 31 are proper. If the SDLC and SNA requirements are met in the reconstituted data stream in buffer 31, then, information in buffer 31 is transmitted through communication adapter 15 which makes the parallel serial conversion over linkage 33 to communicating processor 14. Based upon the earlier assumption made in the present example, communicating processor 14 has a higher level of data processing capability than does processor 12 and particularly with respect to parameters dealing with document sizing and distributioii of the document over a number of pages. Since the data stream being transmitted over link 13 from processor 12 is substantially the same as that originally transmitted to processor 12 over link 11, all of the parameters which processor 12 is incapable of handling have now been reconstituted into the data stream and are available to communicating processor 14 which has the capability for executing these parameters. In example given above, we were dealing with communicating data processors of relatively higher and lower data processing capability. It should be noted that the present invention is also applicable to situations wherein there are a specific class or category of processors which participate in the distribution network which may not necessarily have a higher data processing capability but do have certain specific or private data processing procedures which they carry out with respect to the document which no other processors in the distribution network specifically follow. Such private or specific data processing parameters may also be included in the uniform data stream. In such a case, any data processor in the network not belonging to the specific class of processors will simply extract and ignore these private parameters. The particular processor receiving the data stream will store the parameters and then reconstitute them into the data stream so that they may be available as private parameters for any members of the particular class of processors requiring such parameters.

Claims: An electronic document distribution system having a network of communicating data processors and communicating linkages between said processors, each of the processors having means for receiving and means for transmitting (15) a uniform data stream containing: first parameters (DOCUMENT PROFILE) in sequence representative of the processing to be performed by a processor relative to a document, and second parameters (DOCUMENT CONTENT) representative of the content of said document, said network being characterized in that it includes higher level processors having a higher level processing capability relative to said first parameters, and at least one lower level processor having a lower level of processing capability relative to said first parameters, said lower level processor further comprising: means (22, 23) for determining in said sequence, those parameters that the lower level processor is capable of processing, means (21, 24, 25) for: storing those parameters that the lower level processor is capable of processing in first memory means (DOCUMENT LABEL), and storing those parameters that the lower level processor is not capable of processing in second memory moans (PROFILE VECTOR), means (28, 21, 24, 25) for storing said second parameters in third memory means, means (12) for processing a received document according to data in first and third memory means, and means for, after said processing, reconstituting said received stream for input to said transmitting means. The system according to claim 1, characterized in that said lower level processor is a display word processor. The system according to claim 1 or 2, characterized in that said reconstituted stream is transmitted to a display word processor in said network, and those parameters that the lower level processor is not capable of processing relate to display capabilities. The system according to any of the claims 1 to 3, characterized in that: a first of said higher level processors transmits a first data stream to said lower level processor, and a second of said higher level processors receives a reconstituted first data stream, said first and second higher level processors belong to a specific class of processors, and those parameters that the lower level processor is not capable of processing relate to a data processing capability limited to only said specific class of processors. The system according to any of the claims 1 to 4, characterized in that the first, second and third memory means reside on a diskette storage (25).

Inventors: FOSTER GREGORY JOHN, FOSTER, GREGORY JOHN
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1983
Main classification: G06F15
IPC codes: G06F15, H04L29, G06F17, G06F13