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