OnTime for IBM
技術資料(暫定版)

1

2016 AXCEL Corporation. All right reserved.

1.OnTime for IBMの構成
ドミノディレクトリ
公開アドレス帳

OnTimeタスク
Administration
Synchronisation

OnTime Databases
Configuration (設定)
Broadcast (予定配信)
Time Off (休暇申請)
Photo (写真)Log (ログ)

メールDB
会議室予約DBIBM Verse

2HTTP – servlet or agent based
NRPC – agent based

OnTime API
Client DB

Notes (eclipse版)
TAAG (eclipse版)
Web (各種ブラウザ)

Web (Basic含むアプリ)
Mobile (各種ブラウザ)
IBM Connections
External Systems

2016 AXCEL Corporation. All right reserved.

2.OnTimeの４つの主要な機能
ドミノ
ディレクトリ他各種DB
ADMIN処理起動時と毎深夜２時に実行されます
管理サーバー１台だけで実行されます。

SYNC処理Config DB
User Document

Calendar Document

データアクセス
スケジュールデータは必ずEndPointとしてOnTime APIを経由して提供されます。

複数サーバーが分担しメールサーバーのメールDBの更新を検知して実行されます。
予定データの作成
データの作成はAPIから直接メールDBに作成されます。各サーバーにNRPC接続が必要です。

メールDB
会議室予約DBIBM Verse

3

HTTP – servlet or agent based
NRPC – agent based

OnTime API
Client DB

2016 AXCEL Corporation. All right reserved.

1.ConfigDBを構成する文書(手動作成)
GlobalSettings• 導入するOnTime環境に１つだけ作成する文書。全体設定に関連する情報は全てこの文書に集約されている。
• 参照するディレクトリ、同期対象のユーザーやグループ、同期期間、参照するプロフィール情報、ソート条件、等。

ServerSettings• 導入するOnTimeサーバー毎に作成する文書。そのサーバーがモニターするメールサーバーの指定・スレッド数等のタスク関連と、クライアントDBのURL指定・サーブレットの使用等のAPI動作に必要な情報を記述。

Roles• ユーザー・グループ単位で、実行できる権限レベル別に相手先のメールDBの所有者を登録する。
• デフォルトでNotes/Dominoと同じ設定が１つだけ準備。随時追加変更が可能。

NameFormats• メインビューやプロフィールビュー用の名前や部署情報などの表示形式を設定する。
• デフォルトで英語系フォーマットの設定が３つだけ準備。通常は日本語表示用を作成する。

Default
Settings• ユーザー・グループ単位で、各種設定を行います。使用言語や表示形式、EnterpriseScaling等を指定可能。
• デフォルトで１つだけ準備。帯域の細い拠点やユーザー表記を複数個運用出来ます。

CustomFields• Notes標準以外のフィールドを追加します。値はユーザーはメールDBに、リソースの場合はConfigに保持されます。
• 保存先毎に使用する/しないを指定することが可能。

GroupsStatic• ドミノディレクトリのグループ文書と同じように個別にグループを作成します。
• このグループを利用出来る利用者を制限することが出来ます。

GroupsDynamic• ノーツビューの1列目に使用するようなノーツ式でグループを自動生成・更新出来、メンテフリーを実現します。
• ドミノディレクトリ以外もソースとして利用出来るため、リソース予約DBや社員情報DB等も活用できます。

GroupsDirectory• ドミノディレクトリのグループを条件設定に基づいてコピーして運用出来ます。
• 但し、コラボ基盤と同様英数字以外の文字で作成されたグループ文書は利用出来ません。

GroupsExternal• 全ての項目を独自に作成するDBで代用することが出来ます。
• 別DBなのでConfigのACLと別のアクセス権限で運用出来ます。但し、全ての項目を準備する必要があります。

Legends• 予定の表示色を指定します。各言語別の凡例表示名も準備出来ます。
• 表示条件はカテゴリだけでなく、ノーツ式を活用して指定できます。変更後更新にはFullSyncを必要とします。

42016 AXCEL Corporation. All right reserved.

1.ConfigDBを構成する文書（その２）
DefaultSettings

Legends

Language• 言語情報です。利用グループ毎に作成されるDefaultSetting文書に指定できます。
• ユーザーは各自が設定からきりかえも可能です。

Region• 日時書式情報です。利用グループ毎に作成されるDefaultSetting文書に指定できます。
• ユーザーは各自が設定からきりかえも可能です。

NameFormats• 名前などの表示形式情報です。利用グループ毎に作成されるDefaultSetting文書に指定します。
• ユーザーは変更出来ません。利用するNameFormatは事前に管理者が作成します。

LegendItems• 予定の表示色の条件をLegend Itemsで指定してLegendsに紐付けします。FullSyncが必要です。
• 複数のItemを紐付け出来るので関連言語や条件などそれぞれ設定できます。

2.ConfigDBで自動生成される文書
以下の４文書は前述の設定文書群からAdmin処理とSync処理で自動生成されます。
UserDoc• OnTimeを利用するユーザー毎に作成されます。ユーザーに関連する設定関係は全てこの文書をソースとします。
• 値を更新できるのはOnTime Adminサーバーのみです。対象でなくなったユーザー文書も1週間は保持されています。

CalendarDoc• OnTimeを利用するユーザー毎に１文書が作成されます。スケジュールデータは複数値で保持しています。
• メールDBからの情報は全てCalendar文書に保持されます。 User文書に必要な情報はAdminにて反映します。

SettingDoc• ユーザー毎に１文書が作成されます。ユーザーの操作時に設定した情報などを保持しています。
• DefaultSettingの情報はユーザーの新規アクセス時に反映します。既存ユーザーへはAdminにて反映します。

Group
Doc

• 各表示グループ設定文書から生成される文書とユーザーが個人で作成したグループや共有グループの文書。
• グループに属するユーザーや制限情報などを保持。Adminにてユーザーの追加削除などの更新も実行される。

5

2016 AXCEL Corporation. All right reserved.

3.Admin処理（ユーザー情報更新）
GlobalSettings

UserDoc• GlobalSetting文書に指定されているMembersリストからUser文書を作成・更新・削除を行う。
• 削除については一時的に非表示扱いに変更し、１週間後に各関連文書から取り除きます。

DominoDirectory

UserDoc• ユーザーのノーツ基本名等の基本情報とメールサーバー、メールDBの情報を取得します。
• ユーザー情報の特定は、ノーツ基本名かUniIDのどちらかが一致している前提で突合します。

PhotoSource

UserDoc• GlobalSetting文書で指定されたノーツDBからユーザー毎に指定された画像を取得します。

Busi. CardsourceUserDoc• GlobalSetting文書で指定されたノーツDBからユーザー毎にプロフィール情報を取得します。

Roles

UserDoc• ユーザーに付与されたRole情報を設定していきます。

UserDoc• ユーザーのスケジュールデータにアクセスできるRole情報を設定していきます。

Default
Settings

UserDoc• ユーザーに付与されたSetting情報を設定していきます。

CustomFields

UserDoc• ユーザーに付与された個別Custom Fieldについての情報を設定します。

CalendarDoc

UserDoc• メールDBの代理アクセス権含むメールプリファレンスの情報をCalendar文書から反映します。
• Sync処理によりメールDBからCalendar文書に情報が反映されていることが前提です。

User
Doc

• 会議室とリソースについては更にリソース予約DBの情報をCalendar文書から反映します。
• 予約時間制限、予約期間制限、定員、カテゴリや説明などを反映します。

User
Doc

• メールDBのレプリカIDからフェールオーバー先のメールファイル情報を設定します。
• SmartCloud Notesの場合はサーバーをクロールして独自にメールファイル情報を収集します。

Cluster
Directory

6

2016 AXCEL Corporation. All right reserved.

4.Admin処理（グループ情報更新）
GroupsDynamicGroupDoc• Dynamic Group設定文書で指定されたノーツDBから指定された条件でグループを生成します。
• ソースはディレクトリの必要はなく、またノーツ式で細かくコントロール出来ます。

GroupDoc• Static Group設定文書で指定したユーザーとグループをドミノディレクトリからリストします。
• グループ文書内のユーザー変更に対応します。英数以外のグループ文書はサポートしません。

GroupDoc• Directory Group設定文書で指定した条件でドミノディレクトリからグループ文書を抽出します。
• グループ文書内のユーザー変更に対応します。英数以外のグループ文書はサポートしません

External
Database

GroupDoc• 指定した別DBの値からそのままGroup文書を作成します。

UserDocGroupDoc• 個人が作成した個人/共有グループの所有者がOnTimeの対象から除外された場合に、１週間後にグループ自体を削除します。共有グループの場合は所有者から除外されます。

UserDocGroupDoc• 個人が作成した個人/共有グループのメンバーがOnTimeの対象から除外された場合に、グループ内のメンバーリストから除外します。

SourceDatabases
GroupsStaticDominoDirectory
GroupsDirectory

DominoDirectory
GroupsExternal

72016 AXCEL Corporation. All right reserved.

５.Sync処理とFullSync処理
UserDocCalendarDoc• User文書に基づき各メールサーバー担当のOnTimeサーバーでCalendar文書の作成と更新を行う。
• 起動時に実行する以外は通常はOnTimeタスクが検知して自動Syncします。

MailACL

CalendarDoc• 初回及び定期Sync時に代理アクセス情報を取得更新します。

Replica ID

CalendarDoc• 初回及び定期Sync時にレプリカID情報を取得更新します。

MailPreference

CalendarDoc• 初回及び定期Sync時にメールプリファレンスの情報を取得更新します。

CalendarData

CalendarDoc• タスクがスケジュールの更新を検知し、ほぼリアルタイムでスケジュールデータを更新します。
• 更新時にLegend設定の色情報を付与します。Legend設定を更新した場合はFullSyncを実行します。

Legends

8

2016 AXCEL Corporation. All right reserved.

6.データアクセス
ClientAPI• 全てのOnTimeのデータにアクセスする場合、必ずClinetDBのAPIを経由してアクセスします。
• アクセスにはNRPC、HTTPがありますが、APIがConfigDBと接続する際は全てNRPCとなります。

UserDoc• アクセスしたユーザー自身の情報を認識します。アクセス権が無い場合はこのタイミングで拒絶されます。
• HTTPアクセスの場合は、期限が切れている場合はTokenの新規発行も行われます。

DefaultSettings• User文書に指定されたDefault Setting情報から各種設定を読み込みます。

SettingDoc• ユーザーの使用環境の設定データを取得します。最後に起動していた際の各種選択情報を取得します。
• お気に入りのグループ一覧や言語設定、表示していたサブパネルの情報などDefault Settingの情報を上書きします。

Language• Setting文書に指定されたLanguage情報から指定された言語設定を読み込みます。

Region• Setting文書に指定されたRegion情報から指定された日時書式設定を読み込みます。

NameFormats• Default Setting文書に指定されたName Format情報から名前書式設定を読み込みます。

GroupDoc• アクセスしたユーザーが利用可能なグループ情報の取得と現在利用の表示グループを特定します。

UserDoc• 表示するグループのメンバー全てのUser文書を参照し、プロフィール情報や参照可能な権限情報を取得します。

CalendarDoc• 各ユーザーのスケジュールデータを権限情報に基づき取得して利用します。

92016 AXCEL Corporation. All right reserved.

7.予定データの作成や編集
ClientAPI

Mail
Databases• ユーザー権限に基づき、APIから直接メールDBに予定を作成します。

User
Doc

10

2016 AXCEL Corporation. All right reserved.

8.1.複製競合の回避ロジックについて
OnTimeｻｰﾊﾞｰ1

OnTimeはConfigDBに以下の情報を保持しています。
1. 各種設定情報（表示グループ、権限、凡例 他）
2. ユーザー情報「User文書」（1文書/ユーザー）
3. スケジュール情報「Calendar文書」（１文書/ユーザー）（スケジュールデータは1文書内で複数値で保持）複数のOnTimeサーバーで構成する場合は、ConfigDBを複製して全てのサーバーで同一データを保持することでスケーラビリティを確保しています。

Config DB
GlobalSetting
文書

参照するDB

ﾓﾆﾀｰするﾕｰｻﾞｰ

アドレス帳

ﾕｰｻﾞｰA
ﾕｰｻﾞｰB
ﾕｰｻﾞｰC
ﾕｰｻﾞｰD
ﾕｰｻﾞｰE
ﾕｰｻﾞｰF

他参照先

ServerSetting
文書

OnTimeｻｰﾊﾞｰ

ﾓﾆﾀｰするｻｰﾊﾞｰ

OnTimeｻｰﾊﾞｰ1

ﾒｰﾙｻｰﾊﾞｰ1

管理ｻｰﾊﾞｰ

OnTimeｻｰﾊﾞｰ2
ServerSetting
文書

ｱﾄﾞﾚｽ帳OnTimeｻｰﾊﾞｰ

ﾓﾆﾀｰするｻｰﾊﾞｰ

OnTimeｻｰﾊﾞｰ2

ﾒｰﾙｻｰﾊﾞｰ2
ﾒｰﾙｻｰﾊﾞｰ3

OnTimeAdmin
ﾌﾟﾛｾｽ

Config DB

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

11

ﾒｰﾙ
E

ﾒｰﾙ
F

サンプル構成について• OnTimeを２台のｻｰﾊﾞｰに実装します。
• OnTimeｻｰﾊﾞｰ１はOnTimeAdminを兼務し、ﾒｰﾙｻｰﾊﾞｰ１もﾓﾆﾀｰします。
• OnTimeｻｰﾊﾞｰ２はﾒｰﾙｻｰﾊﾞｰ２とﾒｰﾙｻｰﾊﾞｰ３の２台をモニターします。
• 利用するユーザーはﾕｰｻﾞｰAからﾕｰｻﾞｰFの６名とします。
• 通常OnTimeタスクはそれぞれのｻｰﾊﾞｰで常時実行されています。
それぞれの情報が• GlobalSetting文書(１文書/構成)• Serversetting文書(１文書/ｻｰﾊﾞｰ)に設定されているとします。

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

8.2.Admin処理の実行
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳Config DB
Calendar
文書

User文書Calendar
文書

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

12

ﾒｰﾙ
E

ﾒｰﾙ
F

OnTimeGC Adminプロセスは構成内のOnTimeサーバー１台だけで実行される機能です。
デフォルトでは起動時と深夜２時に実行されます。
主に以下のような処理を行います。
• 同期するユーザーのユーザー名やメールDBの情報をディレクトリから取得します。
• 同期するユーザーのその他プロフィール情報を参照指定されたDBから取得します。
• 作成されたUser文書にロール設定を行います。
• 作成されたUser文書からグループを生成します。
等々
左図ではUser文書が新規生成される状態を表示しています。
同期するユーザーや会議室毎に１文書作成され、Adminプロセスの実行毎に更新されます。
詳細は以下のリンクを参照。
http://www2.ontimesuite.jp/moreinfoa
dmin/

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

8.3.User文書を他サーバーに展開
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳Config DB
Calendar
文書

User文書Calendar
文書

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙDﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

作成及び更新されたUser文書を他のOnTimeサーバーのConfigDBに複製します。
複製はDominoの機能で設定します。
OnTimeには複製に関する設定はありません。なので複製頻度やリポジト
リーはDominoディレクトリ内で設定して下さい。

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

13

ﾒｰﾙ
E

ﾒｰﾙ
F

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

8.4.Sync処理の実行
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳Config DB
Calendar
文書

User文書Calendar
文書

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

14

ﾒｰﾙ
E

ﾒｰﾙ
F

OnTimeGC Syncは各OnTimeサーバーのServerSetting文書に基づき、各サーバーのOnTimeタスクが実行します。
Syncはそれぞれモニターするサー
バー上のメールDBや会議室予約DBを常に監視し、スケジュール情報の作成や更新が行われた際にリアルタイムで同期処理が実行されConfigDB内の複数値が保持されているデータフィールドを更新します。
また、SyncはメールDBが保持している以下のような情報も取得します。
• メールのプリファレンス• メールDBの代理アクセス権限• 会議室予約DBのリソース文書上の各種制限事項• レプリカID(ﾌｪｰﾙｵｰﾊﾞｰ用)
初回起動時は全てのメールDBの処理が行われていないので、コマンドから強制的に実行します。
左図ではそれぞれのOnTimeサーバーが対象となるメールDBから対象期間のスケジュールデータを取得している状態を表示しています。

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

8.5.Calendar文書を他サーバーに展開
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳スケジュールデータや各DBが保持している各種情報を取得したCalendar
文書もDominoの複製で管理サーバー含む他サーバーに複製します。

Config DB
Calendar文書

User文書Calendar
文書

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

15

ﾒｰﾙ
E

ﾒｰﾙ
F

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

8.6.Calendar文書からUser文書に更新
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳Config DB
Calendar
文書

User文書Calendar
文書

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

OnTimeの管理サーバーはOnTimeGC
Admin処理で、ローカルにあるConfigDBに存在するCalendar文書内のスケジュールデータ以外の各種情報をUser文書に更新します。
Admin処理はローカル上のCalendar文
書内の情報を使用して更新するので、複製が完了していない場合は複製前の情報で更新されますのでご注意下
さい。
ちなみに、OnTimeクライアントはスケジュールデータ以外はCalendar文書に同じ情報があっても必ずUser文
書内の情報を参照します。

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

16

ﾒｰﾙ
E

ﾒｰﾙ
F

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

8.7.User文書を他サーバーに複製更新更新されたUser文書を他のOnTimeサーバーのConfigDBに複製します。
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳Config DB
Calendar
文書

User文書Calendar
文書

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

複製はDominoの機能で設定します。
OnTimeには複製に関する設定はありません。なので複製頻度やリポジト
リーはDominoディレクトリ内で設定して下さい。

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

17

ﾒｰﾙ
E

ﾒｰﾙ
F

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

8.8.全サーバーで同一最新情報を維持
結果、全てのサーバーで同一の最新情報を維持出来ます。
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳Config DB
Calendar
文書

User文書Calendar
文書

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

後は自身の組織の特性• 予定情報の更新頻度• ネットワークの負荷• ネットワークのトポロジー• サーバーのパフォーマンスに基づいてレプリケーションを構成してください。

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

18

ﾒｰﾙ
E

ﾒｰﾙ
F

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

8.9.競合を回避するロジックの再確認
大きくは以下の３点によります。
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳Config DB
Calendar
文書

User文書Calendar
文書ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

19

ﾒｰﾙ
E

１．文書数が増えない。
例えスケジュールデータが増えたとしてもConfig DB内の文書数は増えません。
結果、ビューのIndexerの負担は無く例え文書数が多いとしても文書特定のタイムラグは増えません。
２．複数が１つの文書を更新しない。
１つの文書を保存出来るのは１つのロジックだけです。
Calendar文書を保存出来るのはそのメールDBを管理しているそのサーバーのタスクだけです。
User文書を保存出来るのはOnTime
Adminプロセスだけです。
３．ユーザー操作によるスケジュー
ルエントリ作成は直接メールDBに行われ、Config DBは関与しない。

ﾒｰﾙF

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

8.10.予定は直接メールDBに作成･更新
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳Config DB
Calendar
文書

User文書Calendar
文書

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

ﾒｰﾙ
E

OnTimeは大きく２つの機能で構成されています。
1. メールDBからOnTimeへの同期機能(OnTimeGCタスクで動作)
2. メールDBへのスケジュール作成機能(Javaエージェントで実行)
ユーザーがメールDBに予定作成する場合は勿論、OnTimeから予定作成する場合は、OnTime
Client DBのjavaエージェントが直接メールDBにエントリを作成します。
ユーザー操作で直接Config DB内のデータを更新することはありません。
左図のようにメールDBに予定が作成・更新された場合は、、、次ページに続きます。

OnTimeClientDB

ﾒｰﾙ
F

ﾒｰﾙｻｰﾊﾞｰ3

メールDBから

20

OnTimeから2016 AXCEL Corporation. All right reserved.

8.11.メールDB内で予定の更新を検知
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳Config DB
Calendar
文書

User文書Calendar
文書

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

OnTimeタスクはメールサーバーと連携し、メールDB内の文書更新を検知します。
それはIBM Notes Travelerのそれと似たロジックと考えてください。
先ほど検知した文書更新はリアルタ
イムにタスクと同じサーバー上のConfig DBのCalendar文書内のデータを更新します。

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

21

ﾒｰﾙ
E

ﾒｰﾙ
F

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

8.12.他OnTimeサーバーに情報更新
OnTimeｻｰﾊﾞｰ1

OnTimeｻｰﾊﾞｰ2

Config DB
User文書ｱﾄﾞﾚｽ帳Config DB
Calendar文書

User文書Calendar
文書

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)ﾒｰﾙA

ﾕｰｻﾞｰA(ｻｰﾊﾞｰ1)

ﾒｰﾙA

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰB(ｻｰﾊﾞｰ1)

ﾒｰﾙB

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰC(ｻｰﾊﾞｰ2)

ﾒｰﾙC

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰD(ｻｰﾊﾞｰ2)

ﾒｰﾙD

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰE(ｻｰﾊﾞｰ3)

ﾒｰﾙE

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

ﾕｰｻﾞｰF(ｻｰﾊﾞｰ3)

ﾒｰﾙF

OnTimeAdmin
ﾌﾟﾛｾｽ

OnTime
Task

他参照先

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

作成及び更新されたCalendar文書を他のOnTimeサーバーのConfigDBに複製します。
複製はDominoの機能で設定します。
OnTimeには複製に関する設定はありません。なので複製頻度やリポジト
リーはDominoディレクトリ内で設定して下さい。

OnTime
Task

ﾒｰﾙ
C

ﾒｰﾙ
D

ﾒｰﾙｻｰﾊﾞｰ2

22

ﾒｰﾙ
E

ﾒｰﾙ
F

ﾒｰﾙｻｰﾊﾞｰ32016 AXCEL Corporation. All right reserved.

9.フェールオーバーについて
クライアント向けフェールオーバー
HTTPの負荷分散装置等を導入して負荷分散、フェールオーバークラスタを構成して下さい。
ServerSetting文書のREST用のClientDBのURLには負荷分散装置のURLかアドレスを指定して下さい。
制御も負荷分散装置で行います。

負荷分散装置HTTP Task

HTTP Task

ClientDB

ClientDB

OnTimeｻｰﾊﾞｰ2

OnTimeｻｰﾊﾞｰ2

ConfigDBConfig
DB

OnTime Task

OnTime Task

ﾒｰﾙ
A

ﾒｰﾙ
B

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1

OnTimeタスクのフェールオーバー
OnTimeタスクはServerSetting文書で指定したOnTimeクラスタメンバー間で死活監視をしています。
Dominoサーバーは正常でOnTimeタスクだけがダウンした場合、アクティブなクラスターメンバーが代理でダウンしたOnTimeタスク分もSync処理を司ります。

ﾒｰﾙA

ﾒｰﾙｻｰﾊﾞｰ1
ﾒｰﾙ
A

負荷分散装置を使用しない場合冗長化だけならエンドユーザーが手動でClientDBを開け直す、URLを接続し直す方法で切り替えることも可能。

ﾒｰﾙ
B

ﾒｰﾙｻｰﾊﾞｰ1
ﾒｰﾙ
B

ﾒｰﾙ
A

ﾒｰﾙｻｰﾊﾞｰ1

23メールDBのフェールオーバー
OnTimeはUser文書にメールDBのクラスターパスを保持しています。何かしらの原因でメールDBにアクセスできなくなった場合、数回のトライアルの後フェールオーバー先に切り替わります。

2016 AXCEL Corporation. All right reserved.

10.OnTime Tokenについて• OnTime Client DB(API)はDomino認証時に発行したOnTime Token(ユーザーを特定しその有効期間がエンコードされている暗号化文字列)でアクセスします。
• 一度Tokenが発行されると、OnTime APIへのRequest時に常に使用されOnTimeAPIとユーザーを特定する唯一の情報として利用されます。
• OnTime Group Calendarのセキュリティ機能(Tokenの利用)について
http://www2.ontimesuite.jp/securityworks/• Ver.3.11.0以降のノーツクライアントとサイドバークライアント(TAAG)の起動シーケンス
http://www2.ontimesuite.jp/startup/

11.クライアント操作のログトレース• OnTimeのAPI通信は全てRESTによるRequestとResponseデータのやりとりになります。
• 特定のユーザーをDebugモードにすると内容を記録できます。
• クライアントがRequestを送信する際のコマンドやパラメータ及びデータサイズの調べ方
http://www2.ontimesuite.jp/api-request/• サーバーとクライアントを流れるトラフィックデータについて
http://www2.ontimesuite.jp/data-transfer/24

2016 AXCEL Corporation. All right reserved.

12.トラブルシュート（切り分け）• 不在通知の設定が出来ない時のトラブルシュート（公開日: 16/12/02）• OnTimeやメールDB、リソース予約DBで予約はあるのにノーツの空き時間検索で空いていると表示されるのは何故ですか?（公開日: 16/10/21）• ユーザー個別の設定はどの設定画面で行いますか？（公開日: 16/09/07）• Instant Client Refresherが動作して機能しているか確認する方法はありますか？（公開日:16/04/22）• OnTimeGC サーブレットが動作しているか確認する方法はありますか？（公開日:16/03/29）• OnTimeGCタスクが稼働し、メールDBと同期しているか状態を確認する方法はありますか？（公開日: 16/03/25）• ブラウザで「Error getting Token: Not able to open Config Database」と表示されて画面が開かない。（公開日: 16/03/24）• ノーツ内でOnTimeブラウザクライアントが起動しない場合の確認箇所は？（公開日:16/03/21）• サーバーとクライアントを流れるトラフィックデータについて（公開日: 16/02/08）• クライアントがRequestを送信する際のコマンドやパラメータ及びデータサイズの調べ方（公開日: 15/12/01）• OnTimeタスクの異常終了の検知方法について（公開日: 15/10/06）• ユーザーの使用状況の確認方法（公開日: 15/03/27）• OnTimeノーツクライアントが特定の人だけ起動しない場合のトラブルシュート。（公開日: 14/05/26）
25

2016 AXCEL Corporation. All right reserved.