General Points
Some objects are inherently not discreet.
We say that a set of keys D is structurally discreet with respect to integral regime I, with holes H if there is a set of pages and nodes R such that:
all keys in D are sensory or designate things in R, and
no I/O keys are in the nodes of R and
If K is a key in a slot of a node in R then either:
K is in H or
K designates a page or node and that page or node is either in the nodes of R or I or
K does not designate a page or node.
The above definition has the strange result that after calling a key in D {presumably a start key} and before the return from that call, R is not discreet because it holds a resume key to the caller. If no other non-sensory keys were passed, we know the resume key is the only exception and that after the return R will again be structurally discreet. Perhaps we need {as a practical matter} to allow keys in R to objects known to the holder of D.
{The aforementioned Integral regime is that of the Security System or TCB or some such.}
It is useless to know that a regime is discreet unless the whereabouts of all slots holding members of D are also known.
Not all discreet objects are structurally discreet. Perhaps not all structurally discreet objects can be feasibly produced by factories.
As an example of the need of the integral regime in the above definition consider the following:
A bug in a space bank used by code in the regime could cause the space bank to create and disseminate page keys to pages within the discreet regime.
The space bank cannot be in the regime because there are not enough space banks with their own range keys to go around.
We believe that the kinds of objects that are clearly discreet on the basis of the keys that they hold, can be feasibly constructed by these means.
The net result of these ideas is that data abstraction does not require trusting the implementor of the abstraction with your secrets.
has an obsolete introduction to factory logic.
The outer abstraction can not generally be considered discreet unless the inner one is. These techniques must therefore be recursive -- the proof of the discreetness of the outer abstraction includes the proof of the discreetness of the inner abstraction.
The object will be created from components available or producible by the creator. The components most basic to the construction of objects are access to segments and start keys to domains.
Objects that are components of newly created discreet objects must themselves be newly created and manifestly discreet -- at least the rules below enforce this.
The creator calls E passing a memory key C.
When order code 2 is used a factory is passed. This factory key has come from some creator {of a discreet sub-component}.
Upon a call by a requestor, the factory constructs a domain with a read-only no-call segment key to the keeper’s code as the memory tree root. This domain holds the sense key to the top node of the segment. Now segment keeper code runs in an environment acceptable to both keeper’s designer and segment holder.
This is not possible however when the creation of the object is relative to some other objects that did not exist when the creator was created. An example is the creation of virtual copies of segments. The creator needs read access to the segment but must have nothing else.
An issue here is whether the program C is allowed to call upon Y as it runs.
On the other hand program C has had access to the secret space banks and meter. Possible space bank rejects have occurred which might signal something. If you did allow C to call Y, Y would not know how long these calls would last and Y might need to be tending to other business and thus evolving.
An immediate case in point is the supernode:
If the copy were to be done outside the supernode, the supernode holder would have to build a tree of nodes and pass a sense key into the factory. This is objectionable because it duplicates the factory tree logic, and causes the keys to be passed over twice to boot.
If we modify the logic of the supernode to produce a copy with a factory we may use the ideas of virtually copyable segments.
If C will need a subcomponent that is available only in the form of a start key S then S must be discreet to the satisfaction of the factory E1.
Y must get a new factory E2 and give E2A to to S. S will do its factory thing and return. E2B may now be sent to E1A and the first factory will recognize it as a factory and do the call on E2 and keep the yield for access by C.
The creator wants the implementation of the object not to be divulged.
We notice that if the object is itself implemented with a start key to a sub-object, that that sub-object must be discreet as well and that the creator is here a requestor (for the creation of the sub-object) but that he must convince another party of the discreetness of the sub-object. That other party is the factory which the creator is priming.
Do we need repair key conventions for the factory?
In particular I suspect that the dcc is structurally discreet and can produce new manifestly discreet dcc’s. With some connivance from the factory logic the new dcc could be the same as the old.
The 16 component limit:
The subsidiary factories have a standard program installed in them that merely coughs up the components on demand.
If sense keys are implemented, components that aren’t requestor keys can be placed in a common node and a sense key to that node may be placed in the factory.
Space Banks and Meters
The code of integral regimes must explicitly implement whatever degree of discreetness is required. There are several techniques to support discreetness and confidence in discreetness.
Running out of space
One answer here is not to provide such space-banks. An alternative is to dedicate some fixed set of pages and nodes at factory creation time and provide a space bank {in the factory} to hand these out as needed. This function is provided by current space banks {(p2,sbt1)}.
Such a space bank is still structurally discreet only relative to a regime with a senior space bank because a senior space bank holds range keys the this set of pages. Now, however, it suffices to know that that senior bank will not use those keys for those pages and nodes for the duration of the existence of the discreet object. This is a much easier thing to prove and believe.
The network communications could be handled in {at least} these three ways: {This can now be reworked with relative discretion.}
If a small fixed number of discreet regimes is required, each has its own TA, Tymnet base and Tymnet.
An enciphering facility exists in the integral regime which interfaces with TA which is not in the regime!