From: cvs@openprivacy.orgCVS update: openprivacy/htdocs/notes
Date:	Monday December 18, 19100 @ 18:34
Author:	fen
CVSWEB Options: -------------------
Main CVSWeb:     http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi
View this module:  http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi/openprivacy/htdocs/notes
-----------------------------------
Update of /usr/local/cvsroot/openprivacy/htdocs/notes
In directory openprivacy.org:/home/fen/projects/openprivacy/htdocs/notes
Modified Files:
        flow.txt 
Log Message:
cleaning up...
*****************************************************************
File:  openprivacy/htdocs/notes/flow.txt
CVSWEB Options: -------------------
CVSWeb: Annotate this file:         http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi/openprivacy/htdocs/notes/flow.txt?annotate=1.26
CVSWeb: View this file:             http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi/openprivacy/htdocs/notes/flow.txt?rev=1.26&content-type=text/x-cvsweb-markup
CVSWeb: Diff to previous version:   http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi/openprivacy/htdocs/notes/flow.txt.diff?r1=1.26&r2=1.25
-----------------------------------
Index: openprivacy/htdocs/notes/flow.txt
diff -u openprivacy/htdocs/notes/flow.txt:1.25 openprivacy/htdocs/notes/flow.txt:1.26
--- openprivacy/htdocs/notes/flow.txt:1.25	Mon Dec 18 17:51:01 2000
+++ openprivacy/htdocs/notes/flow.txt	Mon Dec 18 18:34:24 2000
@@ -1,4 +1,4 @@
-$Id: flow.txt,v 1.25 2000/12/19 01:51:01 burton Exp $
+$Id: flow.txt,v 1.26 2000/12/19 02:34:24 fen Exp $
 
 
 = =======================================
@@ -29,11 +29,13 @@
 
 Opinion implements XMLDocument
 
+// ========== in JetsPeek ========== initialize, get RSS streams
+
 // create a primary (secret,public) key pair for JetsPeek
 // store this pair as a primary (top-level) pair
 // note that this operation is standard to every ReputationServer
 //
-(JPN1s, JPN1p) = reputationServer.createPublicKeyPair()
+(JPN1s, JPN1p) = jetspeek.reputationServer.createPublicKeyPair()
 
 // JetsPeek is a OCS <-> OpenPrivacy gateway
 // when JetsPeek loads the OCS feeds, it creates PROBs for the RSS channels
@@ -62,7 +64,7 @@
         op.setProperty("URI", URI)
         op.setProperty("description", description)
 
-        prob = ProbFactory.create(OpinionFactory.create(op, JPN1p))
+        prob = ProbFactory.create(op, JPN1p)
         //
         // TODO: define storage mechanism for probs
         //       does storage have side-effect of indexing properties?
@@ -86,71 +88,89 @@
     }
 }
 
+// ========== in Agent1 ========== initialize, ask for filtered RSS set
+
 // create a primary (secret,public) key pair [see e.g. openssh]
 // store this pair as a primary (top-level) pair 
 //
-A1:     (N1s,N1p) = createPseudonym(rand())
+(AN1s, AN1p) = agent1.reputationServer.createPublicKeyPair()
 
 // ask SCDS for OCS channels filtered by keyword
 // how does SendMessage know who to send to? (for now, hardwire addresses)
 // what is the message format (required SOAP fields, etc.)?
 // for secure usage, communications must be onion routed (optional feature)
 //
-A1=>JP: sendMessage(                    // how is SendMessage implemented?
-            address=JP,                 // what does and address look like?
-            facility=getStream,
-            filter=keyword,             // what is the specification of a
-                                        // filter (should be general)?
-            returnAddr=A1)              // onion-routed for security
+agent1.sendMessage(             // how is sendMessage implemented?
+    address=JetsPeek,           // what does and address look like?
+    facility=getStream,
+    filter=keyword,             // what is the specification of a
+                                // filter (should be general)?
+    returnAddres=Agent1)        // onion-routed for security
+
+// ========== in JetsPeek ========== return filtered RSS set
 
 // SCDS returns streams collection (size of collection may be zero)
 //
-A1<=JP: sendMessage(address=A1,
-            value=rss[],                // (may be null)
-            returnAddr=NULL)            // no reply required
+jetspeek.sendMessage(
+    address=Agent1,
+    value=rss[],                // encapsulated in a prob (may be null)
+    returnAddr=NULL)            // no reply required
 
 // or SCDS may return an exception is the service is not currently available
 //
-A1<=JP: ServiceNotAvailableException
+jetspeek.sendException(
+    address=Agent1,
+    value=ServiceNotAvailable)
+
+// ========== in Agent1 ========== choose channels
+// AJ1: RSS1
+// AJ2: RSS2
+// AJ2: RSS3
+// AJ3: RSS4
 
-// create pseudonyms based on N1 key such that N1 can later prove parenthood
-// this could be implemented simply as a list that N1 maintains
+// TODO: Agent1 chooses channels it wants to receive
+//       subscribes to RSS server channels directly (or through JetsPeek)
+
+// create pseudonyms based on AN1 key such that AN1 can later prove parenthood
+// this could be implemented simply as a list that AN1 maintains
 //
-A1:     (J1s,J1p) = createPseudonym(N1s)
+(AJ1s, AJ1p) = agent1.reputationServer.createPublicKeyPair(AN1s)
 
 // create prob for reputation publication
-// ProbFactory calls ProbConfig methods to figure out what to do
 //
-A1:     op = OpinionFactory.create(
-                reference=RSS1.getURI,
-                ontology="OPdefault",
-                payload="cool")
+op = New Opinion                // create new opinion object
+op.setProperty("namespace", "RSS*")
+op.setProperty("reference",  RSS1.getURI)
+op.setProperty("ontology",  "OpenPrivacyDefaultOntology")
+op.setProperty("payload",   "cool")
 
-// create prob with J1
+// create prob with AJ1
+// see ProbConfig, below, for a better way to do this
 //
-A1:     prob_J1 = ProbFactory.create(op, J1s)
+prob_AJ1 = agent1.ProbFactory.create(op, AJ1s)
 
 // store prob in local database
-// what kind of checking is done i
-JP:     parse into RSS channels
-JP:     for each rssChannel in (RSS_channel the local database before storage?
+// what kind of checking is done locally to look for duplications, etc.
 // (such as J1 grouping, duplication, etc...)
 //
-A1:     storeLocally(prob_J1, J1p)
+agent1.storeLocally(prob_AJ1, AJ1p)
 
 // categorize these four streams (with three J's) as "MyNews"
 // note that local JetsPeek client may handle this transparently
 //
-A1:     categorize(prob_J1, MyNews")
+agent1.categorize(prob_AJ1, MyNews")
 
 // send the prob to JetsPeek (which is acting as a reputation server)
 // other capabilities include DELETE, GRAFT, ...?
 // refURI used for DELETE and GRAFT
 //
-A1=>JP: sendMessage(address=JetsPeek,
-                facility=putReputation,
-                prob=prob_J1,
-                refURI="")
+agent1.sendMessage(
+    address=JetsPeek,
+    facility=putReputation,
+    prob=prob_AJ1,
+    refURI="")
+
+// ========== in JetsPeek ==========
 
 // TODO: storage on JetsPeek
 // Does JetsPeek simply store a reputation prob?
This archive was generated by hypermail 2b30 : Mon Jan 22 2001 - 15:52:14 PST