throbber
 
`
`
`
`  
`
`Data Responsive Modular Interleaved Task Programming
`System
`
`An IP.com Prior Art Database Technical Disclosure
`
`Authors et. al.: IBM
`Morrison, JP
`Original Publication Date: January 01, 1971
`Original Disclosure Information: TDB 01-71 p2425-2426
`IP.com Number: IPCOM000073741D
`IP.com Electronic Publication: February 23, 2005
`
`IP.com is the world's leader in defensive publications. The largest and most innovative companies publish their technical
`disclosures into the IP.com Prior Art Database. Disclosures can be published in any language, and they are searchable in those
`languages online. Unique identifiers indicate documents containing chemical structures. Original disclosures that are published
`online also appear in The IP.com Journal. The IP.com Prior Art Database is freely available to search by patent examiners
`throughout the world.
`
`Terms: Client may copy any content obtained through the site for Client's individual, non-commercial internal use only. Client
`agrees not to otherwise copy, change, upload, transmit, sell, publish, commercially exploit, modify, create derivative works or
`distribute any content available through the site.
`
`Note: This is a PDF rendering of the actual disclosure. To access the disclosure package containing an exact copy of the
`publication in its original format as well as any attached files, please download the full document from IP.com at:
`http://ip.com/IPCOM/000073741
`
`

`

`Data Responsive Modular Interleaved Task Programming System
`
` Reduced programming costs and earlier productivity of new programmers
`are achieved with a composite data processing program consisting of an
`assembly of prewritten and custom-written MODULES such as 3-8,
`communicating by data elements passing through QUEUES such as 11-15,
`which can each store some number (called its CAPACITY) of data elements.
`Each module (e.g. 6) is a program which performs a data processing task such
`as COLLATE, PRINT REPORTS, READ TAPE, and EDIT CARDS on a data
`element presented to it by SCHEDULER 20 via a queue (e.g. 13). Scheduler 20
`activates modules (e.g. 6) on the basis of availability of data elements for
`processing by the modules, service requests by the modules for data handling,
`and checks for completion of external events.
`
` Sketch A is a FLOW DIAGRAM representation of a typical program formed
`by assembling a selection of modules 3-8 into a customized array joined by a
`network of queues 11-15, which are operated on and activated by scheduler 20.
`16-19 represent queues which are LOCAL to particular modules (e.g. 5,6). If the
`capacity of such a local queue is 1, it is called a SHUNT (e.g. 16).
`
` To execute his program, the programmer codes one statement for each
`module in the flow diagram, the modules to be custom-written, and constant
`information in core storage representing selections among options designed into
`the prewritten modules. These are COMPILED, then LINK-EDITED with the
`prewritten modules and scheduler 20 to form an executable program. Modules 3,
`4, 7, and 8 are connected to external media represented by 1, 2, 9, and 10,
`respectively, by the above constant information.
`
` In sketch B, Q1 and Q3 are the queues by which modules M1, M2 and MP
`communicate. Q2 is local to M2. M1 and M2 are examples of prewritten
`modules and are made available to the programmer in a library 21, which also
`contains scheduler 20. MP is a typical module custom-written by the
`programmer. A typical sequence of operation of scheduler 20 might be as
`follows: scheduler 20 removes a data element from Q1, and presents it to M2 for
`processing. After processing, M2 requests scheduler 20 to transmit this data
`element to Q3. Scheduler 20 then determines whether Q3 is full, and, if not,
`places the data element in it and returns control to M2. If Q3 is full, however, M2
`is suspended, and control given to another module (e.g. MP), provided its input
`queue, Q3, is not empty, or to some other suspended module provided it can
`now proceed. M2 might alternatively request scheduler 20 to place a data
`element in its local queue Q3, or to retrieve one from it. If scheduler 20 cannot
`do this, it will return an error indication to M2, and no suspension of M2 occurs.
`
` Other typical functions supported by scheduler 20 are: get the next data
`element from a designated queue (e.g. Q1); allocate core storage for (create) a
`new data element; release core storage allocated to (destroy) a data element;
`suspend a module (e.g. M1) until completion of an external event such as
`completion of a write operation onto disc.
`
` Data elements represent objects (e.g. automobiles, employees) handled by
`the program and fall into CLASSES determined by their characteristics, such as
`
` 1
`
`

`

`amount of storage required for an element (typically 80 bytes). Classes are
`divided into DYNAMIC and STATIC. Dynamic data elements are "created", are
`passed from one module to another for processing and possible modification and
`are finally "destroyed". Static data elements are unmodifiable, and cannot be
`"created" or "destroyed". Since data elements do not move in core storage, it is
`the references to data elements which are moved through the queues by
`scheduler 20. This feature allows one to program as though multiple copies of a
`static data element are immediately available when needed.
`
` 2
`
`

`

`
`
`{ PROGRA M MER )
`
`
`
` 3
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket