Learn R Programming

pbdRPC

  • Version: 0.2-0
  • License:
  • Download:
  • Status:
  • Author: See section below.

A very light yet secure implementation for remote procedure calls with unified interface via ssh (OpenSSH) or plink/plink.exe (PuTTY).

See pbdRPC vignette for more details and applications.

Usage

library(pbdRPC)

m <- machine("192.168.56.101", "snoweye")
m
## Machine config for snoweye@192.168.56.101
##     pport = 22
##     type = ssh
##     args = ""
##     priv.key = ~/.ssh/id_rsa
##     priv.key.ppk = ./id_rsa.ppk

rpc(m, "whoami")
## snoweye

If no username is supplied during machine configuration, then we take the local system user name (which of course may not be correct...):

m <- machine("192.168.56.101")
rpc(m, "whoami")
## snoweye

Features

  • The rpc() or srpc() are unified interfaces across most popular OSs including Linux, Mac OSX, MS Windows, and Solaris.
  • The above example is completely done in an interactive R session.
  • The call is equivalent to ssh snoweye@192.168.56.101 "whoami" in a Linux-like system and plink.exe snoweye@192.168.56.101 "whoami" in a windows system, provided that ssh and plink.exe are reachable through the environment variable, PATH.
  • The default communications between the local R and the remote server (192.168.56.101 in this case) are encrypted and secure, by default using RSA version 2.
  • Private and public paired key authentications are supported, i.e. login without password.
  • Port forwarding is also supported for two way tunneling, both local -L and remote/reverse -R.

Installation

To install the R package, run:

install.package("coop")

The development version is maintained on GitHub, and can easily be installed by any of the packages that offer installations from GitHub:

### Pick your preference
devtools::install_github("RBigData/pbdRPC")
ghit::install_github("RBigData/pbdRPC")
remotes::install_github("RBigData/pbdRPC")

Citation

When mentioning the pbdRPC, please cite:

@MISC{pbdRPC2017,
  author = {Chen, W.-C and Schmidt, D.},
  title = {{pbdRPC}: Programming with Big Data -- Remote Procedure Call},
  year = {2017},
  note = {{R} Package, URL https://cran.r-project.org/package=pbdRPC}
}

Authors

pbdRPC is authored and maintained by the pbdR core team:

  • Wei-Chen Chen
  • Drew Schmidt

Copy Link

Version

Install

install.packages('pbdRPC')

Monthly Downloads

27

Version

0.2-1

License

Mozilla Public License 2.0

Maintainer

Last Published

May 5th, 2018

Functions in pbdRPC (0.2-1)

rpc

Remote Procedure Call
Initial Control Functions

Initial controls in pbdRPC
pbdRPC-package

pbdRPC
RPC Control Environment

Sets of controls in pbdRPC.
machine

machine
print-machine

print-machine
find_plink

Find plink
rpc_options

Set and Get Options for Remote Procedure Call
RPC Control Functions

Sets of controls in pbdRPC.
rpc_cs_example

Example Functions of RPC Related to pbdCS
rpc_pid

Search or kill possible pid's of Remote Procedure Call
ssh_plink

ssh and plink
rpc_rr_example

Example Functions of RPC Related to Remote R Server
srpc

Secure Remote Procedure Call
tunnel

tunnel