]>
Commit | Line | Data |
---|---|---|
5580185e | 1 | @device(PostScript) |
2 | @make(slides) | |
3 | @style(justification off) | |
4 | @style(FontFamily "TimesRoman") | |
5 | @modify(text, spread 1cm) | |
6 | @modify(heading, below 1.25in) | |
7 | @blankspace(2 in) | |
8 | @begin(center) | |
9 | @begin(majorheading) | |
10 | GDB: | |
11 | ||
12 | Global Databases on High Speed Networks | |
13 | @end(majorheading) | |
14 | ||
15 | @heading(Noah Mendelsohn) | |
16 | ||
17 | @subheading(IBM T.J. Watson Research Center@*and@*MIT Project Athena) | |
18 | ||
19 | @blankspace(1.8 in) | |
20 | @value(Date) | |
21 | @end(center) | |
22 | @newpage | |
23 | @Heading(Problems) | |
24 | @begin(itemize) | |
25 | There are few network applications at Athena | |
26 | ||
27 | Network applications are difficult to implement | |
28 | ||
29 | Heterogeneous hardware complicates the problem | |
30 | ||
31 | Synchronization and performance issues are frequently misunderstood | |
32 | @end(itemize) | |
33 | @newpage | |
34 | @Heading(GDB Approach@*A C Library to Support:) | |
35 | @begin(Itemize) | |
36 | Shared, global relational databases | |
37 | ||
38 | Simplified implementation of servers and clients | |
39 | ||
40 | Explicit support for single process Unix servers | |
41 | @end(itemize) | |
42 | @newpage | |
43 | @heading(Potential Appplications of GDB) | |
44 | @begin(itemize) | |
45 | Subject specific databases | |
46 | ||
47 | Calendars | |
48 | ||
49 | Cooperative development environments | |
50 | ||
51 | Access to network resources (e.g. videodisc) | |
52 | ||
53 | Interactive game-like environments | |
54 | ||
55 | Discussion systems (conferences) | |
56 | @end(itemize) | |
57 | @newpage | |
58 | @Heading(GDB Database Services) | |
59 | @begin(itemize) | |
60 | Full services of RTI Ingres relational databases | |
61 | ||
62 | Available from any GDB client on internet | |
63 | ||
64 | Machine dependencies hidden | |
65 | ||
66 | Synchronous and asynchronous flavors of most services | |
67 | ||
68 | Based on GDB data structuring facilities | |
69 | @end(itemize) | |
70 | @newpage | |
71 | @Heading(GDB Data Structuring Services) | |
72 | @begin(itemize) | |
73 | Intended to support GDB's specific needs, @i[not] a generalized | |
74 | extension to C language typing | |
75 | ||
76 | Explicit support for `database types' (e.g. relation, tuple) | |
77 | ||
78 | Representation may vary according to local hardware type | |
79 | ||
80 | Automatic conversion when transmitting between different architectures | |
81 | (e.g. VAX to RT/PC) | |
82 | ||
83 | Limited polymorphism | |
84 | ||
85 | Limited services for user defined types | |
86 | @end(itemize) | |
87 | @newpage | |
88 | @Heading(GDB Communication Services) | |
89 | @begin(itemize) | |
90 | CONNECTIONS: underlying implementation is TCP byte streams, but much | |
91 | easier to use | |
92 | ||
93 | Services provided for sending and receiving GDB typed data | |
94 | ||
95 | Queuing for asynchronous operations | |
96 | ||
97 | Synchronization services | |
98 | ||
99 | All services are available to GDB applications | |
100 | ||
101 | Very low latencies can be achieved on suitable networks | |
102 | ||
103 | Asynchronous services can hide network delays from the application | |
104 | ||
105 | GDB @i[database] services are built on top of GDB communication services | |
106 | @end(itemize) | |
107 | @newpage | |
108 | @Heading(GDB Servers and Clients) | |
109 | @begin(itemize) | |
110 | @i[Forking] servers are particularly easy to implement | |
111 | ||
112 | @i[Non-forking] servers provide high performance data sharing | |
113 | ||
114 | Limited support for @i[peer-to-peer] communication is also provided | |
115 | @end(itemize) | |
116 | @newpage | |
117 | @Heading(GDB Project Status) | |
118 | @begin(itemize) | |
119 | Project started: late winter of 1986 | |
120 | ||
121 | A basic, unoptimized, but 95% complete implementation of the specification | |
122 | is now available for Berkeley Unix systems | |
123 | ||
124 | Runs on both RT/PC and Vax machines, should port to others easily | |
125 | ||
126 | Preliminary versions of a User's Guide and a Library Reference Manual | |
127 | are available | |
128 | ||
129 | A few applications have been built, and several others are under development | |
130 | ||
131 | Several groups and individuals at MIT have expressed interest in the system | |
132 | @end(itemize) | |
133 | @newpage | |
134 | @Heading(Plans for the Future) | |
135 | @begin(itemize) | |
136 | Develop applications | |
137 | ||
138 | Find and support new `customers' | |
139 | ||
140 | Evaluate design, and possibly re-implement some portions based on | |
141 | experiences of users | |
142 | ||
143 | Enhancements? (e.g. automatic encapsulation of C structures as GDB types) | |
144 | ||
145 | Continue comparisons with other approaches to similar function | |
146 | (integrated distributed databases, RPC, etc.) | |
147 | @end(itemize) |