CVS update: openprivacy/htdocs/notes

From: cvs@openprivacy.org
Date: Tue Dec 19 2000 - 00:33:12 PST


Date: Tuesday December 19, 19100 @ 0:33
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:
updated rest of file - ready to go over with Kevin Tuesday morning

*****************************************************************
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.37

CVSWeb: View this file: http://openprivacy.org/cgi-bin/cvsweb/cvsweb.cgi/openprivacy/htdocs/notes/flow.txt?rev=1.37&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.37&r2=1.36

-----------------------------------

Index: openprivacy/htdocs/notes/flow.txt
diff -u openprivacy/htdocs/notes/flow.txt:1.36 openprivacy/htdocs/notes/flow.txt:1.37
--- openprivacy/htdocs/notes/flow.txt:1.36 Mon Dec 18 23:36:56 2000
+++ openprivacy/htdocs/notes/flow.txt Tue Dec 19 00:33:12 2000
@@ -1,4 +1,4 @@
-$Id: flow.txt,v 1.36 2000/12/19 07:36:56 fen Exp $
+$Id: flow.txt,v 1.37 2000/12/19 08:33:12 fen Exp $
 
 http://pix.comedia.com/OpenPrivacy/20001214/DSCN5532.JPG
 
@@ -138,8 +138,10 @@
 // AJ2: RSS3
 // AJ3: RSS4
 
-// TODO: Agent1 chooses channels it wants to receive
-// subscribes to RSS server channels directly (or through JetsPeek)
+// Agent1 chooses channels it wants to receive
+// subscribes to RSS server channels directly (or through JetsPeek)
+// (may need to go through JetsPeek to receive encapsulated probs)
+// TODO: show actual RSS channel subscription process
 
 // create pseudonyms based on AN1 key such that AN1 can later prove parenthood
 // this could be implemented simply as a list that AN1 maintains
@@ -147,6 +149,7 @@
 (AJ1s, AJ1p) = agent1.reputationServer.createPublicKeyPair(AN1s)
 
 // create prob for reputation publication (subscribe to RSS1)
+// "RSS*" is a multi-valued entity for RSS_090, RSS_091, and RSS_1.0
 //
 op = New Opinion // create new opinion object
 op.setProperty("namespace", "RSS*")
@@ -202,32 +205,43 @@
 categorize(J3, PRIVATE) // overload or new function?
 agent1.categorize(prob_J3, MyNews")
 
-// ========== in JetsPeek ==========
+// ========== in JetsPeek ========== putReputaion facility
 
-// TODO: storage on JetsPeek
+// TODO: implementation of JetsPeek putReputaion facility
+// (let's try to make this as a general Reputaion Server example)
 // Does JetsPeek simply store a reputation prob?
 // Does it look for other probs with similar signatures and group?
-// How will grafts occur?
-// Perhaps this *is* a graft, in that maybe JetsPeek has created default
-// reputations for each of the RSS channels it holds and J1 adds a graft?
-//
-JP:
-
-// ========== in Agent2 ========== look up chennels by reputation
-
-JP: parse into RSS channels
-JP: for each rssChannel in (RSS_channel
-// RSS is a multi-valued entity for RSS_090, RSS_091, and RSS_1.0
-//
-A2=>JP: sendMessage(address=JetsPeek,
- facility=getOpinion, // get the opinion...
- signature=J1, // ... of this entity...
- namespace=RSS, // ...within this namespace...
- returnCount=10, // ...limit result set (how?)...
- returnAddr=A2
-JP: parse into RSS channels
-JP: for each rssChannel in (RSS_chann) // ...and return it to me
+//
+jetspeek.putReputation(prob) {
+ storeLocally(prob) // we suspect more is needed here
+}
+
+// ========== in Agent2 ========== look up channel(s) by reputation
+
+// initialize agent2's public keys
+//
+(A2N1s, A2N1p) = agent2.reputationServer.createPublicKeyPair()
+(A2J1s, A2J1p) = agent2.reputationServer.createPublicKeyPair(A2N1s)
 
+// Agent2 wants to find channels recommended by pseudonym "AJ1"
+// we want things like:
+// getProbByPubkey // may return a set
+// getProbBySignatureValue // zero or one
+// getProbByProperty // more general than getProbBySignatureValue
+//
+op = New Opinion // how do we choose the property-resolver?
+op.setProperty(pubkey, AJ1p) // get the opinion of this entity...
+op.setProperty(namespace, RSS) // ...within this namespace...
+op.setProperty(returnLimit, 10) // ...limit result set (how?)...
+
+prob = ProbFactory.createProb(op, A2J1p)
+agent2.sendMessage(address=JetsPeek,
+ facility=getOpinion,
+ prob=prob,
+ returnAddress=agent2)
+
+// ========== in JetsPeek ========== implementation of getOpinion facility
+
 // TODO: how does JetsPeek determine the correct opinion?
 // If a reputation server only returns an opinion it signs,
 // then how does another server graft an opinion to an object?
@@ -239,17 +253,28 @@
 // a general question, but returns a specific prob when the
 // question includes a specific prob hash (as opposed to a pubkey)
 
+// ========== in Agent1 ========== publish stream pseudonymously
+
 // publish stream pseudonymously
 //
-A1=>JP: SendMessage(address=JetsPeek,
- facility=publish,
- namespace=RSS,
- signature=J4)
+(AJ4s, AJ4p) = agent2.reputationServer.createPublicKeyPair(AN1s)
+
+op = New Opinion // how do we choose the property-resolver?
+op.setProperty(namespace, RSS)
+
+prob = ProbFactory.createProb(op, AJ4p)
 
-// TODO: DELETE
-// TODO: AgentLookup;
+agent1.sendMessage(address=JetsPeek,
+ facility=publishRSS,
+ prob=prob,
+ returnAddress=agent1)
 
+==============================================================
+==================== done with example =======================
+==============================================================
 
+// TODO: DELETE, prob validation, garbage collection
+// TODO: AgentLookup
 
 ==============================================================
 ========= objects that we may use for implementation =========



This archive was generated by hypermail 2b30 : Mon Jan 22 2001 - 15:52:14 PST