[go: up one dir, main page]

JP2018142129A - 情報処理システム、情報処理方法、及び情報処理装置 - Google Patents

情報処理システム、情報処理方法、及び情報処理装置 Download PDF

Info

Publication number
JP2018142129A
JP2018142129A JP2017035279A JP2017035279A JP2018142129A JP 2018142129 A JP2018142129 A JP 2018142129A JP 2017035279 A JP2017035279 A JP 2017035279A JP 2017035279 A JP2017035279 A JP 2017035279A JP 2018142129 A JP2018142129 A JP 2018142129A
Authority
JP
Japan
Prior art keywords
node
data
information
nodes
distribution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2017035279A
Other languages
English (en)
Inventor
岳 今井
Takeshi Imai
岳 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017035279A priority Critical patent/JP2018142129A/ja
Priority to US15/899,483 priority patent/US20180248943A1/en
Publication of JP2018142129A publication Critical patent/JP2018142129A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】データの整合性を保つまでの時間を短くできる情報処理システムを提供する。【解決手段】情報処理システムは、複数のノードでデータを同期する情報処理システムであって、前記複数のノードの各々は、いずれも共通の分散アルゴリズムに基づいて、前記複数のノードの中から前記データの配信に責任を負ういずれかのノードを決定し、決定した前記いずれかのノードを特定する情報を前記いずれかのノード以外の残りのノードに配信する、処理を実行する処理部を有する。【選択図】図3

Description

本件は、情報処理システム、情報処理方法、及び情報処理装置に関する。
無線によって互いに通信可能な複数の通信端末(以下、ノードという)間でデータを共有するシステムが知られている。このようなシステムの一種として、サーバを使用せずに、個々のノードで分散的にデータを共有するシステムが知られている(以上、特許文献1参照)。
また、このようなシステムにおいて、サーバを使用せずに、複数のノードの中から、データの配信に責任を負う代表のノードを選任するElection algorithm(以下、選任アルゴリズムと記載)も知られている。例えば、このような選任アルゴリズムとして、Bully algorithm(ブリーアルゴリズム)やRing algorithm(リングアルゴリズム)などが知られている。
国際公開第2014/128807号
しかしながら、上述した選任アルゴリズムは個々のノードと合意を得てから代表のノードを選任する。より詳細には、選任アルゴリズムはどのノードがデータの配信に責任を負うのかシステムに参加する全ノードの合意を得てから代表のノードを選任する。このため、代表のノードを選任するまでに大量の通信が発生する。また、無線通信環境下ではノードは自由に移動することができるため、ノード間の通信状態は刻々と変化し、安定した通信状態が維持されにくい。このような安定した通信状態が維持されにくい状況下で、ノードのシステムへの新規加入やノードのシステムからの離脱が頻繁に発生すると、代表のノードの選任に多大な時間を要する可能性もある。代表のノードの選任が遅れるとデータの配信が遅れ、データが複数のノード間で整合するまでに時間がかかるという問題がある。
そこで、1つの側面では、データの整合性を保つまでの時間を短くできる情報処理システム、情報処理方法、及び情報処理装置を提供することを目的とする。
1つの実施態様では、情報処理システムは、複数のノードでデータを同期する情報処理システムであって、前記複数のノードの各々は、いずれも共通の分散アルゴリズムに基づいて、前記複数のノードの中から前記データの配信に責任を負ういずれかのノードを決定し、決定した前記いずれかのノードを特定する情報を前記いずれかのノード以外の残りのノードに配信する、処理を実行する処理部を有する。
データの整合性を保つまでの時間を短くすることができる。
図1は情報処理システムの一例を説明するための図である。 図2はノードのハードウェア構成の一例である。 図3はノードのブロック図の一例である。 図4はデータ記憶部の一例である。 図5は配信者情報記憶部の一例である。 図6は引継情報記憶部の一例である。 図7はデータ更新時の処理の一例を示すフローチャートである。 図8はデータ受信時の処理の一例を示すフローチャートである。 図9は引継情報受信時の処理の一例を示すフローチャート(その1)である。 図10は引継情報受信時の処理の一例を示すフローチャート(その2)である。 図11は離脱検出時の処理の一例を示すフローチャートである。 図12は引継依頼受信時の処理の一例を示すフローチャートである。 図13は加入検出時の処理の一例を示すフローチャートである。
以下、本件を実施するための形態について図面を参照して説明する。
図1は情報処理システムSの一例を説明するための図である。情報処理システムSはEventual Consistency(結果整合性)を実現するコンピュータシステムである。情報処理システムSはそれぞれ情報処理装置としての複数のノード100,200,300,400を含んでいる。特に、ノード400は表示装置410と表示装置410を制御する制御装置420を含んでいる。
ノード100,200,300,400は無線基地局(例えばアクセスポイント)APを含む通信ネットワークNWを介して互いに接続されている。図1に示すように、通信ネットワークNWは有線ネットワークNW1及び無線ネットワークNW2を含んでいる。このため、ノード100,200,300,400は互いに無線や有線を利用して通信することができる。したがって、情報処理システムSは、例えばノード100,200,300,400のそれぞれに表示されたドキュメントや設計図を操作によりどのノード100,200,300,400からでも共同編集することができる。尚、ノード100,200,300間では無線基地局APを介さないアドホックネットワークが利用されていてもよい。
ここで、ノード100,200,300,400としては例えば端末装置やスマートデバイスなどがある。端末装置としては、例えば携帯型(モバイルタイプ)のPersonal Computer(PC)や据置型(デスクトップタイプ)のPCなどがある。スマートデバイスとしては、例えばスマートフォン、スマートウォッチ、タブレット端末、ウェアラブルコンピュータなどがある。尚、ノード100,200,300,400は端末装置やスマートデバイスに限定されず、表示機能及び通信機能を備えていれば、例えばスマートテレビ、電子レンジ、ヘルスケア用品といった家庭用の電気機器のほか、デジタルカメラや携帯ゲーム機などであってもよい。ノード100,200,300,400はキー(Key)と呼ばれる同じ識別情報を含むデータを互いに送信し合うことによってデータを共有する。
次に、図2を参照して、ノード100のハードウェア構成について説明する。尚、上述したノード200,300,400については基本的にノード100と同様のハードウェア構成であるため説明を省略する。
図2はノード100のハードウェア構成の一例である。図2に示すように、ノード100は、少なくともCentral Processing Unit(CPU)100A、Random Access Memory(RAM)100B、Read Only Memory(ROM)100C、ネットワークI/F(インタフェース)100D、及び通信回路100Kを含んでいる。通信回路100Kにはアンテナ100K´が接続されている。通信回路100Kに代えて通信機能を実現するCPUが利用されてもよい。ノード100は、通信回路100K及びアンテナ100K´を介してノード200,300と接続される。
また、ノード100は、入力部100F及び表示部100Gも含んでいる。入力部100Fとしては、例えばキーボード、ポインティングデバイス、タッチパネルなどがある。表示部100Gとしては、例えば液晶ディスプレイがある。さらに、ノード100は、必要に応じて、Hard Disk Drive(HDD)100E、入出力I/F100H、ドライブ装置100Iの少なくとも1つを含んでいてもよい。CPU100Aからドライブ装置100I及び通信回路100Kは、内部バス100Jによって互いに接続されている。少なくともCPU100AとRAM100Bとが協働することによってコンピュータが実現される。
入出力I/F100Hには、半導体メモリ730が接続される。半導体メモリ730としては、例えばUniversal Serial Bus(USB)メモリやフラッシュメモリなどがある。入出力I/F100Hは、半導体メモリ730に記憶されたプログラムやデータを読み取る。入出力I/F100Hは、例えばUSBポートを備えている。
ドライブ装置100Iには、可搬型記録媒体740が挿入される。可搬型記録媒体740としては、例えばCompact Disc(CD)−ROM、Digital Versatile Disc(DVD)といったリムーバブルディスクがある。ドライブ装置100Iは、可搬型記録媒体740に記録されたプログラムやデータを読み込む。
ネットワークI/F100Dは、例えばLocal Area Network(LAN)ポートを備えている。
上述したRAM100Bには、HDD100Eに記憶されたプログラムがCPU100Aによって格納される。RAM100Bには、可搬型記録媒体740に記録されたプログラムがCPU100Aによって格納される。格納されたプログラムをCPU100Aが実行することにより、後述する各種の機能が実現され、また、後述する各種の動作が実行される。尚、プログラムは後述するフローチャートに応じたものとすればよい。
次に、図3を参照して、ノード100の機能構成について説明する。尚、上述したノード200,300,400については基本的にノード100と同様のハ機能構成であるため説明を省略する。
図3はノード100のブロック図の一例である。図4はデータ記憶部132の一例である。図5は配信者情報記憶部135の一例である。図6は引継情報記憶部137の一例である。図3に示すように、ノード100はアプリ110、通信部120、及びミドルウェア130を備えている。
アプリ110は、ノード100で動作する分散アプリケーションである。分散アプリケーションは例えばHyper Text Transfer Protocol(HTML)といった特定のマークアップ言語で記述されており、種々のデータを操作する。分散アプリケーションとしては例えば画面共有アプリなどがある。
通信部120は、ノード100とノード200,300,400との通信を制御する。例えば、通信部120はノード200,300,400の少なくとも1つを指定してアプリ110で操作されたデータを送信する。例えば、通信部120は情報処理システムSに加入する新たなノード(不図示)や情報処理システムSから離脱するノード(例えばノード300)をミドルウェア130に通知する。
ミドルウェア130は、アプリ110によりデータが操作されると、その操作をノード200,300,400が備えるミドルウェア(不図示)と通知しあう。また、ミドルウェア130は、通信状態が安定していない場合や、ノード数が増加した場合に、通知するデータ操作の通信量が通信能力を超えると判断すると、その操作の通知を停止する。その他、ミドルウェア130は、種々の処理を実行する。
より詳しく説明すると、ミドルウェア130は、図3に示すように、入出力部131、データ記憶部132、データ配信管理部133、及びデータ送受信部134を含んでいる。特に、データ送受信部134はデータ配信部134Aとデータ受信部134Bを含んでいる。また、ミドルウェア130は、配信者情報記憶部135、責任ノード決定部136、引継情報記憶部137、及びノード検出部138を含んでいる。さらに、ミドルウェア130は、配信責任管理部139、情報送受信部140、不整合解消部141を含んでいる。特に、情報送受信部140は引継情報配信部140Aと引継情報受信部140Bを含んでいる。
入出力部131はアプリ110とミドルウェア130とのインタフェースである。入出力部131はアプリ110によりデータの操作が行われると、データ記憶部132を更新する。例えば、入出力部131はアプリ110によりデータを書き込む操作が行われると、アプリ110からのデータを受け付けて、データ記憶部132に同じキーのデータが存在しなければ、受け付けたデータをデータ記憶部132に書き込む。これにより、データ記憶部132は、ノード100の通信先であるノード200,300,400と共有するデータを記憶する。また、入出力部131はアプリ110によるデータの操作をデータ配信管理部133に出力する。さらに、入出力部131はデータ記憶部132を監視し、データ記憶部132がノード200,300,400から受信したデータに基づいて更新されると、アプリ110に更新を通知する。
ここで、図4に示すように、データ記憶部132は入出力部131が書き込んだデータをデータテーブルT1により管理する。各データはそれぞれKey(キー)とValue(バリュー:値)とバージョンを構成要素として含んでいる。キーはデータを識別する識別情報である。バージョンは例えばLamport clock(ランポートクロック)といった論理クロック(又は論理時刻)である。論理クロックとしてベクタークロックやOperating System(OS)のシステムクロックが利用されてもよい。尚、図4においてデータはキー・バリュー型で示されているが、必ずしもキー・バリュー型に限定されない。
データ配信管理部133は入出力部131から出力されたデータ操作を受け付けると、データ操作を受け付けた旨を配信責任管理部139に通知する。また、データ配信管理部133はデータ操作を受け付けると、データ記憶部132からデータを取得し、取得したデータをデータ送受信部134に出力する。より詳しくは、データ配信管理部133は取得したデータをデータ配信部134Aに出力する。さらに、データ配信管理部133はデータ送受信部134から出力されたデータを受信すると、データ記憶部132を更新する。例えば、データ配信管理部133はデータ受信部134Bから出力されたデータを受信すると、データ記憶部132に同じキーのデータが存在しなければ、受け付けたデータをデータ記憶部132に書き込む。
データ配信部134Aはデータ配信管理部133から出力されたデータを、通信部120を介してノード200,300,400に配信する。一方、データ受信部134Bは、ノード200,300,400からそれぞれ配信されたデータを、通信部120を介して受信する。
配信者情報記憶部135は配信者情報を記憶する。より詳しくは、図5に示すように、配信者情報記憶部135は配信者情報を配信者情報テーブルT2により管理する。各配信者情報はそれぞれキーと配信責任ノードIDを構成要素として含んでいる。配信責任ノードIDはデータの配信責任を負うノード100,200,300,400の識別情報である。例えば、キー「X」のデータはノードID「N1」が割り当てられたノード(例えばノード200)が配信責任を負うことを示している。このように、配信責任ノードIDはキーと関連付けられている。配信責任管理部139は、配信者情報を確認することによりデータの配信責任をノード100,200,300,400のいずれが負うのかを把握することができる。
責任ノード決定部136は配信責任管理部139が引継情報記憶部137を更新すると、特定の分散アルゴリズムに基づいて、ノード100,200,300,400の中からデータの配信に責任を負うノード100,200,300,400のいずれかを配信責任ノードとして決定する。特定の分散アルゴリズムとしては、コンシステントハッシュ法などが利用される。尚、ノード200,300,400が備える責任ノード決定部(不図示)も責任ノード決定部136が利用する特定の分散アルゴリズムと共通の(又は同一の若しくは特徴が同じ)分散アルゴリズムを使用して配信責任ノードを決定する。
引継情報記憶部137はノード200,300,400のいずれかが情報処理システムSから離脱し、離脱したノード(例えばノード300)が配信責任ノードである場合、離脱したノードの配信責任を他のノード(例えばノード100,200,400)に引き継ぐための引継情報を記憶する。より詳しくは、図6に示すように、引継情報記憶部137は引継情報を引継情報テーブルT3により管理する。各引継情報はそれぞれ引継情報ID、引継ノードID、キー及びバージョンを構成要素として含んでいる。引継情報IDは引継情報を識別する識別情報である。引継ノードIDは配信責任を引き継ぐ先のノードを識別する識別情報である。このように、たとえノード300が情報処理システムSから離脱しても、引継情報により配信責任は情報処理システムSに残存するノード100,200,400のいずれかに引き継がれる。
ノード検出部138は通信部120からの通知に基づいて、新たなノード(不図示)の情報処理システムSへの加入を検出する。また、ノード検出部138は通信部120からの通知に基づいて、ノード(例えばノード200,300,400の少なくともいずれか)の情報処理システムSからの離脱を検出する。ノード検出部138はノードの加入及び離脱を検出すると、ノードの加入及び離脱を配信責任管理部139に通知する。
配信責任管理部139はデータ配信管理部133からデータの操作が通知されると、責任ノード決定部136、情報送受信部140、不整合解消部141の動作を制御する。例えば、配信責任管理部139はデータ配信管理部133からデータの操作が通知されると、配信者情報記憶部135を更新する。その他、配信責任管理部139は種々の情報処理を実行する。
引継情報配信部140Aは通信部120を介して、ノード200,300,400に引継情報を配信する。引継情報受信部140Bは通信部120を介して、ノード200,300,400から配信された引継情報を受信する。引継情報受信部140Bは引継情報を受信すると、配信責任管理部139に出力する。
不整合解消部141は引継情報記憶部137を更新することによりノード100,200,300,400の合意に関する不整合を解消する。例えば、不整合解消部141は配信責任管理部139がデータ配信管理部133からアプリ110によるデータの操作が通知されると、引継情報を削除することにより不整合を解消する。例えば、不整合解消部141は配信責任管理部139が引継情報受信部140Bから出力された引継情報を受け付けると、必要に応じて引継情報を削除することにより不整合を解消する。
続いて、図7から図13を参照して、ノード100の動作について説明する。尚、ノード200,300,400もノード100の動作と同様であるため、説明を省略する。
図7はデータ更新時の処理の一例を示すフローチャートである。より詳しくは、図7はアプリ110がデータを操作した際に実行される処理を表している。
まず、アプリ110がデータを操作すると、入出力部131はアプリ110からのデータを受け付ける(ステップS101)。ステップS101の処理が完了すると、次いで、入出力部131はデータを更新する(ステップS102)。より詳しくは、入出力部131はデータ記憶部132にアクセスし、データ記憶部132に受け付けたデータのキーと同じキーのデータが存在しなければ、データ記憶部132に受け付けたデータを書き込む。逆に、データ記憶部132に受け付けたデータのキーと同じキーのデータが存在すれば、入出力部131はバージョンを確認し、バージョンが古ければ、受け付けたデータを上書きする。尚、入出力部131はデータの書き込み時及び上書き時にデータにバージョンを付与する。
ステップS102の処理が完了すると、次いで、配信責任管理部139は該当キーを自ノードが引き継いでいるか否かを判断する(ステップS103)。より詳しくは、配信責任管理部139はデータ配信管理部133からデータの操作が通知されると、引継情報記憶部137にアクセスし、操作されたデータのキーの引継ノードIDが自ノードに割り当てられたノードIDであるか否かを判断する。該当キーを自ノードが引き継いでいる場合(ステップS103:YES)、不整合解消部141は該当キーの引継情報を削除する(ステップS104)。すなわち、アプリ110で操作されたデータの配信責任は自ノード(すなわち、ノード100)が負うため、該当キーの引継情報を保持する必要がない。したがって、不整合解消部141は該当キーの引継情報を削除する。
ステップS104の処理が完了すると、引継情報配信部140Aは残存する引継情報を配信する(ステップS105)。より詳しくは、配信責任管理部139は該当キーの引継情報を削除した後に引継情報記憶部137に残存する引継情報を取得して引継情報配信部140Aに出力し、引継情報配信部140Aは配信責任管理部139から出力された引継情報を配信する。これにより、配信された引継情報を受信したノード200,300,400は自身が保持する引継情報を更新する。したがって、ノード100,200,300,400がそれぞれ保持する引継情報が同期する。尚、引継情報配信部140Aは引継情報を削除した旨を表す情報を配信してもよい。
ステップS105の処理が完了した場合、又は、配信責任管理部139が該当キーの引継情報を保持していないと判断した場合(ステップS103:NO)、次いで、配信責任管理部139は該当キーの配信者情報を自ノードに更新する(ステップS106)。したがって、アプリ110がデータの操作を行うと、その該当キーのデータの配信責任はアプリ110を含むノード(例えばノード100)が負うことが特定される。
ステップS106の処理が完了すると、データ配信部134Aはデータを配信し(ステップS107)、処理を終了する。より詳しくは、データ配信管理部133はデータ記憶部132からデータを取得してデータ配信部134Aに出力し、データ配信部134Aはデータ配信管理部133から出力されたデータを配信して、処理を終了する。これにより、ノード200,300,400はノード100から配信されたデータを受信することができる。
図8はデータ受信時の処理の一例を示すフローチャートである。より詳しくは、図8はデータ受信部134Bがデータを受信した際に実行される処理を表している。
まず、データ受信部134Bはデータを受信する(ステップS201)。例えば、データ受信部134Bはノード100以外のノード(例えばノード200)が配信したデータを受信する。ステップS201の処理が完了すると、データ配信管理部133はデータを更新する(ステップS202)。より詳しくは、データ受信部134Bがデータを受信すると、データ受信部134Bはデータをデータ配信管理部133に出力する。したがって、データ配信管理部133はデータ受信部134Bから出力されたデータを受け付けて、データ記憶部132にデータを書き込んだり、キーとバージョンとに基づいてデータ記憶部132に記憶されたデータを上書きしたりする。
ステップS202の処理が完了すると、次いで、入出力部131はアプリ110に更新を通知する(ステップS203)。より詳しくは、入出力部131はデータ記憶部132を監視し、データ記憶部132が更新されると、入出力部131はアプリ110に更新を通知する。
ステップS203の処理が完了すると、次いで、配信責任管理部139は自ノードが配信責任を負うか否かを判断する(ステップS204)。より詳しくは、配信責任管理部139はデータ配信管理部133からの通知に基づいて配信者情報記憶部135にアクセスし、受信したデータのキーに応じて自ノードが配信責任を負っているか否かを判断する。ここで、自ノードが配信責任を負っている場合(ステップS204:YES)、配信責任管理部139は配信責任を停止する(ステップS205)。例えば、配信責任管理部139は、該当の配信者情報を削除することにより、配信責任を停止する。すなわち、ノード200が備えるアプリ(不図示)によるデータの操作に基づいてノード200からデータが配信された場合、ノード200が配信責任を負い、ノード100は配信責任を負わない。したがって、自ノード(例えばノード100)が配信責任を負っている場合、配信責任管理部139は配信責任を停止する。
一方、自ノードが配信責任を負っていない場合(ステップS204:NO)、次いで、配信責任管理部139は該当キーを自ノードが引き継いでいるか否かを判断する(ステップS206)。より詳しくは、配信責任管理部139はデータ配信管理部133からデータの受信が通知されると、引継情報記憶部137にアクセスし、受信したデータのキーの引継ノードIDが自ノードに割り当てられたノードIDであるか否かを判断する。該当キーを自ノードが引き継いでいる場合(ステップS206:YES)、不整合解消部141は該当キーの引継情報を削除する(ステップS207)。すなわち、ノード200のアプリ(不図示)で操作されたデータの配信責任はノード200が負うため、該当キーの引継情報を保持する必要がない。したがって、不整合解消部141は該当キーの引継情報を削除する。
ステップS207の処理が完了すると、引継情報配信部140Aは残存する引継情報を配信する(ステップS208)。より詳しくは、配信責任管理部139は該当キーの引継情報を削除した後に引継情報記憶部137に残存する引継情報を取得して引継情報配信部140Aに出力し、引継情報配信部140Aは配信責任管理部139から出力された引継情報を配信する。これにより、配信された引継情報を受信したノード200,300,400は自身の引継情報を更新する。したがって、ノード100,200,300,400がそれぞれ保持する引継情報が同期する。尚、該当キーを自ノードが引き継いでいない場合(ステップS206:NO)、不整合解消部141はステップS207の処理をスキップし、引継情報配信部140AはステップS208の処理をスキップして、処理を終了する。
図9は引継情報受信時の処理の一例を示すフローチャート(その1)である。図10は引継情報受信時の処理の一例を示すフローチャート(その2)である。より詳しくは、図9及び図10は引継情報受信部140Bが引継情報を受信した際に実行される処理を表している。
まず、引継情報受信部140Bは引継情報を受信する(ステップS301)。例えば、引継情報受信部140Bはノード100以外のノード(例えばノード200)が配信した引継情報を受信する。ステップS301の処理が完了すると、配信責任管理部139は引継情報を更新する(ステップS302)。より詳しくは、引継情報受信部140Bが引継情報を受信すると、引継情報受信部140Bは引継情報を配信責任管理部139に出力する。したがって、配信責任管理部139は引継情報受信部140Bから出力された引継情報を受け付けて、引継情報記憶部137に引継情報を書き込んだり、キーとバージョンとに基づいてデータ記憶部132に記憶されたデータを上書きしたりする。これにより、ノード100,200,300,400間の引継情報が同期する。
ステップS302の処理が完了すると、次いで、配信責任管理部139は該当キーを自ノードが引き継いでいるか否かを判断する(ステップS303)。より詳しくは、配信責任管理部139は引継情報受信部140Bから出力された引継情報を受け付けると、引継情報記憶部137にアクセスし、引継情報に含まれるキーの引継ノードIDが自ノードに割り当てられたIDであるか否かを判断する。該当キーを自ノードが引き継いでいる場合(ステップS303:YES)、責任ノード決定部136は配信責任ノードを決定する(ステップS304)。すなわち、責任ノード決定部136は自ノード(例えばノード100)が配信責任を負うか他ノード(例えばノード200,300,400)が配信責任を負うかを判断する。
責任ノード決定部136が決定した配信責任ノードが自ノードである場合(ステップS305:YES)、配信責任管理部139は自ノードが保持するデータの該当キーのバージョンを確認する(ステップS306)。より詳しくは、責任ノード決定部136が配信責任ノードを決定すると、配信責任管理部139はデータ配信管理部133を介して該当キーのバージョンを確認する。
ステップS306の処理が完了すると、次いで、配信責任管理部139はデータが古いか否かを判断する(ステップS307)。より詳しくは、配信責任管理部139は該当キーの引継情報のバージョンと自ノードが保持するデータの該当キーのバージョンとを比較して、データが古いか否かを判断する。比較した結果、自ノードが保持するデータの該当キーのバージョンが引継情報のバージョンより小さければ、データが古いため(ステップS307:YES)、配信責任管理部139は最新データの配信を該当ノードに依頼し(ステップS308)、処理を終了する。すなわち、配信責任管理部139は最新データの配信を配信責任ノードに依頼し、処理を終了する。これにより、複数のノード100,200,300,400間でデータが同期していないという不整合が解消する。一方、比較した結果、自ノードが保持するデータの該当キーのバージョンが引継情報のバージョンより大きければ、データが新しいため(ステップS307:NO)、配信責任管理部139はステップS308の処理をスキップする。
一方、ステップS305の処理において、責任ノード決定部136が決定した配信責任ノードが自ノードでない場合(ステップS305:NO)、図10に示すように、配信責任管理部139は他ノードが該当キーを引き継ぐ引継情報が存在するか否かを判断する(ステップS309)。より詳しくは、責任ノード決定部136が決定した配信責任ノードが他ノードである場合、配信責任管理部139は引継情報記憶部137を確認し、他ノードが該当キーを引き継ぐ引継情報が存在するか否かを判断する。
他ノードが該当キーを引き継ぐ引継情報が存在する場合(ステップS309:YES)、不整合解消部141は該当キーの引継情報を削除する(ステップS310)。すなわち、他ノード(例えばノード200)が配信責任を負うため、該当キーの引継情報を保持する必要がない。したがって、不整合解消部141は該当キーの引継情報を削除する。
ステップS310の処理が完了すると、引継情報配信部140Aは残存する引継情報を配信する(ステップS311)。より詳しくは、配信責任管理部139は該当キーの引継情報を削除した後に引継情報記憶部137に残存する引継情報を取得して引継情報配信部140Aに出力し、引継情報配信部140Aは配信責任管理部139から出力された引継情報を配信する。これにより、配信された引継情報を受信したノード200,300,400は自身の引継情報を更新する。したがって、ノード100,200,300,400がそれぞれ保持する引継情報が同期する。尚、他ノードが該当キーを引き継ぐ引継情報が存在しない場合(ステップS309:NO)、又は、ステップS303の処理において、該当キーを自ノードが引き継いでいない場合(ステップS303:NO)、不整合解消部141はステップS310の処理をスキップし、引継情報配信部140AはステップS311の処理をスキップする。
ステップS311の処理が完了した場合、又は、ステップS310,S311の処理がスキップされた場合、配信責任管理部139は自ノードが保持するデータの該当キーのバージョンを確認する(ステップS312)。より詳しくは、責任ノード決定部136が配信責任ノードを決定すると、配信責任管理部139はデータ配信管理部133を介して該当キーのバージョンを確認する。
ステップS312の処理が完了すると、次いで、配信責任管理部139はデータが新しいか否かを判断する(ステップS313)。より詳しくは、配信責任管理部139は該当キーの引継情報のバージョンと自ノードが保持するデータの該当キーのバージョンとを比較して、データが新しいか否かを判断する。比較した結果、自ノードが保持するデータの該当キーのバージョンが引継情報のバージョンより大きければ、データが新しいため(ステップS313:YES)、配信責任管理部139は最新のデータを該当ノードに配信する(ステップS314)。すなわち、配信責任管理部139はデータ配信部134Aを通じて、最新のデータをノード200,300,400に配信する。これにより、データが同期していないという不整合が解消する。一方、比較した結果、自ノードが保持するデータの該当キーのバージョンが引継情報のバージョンより小さければ、データが古いため(ステップS313:NO)、図9に示すように、配信責任管理部139は処理を終える。
図11は離脱検出時の処理の一例を示すフローチャートである。より詳しくは、図11はノード検出部138がノード(例えばノード300)の離脱を検出した際に実行される処理を表している。
例えばノード300が情報処理システムSから離脱すると、ノード検出部138はノード300の離脱を検出する(ステップS401)。より詳しくは、ノード300は離脱を通知し、通信部120は当該通知を受け付けると、ノード検出部138にノード300の離脱を通知する。これにより、ノード検出部138はノード300の離脱を検出する。
ステップS401の処理が完了すると、次いで、配信責任管理部139は離脱したノードが配信していたキーを把握する(ステップS402)。例えば、ノード検出部138がノード300の離脱を検出すると、配信責任管理部139は配信者情報記憶部135及び引継情報記憶部137にアクセスし、配信者情報及び引継情報に基づいて、離脱したノード300が配信していたデータのキーを把握する。
ステップS402の処理が完了すると、次いで、配信責任管理部139は後続の処理が未済のキーを選択し(ステップS403)、後続の処理が未済のキーがなくなるまでループ処理を行う。ステップS403の処理において、配信責任管理部139がいずれかのキーを選択すると、責任ノード決定部136は配信責任ノードを決定する(ステップS404)。より詳しくは、責任ノード決定部136は配信責任管理部139が選択したキーの配信責任ノードを決定する。
ここで、責任ノード決定部136が決定した配信責任ノードが自ノードである場合(ステップS405:YES)、配信責任管理部139は選択したキーを自ノードが引き継ぐことを引継情報に書込み(ステップS406)、引継情報を配信する(ステップS407)。言い換えれば、選択したキーの配信責任者が自ノードであることが引継情報に書き込まれ、その引継情報が配信される。ステップS407の処理が完了すると、ステップS403に戻って、配信責任管理部139は後続の処理が未済の別のキーを選択し、ステップS404からS407までの処理を繰り返す。これにより、自ノード(例えばノード100)が配信責任を負う全てキーが特定され、特定されたキーを自ノードが引き継いだことが引継情報により他ノード(例えばノード200,400)に配信される。ステップS407の処理が完了すると、データ配信部134Aはデータの配信を開始し(ステップS408)、処理を終了する。
一方、責任ノード決定部136が決定した配信責任ノードが自ノードでない場合(ステップS405:NO)、配信責任管理部139は引継依頼を送信する(ステップS409)。より詳しくは、決定した配信責任ノードによる引継情報の配信を所定の時間にわたり引継情報受信部140Bが受信しない場合に、配信責任管理部139は選択したキーとともに、責任ノード決定部136が決定した他ノード(例えばノード200又はノード400)に引継情報配信部140Aを通じて引継依頼を送信する。尚、引継依頼は配信責任の引き継ぎを依頼する情報である。
ステップS409の処理が完了すると、配信責任管理部139は引継依頼と引継情報の内容を確認し(ステップS410)、引継依頼と引継情報の内容が一致するか否かを判断する(ステップS411)。配信責任管理部139は引継情報の共有により、他ノード(例えばノード200又はノード400)が引継依頼を受け入れたか否かを把握することができる。引継依頼と引継情報の内容が一致しない場合(ステップS411:NO)、配信責任管理部139はステップS409及びS410の処理を繰り返す。言い換えれば、引継依頼と引継情報の内容が一致するまで配信責任管理部139はステップS409及びS410の処理を繰り返す。一方、引継依頼と引継情報の内容が一致した場合(ステップS411:YES)、配信責任管理部139は処理を終了する。このように、配布責任ノードが一意に定まらない期間もデータの配信を継続して、ノード間(例えばノード100,200,400間)のデータの整合性を保つことができる。
図12は引継依頼受信時の処理の一例を示すフローチャートである。より詳しくは、図12は配信責任管理部139が引継依頼を受信した際に実行される処理を表している。
配信責任管理部139は引継情報受信部140Bを介して引継依頼を受信すると(ステップS501)、責任ノード決定部136は配信責任ノードを決定する(ステップS502)。より詳しくは、責任ノード決定部136は配信責任管理部139が引継依頼とともに送信されたキーの配信責任ノードを決定する。
ここで、責任ノード決定部136が決定した配信責任ノードが自ノードでない場合(ステップS503:NO)、配信責任管理部139は引継情報が登録済であるか否かを判断する(ステップS504)。より詳しくは、配信責任管理部139は該当キーの引継情報が登録済であるか否かを判断する。引継情報が登録済である場合(ステップS504:YES)、又は、責任ノード決定部136が決定した配信責任ノードが自ノードである場合(ステップS503:YES)、データの配信を開始し(ステップS505)、処理を終了する。一方、引継情報が登録済でない場合(ステップS504:NO)、配信責任管理部139はステップS505の処理をスキップして処理を終了する。
図13は加入検出時の処理の一例を示すフローチャートである。より詳しくは、図13はノード検出部138がノード(不図示)の加入を検出した際に実行される処理を表している。
例えば新たなノード(不図示)が情報処理システムSに加入すると、ノード検出部138はそのノードの加入を検出する(ステップS601)。より詳しくは、新たなノードがデータの配信を要求すると、通信部120は当該要求を受け付け、ノード検出部138に当該要求を通知する。これにより、ノード検出部138は新たなノードの加入を検出する。
ステップS601の処理が完了すると、次いで、配信責任管理部139は自ノードが該当キーの配信責任ノードであるか否かを判断する(ステップS602)。より詳しくは、配信責任管理部139は配信者情報記憶部135を確認して、自ノードが該当キーの配信責任ノードであるか否かを判断する。自ノードが該当キーの配信責任ノードでない場合(ステップS602:NO)、さらに、配信責任管理部139は自ノードが該当キーの引き継ぎを申告しているか否かを判断する(ステップS603)。より詳しくは、配信責任管理部139は引継情報記憶部137を確認して、自ノードが該当キーの配信責任を引き継ぎか否かを判断する。自ノードが該当キーの引き継ぎを申告している場合(ステップS603:YES)、又は、自ノードが該当キーの配信責任ノードである場合(ステップS602:YES)、データ配信部134Aは新たに加入したノードに対して該当キーのデータを配信し(ステップS604)、処理を終了する。尚、自ノードが該当キーの引き継ぎを申告していない場合(ステップS603:NO)、配信責任管理部139はステップS604をスキップして処理を終了する。
以上、本実施形態に係る情報処理システムSは複数のノード100,200,300,400でデータを同期する。複数のノード100,200,300,400の各々はいずれも同様のミドルウェアを備えており、例えばノード100のミドルウェア130はノード200,300,400と共通の分散アルゴリズムに基づいて、複数のノード100,200,300,400の中からデータの配信に責任を負う配信責任ノードを決定する。そして、当該ミドルウェア130は決定した配信決定ノードを特定する情報を配信決定ノード以外の残りのノードに配信する。これにより、配信責任ノードの選任が即時に決定されるため、データの配信が遅延せず、複数のノード100,200,300,400間でデータの整合性を保つまでの時間を短くすることができる。
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)複数のノードでデータを同期する情報処理システムであって、前記複数のノードの各々は、いずれも共通の分散アルゴリズムに基づいて、前記複数のノードの中から前記データの配信に責任を負ういずれかのノードを決定し、決定した前記いずれかのノードを特定する情報を前記いずれかのノード以外の残りのノードに配信する、処理を実行する処理部を有する情報処理システム。
(付記2)前記処理部は、前記情報に基づき、前記複数のノードの中で前記責任を負うノードが重複する場合、前記分散アルゴリズムに基づいて、重複するノードの中からいずれか1つのノードを除いた残りのノードが負う前記責任を停止する、ことを特徴とする付記1に記載の情報処理システム。
(付記3)前記処理部は、決定した前記いずれかのノードが自ノード以外の他ノードである場合、前記他ノードに前記責任の引き継ぎを依頼する、ことを特徴とする付記1又は2に記載の情報処理システム。
(付記4)前記処理部は、決定した前記いずれかのノードによる前記情報の配信を所定の時間受信しない場合に、前記他ノードに前記引き継ぎを依頼する、ことを特徴とする付記3に記載の情報処理システム。
(付記5)前記処理部は、自ノードが保持するデータのバージョンが、配信した前記情報に含まれる前記データのバージョンより古い場合、前記情報を配信したノードにデータの送信を依頼し、自ノードが保持するデータのバージョンが、配信した前記情報に含まれる前記データのバージョンより新しい場合、前記情報を配信したノードにデータを送信する、ことを特徴とする付記1から4のいずれか1項に記載の情報処理システム。
(付記6)前記処理部は、前記複数のノードのいずれかの離脱を検出した場合、離脱したノードが配信するデータと離脱したノードが保持する前記情報に対して引き継ぎ先のノードを判定する、ことを特徴とする付記1から5のいずれか1項に記載の情報処理システム。
(付記7)複数のノードでデータを同期する情報処理方法であって、前記複数のノードの各コンピュータは、いずれも共通の分散アルゴリズムに基づいて、前記複数のノードの中から前記データの配信に責任を負ういずれかのノードを決定し、決定した前記いずれかのノードを特定する情報を前記いずれかのノード以外の残りのノードに配信する、処理を実行する情報処理方法。
(付記8)前記処理は、前記情報に基づき、前記複数のノードの中で前記責任を負うノードが重複する場合、前記分散アルゴリズムに基づいて、重複するノードの中からいずれか1つのノードを除いた残りのノードが負う前記責任を停止する、ことを特徴とする付記7に記載の情報処理方法。
(付記9)前記処理は、決定した前記いずれかのノードが自ノード以外の他ノードである場合、前記他ノードに前記責任の引き継ぎを依頼する、ことを特徴とする付記7又は8に記載の情報処理方法。
(付記10)前記処理は、決定した前記いずれかのノードによる前記情報の配信を所定の時間受信しない場合に、前記他ノードに前記引き継ぎを依頼する、ことを特徴とする付記9に記載の情報処理方法。
(付記11)前記処理は、自ノードが保持するデータのバージョンが、配信した前記情報に含まれる前記データのバージョンより古い場合、前記情報を配信したノードにデータの送信を依頼し、自ノードが保持するデータのバージョンが、配信した前記情報に含まれる前記データのバージョンより新しい場合、前記情報を配信したノードにデータを送信する、ことを特徴とする付記7から10のいずれか1項に記載の情報処理方法。
(付記12)前記処理は、前記複数のノードのいずれかの離脱を検出した場合、離脱したノードが配信するデータと離脱したノードが保持する前記情報に対して引き継ぎ先のノードを判定する、ことを特徴とする付記7から11のいずれか1項に記載の情報処理方法。
(付記13)互いにデータを同期する複数の情報処理装置の中のいずれかの情報処理装置であって、いずれも共通の分散アルゴリズムに基づいて、前記データの配信に責任を負ういずれかの情報処理装置を決定し、決定した前記いずれかの情報処理装置を特定する情報を前記いずれかの情報処理装置以外の残りの情報処理装置に配信する、処理を実行する処理部を有する情報処理装置。
S 情報処理システム
100,200,300,400 ノード
130 ミドルウェア
135 配信者情報記憶部
136 責任ノード決定部
137 引継情報記憶部
138 ノード検出部
139 配信責任管理部
140 情報送受信部
141 不整合解消部

Claims (8)

  1. 複数のノードでデータを同期する情報処理システムであって、
    前記複数のノードの各々は、
    いずれも共通の分散アルゴリズムに基づいて、前記複数のノードの中から前記データの配信に責任を負ういずれかのノードを決定し、
    決定した前記いずれかのノードを特定する情報を前記いずれかのノード以外の残りのノードに配信する、
    処理を実行する処理部を有する情報処理システム。
  2. 前記処理部は、前記情報に基づき、前記複数のノードの中で前記責任を負うノードが重複する場合、前記分散アルゴリズムに基づいて、重複するノードの中からいずれか1つのノードを除いた残りのノードが負う前記責任を停止する、
    ことを特徴とする請求項1に記載の情報処理システム。
  3. 前記処理部は、決定した前記いずれかのノードが自ノード以外の他ノードである場合、前記他ノードに前記責任の引き継ぎを依頼する、
    ことを特徴とする請求項1又は2に記載の情報処理システム。
  4. 前記処理部は、決定した前記いずれかのノードによる前記情報の配信を所定の時間受信しない場合に、前記他ノードに前記引き継ぎを依頼する、
    ことを特徴とする請求項3に記載の情報処理システム。
  5. 前記処理部は、自ノードが保持するデータのバージョンが、配信した前記情報に含まれる前記データのバージョンより古い場合、前記情報を配信したノードにデータの送信を依頼し、自ノードが保持するデータのバージョンが、配信した前記情報に含まれる前記データのバージョンより新しい場合、前記情報を配信したノードにデータを送信する、
    ことを特徴とする請求項1から4のいずれか1項に記載の情報処理システム。
  6. 前記処理部は、前記複数のノードのいずれかの離脱を検出した場合、離脱したノードが配信するデータと離脱したノードが保持する前記情報に対して引き継ぎ先のノードを判定する、
    ことを特徴とする請求項1から5のいずれか1項に記載の情報処理システム。
  7. 複数のノードでデータを同期する情報処理方法であって、
    前記複数のノードの各コンピュータは、
    いずれも共通の分散アルゴリズムに基づいて、前記複数のノードの中から前記データの配信に責任を負ういずれかのノードを決定し、
    決定した前記いずれかのノードを特定する情報を前記いずれかのノード以外の残りのノードに配信する、
    処理を実行する情報処理方法。
  8. 互いにデータを同期する複数の情報処理装置の中のいずれかの情報処理装置であって、
    いずれも共通の分散アルゴリズムに基づいて、前記データの配信に責任を負ういずれかの情報処理装置を決定し、
    決定した前記いずれかの情報処理装置を特定する情報を前記いずれかの情報処理装置以外の残りの情報処理装置に配信する、
    処理を実行する処理部を有する情報処理装置。
JP2017035279A 2017-02-27 2017-02-27 情報処理システム、情報処理方法、及び情報処理装置 Ceased JP2018142129A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017035279A JP2018142129A (ja) 2017-02-27 2017-02-27 情報処理システム、情報処理方法、及び情報処理装置
US15/899,483 US20180248943A1 (en) 2017-02-27 2018-02-20 Information processing system, information processing method, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017035279A JP2018142129A (ja) 2017-02-27 2017-02-27 情報処理システム、情報処理方法、及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2018142129A true JP2018142129A (ja) 2018-09-13

Family

ID=63247083

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017035279A Ceased JP2018142129A (ja) 2017-02-27 2017-02-27 情報処理システム、情報処理方法、及び情報処理装置

Country Status (2)

Country Link
US (1) US20180248943A1 (ja)
JP (1) JP2018142129A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235989A (ja) * 2005-02-24 2006-09-07 Brother Ind Ltd ネットワークシステム、デバイス、およびプログラム
JP2007058275A (ja) * 2005-08-22 2007-03-08 Brother Ind Ltd ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
JP2014048969A (ja) * 2012-08-31 2014-03-17 Nippon Telegr & Teleph Corp <Ntt> サーバ、ファイル管理システム、ファイル管理方法およびファイル管理プログラム
JP2014123218A (ja) * 2012-12-20 2014-07-03 Fujitsu Ltd プログラム、データ管理方法および情報処理装置
JP2014142945A (ja) * 2007-12-26 2014-08-07 Symantec Corp 分散リソース管理のためのバランスしたコンシステント・ハッシュ

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993587B1 (en) * 2000-04-07 2006-01-31 Network Appliance Inc. Method and apparatus for election of group leaders in a distributed network
KR100726425B1 (ko) * 2001-01-30 2007-06-11 삼성전자주식회사 무선 통신기기 및 이를 적용한 무선 통신시스템 및 그제어방법
US20030149735A1 (en) * 2001-06-22 2003-08-07 Sun Microsystems, Inc. Network and method for coordinating high availability system services
US20040010538A1 (en) * 2002-07-11 2004-01-15 International Business Machines Corporation Apparatus and method for determining valid data during a merge in a computer cluster
JP2005352697A (ja) * 2004-06-09 2005-12-22 Canon Inc コンピュータシステム、及び該システムにおけるジョブの割り当て方法
US7698304B2 (en) * 2006-03-17 2010-04-13 Microsoft Corporation Caching data in a distributed system
US9596301B2 (en) * 2006-09-18 2017-03-14 Hewlett Packard Enterprise Development Lp Distributed-leader-election service for a distributed computer system
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
US8775373B1 (en) * 2008-05-21 2014-07-08 Translattice, Inc. Deleting content in a distributed computing environment
EP2342932B1 (en) * 2008-10-29 2023-04-12 Nokia Technologies Oy Apparatus and method for dynamic communication resource allocation for device-to-device communications in a wireless communication system
JP5488178B2 (ja) * 2010-04-30 2014-05-14 富士通株式会社 データ管理プログラム及び方法、並びにノード装置
US9077580B1 (en) * 2012-04-09 2015-07-07 Symantec Corporation Selecting preferred nodes for specific functional roles in a cluster
KR102090755B1 (ko) * 2013-07-02 2020-03-19 삼성전자주식회사 기능 제어 방법 및 그 전자 장치
US9712606B2 (en) * 2014-05-21 2017-07-18 Nasdaq Technology Ab Efficient and reliable host distribution of totally ordered global state
US9904604B2 (en) * 2014-09-30 2018-02-27 Code 42 Software, Inc. Distributed file system backup and synchronization
US11316775B2 (en) * 2016-12-21 2022-04-26 Juniper Networks, Inc. Maintaining coherency in distributed operating systems for network devices
US10394784B2 (en) * 2016-12-22 2019-08-27 Intel Corporation Technologies for management of lookup tables

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006235989A (ja) * 2005-02-24 2006-09-07 Brother Ind Ltd ネットワークシステム、デバイス、およびプログラム
JP2007058275A (ja) * 2005-08-22 2007-03-08 Brother Ind Ltd ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
JP2014142945A (ja) * 2007-12-26 2014-08-07 Symantec Corp 分散リソース管理のためのバランスしたコンシステント・ハッシュ
JP2014048969A (ja) * 2012-08-31 2014-03-17 Nippon Telegr & Teleph Corp <Ntt> サーバ、ファイル管理システム、ファイル管理方法およびファイル管理プログラム
JP2014123218A (ja) * 2012-12-20 2014-07-03 Fujitsu Ltd プログラム、データ管理方法および情報処理装置

Also Published As

Publication number Publication date
US20180248943A1 (en) 2018-08-30

Similar Documents

Publication Publication Date Title
CN100461675C (zh) 移动机、内容发送系统和内容发送方法
CN103220316B (zh) 数据共享系统和数据处理设备
CN107817982B (zh) 便携式电子装置以及更新数据的方法
US9344404B2 (en) System and method for synchronizing connection credentials
JP2013050847A (ja) ファイル同期方法、ファイル同期サーバ装置及びファイル同期プログラム
US9601006B2 (en) Universal remote control with automatic state synchronization
JP6487643B2 (ja) 情報処理装置及びその制御方法、プログラム、並びに記憶媒体
US10733299B2 (en) System and method for updating a plurality of information processing apparatuses in a local network using received update program
JP6690592B2 (ja) 無線通信方法及びプログラム
JP2018142129A (ja) 情報処理システム、情報処理方法、及び情報処理装置
US20190059103A1 (en) Control device and communication system
JP6677072B2 (ja) 情報処理装置、情報処理システム、情報処理プログラム、及び情報処理方法
US20170134596A1 (en) Information processing apparatus, information processing method and non-transitory computer readable medium
KR102809558B1 (ko) 복수의 데이터 구조를 관리하기 위한 통신 장치, 방법 및 통신 시스템
JP5687225B2 (ja) 分散システム、バージョン情報の流通方法、バージョン情報流通プログラム
JP2011124629A (ja) スケジュール情報共有システム、スケジュール情報共有方法、通信端末、及びプログラム
JP6819406B2 (ja) 情報設定方法
JP2021149461A (ja) 情報処理装置、情報処理システム、及びプログラム
TWI531910B (zh) 資料管理方法、電腦程式產品及管理伺服器端
JP6854491B2 (ja) ファイル転送システム、ファイル転送方法およびプログラム
JP2020190979A (ja) 通信装置および通信方法
JPWO2009107184A1 (ja) レプリ処理方法、プログラム及び装置
JP2019149746A (ja) 会議端末および制御プログラム
JP2017168991A (ja) 通信システム及び接続方法
JP6615730B2 (ja) 設定補助システム、設定補助装置及び設定補助方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210520

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211102

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20220329