aboutsummaryrefslogtreecommitdiff
path: root/_bibliography
diff options
context:
space:
mode:
authorHeather Miller <heather.miller@epfl.ch>2016-12-18 15:59:07 -0500
committerGitHub <noreply@github.com>2016-12-18 15:59:07 -0500
commitb8ea0136877b83801707f85ca902ce033fffe360 (patch)
tree0405d53412ce19830d1550f08d4879148d79201f /_bibliography
parent313f5c7bdd02346683b376f54301792e9f2e48f5 (diff)
parent5b299d189255e04ca3481a15e15b2a2e10b29b42 (diff)
Merge branch 'master' into Jingjing-Abhilash-bigdata-v2Jingjing-Abhilash-bigdata-v2
Diffstat (limited to '_bibliography')
-rw-r--r--_bibliography/futures.bib387
-rw-r--r--_bibliography/langs-consistency.bib62
-rw-r--r--_bibliography/message-passing.bib326
-rw-r--r--_bibliography/rpc.bib478
4 files changed, 1187 insertions, 66 deletions
diff --git a/_bibliography/futures.bib b/_bibliography/futures.bib
index 416b697..13e2f19 100644
--- a/_bibliography/futures.bib
+++ b/_bibliography/futures.bib
@@ -23,4 +23,389 @@
number = {6},
year = {2004},
pages = {727-739},
-} \ No newline at end of file
+}
+
+@article{1,
+ author = {Halstead,Jr., Robert H.},
+ title = {MULTILISP: A Language for Concurrent Symbolic Computation},
+ journal = {ACM Trans. Program. Lang. Syst.},
+ issue_date = {Oct. 1985},
+ volume = {7},
+ number = {4},
+ month = oct,
+ year = {1985},
+ issn = {0164-0925},
+ pages = {501--538},
+ numpages = {38},
+ url = {http://doi.acm.org/10.1145/4472.4478},
+ doi = {10.1145/4472.4478},
+ acmid = {4478},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@inproceedings{2,
+ author = {Liskov, B. and Shrira, L.},
+ title = {Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in Distributed Systems},
+ booktitle = {Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation},
+ series = {PLDI '88},
+ year = {1988},
+ isbn = {0-89791-269-1},
+ location = {Atlanta, Georgia, USA},
+ pages = {260--267},
+ numpages = {8},
+ url = {http://doi.acm.org/10.1145/53990.54016},
+ doi = {10.1145/53990.54016},
+ acmid = {54016},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@article{3,
+ author = {Liskov, B. and Shrira, L.},
+ title = {Promises: Linguistic Support for Efficient Asynchronous Procedure Calls in Distributed Systems},
+ journal = {SIGPLAN Not.},
+ issue_date = {July 1988},
+ volume = {23},
+ number = {7},
+ month = jun,
+ year = {1988},
+ issn = {0362-1340},
+ pages = {260--267},
+ numpages = {8},
+ url = {http://doi.acm.org/10.1145/960116.54016},
+ doi = {10.1145/960116.54016},
+ acmid = {54016},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@article{4,
+ author = {Eriksen, Marius},
+ title = {Your Server As a Function},
+ journal = {SIGOPS Oper. Syst. Rev.},
+ issue_date = {January 2014},
+ volume = {48},
+ number = {1},
+ month = may,
+ year = {2014},
+ issn = {0163-5980},
+ pages = {51--57},
+ numpages = {7},
+ url = {http://doi.acm.org/10.1145/2626401.2626413},
+ doi = {10.1145/2626401.2626413},
+ acmid = {2626413},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@misc{5,
+ title={What are the differences between JavaScript Promise and a Java Future?},
+ author={Google},
+ url = {https://www.quora.com/What-are-the-differences-between-JavaScript-Promise-and-a-Java-Future},
+ publisher = {Quora}
+}
+
+@misc{6,
+ title={The JavaScript Event Loop: Explained},
+ author={Erin Swenson-Healey},
+ url = {http://blog.carbonfive.com/2013/10/27/the-javascript-event-loop-explained/}
+}
+
+@misc{7,
+ title={jQuery.Deferred()},
+ url = {https://api.jquery.com/jquery.deferred/}
+}
+
+@misc{8,
+ title={Effective Scala},
+ author={Marius Eriksen},
+ url = {http://twitter.github.io/effectivescala}
+}
+
+@misc{8,
+ title={Concurrency model and Event Loop},
+ author={MDN},
+ url = {https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop}
+}
+
+@misc{9,
+ title={Task vs Future vs Promise},
+ author={Ned Stoyanov},
+ url = {http://www.nedstoyanov.com/promises-and-futures/}
+}
+
+@misc{10,
+ title={Futures and Promises - List of Implementations},
+ url = {http://www.liquisearch.com/futures_and_promises/list_of_implementations}
+}
+
+@misc{11,
+ title={Promises and Deferreds},
+ author={Trevor Burnham},
+ url = {https://www.safaribooksonline.com/library/view/async-javascript/9781941222782/f_0028.html}
+}
+
+@misc{12,
+ title={Futures and Promises},
+ url = {http://www.seastar-project.org/futures-promises/}
+}
+
+@misc{13,
+ title={Why do Promise libraries use event loops?},
+ url = {http://stackoverflow.com/questions/23447876/why-do-promise-libraries-use-event-loops}
+}
+
+@misc{14,
+ title={Why do Promise libraries use event loops?},
+ url = {http://stackoverflow.com/questions/23447876/why-do-promise-libraries-use-event-loops}
+}
+
+
+@misc{15,
+ title={Tasks, microtasks, queues and schedules},
+ author={Jake Archibald},
+ url = {https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/}
+}
+
+@misc{16,
+ title={You're Missing the Point of Promises},
+ author={Domenic Denicola},
+ url = {https://blog.domenic.me/youre-missing-the-point-of-promises/}
+}
+
+@misc{17,
+ title={Dataflow Concurrency},
+ url = {http://doc.akka.io/docs/akka/2.3-M1/scala/dataflow.html}
+}
+
+@misc{18,
+ title={Promise & Deferred objects in JavaScript Pt.1: Theory and Semantics},
+ author={Chris Webb},
+ url = {http://blog.mediumequalsmessage.com/promise-deferred-objects-in-javascript-pt1-theory-and-semantics}
+}
+
+@misc{19,
+ title={Promise & Deferred objects in JavaScript Pt.1: Theory and Semantics},
+ author={Chris Webb},
+ url = {http://blog.mediumequalsmessage.com/promise-deferred-objects-in-javascript-pt1-theory-and-semantics}
+}
+
+@misc{20,
+ title={CompletableFuture},
+ author={Doug Lea},
+ url = {http://cs.oswego.edu/pipermail/concurrency-interest/2012-December/010423.html}
+}
+
+@misc{21,
+ title={CompletableFuture},
+ author={Doug Lea},
+ url = {http://cs.oswego.edu/pipermail/concurrency-interest/2012-December/010423.html}
+}
+
+@misc{22,
+ title={Difference between Future and Promise},
+ url = {http://stackoverflow.com/questions/14541975/difference-between-future-and-promise}
+}
+
+@misc{23,
+ title={Welcome to Thunk.org!},
+ url = {https://thunk.org/}
+}
+
+@misc{24,
+ title={CompletableFuture},
+ author={Doug Lea},
+ url = {http://cs.oswego.edu/pipermail/concurrency-interest/2012-December/010423.html}
+}
+
+@misc{25,
+ title={JVM Internals},
+ author={james d bloom},
+ url = {http://blog.jamesdbloom.com/JVMInternals.html}
+}
+
+@misc{26,
+ title={ExecutionContext},
+ url = {http://www.scala-lang.org/api/current/scala/concurrent/ExecutionContext.html}
+}
+
+@misc{27,
+ title={ForkJoinPool: the Other ExecutorService},
+ author={Jessica Kerr},
+ url = {http://blog.jessitron.com/2014/02/forkjoinpool-other-executorservice.html}
+}
+
+@misc{28,
+ title={Scala: the global ExecutionContext makes your life easier},
+ author={Jessica Kerr},
+ url = {http://blog.jessitron.com/2014/02/scala-global-executioncontext-makes.html}
+}
+
+@misc{29,
+ title={Learn implicits: Scala Futures},
+ author={Jorge Montero},
+ url = {http://engineering.monsanto.com/2015/06/15/implicits-futures/}
+}
+
+@misc{30,
+ title={Simple concurrency with Scala Futures (Futures tutorial)},
+ author={Alvin Alexander},
+ url = {http://alvinalexander.com/scala/concurrency-with-scala-futures-tutorials-examples}
+}
+
+@misc{31,
+ title={JavaScript Promises and Error Handling},
+ author={OdeToCode},
+ url = {http://odetocode.com/blogs/scott/archive/2015/10/01/javascript-promises-and-error-handling.aspx}
+}
+
+@inproceedings{32,
+ author = {Lea, Doug},
+ title = {A Java Fork/Join Framework},
+ booktitle = {Proceedings of the ACM 2000 Conference on Java Grande},
+ series = {JAVA '00},
+ year = {2000},
+ isbn = {1-58113-288-3},
+ location = {San Francisco, California, USA},
+ pages = {36--43},
+ numpages = {8},
+ url = {http://doi.acm.org/10.1145/337449.337465},
+ doi = {10.1145/337449.337465},
+ acmid = {337465},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@inproceedings{33,
+ author = {de Boer, Frank S. and Clarke, Dave and Johnsen, Einar Broch},
+ title = {A Complete Guide to the Future},
+ booktitle = {Proceedings of the 16th European Symposium on Programming},
+ series = {ESOP'07},
+ year = {2007},
+ isbn = {978-3-540-71314-2},
+ location = {Braga, Portugal},
+ pages = {316--330},
+ numpages = {15},
+ url = {http://dl.acm.org/citation.cfm?id=1762174.1762205},
+ acmid = {1762205},
+ publisher = {Springer-Verlag},
+ address = {Berlin, Heidelberg},
+}
+
+@inproceedings{34,
+ author = {de Boer, Frank S. and Clarke, Dave and Johnsen, Einar Broch},
+ title = {A Complete Guide to the Future},
+ booktitle = {Proceedings of the 16th European Symposium on Programming},
+ series = {ESOP'07},
+ year = {2007},
+ isbn = {978-3-540-71314-2},
+ location = {Braga, Portugal},
+ pages = {316--330},
+ numpages = {15},
+ url = {http://dl.acm.org/citation.cfm?id=1762174.1762205},
+ acmid = {1762205},
+ publisher = {Springer-Verlag},
+ address = {Berlin, Heidelberg},
+}
+
+@article{35,
+ author = {Friedman, D. P. and Wise, D. S.},
+ title = {Aspects of Applicative Programming for Parallel Processing},
+ journal = {IEEE Trans. Comput.},
+ issue_date = {April 1978},
+ volume = {27},
+ number = {4},
+ month = apr,
+ year = {1978},
+ issn = {0018-9340},
+ pages = {289--296},
+ numpages = {8},
+ url = {http://dx.doi.org/10.1109/TC.1978.1675100},
+ doi = {10.1109/TC.1978.1675100},
+ acmid = {1310419},
+ publisher = {IEEE Computer Society},
+ address = {Washington, DC, USA},
+ keywords = {Compiling, Lisp, functional combinations, multiprocessing, recursion, suspensions, suspensions, Compiling, functional combinations, Lisp, multiprocessing, recursion},
+}
+
+@techreport{36,
+ author = {Baker,Jr., Henry G. and Hewitt, Carl},
+ title = {The Incremental Garbage Collection of Processes},
+ year = {1977},
+ source = {http://www.ncstrl.org:8900/ncstrl/servlet/search?formname=detail\&id=oai%3Ancstrlh%3Amitai%3AMIT-AILab%2F%2FAIM-454},
+ publisher = {Massachusetts Institute of Technology},
+ address = {Cambridge, MA, USA},
+}
+
+@inproceedings{37,
+ author = {Miller, Mark S. and Tribble, E. Dean and Shapiro, Jonathan},
+ title = {Concurrency Among Strangers: Programming in E As Plan Coordination},
+ booktitle = {Proceedings of the 1st International Conference on Trustworthy Global Computing},
+ series = {TGC'05},
+ year = {2005},
+ isbn = {3-540-30007-4, 978-3-540-30007-6},
+ location = {Edinburgh, UK},
+ pages = {195--229},
+ numpages = {35},
+ url = {http://dl.acm.org/citation.cfm?id=1986262.1986274},
+ acmid = {1986274},
+ publisher = {Springer-Verlag},
+ address = {Berlin, Heidelberg},
+}
+
+@INPROCEEDINGS{38,
+ author = {Didier Le Botlan and Guido Tack and Andreas Rossberg and Andreas Rossberg and Didier Le and Botlan Guido Tack and Thorsten Brunklaus and Thorsten Brunklaus and Gert Smolka and Gert Smolka},
+ title = {Alice through the looking glass},
+ booktitle = {In Trends in Functional Programming},
+ year = {2006},
+ pages = {79--96},
+ publisher = {Intellect Books}
+}
+
+@misc{39,
+ title={Futures and Promises in Scala 2.10},
+ author={Heather Miller},
+ url = {https://speakerdeck.com/heathermiller/futures-and-promises-in-scala-2-dot-10}
+}
+
+@misc{40,
+ title={Futures and promises},
+ url = {https://en.wikipedia.org/wiki/Futures_and_promises}
+}
+
+@misc{41,
+ title={Lazy Futures or Promises?},
+ url = {https://groups.google.com/forum/#!topic/scala-language/dP2SyUCF724}
+}
+
+@misc{42,
+ title={Try},
+ url = {http://www.scala-lang.org/api/2.9.3/scala/util/Try.html}
+}
+
+
+@misc{43,
+ title={Finagle: A Protocol-Agnostic RPC System},
+ url = {https://blog.twitter.com/2011/finagle-a-protocol-agnostic-rpc-system}
+}
+
+@misc{44,
+ title={Promise.all()},
+ url = {https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/all}
+}
+
+@misc{45,
+ title={Promise Pipelining},
+ url = {https://www.revolvy.com/main/index.php?s=Promise%20pipelining}
+}
+
+@misc{46,
+ title={Promises},
+ url = {https://christophermeiklejohn.com/pl/2016/03/04/promises.html}
+}
+
+@misc{47,
+ title={futures},
+ url = {https://www.ps.uni-saarland.de/alice/manual/futures.html}
+}
diff --git a/_bibliography/langs-consistency.bib b/_bibliography/langs-consistency.bib
index 416b697..f944784 100644
--- a/_bibliography/langs-consistency.bib
+++ b/_bibliography/langs-consistency.bib
@@ -1,26 +1,44 @@
-@inproceedings{Uniqueness,
- author = {Philipp Haller and
- Martin Odersky},
- title = {Capabilities for Uniqueness and Borrowing},
- booktitle = {ECOOP 2010, Maribor, Slovenia, June 21-25, 2010.},
- pages = {354--378},
- year = {2010},
+@article{BloomL,
+ author = {Neil Conway, William Marczak, Peter Alvaro, Joseph M. Hellerstein, David Maier},
+ title = {Logic and Lattices for Distributed Programming},
+ journal = {UC Berkeley Technical Report No. UCB/EECS-2012-167},
+ volume = {167},
+ year = {2012},
+ url = {http://db.cs.berkeley.edu/papers/UCB-lattice-tr.pdf}
}
-@inproceedings{Elsman2005,
- author = {Martin Elsman},
- title = {Type-specialized serialization with sharing},
- booktitle = {Trends in Functional Programming},
- year = {2005},
- pages = {47-62},
+@inproceedings{Bloom,
+ author = {Peter Alvaro, Neil Conway, Joseph M. Hellerstein, William R. Marczak},
+ title = {Consistency Analysis in Bloom: a CALM and Collected Approach},
+ booktitle = {Conference on Innovative Data Systems Research},
+ series = {CIDR},
+ year = {2011},
+ url = {http://db.cs.berkeley.edu/papers/cidr11-bloom.pdf}
}
-@article{Kennedy2004,
- author = {Andrew Kennedy},
- title = {Pickler combinators},
- journal = {J. Funct. Program.},
- volume = {14},
- number = {6},
- year = {2004},
- pages = {727-739},
-} \ No newline at end of file
+@inproceedings{Lasp,
+ author = {Christopher Meiklejohn, Peter Van Roy},
+ title = {Lasp: A Language for Distributed, Coordination-Free Programming},
+ booktitle = {Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming},
+ series = {PPDP},
+ year = {2015},
+ url = {https://pdfs.semanticscholar.org/c0ad/b28526a29f0765669167d3201e2b3605895e.pdf}
+}
+
+@inproceedings{Dynamo,
+ author = {Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, Werner Vogels},
+ title = {Dynamo: Amazon’s Highly Available Key-value Store},
+ booktitle = {ACM Symposium on Operating Systems Principles},
+ series = {SOSP},
+ year = {2007},
+ url = {https://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf},
+}
+
+@inproceedings{ConsistencyWithoutBorders,
+ author = {Peter Alvaro, Peter Bailis, Neil Conway, Joseph M. Hellerstein},
+ title = {Consistency Without Borders},
+ booktitle = {ACM Symposium on Cloud Computing},
+ series = {SOCC},
+ year = {2013},
+ url = {http://www.bailis.org/papers/consistency-socc2013.pdf},
+}
diff --git a/_bibliography/message-passing.bib b/_bibliography/message-passing.bib
index 416b697..7bb6962 100644
--- a/_bibliography/message-passing.bib
+++ b/_bibliography/message-passing.bib
@@ -1,26 +1,300 @@
-@inproceedings{Uniqueness,
- author = {Philipp Haller and
- Martin Odersky},
- title = {Capabilities for Uniqueness and Borrowing},
- booktitle = {ECOOP 2010, Maribor, Slovenia, June 21-25, 2010.},
- pages = {354--378},
- year = {2010},
-}
-
-@inproceedings{Elsman2005,
- author = {Martin Elsman},
- title = {Type-specialized serialization with sharing},
- booktitle = {Trends in Functional Programming},
- year = {2005},
- pages = {47-62},
-}
-
-@article{Kennedy2004,
- author = {Andrew Kennedy},
- title = {Pickler combinators},
- journal = {J. Funct. Program.},
- volume = {14},
- number = {6},
- year = {2004},
- pages = {727-739},
-} \ No newline at end of file
+@inproceedings{DeKoster:2016:YAT:3001886.3001890,
+ author = {De Koster, Joeri and Van Cutsem, Tom and De Meuter, Wolfgang},
+ title = {43 Years of Actors: A Taxonomy of Actor Models and Their Key Properties},
+ booktitle = {Proceedings of the 6th International Workshop on Programming Based on Actors, Agents, and Decentralized Control},
+ series = {AGERE 2016},
+ year = {2016},
+ isbn = {978-1-4503-4639-9},
+ location = {Amsterdam, Netherlands},
+ pages = {31--40},
+ numpages = {10},
+ url = {http://doi.acm.org/10.1145/3001886.3001890},
+ doi = {10.1145/3001886.3001890},
+ acmid = {3001890},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+ keywords = {Actor Model, Concurrency},
+}
+
+@article{Yonezawa:1986:OCP:960112.28722,
+ author = {Yonezawa, Akinori and Briot, Jean-Pierre and Shibayama, Etsuya},
+ title = {Object-oriented Concurrent Programming in ABCL/1},
+ journal = {SIGPLAN Not.},
+ issue_date = {Nov. 1986},
+ volume = {21},
+ number = {11},
+ month = jun,
+ year = {1986},
+ issn = {0362-1340},
+ pages = {258--268},
+ numpages = {11},
+ url = {http://doi.acm.org/10.1145/960112.28722},
+ doi = {10.1145/960112.28722},
+ acmid = {28722},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@inproceedings{Dedecker:2006:APA:2171327.2171349,
+ author = {Dedecker, Jessie and Van Cutsem, Tom and Mostinckx, Stijn and D\&\#39;Hondt, Theo and De Meuter, Wolfgang},
+ title = {Ambient-Oriented Programming in Ambienttalk},
+ booktitle = {Proceedings of the 20th European Conference on Object-Oriented Programming},
+ series = {ECOOP'06},
+ year = {2006},
+ isbn = {3-540-35726-2, 978-3-540-35726-1},
+ location = {Nantes, France},
+ pages = {230--254},
+ numpages = {25},
+ url = {http://dx.doi.org/10.1007/11785477_16},
+ doi = {10.1007/11785477_16},
+ acmid = {2171349},
+ publisher = {Springer-Verlag},
+ address = {Berlin, Heidelberg},
+}
+
+@inproceedings{Cutsem:2007:AOE:1338443.1338745,
+ author = {Cutsem, Tom Van and Mostinckx, Stijn and Boix, Elisa Gonzalez and Dedecker, Jessie and Meuter, Wolfgang De},
+ title = {AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad Hoc Networks},
+ booktitle = {Proceedings of the XXVI International Conference of the Chilean Society of Computer Science},
+ series = {SCCC '07},
+ year = {2007},
+ isbn = {0-7695-3017-6},
+ pages = {3--12},
+ numpages = {10},
+ url = {http://dx.doi.org/10.1109/SCCC.2007.4},
+ doi = {10.1109/SCCC.2007.4},
+ acmid = {1338745},
+ publisher = {IEEE Computer Society},
+ address = {Washington, DC, USA},
+}
+
+@book{ReactiveSystems,
+ author = {Hugh McKee},
+ title = {Designing Reactive Systems: The Role of Actors in Distributed Architecture},
+ year = {2016},
+}
+
+@inproceedings{Miller:2005:CSP:1986262.1986274,
+ author = {Miller, Mark S. and Tribble, E. Dean and Shapiro, Jonathan},
+ title = {Concurrency Among Strangers: Programming in E As Plan Coordination},
+ booktitle = {Proceedings of the 1st International Conference on Trustworthy Global Computing},
+ series = {TGC'05},
+ year = {2005},
+ isbn = {3-540-30007-4, 978-3-540-30007-6},
+ location = {Edinburgh, UK},
+ pages = {195--229},
+ numpages = {35},
+ url = {http://dl.acm.org/citation.cfm?id=1986262.1986274},
+ acmid = {1986274},
+ publisher = {Springer-Verlag},
+ address = {Berlin, Heidelberg},
+}
+
+@article{Agha:1990:COP:83880.84528,
+ author = {Agha, Gul},
+ title = {Concurrent Object-oriented Programming},
+ journal = {Commun. ACM},
+ issue_date = {Sept. 1990},
+ volume = {33},
+ number = {9},
+ month = sep,
+ year = {1990},
+ issn = {0001-0782},
+ pages = {125--141},
+ numpages = {17},
+ url = {http://doi.acm.org/10.1145/83880.84528},
+ doi = {10.1145/83880.84528},
+ acmid = {84528},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@article{Armstrong:2010:ERL:1810891.1810910,
+ author = {Armstrong, Joe},
+ title = {Erlang},
+ journal = {Commun. ACM},
+ issue_date = {September 2010},
+ volume = {53},
+ number = {9},
+ month = sep,
+ year = {2010},
+ issn = {0001-0782},
+ pages = {68--75},
+ numpages = {8},
+ url = {http://doi.acm.org/10.1145/1810891.1810910},
+ doi = {10.1145/1810891.1810910},
+ acmid = {1810910},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@inproceedings{Haller:2012:IAM:2414639.2414641,
+ author = {Haller, Philipp},
+ title = {On the Integration of the Actor Model in Mainstream Technologies: The Scala Perspective},
+ booktitle = {Proceedings of the 2Nd Edition on Programming Systems, Languages and Applications Based on Actors, Agents, and Decentralized Control Abstractions},
+ series = {AGERE! 2012},
+ year = {2012},
+ isbn = {978-1-4503-1630-9},
+ location = {Tucson, Arizona, USA},
+ pages = {1--6},
+ numpages = {6},
+ url = {http://doi.acm.org/10.1145/2414639.2414641},
+ doi = {10.1145/2414639.2414641},
+ acmid = {2414641},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+ keywords = {actors, concurrent programming, distributed programming, scala, threads},
+}
+
+@inproceedings{Hewitt:1973:UMA:1624775.1624804,
+ author = {Hewitt, Carl and Bishop, Peter and Steiger, Richard},
+ title = {A Universal Modular ACTOR Formalism for Artificial Intelligence},
+ booktitle = {Proceedings of the 3rd International Joint Conference on Artificial Intelligence},
+ series = {IJCAI'73},
+ year = {1973},
+ location = {Stanford, USA},
+ pages = {235--245},
+ numpages = {11},
+ url = {http://dl.acm.org/citation.cfm?id=1624775.1624804},
+ acmid = {1624804},
+ publisher = {Morgan Kaufmann Publishers Inc.},
+ address = {San Francisco, CA, USA},
+}
+
+@article {vantcutsem14ambienttalk,
+ title = {AmbientTalk: programming responsive mobile peer-to-peer applications with actors},
+ journal = {Computer Languages, Systems and Structures, SCI Impact factor in 2013: 0.296, 5 year impact factor 0.329 (to appear)},
+ year = {2014},
+ publisher = {Elsevier},
+ issn = {1477-8424},
+ author = {Tom Van Cutsem and Elisa Gonzalez Boix and Christophe Scholliers and Andoni Lombide Carreton and Dries Harnie and Kevin Pinte and Wolfgang De Meuter},
+ editor = {Nick Benton}
+}
+
+@inproceedings{Bykov:2011:OCC:2038916.2038932,
+ author = {Bykov, Sergey and Geller, Alan and Kliot, Gabriel and Larus, James R. and Pandya, Ravi and Thelin, Jorgen},
+ title = {Orleans: Cloud Computing for Everyone},
+ booktitle = {Proceedings of the 2Nd ACM Symposium on Cloud Computing},
+ series = {SOCC '11},
+ year = {2011},
+ isbn = {978-1-4503-0976-9},
+ location = {Cascais, Portugal},
+ pages = {16:1--16:14},
+ articleno = {16},
+ numpages = {14},
+ url = {http://doi.acm.org/10.1145/2038916.2038932},
+ doi = {10.1145/2038916.2038932},
+ acmid = {2038932},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+ keywords = {cloud computing, distributed actors, programming models},
+}
+
+@article{Tomlinson:1988:ROC:67387.67410,
+ author = {Tomlinson, C. and Kim, W. and Scheevel, M. and Singh, V. and Will, B. and Agha, G.},
+ title = {Rosette: An Object-oriented Concurrent Systems Architecture},
+ journal = {SIGPLAN Not.},
+ issue_date = {April 1989},
+ volume = {24},
+ number = {4},
+ month = sep,
+ year = {1988},
+ issn = {0362-1340},
+ pages = {91--93},
+ numpages = {3},
+ url = {http://doi.acm.org/10.1145/67387.67410},
+ doi = {10.1145/67387.67410},
+ acmid = {67410},
+ publisher = {ACM},
+ address = {New York, NY, USA},
+}
+
+@article{Haller:2009:SAU:1496391.1496422,
+ author = {Haller, Philipp and Odersky, Martin},
+ title = {Scala Actors: Unifying Thread-based and Event-based Programming},
+ journal = {Theor. Comput. Sci.},
+ issue_date = {February, 2009},
+ volume = {410},
+ number = {2-3},
+ month = feb,
+ year = {2009},
+ issn = {0304-3975},
+ pages = {202--220},
+ numpages = {19},
+ url = {http://dx.doi.org/10.1016/j.tcs.2008.09.019},
+ doi = {10.1016/j.tcs.2008.09.019},
+ acmid = {1496422},
+ publisher = {Elsevier Science Publishers Ltd.},
+ address = {Essex, UK},
+ keywords = {Actors, Concurrent programming, Events, Threads},
+}
+
+@inproceedings{epstein2011,
+ acmid = {2034690},
+ added-at = {2014-12-10T16:12:02.000+0100},
+ address = {New York, NY, USA},
+ author = {Epstein, Jeff and Black, Andrew P. and Peyton-Jones, Simon},
+ biburl = {http://www.bibsonomy.org/bibtex/24882f140b6bbca2806c57a22c57b5c5d/chesteve},
+ booktitle = {Proceedings of the 4th ACM symposium on Haskell},
+ doi = {10.1145/2034675.2034690},
+ interhash = {48386ecc60d5772410dec97e267a570b},
+ intrahash = {4882f140b6bbca2806c57a22c57b5c5d},
+ isbn = {978-1-4503-0860-1},
+ keywords = {imported},
+ location = {Tokyo, Japan},
+ numpages = {12},
+ pages = {118--129},
+ publisher = {ACM},
+ series = {Haskell '11},
+ timestamp = {2014-12-10T16:12:02.000+0100},
+ title = {Towards Haskell in the cloud},
+ xxxurl = {http://doi.acm.org/10.1145/2034675.2034690},
+ year = 2011
+}
+
+@book{Agha:1986:AMC:7929,
+ author = {Agha, Gul},
+ title = {Actors: A Model of Concurrent Computation in Distributed Systems},
+ year = {1986},
+ isbn = {0-262-01092-5},
+ publisher = {MIT Press},
+ address = {Cambridge, MA, USA},
+}
+
+@book{Peierls:2005:JCP:1076522,
+ author = {Peierls, Tim and Goetz, Brian and Bloch, Joshua and Bowbeer, Joseph and Lea, Doug and Holmes, David},
+ title = {Java Concurrency in Practice},
+ year = {2005},
+ isbn = {0321349601},
+ publisher = {Addison-Wesley Professional},
+}
+
+@misc{OrleansHalo4Talk,
+ title = {Building the Halo 4 Services with Orleans},
+ author = {Caitie McCaffrey},
+ year = {2015},
+ note = {QCon},
+ url = {https://www.infoq.com/presentations/halo-4-orleans},
+}
+
+@misc{ErlangWhatsAppTalk,
+ title= {Scaling to Millions of Simultaneous Connections},
+ author = {Rick Reed},
+ year = {2012},
+ note= {Erlang Factory SF Bay Area},
+ url = {https://vimeo.com/44312354},
+}
+
+@misc{PayPalAkka,
+ title = {squbs: A New, Reactive Way for PayPal to Build Applications},
+ author = {Akara Sucharitakul },
+ year = {2016},
+ url = {https://www.paypal-engineering.com/2016/05/11/squbs-a-new-reactive-way-for-paypal-to-build-applications/},
+}
+
+@misc{KayQuote,
+ title = {prototypes vs classes was: Re: Sun's HotSpot},
+ author = {Alan Kay},
+ year = {1998},
+ url = {http://lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html},
+}
diff --git a/_bibliography/rpc.bib b/_bibliography/rpc.bib
index 416b697..638cf1b 100644
--- a/_bibliography/rpc.bib
+++ b/_bibliography/rpc.bib
@@ -7,20 +7,464 @@
year = {2010},
}
-@inproceedings{Elsman2005,
- author = {Martin Elsman},
- title = {Type-specialized serialization with sharing},
- booktitle = {Trends in Functional Programming},
- year = {2005},
- pages = {47-62},
-}
-
-@article{Kennedy2004,
- author = {Andrew Kennedy},
- title = {Pickler combinators},
- journal = {J. Funct. Program.},
- volume = {14},
- number = {6},
- year = {2004},
- pages = {727-739},
-} \ No newline at end of file
+@article{implementingrpc,
+ title={Implementing remote procedure calls},
+ author={Birrell, Andrew D and Nelson, Bruce Jay},
+ journal={ACM Transactions on Computer Systems (TOCS)},
+ volume={2},
+ number={1},
+ pages={39--59},
+ year={1984},
+ publisher={ACM}
+}
+
+@article{rmipaper,
+ title={A Distributed Object Model for the Java\^{} T\^{} M System},
+ author={Wollrath, Ann and Riggs, Roger and Waldo, Jim},
+ year={1996}
+}
+
+@book{rmibook,
+ title={Java. rmi: The Remote Method Invocation Guide},
+ author={Pitt, Esmond and McNiff, Kathy},
+ year={2001},
+ publisher={Addison-Wesley Longman Publishing Co., Inc.}
+}
+
+@book{critiqueofrpc,
+ title={A critique of the remote procedure call paradigm},
+ author={Tanenbaum, Andrew Stuart and van Renesse, Robbert},
+ year={1987}
+}
+
+@inproceedings{rpcoverrdma,
+ title={FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs},
+ author={Kalia, Anuj and Kaminsky, Michael and Andersen, David G},
+ booktitle={12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16)},
+ pages={185--201},
+ organization={USENIX Association}
+}
+
+@inproceedings{sunnfs,
+ title={Design and implementation of the Sun network filesystem},
+ author={Sandberg, Russel and Goldberg, David and Kleiman, Steve and Walsh, Dan and Lyon, Bob},
+ booktitle={Proceedings of the Summer USENIX conference},
+ pages={119--130},
+ year={1985}
+}
+
+@misc{thrift,
+ title={Apache Thrift},
+ author={Prunicki, Andrew},
+ year={2009}
+}
+
+@book{corba,
+ title={CORBA 3 fundamentals and programming},
+ author={Siegel, Jon and Ph. D.},
+ volume={2},
+ year={2000},
+ publisher={John Wiley \& Sons New York, NY, USA:}
+}
+
+@misc{grpc,
+ title = {gRPC},
+ author={Google},
+ url = {http://www.grpc.io/},
+ note = {Accessed: 2016-11-11},
+}
+
+@misc{soaparticle1,
+ title = {Exclusive .NET Developer's Journal "Indigo" Interview with Microsoft's Don Box},
+ author={Derek Ferguson},
+ url = {http://dotnet.sys-con.com/node/45908},
+ note = {Accessed: 2016-11-11},
+}
+
+@misc{corbasite,
+ title = {CORBA-OMG},
+ author={CORBA},
+ url = {http://www.corba.org/},
+ note = {Accessed: 2016-11-11},
+}
+
+
+@inproceedings{finagle,
+ title={Your server as a function},
+ author={Eriksen, Marius},
+ booktitle={Proceedings of the Seventh Workshop on Programming Languages and Operating Systems},
+ pages={5},
+ year={2013},
+ organization={ACM}
+}
+
+@inproceedings{anycastrpc,
+ title={Anycast-RPC for Wireless Sensor Networks},
+ author={Bergstrom, Eric and Pandey, Raju},
+ booktitle={2007 IEEE International Conference on Mobile Adhoc and Sensor Systems},
+ pages={1--8},
+ year={2007},
+ organization={IEEE}
+}
+
+@article{rpcrfc,
+ title={RFC 1831 - RPC: Remote procedure call protocol specification version 2},
+ author={Srinivasan, Raj},
+ year={1995}
+}
+
+@misc{microservices1rpc,
+ title={Delving Into the Microservices Architecture},
+ author={Mueller, John},
+ year={2015},
+ url = {http://blog.smartbear.com/microservices/delving-into-the-microservices-architecture/},
+}
+
+@article{rpcorigin,
+ title={High-level framework for network-based resource sharing},
+ author={White, James E},
+ year={1975}
+}
+
+@inproceedings{interweave1,
+ title={Integrating remote invocation and distributed shared state},
+ author={Tang, Chunqiang and Chen, DeQing and Dwarkadas, Sandhya and Scott, Michael L},
+ booktitle={Parallel and Distributed Processing Symposium, 2004. Proceedings. 18th International},
+ pages={30},
+ year={2004},
+ organization={IEEE}
+}
+
+
+@inproceedings{interweave2,
+ title={Interweave: A middleware system for distributed shared state},
+ author={Chen, DeQing and Dwarkadas, Sandhya and Parthasarathy, Srinivasan and Pinheiro, Eduardo and Scott, Michael L},
+ booktitle={International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers},
+ pages={207--220},
+ year={2000},
+ organization={Springer}
+}
+
+@inproceedings{interweave3,
+ title={Multi-level shared state for distributed systems},
+ author={Chen, DeQing and Tang, Chunqiang and Chen, Xiangchuan and Dwarkadas, Sandhya and Scott, Michael L},
+ booktitle={Parallel Processing, 2002. Proceedings. International Conference on},
+ pages={131--140},
+ year={2002},
+ organization={IEEE}
+}
+
+@article{offloading1,
+ title={A survey of computation offloading for mobile systems},
+ author={Kumar, Karthik and Liu, Jibang and Lu, Yung-Hsiang and Bhargava, Bharat},
+ journal={Mobile Networks and Applications},
+ volume={18},
+ number={1},
+ pages={129--140},
+ year={2013},
+ publisher={Springer}
+}
+
+@misc{ibis,
+ title={Ibis Communication middleware},
+ author={Ibis},
+ url = {https://www.cs.vu.nl/ibis/rmi.html},
+}
+
+@article{cuckoo,
+ title={Cuckoo: flexible compute-intensive task offloading in mobile cloud computing},
+ author={Zhou, Zhigang and Zhang, Hongli and Ye, Lin and Du, Xiaojiang},
+ journal={Wireless Communications and Mobile Computing},
+ year={2016},
+ publisher={Wiley Online Library}
+}
+
+@inproceedings{maui,
+ title={MAUI: making smartphones last longer with code offload},
+ author={Cuervo, Eduardo and Balasubramanian, Aruna and Cho, Dae-ki and Wolman, Alec and Saroiu, Stefan and Chandra, Ranveer and Bahl, Paramvir},
+ booktitle={Proceedings of the 8th international conference on Mobile systems, applications, and services},
+ pages={49--62},
+ year={2010},
+ organization={ACM}
+}
+
+@article{docker,
+ title={Docker: lightweight linux containers for consistent development and deployment},
+ author={Merkel, Dirk},
+ journal={Linux Journal},
+ volume={2014},
+ number={239},
+ pages={2},
+ year={2014},
+ publisher={Belltown Media}
+}
+
+@inproceedings{selfdest,
+ title={RFID systems and security and privacy implications},
+ author={Sarma, Sanjay E and Weis, Stephen A and Engels, Daniel W},
+ booktitle={International Workshop on Cryptographic Hardware and Embedded Systems},
+ pages={454--469},
+ year={2002},
+ organization={Springer}
+}
+
+@misc{oraclenfs,
+ title={Overview of Secure RPC},
+ author={Oracle},
+ url = {https://docs.oracle.com/cd/E23823_01/html/816-4557/auth-2.html},
+}
+
+@misc{capnprotosecure,
+ title={Is Cap'n Proto Secure?},
+ author={Kenton},
+ url = {https://capnproto.org/faq.html#is-capn-proto-secure},
+}
+
+
+@article{grid1,
+ title={High performance GridRPC middleware},
+ author={Caniou, Yves and Caron, Eddy and Desprez, Fr{\'e}d{\'e}ric and Nakada, Hidemoto and Tanaka, Yoshio and Seymour, Keith},
+ journal={Recent Developments in Grid Technology and Applications, Nova Science Publishers},
+ pages={141--181},
+ year={2008}
+}
+
+@incollection{gridsolve1,
+ title={Gridsolve: The evolution of a network enabled solver},
+ author={YarKhan, Asim and Dongarra, Jack and Seymour, Keith},
+ booktitle={Grid-Based Problem Solving Environments},
+ pages={215--224},
+ year={2007},
+ publisher={Springer}
+}
+
+@article{gridsolve2,
+ title={Interactive Grid-access using Gridsolve and giggle},
+ author={Hardt, M and Seymour, Keith and Dongarra, Jack and Zapf, M and Ruitter, NV},
+ journal={Computing and Informatics},
+ volume={27},
+ number={2},
+ pages={233--248},
+ year={2012}
+}
+
+@article{ninf,
+ title={Ninf-G: A reference implementation of RPC-based programming middleware for Grid computing},
+ author={Tanaka, Yoshio and Nakada, Hidemoto and Sekiguchi, Satoshi and Suzumura, Toyotaro and Matsuoka, Satoshi},
+ journal={Journal of Grid computing},
+ volume={1},
+ number={1},
+ pages={41--51},
+ year={2003},
+ publisher={Springer}
+}
+
+@article{erlang,
+ title={Concurrent programming in ERLANG},
+ author={Armstrong, Joe and Virding, Robert and Wikstr{\"o}m, Claes and Williams, Mike},
+ year={1993},
+ publisher={Citeseer}
+}
+
+@misc{Apigee,
+ title={gRPC: The Story of Microservices at Square},
+ author={Surtani, Manick and Ho, Alan},
+ url = {https://www.youtube.com/watch?v=-2sWDr3Z0Wo},
+}
+
+@misc{CoreSurfaceAPIs,
+ title={gRPC core APIs},
+ author={Google},
+ url = {https://github.com/grpc/grpc/tree/master/src/core},
+}
+
+@misc{gRPCCompanies,
+ title={About gRPC},
+ author={Google},
+ url = {http://www.grpc.io/about/},
+}
+
+@misc{gRPCLanguages,
+ title={gRPC Documentation},
+ author={Google},
+ url = {http://www.grpc.io/docs/},
+}
+
+@misc{gRPCProtos,
+ title={Google APIs},
+ author={Google},
+ url = {https://github.com/googleapis/googleapis/},
+}
+
+@misc{rpcimage,
+ title={Remote Procedure Call (RPC)},
+ author={Taing, Nguonly},
+ url = {http://lycog.com/distributed-systems/remote-procedure-call/},
+ note = {Image URL: http://lycog.com/wp-content/uploads/2011/03/rpc-10-steps.png}
+}
+
+@misc{trendrpcthrift,
+ title={Remote Procedure Call (RPC)},
+ author={Google Trends},
+ url = {https://www.google.com/trends/explore?cat=31&date=today%2012-m&q=apache%20thrift,grpc&hl=en-US}
+}
+
+@misc{grpcauth,
+ title={GRPC Authentication},
+ author={Google},
+ url = {http://www.grpc.io/docs/guides/auth.html},
+}
+
+@misc{rfc707,
+ title={RFC 707: A high-level framework for network-based resource sharing},
+ author={White, James E},
+ year={1975},
+ publisher={December}
+}
+
+@techreport{rfc674,
+ title={RFC 674: Procedure call documents: Version 2},
+ author={Postel, J and White, JE},
+ year={1974}
+}
+
+@article{rfc684,
+ title={RFC 684: Commentary on procedure calling as a network protocol},
+ author={Schantz, Richard},
+ year={1975}
+}
+
+@misc{grpcbetter,
+ title={GRPC Authentication},
+ author={Google},
+ url = {https://www.quora.com/Is-GRPC-better-than-Thrift},
+ publisher = {Quora}
+}
+
+@misc{multiplexingthrift,
+ title={Added service multiplexing support},
+ author={Yu, Lixin},
+ url = {https://github.com/eleme/thriftpy/pull/88/commits/0877531f9246ca993c1d9af5d29cd009ee6ec7d4},
+ publisher = {Github}
+}
+
+@techreport{rfc5531,
+ title={RFC 5531: RPC: Remote Procedure Call Protocol Specification Version 2},
+ author={Thurlow, R},
+ year={2009}
+}
+
+@techreport{rfc1831,
+ title={RFC 1831: RPC: Remote Procedure Call Protocol Specification Version 2},
+ author={Srinivasan, R},
+ year={1995}
+}
+
+@misc{grpcchapter,
+ title={gRPC},
+ booktitle={Programming Models for Distributed Computation},
+ author={Grosu, P and Abdul Rehman, M and Anderson, E and Pai, V and Miller, H},
+ url = {http://dist-prog-book.com/chapter/1/gRPC.html},
+ publisher = {Github}
+}
+
+@misc{stubrpc,
+ title={stub},
+ author={Rouse, M},
+ url = {http://whatis.techtarget.com/definition/stub},
+ publisher = {WhatIs}
+}
+
+
+@misc{grpcpersec,
+ title={Scalable Realtime Microservices with Kubernetes and gRPC},
+ author={Mandel, M},
+ url = {https://www.youtube.com/watch?v=xb8u2s7cxzg&t=486s},
+ publisher = {YouTube}
+}
+
+@misc{usgdp,
+ title={2016 United States Budget Estimate},
+ author={InsideGov},
+ url = {http://federal-budget.insidegov.com/l/119/2016-Estimate},
+ publisher = {InsideGov}
+}
+
+
+@incollection{notedistributed,
+ title={A note on distributed computing},
+ author={Waldo, Jim and Wyant, Geoff and Wollrath, Ann and Kendall, Sam},
+ booktitle={Mobile Object Systems Towards the Programmable Internet},
+ pages={49--64},
+ year={1997},
+ publisher={Springer}
+}
+
+@misc{dewan,
+ title={Synchronous vs Asynchronous},
+ author={Dewan, P},
+ url = {http://www.cs.unc.edu/~dewan/242/s07/notes/ipc/node9.html},
+ year={2006},
+ publisher = {UNC}
+}
+
+
+@misc{async,
+ title={Asynchronous RPC},
+ url = {https://msdn.microsoft.com/en-us/library/windows/desktop/aa373550(v=vs.85).aspx},
+ year={2006},
+ publisher = {Microsoft}
+}
+
+@misc{roi,
+ title={Remote Object Invocation},
+ author={Setia, S},
+ url = {https://cs.gmu.edu/~setia/cs707/slides/rmi-imp.pdf},
+ publisher = {QMU}
+}
+
+
+@misc{Wiener,
+ title={XML-RPC},
+ author={Weiner, D},
+ url = {http://xmlrpc.scripting.com/spec.html},
+ year={1999},
+ publisher = {QMU}
+}
+
+
+@misc{soapvsxml,
+ title={XML-RPC},
+ author={Jones, M},
+ url = {https://www.quora.com/What-is-the-difference-between-xml-rpc-and-soap},
+ year={2014},
+ publisher = {Quora}
+}
+
+@misc{thrifttut,
+ title={Apache THRIFT: A Much Needed Tutorial},
+ author={Maheshwar, C},
+ url = {http://digital-madness.in/blog/wp-content/uploads/2012/11/BSD_08_2013.8-18.pdf},
+ year={2013},
+ publisher = {Digital Madness}
+}
+
+@misc{finagletut,
+ title={Finagle-Quickstart},
+ author={Twitter},
+ url = {https://twitter.github.io/finagle/guide/Quickstart.html},
+ year={2016},
+ publisher = {Twitter}
+}
+
+
+@misc{norman,
+ title={Communication Fundamentals},
+ author={Norman, S},
+ url = {http://slideplayer.com/slide/8555756/},
+ year={2015},
+ publisher = {SlideShare}
+}
+
+
+