【課題を解決するための手段】
【0026】
本発明では、データ記憶装置と、前記データ記憶装置にアクセスするクライアントサーバまたはウェブサーバシステムと、前記データ記憶装置の外部に位置する複数の独立し、場合によっては異種のシステムとを含むデータ処理アーキテクチャ内で、データ同期を改善する方法およびシステムが開示される。
【0027】
本発明は、独立し、場合によっては異種の外部ソースからのデータを取り出してデータ記憶装置内に集約することに関連する主な技術上の問題に対する解決策をもたらす。
【0028】
さらに、本発明は、従来技術に見られるバージョン競合の管理方法を改善するバージョンマージ機構(version merge mechanism)を提供する。本発明の方法は、前記データ記憶装置内の所与のユーザデータにおいて、前記データがユーザおよび前記外部システム上で動作する他のプロセスによって同時に修正されるときに生じる並行更新に対処する。その目的のため、本発明は、2つのチャネルが書類内の同じデータを同時に更新しようとした場合にどちらの情報ソースに優先権が与えられているかを判定するために、数組の規則を規定および適用することを提案する。
【0029】
この結果、ユーザセッションによって取り出されて修正されるデータと、取り出されたバージョンに整合しない更新されたバージョンの記憶データとの間のバージョン競合によって引き起こされるデータ損失のリスクを取り除く。より具体的には、本発明によって提供される利点は、ユーザがユーザセッションを開始し、そのユーザセッション上で依然として作業している場合でも、外部システムからのデータを含むユーザ関連データが、損失のリスクなく保存されることである。
【0030】
得られるさらなる利点は、ユーザデータを強制的に保存させることなく、外部システムからのデータでユーザセッションを更新し、したがってまだ認証されていないデータが保存されるのを防止する方法である。
【0031】
より具体的には、本発明は、ユーザのセッションと、記憶書類(stored dossier)を記憶するデータ記憶装置と、少なくとも1つの外部システムとの間のデータ同期を提供する方法を開示し、この方法は、少なくとも1つのデータ処理装置で実行される以下のステップ、すなわち、
- 少なくともセッションおよびデータ記憶装置と通信する同期装置が、データ記憶装置から記憶書類を取り出すための要求をセッションから受け取るステップと、
- 同期装置が、データ記憶装置から記憶書類を取り出し、少なくとも記憶書類の内容を含む中間書類(intermediate dossier)を記憶書類から作成し、ユーザによる動作のために、中間書類をセッションへセッション書類として送達するステップと、
- 少なくとも1つの外部システムから外部データを受け取るステップと、
- 同期装置が、セッション書類上で実行されるユーザ更新を受け取るステップと、
- 同期装置が、中間書類が前記外部データを含むように中間書類を更新するステップと、
- 記憶書類が前記外部データを含むように記憶書類を修正し、記憶書類をデータ記憶装置内に保存するステップと、
- 同期装置が、前記ユーザ更新と中間書類をマージすることによって中間書類を更新し、次いで中間書類をユーザに提供するステップと
を含む。
【0032】
したがって、セッションは、外部システムによって送られたデータを含む更新された中間書類と、最新バージョンの記憶書類とを受け取る。したがって、ユーザは、最新バージョンの中間書類上で作業することがさらに可能である。この段階で、記憶書類はユーザによって修正されていない。外部システムによって受け取られたすべてのデータは、記憶書類内に保存され、したがって、セッションによって実行されるすべての変更は、データ記憶装置内にさらに保存することができ、またはデータ記憶装置内の記憶書類を修正することなく削除することができる。したがって、本発明は、ユーザにそのセッションの更新を強制的に保存させることなく、外部システムからのデータの損失を防止することによって、ユーザによって行われる作業を著しく容易にする。
【0033】
本発明によるこの方法は、以下の任意選択の特徴およびステップのいずれか1つを含むことができる。
【0034】
有利には、外部システムは、データ記憶装置とは異種のものとすることができる。これは、同期装置によって実行されるマージ機能のために可能である。
【0035】
さらに具体的には、セッションによって送られたリフレッシュに対する要求を同期装置で受け取ったとき、同期装置は、
- 中間書類が前記外部データを含むように中間書類を更新するステップを実行し、
- 中間書類をセッションへ送ってセッション書類と取り替える。
【0036】
本発明の一実施形態によれば、外部システムからの前記外部データは、データ記憶装置によって受け取られる。データ記憶装置によって前記外部データを受け取ったとき、データ記憶装置は、記憶書類が前記外部データを含むように記憶書類を修正するステップと、記憶書類をデータ記憶装置内に保存するステップとを実行する。
【0037】
好ましくは、中間書類が前記外部データを含むように同期装置で中間書類を更新するステップは、記憶書類が前記外部データを含むように記憶書類を修正するステップおよび記憶書類をデータ記憶装置内に保存するステップの後に行われ、同期装置でデータ記憶装置から記憶書類を取り出し、記憶書類で中間書類を更新するステップを含む。
【0038】
有利には、記憶書類が前記外部データを含むように記憶書類を修正するステップおよび記憶書類をデータ記憶装置内に保存するステップは、データ記憶装置によって外部データを受け取ったときに行われる。セッションによって送られたリフレッシュに対する要求を同期装置で受け取った後、同期装置が中間書類をセッションへ送ってセッション書類と取り替えるステップの前に、同期装置は記憶書類で中間書類を更新する。
【0039】
本発明の別の実施形態によれば、外部システムからの前記外部データは、同期装置と通信するイベントキューで受け取られる。中間書類が前記外部データを含むように同期装置で中間書類を更新するステップは、同期装置でイベントキューから前記外部データを取り出し、データ記憶装置から記憶書類を取り出し、次いで前記外部データと記憶書類をマージすることによって中間書類を更新するステップを含む。
【0040】
同期装置は、第1にイベントキューから前記外部データを取り出し、次いでデータ記憶装置から記憶書類を取り出すことができる。別法として、同期装置は、第1にデータ記憶装置から記憶書類を取り出し、次いでイベントキューから前記外部データを取り出す。
【0041】
好ましくは、記憶書類が前記外部データを含むように記憶書類を修正するステップおよび記憶書類をデータ記憶装置内に保存するステップを実行するために、同期装置は、データ記憶装置内に中間書類を保存する。好ましくは、同期装置は次いで、データ記憶装置が中間書類を保存するステップを開始する。
【0042】
外部システムから前記外部データを受け取ったとき、イベントキューは、前記データが適正に受け取られたという確認を前記外部システムへ送る。
【0043】
セッションによって送られたリフレッシュに対する要求を同期装置で受け取るステップの後、同期装置が中間書類をセッションへ送ってセッション書類と取り替えるステップの前に、この方法は、前記外部データと記憶書類をマージすることによって同期装置で中間書類を更新するステップを実行する。
【0044】
本発明の別の実施形態によれば、外部システムから外部データを受け取るステップは、データ記憶装置によって外部データを受け取るステップと、同期装置と通信するイベントキューによって追加の外部データを受け取るステップとを含む。好ましくは、データ記憶装置によって前記外部データを受け取ったとき、データ記憶装置は、記憶書類が前記外部データを含むように記憶書類を修正するステップと、記憶書類をデータ記憶装置内に保存するステップとを実行する。同期装置は、イベントキューから前記追加の外部データを取り出し、データ記憶装置から記憶書類を取り出し、前記追加の外部データと記憶書類をマージすることによって中間書類を更新し、記憶書類と中間書類を取り替える。
【0045】
したがって、この段階で、記憶書類および中間書類は、データ記憶装置で受け取った外部データと、イベントキューで受け取った追加の外部データとを含む。
【0046】
次いで、同期装置は、前記ユーザ更新と中間書類をマージすることによって中間書類を更新し、データ記憶装置で受け取った外部データ、イベントキューで受け取った追加の外部データ、およびユーザ更新を含む中間書類をユーザに提供することができる。
【0047】
前記追加の外部データと記憶書類をマージすることによって同期装置で中間書類を更新したとき、同期装置は、データ記憶装置内に中間書類を保存する。したがって、この段階で、記憶書類は、データ記憶装置で受け取った外部データと、イベントキューで受け取った追加の外部データとを含む。
【0048】
すべての実施形態で、データ記憶装置によって外部データを受け取るステップは、イベントキューによって追加の外部データを受け取るステップの前または後に行うことができる。
【0049】
同期装置は、セッションから追加のユーザ更新を受け取り、次いで同期装置は、データ記憶装置から記憶書類を取り出し、記憶書類とセッションからの追加のユーザ更新とをマージすることによって中間書類を更新し、中間書類をセッションへ送ってセッション書類と取り替える。
【0050】
好ましくは、セッションは、中間書類をデータ記憶装置内に保存する可能性をユーザに提供する。したがって、セッションは、外部システムから受け取った外部データ、記憶書類、およびセッション書類をマージすることによって中間書類を更新し、次いで更新された中間書類をデータ記憶装置内に保存する可能性をユーザに提供する。したがって、場合によってはセッションを通じてユーザによって実行される作業および場合によっては少なくとも1つの外部システムから受け取られるすべてのデータは、データ記憶装置内に保存される。したがって、同期装置が記憶書類を次に取り出すとき、その取り出されたバージョンは、セッションからの更新および少なくとも1つの外部システムからのデータを含む。
【0051】
好ましい実施形態によれば、セッション書類を保存するか否かに関する質問を、セッションのユーザインターフェースを通じてユーザに尋ねることが可能であり、前記質問は、セッションがセッションを閉じる命令を受け取ったときに尋ねられる。
【0052】
セッションは、セッション書類を保存する命令を受け取り、同期装置へ保存要求を送り、保存要求を受け取ったとき、同期装置は、外部システムから受け取ったデータと、記憶書類と、セッション書類とをマージすることによって中間書類を更新し、更新された中間書類をデータ記憶装置内に保存する。
【0053】
別法として、セッションがセッション書類を保存する命令を受け取らなかった場合、またはセッションがセッション書類を削除する命令を受け取った場合、ユーザ更新は保存されず、セッションはデータ記憶装置内の記憶書類を更新しない。
【0054】
特有の実施形態によれば、少なくとも1つの外部システムがユーザによってアクセスされ、外部データの少なくとも一部がユーザによって生成される。
【0055】
特有の実施形態によれば、ユーザは、同じ処理デバイスを通じて、セッションおよび少なくとも外部システムにアクセスする。さらに、前記処理デバイスは、パーソナルコンピュータ、スマートフォン、またはパーソナルデジタルアシスタントである。
【0056】
特有の実施形態によれば、ユーザは、外部システムのユーザインターフェースを通じて外部システムにアクセスする。前記外部データは、ユーザが外部システムのユーザインターフェースからセッションのユーザインターフェースへ再び切り換えたとき、外部システムから同期装置と通信するイベントキューへ送られる。
【0057】
特有の実施形態によれば、ユーザは、外部システムのユーザインターフェースを通じて外部システムにアクセスする。前記外部データは、ユーザが外部システムのユーザインターフェースからセッションのユーザインターフェースへ再び切り換えたとき、外部システムからデータ記憶装置へ送られる。
【0058】
特有の実施形態によれば、同期装置がデータ記憶装置から記憶書類を取り出して中間書類を作成または更新する前に、少なくとも1つの追加の外部システムが、データ記憶装置へ追加の外部データを送り、前記追加の外部データは記憶書類を更新し、したがって中間書類を作成または更新するときに同期装置によってこの記憶書類を後に取り出すことができる。
【0059】
好ましくは、この方法は、様々なソースからのデータまたは更新で修正できる交差区間(intersection zone)を記憶書類内で識別するステップを含み、前記ソースは、ユーザセッションまたは少なくとも1つの外部システムであり、各交差区間に対して優先権規則を規定するステップを含む。
【0060】
したがって、2つ以上の外部システムからの外部データで記憶書類の一区間を修正することができる場合、または少なくとも1つの外部システムからの外部データおよびユーザセッションからのデータで記憶書類を修正することができる場合、前記区間は、交差区間として識別される。
【0061】
好ましくは、前記識別は、システム設定時に、またはアーキテクチャ内に新しい外部システムが組み込まれるときに実行される。
【0062】
外部データまたはユーザ更新が同じ交差区間に関連するデータを含む場合、この方法は、前記区間に対して規定された優先権規則を適用する。
【0063】
好ましくは、記憶書類が前記外部データを含むように記憶書類を修正するステップは、記憶書類の交差区間が外部データによる影響を受けているかどうかを識別するステップを含む。記憶書類の交差区間が外部データによる影響を受けている場合、前記区間に対して規定された優先権規則を適用する。
【0064】
同様に、ユーザ更新とのマージ後に中間書類をデータ記憶装置内に保存するステップは、記憶書類の交差区間がユーザ更新による影響を受けているかどうかを識別するステップを含む。記憶書類の交差区間がユーザ更新による影響を受けている場合、前記区間に対して規定された優先権規則を適用する。
【0065】
特有の実施形態によれば、外部システムと追加の外部システムは同じである。
【0066】
特有の実施形態によれば、外部システムは、手動で起動されることなく、データ記憶装置を自動的に更新する。
【0067】
外部システムは、セッションのユーザによって起動される。
【0068】
データ記憶装置が追加の外部システムから追加のデータを受け取ったとき、データ記憶装置は、前記追加のデータが適正に受け取られたという確認を追加の外部システムへ送る。
【0069】
したがって、同期装置がデータ記憶装置から記憶書類を取り出したとき、追加の外部システムによって送られるすべての追加のデータが考慮される。したがって、同期装置は、もしあれば外部システムからのデータと、追加の外部システムからの追加のデータを含む記憶書類とをマージすることによって、中間書類を作成または更新する。
【0070】
同期装置が中間書類とマージして保存すべき更新をセッションから受け取らなかった場合、かつイベントキューが外部システムからデータを受け取らなかった場合、記憶されたユーザ書類は、中間書類およびセッション書類とのいかなる相互作用もなく、少なくとも1つの外部システムによって更新される。
【0071】
好ましくは、この場合、イベントキューへ送られる外部システムからのデータは、ユーザが外部システムにアクセスすることによって生成され、データ記憶装置へ送られる追加の外部システムからのデータは、ユーザとは独立して生成される。
【0072】
さらに、本発明は、追加の外部システムがデータ記憶装置とは独立している方法を提供する。
【0073】
好ましくは、追加の外部システムは、セッションとは独立している。好ましくは、追加の外部システムは、データ記憶装置とは異種である。通常、追加の外部システムは、別のユーザ/システムによって制御される別のセッションである。
【0074】
通常、データ記憶装置は、航空便の利用可能性などの輸送サービスに関連する利用可能性を追跡するeチケットデータ記憶装置または在庫データ記憶装置である。
【0075】
特有の実施形態によれば、データ記憶装置は乗客名簿(PNR)を含む。外部システムからの外部データが乗客名簿に関連する。別の特有の実施形態によれば、セッションからのユーザ更新が乗客名簿に関連する。
【0076】
通常、セッションは、旅行および観光業界に関連する予約システムを提供する。たとえば、この予約システムは航空座席予約システム、鉄道座席予約システムなどとすることができ、GDSによって提供することができる。
【0077】
外部システムは、追加のサービスまたは製品を提供する。たとえば、この外部システムは、狩猟旅行、遊覧旅行、展覧会への入場、飲食店、演奏会などの余暇活動のための予約システムとすることができる。この外部システムはまた、ホテルの予約を提供することができる。
【0078】
外部システムはまた、セッションの輸送サービス以外の輸送サービスを提供することができる。たとえば、外部システムは、セッションの輸送モードに類似しているが別の提供者による輸送モードまたは別の経路に対する輸送モードに関する輸送サービスを提供することができる。通常、セッションと外部システムは、2つの異なる航空会社によって運行される航空便を提供する。
【0079】
外部システムはまた、セッションの輸送モードとは異なる輸送モードを提供することもできる。通常、セッションは航空券を提供し、外部システムは列車の乗車券、フェリーの乗船券、またはレンタカーを提供する。
【0080】
さらに、特有の実施形態では、本発明の方法は、コンピュータ可読メモリ媒体内に記憶され、本発明の実施形態のいずれか1つによる方法を実行するように適合されたコンピュータプログラム製品によって動作することができる。
【0081】
この方法は、少なくとも1つのデータ処理装置によるコンピュータソフトウェアの実行の結果として実行され、このコンピュータソフトウェアは、一時的でないコンピュータ可読メモリ媒体内に記憶される。
【0082】
本発明の別の主題は、データ記憶装置と、ユーザインターフェースを含み、前記データ記憶装置内に記憶された記憶書類にアクセスするように構成されたセッションと、少なくとも1つの外部システムとを備えるデータ同期を提供するシステムであり、このシステムは、少なくともセッションおよびデータ記憶装置と通信する同期装置を備え、少なくとも1つのデータ処理装置で以下のステップ、すなわち、
- 同期装置が、データ記憶装置から記憶書類を取り出すための要求をセッションから受け取るステップと、
- 同期装置が、データ記憶装置から記憶書類を取り出し、少なくとも記憶書類の内容を含む中間書類を記憶書類から作成し、ユーザによる動作のために、中間書類をセッションへセッション書類として送達するステップと、
- 外部システムから外部データを受け取るステップと、
- 同期装置が、セッション書類上で実行されるユーザ更新を受け取るステップと、
- 同期装置が、中間書類が前記外部データを含むように中間書類を更新するステップと、
- 記憶書類が前記外部データを含むように記憶書類を修正し、記憶書類をデータ記憶装置内に保存するステップと、
- 同期装置が、前記ユーザ更新と中間書類をマージすることによって中間書類を更新し、次いで更新された中間書類をユーザに提供するステップとを実行するように構成されることを特徴とする。
【0083】
好ましくは、少なくとも1つの外部システムが、セッションを通じてアクセス可能である。
【0084】
好ましくは、前記外部システムは、前記データ記憶装置とは独立している。