DIALS(ダイアルス、Dendenkosha Immediate Arithmetic and Library System)はかつて日本電信電話公社がプッシュホン加入者向けに公衆交換電話網で提供していた電話計算サービス。プッシュホンを使って計算を行う自動応答サービスである。1970年9月26日に開始され、1982年10月に終了した。

## 背景

1966年、日本電信電話公社は郵政省(当時)に働きかけ、データ通信サービス実施の許可を得た。これを受けて公社内に現在のNTTデータの前身であるデータ通信本部が設置される。データ通信本部は、1970年に公衆回線を介した3種類のサービスを開始した。

- DEMOS - DEnden Kosha Multiaccess On-line System(科学技術計算サービス)、1971年3月29日サービス開始
- DRESS - Denden Kosha REal-time Sales-management System(販売在庫管理サービス)、1970年9月16日サービス開始
- DIALS - Denden Kosha Immediate Arithmetic and Library System(電話計算サービス)、1970年9月26日サービス開始

このうちDIALSはプッシュホンで手軽に利用できることを売りとしたが、電卓と競合したため瞬く間に需要が低下し、1982年10月にサービスを終了した。

DEMOSとDRESSは、共にテレックス型の端末(データ宅内装置)を宅内に設置してセンターのメインフレームを公衆回線経由でタイムシェアリングで利用するサービスである。DEMOSは利用者によるFORTRAN(JIS7000レベル)プログラムの作成と実行、DRESSは電電公社が利用者個別に設計・作成した業務プログラムの利用が提供された。設置する端末は買取りとレンタルが選択でき、料金は回線利用料・CPU利用料・私有ファイル利用料などで課金された。利用者には「010」+4桁の発信番号が与えられた。サービスは1985年の民営化以降も継続し、DEMOSは1995年、DRESSは1996年までサービス提供された。

## サービス内容

電話番号は「010-0111」である。利用可能区域はセンターまたはサブセンターの設置された単位料金区域及びその隣接単位料金区域。サービス提供時間は8時~21時。3種類の計算が行えた。

この他に電話番号「010-0911」で練習が行えた。これは別冊の練習問題に従いボタン操作を行うもので、操作を間違えると音声で教えてくれた。

サービスを利用する際の申し込みは必要なく、プッシュ回線を契約していれば利用することができた。料金はセンターとの接続時間で21秒毎に7円が課金された。利用者向けにDIALSマニュアルとライブラリ集が電電公社より配布されていた。

なお市外局番010は、DIALSの廃止後に一時的に携帯電話の市外局番として使用され、現在は国際電話をかけるときの国際プレフィックスとして使用されている。

## 利用方法

DIALSサービスを利用する際は、プッシュホンのボタン面に専用のオーバーレイシートを付ける。これは「赤ボタン`∗` + 数字」で入力できる記号がプリントされたもので、各数字ボタンに次の記号が付帯される。

この内、一つのボタンに複数の記号が割り振られているものについては、前後の入力から自動的に判別される。

計算を行う場合は、電話機の受話器を上げセンター番号をダイヤルする。センターと繋がると「プップップッ...」という断続音でセンター待機中の合図が聞こえるので、プッシュボタンで計算式を入力する。入力中に`9``0``#`を押すと、途中まで入力した計算式を読み上げてくれる。また`0``1``#`を押すと直前の入力をクリア、`0``0``#`を押すと入力全体がクリアされる。

計算式を入力し終えたら、最後に`∗``∗``#`を押すと回答が音声で読み上げられる。もう一度聞きたい場合は`∗``1``#`を押すと、回答が復唱される。また`∗``3``#`を押すと、浮動小数点形式に変換して回答が復唱される。回答のうち数値は、位取りは入らず数字の羅列で読み上げられる。

計算式が長くなる場合や、途中までの式を繰り返し使用したい場合は、式の途中で`∗``4``#`を押すことで区切り記号が挿入され、`0``4``#`で区切り記号以降のみをクリアすることができる。

計算を終えセンターの利用を終了する場合は、単純に受話器を置いて通話を切ればよい。

計算の有効桁数は標準で7桁であるが、`1``4``#`を入力することで倍精度(14桁)に切り替えることができる。7桁に戻す場合は一旦電話を切りセンターに再接続する必要がある。計算結果が有効桁数を超えた場合は、最後の桁を四捨五入した浮動小数点形式で回答される。

計算式の入力中に30秒間何も操作がない、またはセンター待機中に2分間何も操作がないと、自動的にセンターとの接続が切れて話中状態となる。それを防ぐ場合は`∗``2``#`を押すと「ツギ ヘ ドウゾ」と音声が帰ってきて、待ち時間が2分にリセットされる。またサービス終了時刻が近づくと、回答の後ろに「○フン ゴ セツダン シマス」という切断予告が付加されるようになる。サービス終了時刻を過ぎると入力中の計算は継続できるが回答音声が読み上げられると切断される。

### 直接計算サービス

直接計算は、電卓のように数式を順に入力していき、最後に`∗``∗``#`を押す。算術通り乗除算は加減算に優先される。

| 計算例 | ボタン操作 | 回答音声 |
| --- | --- | --- |
| 85 + 26 | 85 ∗0 26 ∗∗# | 「オコタエ ハ 111 デス」 |
| 75 - 25 ÷ 25 × 2 | 75 ∗8 25 ∗9 25 ∗7 2 ∗∗# | 「オコタエ ハ 73 デス」 |
| ( 75 - 25 ) ÷ 25 × 2 | ∗1 75 ∗8 25 ∗2 ∗9 25 ∗7 2 ∗∗# | 「オコタエ ハ 4 デス」 |

四則と括弧の他に、以下の特殊演算子が使用できる。

| 演算子 | 入力 | 計算例 | ボタン操作 | 回答音声 |
| --- | --- | --- | --- | --- |
| 平方根 | √ | √2 + √5 | ∗9 2 ∗0 ∗9 5 ∗∗# | 「オコタエ ハ 3 テン 650282 デス」 |
| 2乗 | 2 | 22 + 32 + 42 + 52 | 2 ∗6 ∗0 3 ∗6 ∗0 4 ∗6 ∗0 5 ∗6 ∗∗# | 「オコタエ ハ 54 デス」 |
| べき乗 | ×× | 5.6 | 5 ∗5 6 ∗7∗7 2 ∗5 3 ∗∗# | 「オコタエ ハ 52 テン 58144 デス」 |
| $\pi$ | F80 | 2$\pi$ × 5 | 2 ∗7 ∗380 ∗7 5 ∗∗# | 「オコタエ ハ 31 テン 41593 デス」 |
| $e$ | F81 | $e$ | ∗381 ∗7∗7 4 ∗5 5 ∗∗# | 「オコタエ ハ 90 テン 01713 デス」 |

「 F 《番号》 (...) 」で基本関数が使用できる。関数の引数は括弧で囲む必要がある。主な関数に以下の物がある。

| 関数名 | 入力 | 計算例 | ボタン操作 | 回答音声 |
| --- | --- | --- | --- | --- |
| 常用対数 | F2 (...) | log10 1.23 | ∗32 ∗1 1 ∗5 23 ∗2 ∗∗# | 「オコタエ ハ 0 テン 0899051 デス」 |
| 自然対数 | F3 (...) | loge 90 | ∗33 ∗1 90 ∗2 ∗∗# | 「オコタエ ハ 4 テン 49981 デス」 |
| sin | F10 (...) | sin 2$\pi$ | ∗310 ∗1 2 ∗7 ∗380 ∗2 ∗∗# | 「オコタエ ハ 0 テン 1094426 デス」 |
| cos | F12 (...) | cos 31° | ∗312 ∗1 31 ∗2 ∗∗# | 「オコタエ ハ 0 テン 8571673 デス」 |
| tan | F14 (...) | 8.7 × tan 64° | 8 ∗5 7 ∗7 ∗314 ∗1 64 ∗2 ∗∗# | 「オコタエ ハ 2 テン 050304 デス」 |

「 《数値または計算式》 : Rn 」で、任意の数値や計算結果をレジスタに記憶させることができる。レジスタ Rn は R1 ~ R0 の10レジスタが用意されている。n の指定を省略した場合は R1 になる。

| 入力式 | ボタン操作 | 回答音声 |
| --- | --- | --- |
| 14 × 15 × 18 : R1  20 × 5 × 2 : R2  R1 ÷ R2 | 14 ∗8 15 ∗8 18 ∗3 ∗51 ∗∗#  20 ∗8 5 ∗8 2 ∗8 ∗3 ∗52 ∗∗#  ∗51 ∗9 ∗52 ∗∗# | 「オコタエ ハ 3780 デス」  「オコタエ ハ 200 デス」  「オコタエ ハ 18 テン 9 デス」 |

R9 と R0 は加算レジスタで、代入した値が元の値に積算されていく。加算レジスタをクリアする場合は -Rn を Rn に代入して相殺させる、または`0``8``#`で全ての加算レジスタをクリアすることができる。

| 入力式 | ボタン操作 | 回答音声 |
| --- | --- | --- |
| 0 → Rn  50 × 250 : R9  60 × 500 : R9  70 × 360 : R9  R9 | 08#  50 ∗8 250 ∗3 ∗59 ∗∗#  60 ∗8 500 ∗3 ∗59 ∗∗#  70 ∗8 360 ∗3 ∗59 ∗∗#  ∗59 ∗∗# | 「ショウキョ 08 デス」  「オコタエ ハ 12500 デス」  「オコタエ ハ 30000 デス」  「オコタエ ハ 25200 デス」  「オコタエ ハ 67700 デス」 |

### 定義計算サービス

定義計算は、あらかじめ「 $y$n : 《計算式》 」で変数を含む計算式を定義しておき、「 Dn ( $x$1, $x$2 ... ) 」で変数に値を与えることで答えを求める。n には 1 ~ 5 が使用でき、最大5種類の定義式を同時に使用することができる。n の指定を省略した場合は1になる。変数 $x$m は $x$1 ~ $x$0 の最大10変数が一つの定義式で使用できる。m の指定を省略した場合は $x$1 になる。

- 例1: $y$ = 5$x$2 + 4 の式を定義しておき、$x$ = 0.5 / 4 / 7.5 の時の $y$ を、それぞれ求める。

| 入力式 | ボタン操作 | 回答音声 |
| --- | --- | --- |
| $y$ : 5 × $x$2 + 4  D ( 0.5 )  D ( 4 )  D ( 7.5 ) | ∗6 ∗3 5 ∗8 ∗6 ∗6 ∗0 4 ∗∗#  ∗2 ∗1 0 ∗5 5 ∗2 ∗∗#  ∗2 ∗1 4 ∗2 ∗∗#  ∗2 ∗1 7 ∗5 5 ∗2 ∗∗# | 「テイギ ヲ オワリ マシタ」  「オコタエ ハ 5 テン 25 デス」  「オコタエ ハ 84 デス」  「オコタエ ハ 285 テン 25 デス」 |

- 例2: $y$2 = 20a + 15b の式を定義しておき、a = 5、b = 10 の時の $y$2 を求める。

| 入力式 | ボタン操作 | 回答音声 |
| --- | --- | --- |
| $y$2 : 20 × $x$1 + 15 × $x$2  D2 ( 5 , 10 ) | ∗62 ∗3 20 ∗8 ∗31 ∗0 15 ∗8 ∗32 ∗∗#  ∗22 ∗1 20 ∗4 15 ∗2 ∗∗# | 「テイギ ヲ オワリ マシタ」  「オコタエ ハ 250 デス」 |

### ライブラリ計算サービス

ライブラリ計算は「 L 《ライブラリ番号》 ( P1, P2 ... Pn ) 」で、あらかじめ用意されているライブラリにパラメータを渡すことで答えが帰ってくる。ライブラリの種類はサービス開始時は50種類程度だったが、随時新しいライブラリが追加されて最終的には100種類以上になった。

- 例1: 次の3次方程式の根を求める。

|  |  |
| --- | --- |
| ライブラリ | L20 高次代数方程式(3次まで) |
| パラメータ | 方程式の次数(n) / $x$ の係数, $x$ の係数 ... $x$の係数 |
| 回答 | 根 (, 根2 ... 根n) |
| 入力式 | L20 ( 3 / 1 , -6.5 , 16 , -6.5 ) |
| ボタン操作 | ∗420 ∗1 3 ∗9 1 ∗4 ∗8 6 ∗5 5 ∗4 16 ∗4 ∗8 6 ∗5 5 ∗2 ∗∗# |
| 回答音声 | 「オコタエ ハ 0 テン 5、ツギ ハ 3 プラス $i$ 2、ツギ ハ 3 マイナス $i$ 2 デス」 |
| 備考 | スラッシュ( / )以降のパラメータ数は可変(n + 1) |

- 例2: 誕生日が1947年1月18日の今日のバイオリズムを求める。

|  |  |
| --- | --- |
| ライブラリ | L365 バイオリズム |
| パラメータ | 生まれた年(西暦), 月, 日 { / バイオリズムを求める年(西暦), 月, 日} |
| 回答 | 身体のリズム値(-100 ≤ n ≤ 100), 身体の要注意日までの日数, 感情のリズム値,  感情の要注意日までの日数, 知性のリズム値, 知性の要注意日までの日数 |
| 入力式 | L365 ( 1947 , 1 , 18 ) |
| ボタン操作 | ∗4365 ∗1 1947 ∗4 1 ∗4 18 ∗2 ∗∗# |
| 回答音声 | 「オコタエ ハ、シンタイ マイナス 14、ツギ ハ 11、カンジョウ 78、ツギ ハ 10、チセイ マイナス 37、ツギ ハ 14 デス」 |
| 備考 | { ... } 内のパラメータは省略可 |

## DIALSの利点と欠点

- 特別な機械を用意しなくても、電話機で手軽に数値計算ができた。
- 大型で高価な電算機でしか行えないような複雑な計算も行えた。
- ライブラリで用意されている計算は、パラメータを入力するだけで答えが出せた。

- 操作が難しい。
- 答えが音声でしか示されない。
- 複雑な計算でも、ひたすら計算式を打ち込むしかない。
- ライブラリはパラメータ集がないと利用できない。
- 計算の内容にかかわらず、センターとの接続時間で課金された。

特に表示部を持たず、音声と暗記に頼らざるを得なかったのが圧倒的な使いづらさとなった本サービスは、1970年代後半の電卓の爆発的普及でサービスそのものの価値を失い、一気に衰退することとなった。

なおDIALSについては利便性を上げるために、出力装置を持った簡易型端末を用意することが検討事項とされていたが実現には至っていない。

## システム構成

中央処理装置はNECのNEAC 2200-50ベースのメインフレーム2台で冗長化し、待機系は予備機として通常は別の業務に使用していた。デスクパック装置はミラーリングによる二重化を行っていた。

音声応答はトラック毎に異なる単語を収録した磁気ドラムを使用して、トラック位置を移動させて必要な単語を順次送出していた。音声は元NHKアナウンサーの下重暁子の声をサンプリングしたものが使用された。音声のサンプリング周波数は8kHz。

障害対策としては、CPUのセルフチェック、CPU間の相互ヘルスチェック、I/O巡回などの監視プログラムをリアルタイムで実行させていた。障害発生時の切替は利用者に影響がないものについては自動切り替え、利用者に影響が出るものについてはアラームを上げて、オペレータ判断で利用者にサービス停止予告を送信し利用者数が減少したタイミングで手動で切替を行った。

性能としては計算式を入力し終えてから回答を返すまでのレスポンスタイムは2秒以内を目標値とし、実測値はCPU負荷75%で3秒程度とされている。マルチユーザ対応はタイムシェアリングで平行処理しているが、CPU負荷が上がりレスポンスタイムが閾値を超えた場合は新規接続や演算を終えた利用者を閉塞していくなどの措置が取られる。

ソフトウェアはDIALS向けにOSから全て新規設計されている。

## センター構成

メインフレーム2台をデュプレックス(二重化)構成とし、現用系のダウンに対応して即座に待機系がサービスを継続するようになっていた。センターは東京と大阪に設置され、東京センターは同時接続可能数を約500とした。

サブセンターは1972年度末までに横浜、名古屋、京都、神戸に開設、その後プッシュホン加入数に合わせて全国に拡大されていった。サブセンターとセンター間は2400bpsのモデムで接続された。