JP2016537697A - オフライン可能なモデルグラフを定義するための方法およびシステム - Google Patents

オフライン可能なモデルグラフを定義するための方法およびシステム Download PDF

Info

Publication number
JP2016537697A
JP2016537697A JP2016515513A JP2016515513A JP2016537697A JP 2016537697 A JP2016537697 A JP 2016537697A JP 2016515513 A JP2016515513 A JP 2016515513A JP 2016515513 A JP2016515513 A JP 2016515513A JP 2016537697 A JP2016537697 A JP 2016537697A
Authority
JP
Japan
Prior art keywords
view
mobile device
definition
response
uri
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.)
Granted
Application number
JP2016515513A
Other languages
English (en)
Other versions
JP6434964B2 (ja
JP2016537697A5 (ja
Inventor
カーター,ウェイン
ヒュームズ,ドナルド・クレイグ
Original Assignee
オラクル・インターナショナル・コーポレイション
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 オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2016537697A publication Critical patent/JP2016537697A/ja
Publication of JP2016537697A5 publication Critical patent/JP2016537697A5/ja
Application granted granted Critical
Publication of JP6434964B2 publication Critical patent/JP6434964B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • H04M1/72472User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons wherein the items are sorted according to specific criteria, e.g. frequency of use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

オフライン可能なモデルグラフを定義するための方法およびシステムである。この方法の一実施形態では、モバイル装置によって要求が生成される。モバイル装置は、要求に対する応答を受信する。モバイル装置は、モバイル装置のメモリに格納された複数のテーブルを更新し、更新するステップは、応答のコンポーネントを複数のテーブルのうちの第1のテーブルに追加するステップを含む。

Description

関連出願
本願は、「オフライン可能なモデルグラフを定義するための方法およびシステム」(Method and System for Defining an Offlinable Model Graph)と題され、2013年9月21日に出願された米国仮特許出願連続番号第61/880,901号、ならびに「オフライン可能なモデルグラフを定義するための方法およびシステム」と題され、2013年10月31日に出願された米国特許出願連続番号第14/068,790号の、米国特許法第119条(e)による国内利益を主張する。当該出願は全体として、およびあらゆる目的のために、ここに完全にかつ十分に述べられているかのようにこれによって引用により援用される。
発明の背景
企業アプリケーションは、顧客関係管理(customer relationship management:CRM)、資源計画、人材管理などを含む有益なサービスを企業に提供する。この発明は、セールスサービスおよびマーケティングサービスを提供する例示的なCRMに関して説明されるが、この発明はそれに限定されるべきでないということが理解されるであろう。
CRMは、会社と顧客とのやりとりを管理するために広く実施されている戦略である。CRMサービスは、モバイル装置(たとえば、スマートフォンまたはタブレットコンピュータ)を通してアクセスされ得る。この発明は、ユーザのモバイル装置を介してユーザにCRMサービスを提供することに関して説明されるが、この発明はそれに限定されるべきでないということが理解されるであろう。
要約
オフライン可能なモデルグラフを定義するための方法およびシステムである。この方法の一実施形態では、モバイル装置によって要求が生成される。モバイル装置は、要求に対する応答を受信する。モバイル装置は、モバイル装置のメモリに格納された複数のテーブルを更新し、更新するステップは、応答のコンポーネントを複数のテーブルのうちの第1のテーブルに追加するステップを含む。
モバイルCRMを採用する例示的なシステムの関連コンポーネントを示すブロック図である。 図1で採用された例示的なサーバの関連コンポーネントのブロック図である。 図1で採用されたモバイル装置上に表示される例示的なページを図式化した図である。 図1で採用されたモバイル装置上に表示される例示的なページを図式化した図である。 図1で採用されたモバイル装置上に表示される例示的なページを図式化した図である。 例示的なモバイル装置の関連コンポーネントを示すブロック図である。 図6で採用されたモバイル装置上のメモリにおける例示的なデータストアを図式化した図である。 図6で採用されたモバイル装置上のメモリにおける例示的なデータストアを図式化した図である。 図6で採用されたモバイル装置上のメモリにおける例示的なデータストアを図式化した図である。 図6で採用されたモバイル装置上のメモリにおける例示的なデータストアを図式化した図である。 図6のモバイル装置によって実施されるプロセスの関連局面を示すフローチャートである。 図1で採用されたモバイル装置上に表示される例示的なページを図式化した図である。 図1で採用されたモバイル装置上に表示される例示的なページを図式化した図である。 図6のモバイル装置によって実施されるプロセスの関連局面を示すフローチャートである。 図6のモバイル装置によって実施されるプロセスの関連局面を示すフローチャートの一部である。 図6のモバイル装置によって実施されるプロセスの関連局面を示すフローチャートの一部である。 図6のモバイル装置によって実施されるプロセスの関連局面を示すフローチャートである。 図6のモバイル装置によって実施されるプロセスの関連局面を示すフローチャートである。 図1で採用されたモバイル装置上に表示される例示的なページを図式化した図である。 図1で採用されたモバイル装置上に表示される例示的なページを図式化した図である。
異なる図面における同じ参照符号の使用は、同様または同一の項目を示す。
詳細な説明
今日のセールス労働力は、かつてないほどモバイルである。モバイルのセールス労働力をよりよく支援するために、多くの企業がモバイルCRMを採用しており、それは、ユーザが、モバイル装置上に表示されるユーザインターフェイスまたは「ビュー」を通して、セールス案件(sales opportunities)、セールスアカウント、連絡先、行事予定などを作成し、見直し、および/または更新するといったCRMサービスをより効率的に使用できるようにする。
図1は、モバイルCRMを提供する例示的なシステム100の関連コンポーネントをブロック図の形で示す。システム100は、サーバ106上で実行されるCRMと無線データ通信するモバイル装置(たとえば、スマートフォン)104を含む。CRMによって提供されるサービスは、モバイル装置104によって表示されるビューを通してアクセスされ得る。
一実施形態では、CRMは、モデル・ビュー・コントローラ・アーキテクチャを実現する。CRMは、モバイル装置104によって表示され得るビューの基礎を形成する複数のページ定義を含む状態駆動アプリケーションを含む。モバイル装置104からのビュー要求の受信に応答して、CRMは、論理データモデルからのコンポーネント(たとえば、アカウント名、連絡先名など)を、選択されたページ定義と併合または結合し、その結果が、追加処理(たとえば、ユニバーサルリソースロケータ(universal resource locator:URI)挿入、アーカイビング、レンダリングおよび/またはシリアライゼーション(serialization))後に返答でビュー定義としてモバイル装置104に送信される。モバイル装置104はビュー定義を受信し、表示のためにレンダリングする。説明の目的のため、この開示は、モバイル装置によって受信されたどのビュー定義も、レンダリングおよび次の表示のための状態にある併合されたコンポーネント(たとえば、アカウント名、連絡先名など)を含む、と仮定する。モバイル装置は、ビュー定義が次の表示のためにレンダリングされる前に、前処理(たとえば、デシリアライゼーション、データ一致、ローカルストレージ更新など)を行なってもよい。
図1を引き続き参照して、図2は、関連コンポーネントがブロック図の形で示されたサーバ106の一例を示す。メモリ202は、CRMのためのアプリケーション定義を格納する。アプリケーション定義はページ定義を含み、それらのうちのいくつかはメモリ202に表わされる。論理データモデル内のミニアプリケーションまたは高レベルビジネスオブジェクトへのユーザアクセスを可能にする、モバイル装置上での表示用のスプリングボードビューをレンダリングするために、「スプリングボード」ページ定義が使用可能である。アカウント、案件および連絡先の名前をそれぞれリストフォーマットで提示する、モバイル装置上での表示用のビューをレンダリングするために、「アカウント集合(Accounts)」、「案件集合(Opportunities)」および「連絡先集合(Contacts)」ページ定義が使用可能である。アカウント、案件および連絡先についての詳細な情報をそれぞれあるフォームフォーマットで提供する、表示用のビューをレンダリングするために、「アカウント(Account)」、「案件(Opportunity)」および「連絡先(Contact)」ページ定義が使用可能である。アカウント、案件および連絡先についての情報をそれぞれユーザが編集可能なフォームで提供する、表示用のビューをレンダリングするために、「アカウントフォーム」、「案件フォーム」および「連絡先フォーム」ページ定義が使用可能である。メモリ202における他のページ定義が考えられる。一般に、ページ定義は、論理データモデル204を、モバイル装置上に表示されるビューを介したモバイル装置のユーザによるやりとりにとってより好適なフォームへとレンダリングするために使用可能である。ある意味では、論理データモデル204は、アカウント集合、連絡先集合、案件集合などを含むビジネスオブジェクトへのアクセスを提供しており、それらのうちのいくつかを図2に示す。
メモリ202におけるアプリケーション定義は、Java(登録商標)サーバ・フェイシズ(Java Server Faces:JSF)技術を使用して構築される状態駆動アプリケーションとして実現可能であるが、この発明はそれに限定されるべきでないということが理解されるであろう。JSFは、ビューのためのページを作成するための再使用可能な標準コンポーネントを提供する。JSFは、ビュー定義を増強するための有用な特殊タグを提供する。以下により十分に説明されるように、この発明は、ビュー定義がモバイル装置に送信される前に新しいタイプのタグ(たとえばURI)をビュー定義に挿入することを可能にする新しい特徴を用いて、JSF(または、状態駆動アプリケーションを構築するための同様の技術)を拡張することができる。これらの新しいタグは、以下により十分に説明されるように、複数の特徴を可能にする。たとえば、モバイル装置が「オフライン」である場合、またはCRMとのデータ通信を欠く場合に、タグはモバイル装置がビューからモデルデータを抽出することを可能にし、また、タグはモバイル装置がビューを表示することを可能にする。
プロセッサ上で実行される命令の形を取り得る制御論理206は、アプリケーション定義とデータ通信する。制御論理206は、インターフェイス208を介してモバイル装置104からビュー要求を受信できる。ビュー要求の受信に応答して、制御論理206は、返答を作成するのに適切なページ定義を選択するために、メモリ202におけるアプリケーション定義またはビューナビゲーションスタック(図示せず)にアクセスしてもよい。ページ定義は、ビュー要求に含まれる情報および他の情報に基づいて選択され得る。
ページ定義は、論理データモデル204から返答を作成するために必要とされるコンポーネント(たとえば、アカウント名、連絡先名など)を選択するために使用され得るメタデータを含む。制御論理206は、必要とされるビューコンポーネントを検索するために、論理データモデル204に呼出しを行なうことができる。制御論理206は次に、選択されたページ定義を検索されたコンポーネントと結合または併合でき、その結果が、何らかの追加処理後に返答でビュー定義として要求元のモバイル装置に送信される。返答はまた、以下により十分に説明されるアーカイブを含んでいてもよい。図3〜5は、CRMからの返答での対応するビュー定義の受信に応答してモバイル装置104によって表示される例示的なビューを示す。
図2を引き続き参照して、図3は、ユーザがCRMとのモバイルセッションを初めて呼出したことに応答してモバイル装置104のタッチセンシティブスクリーン300上に表示される例示的なビュー302を示す。より特定的には、ユーザがモバイルセッションを最初に呼出すと、モバイル装置104は、スプリングボードビューに対する要求を生成して送信する。要求の受信に応答して、制御論理206は、メモリ202におけるスプリングボードページ定義を選択する。何らかの処理後、制御論理206は、返答でスプリングボードビュー定義をモバイル装置に送信する。返答を受信後、モバイル装置104は、アクション可能なスプリングボードビューコンポーネント306〜310を有するビュー302を受信し、次に表示する。
スプリングボードビュー302がモバイル装置104によって表示されると、ユーザは、スプリングボードビューコンポーネント306〜310の起動を介して、モバイル装置104上での表示用の追加のビューを要求できる。例示すると、ユーザは、見直しのために連絡先集合リストを検索するために、「連絡先集合」を起動できる。連絡先集合の起動に応答して、モバイル装置104は、連絡先集合リストビューに対する要求を生成してCRMに送信する。ビュー要求は、CRMとモバイル装置104とのセッションを一意的に識別するセッション識別または他の情報を含んでいてもよい。CRMおよび/または制御論理206は、それぞれのモバイル装置のためのビューナビゲーションスタックを管理するためにセッション識別を使用でき、それらは次に、返答を形成するために必要とされる適当なページ定義およびコンポーネントを選択するために使用され得る。
例示された例を続けると、制御論理206は、モバイル装置104から連絡先集合リストビュー要求を受信し、それに応答して、メモリ202から連絡先集合リストページ定義を選択する。制御論理206は、返答のために必要とされる、モデル204からのコンポーネント(たとえば、連絡先名)を選択して併合する。コンポーネント選択は、選択されたページ定義における情報および/または他の情報に基づいていてもよい。現在の例では、制御論理206は、連絡先集合ページ定義によって直接的にまたは間接的に識別された連絡先名を選択する。選択され検索されたコンポーネントは、ビュー定義を作成するために、制御論理206によって連絡先集合ページ定義と併合される。作成の際、ビュー制御論理206はまた、ページ定義、ページ定義との併合のために選択されたコンポーネントなどに基づいてURIを選択的にかつ論理的に挿入してもよく、それからビュー定義は返答でモバイル装置に送信される。制御論理206は、何らかの追加処理後に連絡先集合ビュー定義を含む返答をモバイル装置104に送信する。この追加処理は、アーカイブを返答に追加することを含んでいてもよい。アーカイブは、1つ以上の追加の既存ビュー定義、または制御論理206によって作成されたビュー定義を含んでいてもよい。
挿入されたURIを含む、返答でモバイル装置104に送信された例示的な連絡先集合リストビュー定義の関連部分を、以下に提供する。
連絡先集合リストビュー定義
Figure 2016537697
連絡先集合ビュー定義を含むことに加えて、制御論理206によって送信された返答は、連絡先集合動的クライアントビュー(dynamic client view:DCV)を含むアーカイブも含んでいてもよい。以下により十分に説明されるように、DCVは、モバイル装置がオフラインである間、またはCRMとのデータ通信を欠く間に、モバイル装置上で実行されると、モバイル装置が動的ビューを作成して表示することを可能にする、実行可能な命令またはステートメント(たとえば、ELステートメント)を含む。DCVは、モバイル装置がオフラインモードにある間、モバイル装置が、ローカルに格納された連絡先集合、アカウント集合、案件集合などのコンポーネントを(たとえばアルファベット順に)ソートして表示すること、ローカルに格納されたコンポーネントを検索してその結果を表示することなどを可能にし得る。連絡先集合ビュー要求に対する例示された返答のアーカイブに含まれる例示的な連絡先集合DCVの関連部分を、以下に提供する。
連絡先集合DCV
Figure 2016537697
アーカイブのコンテンツは、少なくとも最初は、表示のためにレンダリングされていない。むしろ、それらは、以下により十分に説明されるように、モバイル装置上のメモリに格納され得る。DCVはビュー定義として識別され得るが、DCVはレンダリングされず、モバイル装置上に表示されない。むしろ、DCVは、モバイル装置がオフライン状態にある間、次のレンダリングおよび表示のためのビューを生成するために実行され得る。
図4は、モバイル装置104がCRMから例示された返答を受信した後に表示する、例示的な連絡先集合リストビュー402を示す。ビューに表示される多くのコンポーネントは、アクション可能である。たとえば、「Labron James」というコンポーネントは、Labron Jamesについての連絡先詳細を提供する対応するビューを要求するために、ユーザ起動され得る(たとえば「クリックされ得る」)。例示すると、起動に応答して、モバイル装置104は、Labron James詳細ビューに対する要求を生成してCRMに送信する。制御論理206はこの要求を受信し、この要求における情報に基づいて連絡先ページ定義を選択する。制御論理206は、連絡先ページ定義によって直接的にまたは間接的に識別されたコンポーネント(たとえば、連絡先に関連付けられたアカウント名)を選択する。選択されたコンポーネントは連絡先ページ定義と併合され、URIが追加され、その結果が何らかの追加処理後に返答でモバイル装置104に送信される。モバイル装置104によって受信されたLabron Jamesについての例示的な連絡先ビュー定義の関連部分を、以下に提供する。
Labron James連絡先ビュー定義
Figure 2016537697
図1および図2を引き続き参照して、図5は、モバイル装置104がCRMから返答を受信してレンダリングした後に表示するLabron James連絡先ビュー502の一例を示す。ビュー502は、あるフォームフォーマットで表示された詳細連絡先コンポーネントを示す。ビュー502は、図4に示すビュー402など、モバイル装置104によって表示される他のビューの外観および雰囲気を有する。たとえば、ビュー402および502は双方とも、前のビューへと逆戻りしてナビゲートするために使用され得る「戻る」ボタンを含む。ビュー502の「戻る」ボタンが起動されると、モバイル装置104は、「戻る」要求を生成してCRMに送信するであろう。一実施形態では、いずれかのビューにおけるいずれかの「戻る」ボタンが起動されるたびに、同じ包括的な「戻る」要求がモバイル装置104によって送信される。「戻る」要求に応答して、制御論理206は、ビューナビゲーションスタックから最後の項目を取出すことができ、その項目はビュー502に関連する情報を含む。次に、制御論理206は、最も新しく追加されたスタック項目におけるページ定義(たとえば、連絡先集合ページ定義)と、モデルからのコンポーネントとを使用して、ビュー402をもたらした返答を再作成することができる。返答は、モバイル装置104への次の送信のために再作成される。ビューの再表示は、その間に変化した論理データモデルからのあらゆるコンポーネントを除き、同じであるべきである。
上述の連絡先集合ビュー定義の例および連絡先集合DCVの例と同様に、Labron James連絡先ビュー定義の例は、ビューURI、ターゲットビューURI、およびモデルURIなどのURIを含む。より十分に説明されるように、モバイル装置104のようなモバイル装置は、ビューのオフラインレンダリングおよび表示を可能にするために、上述の連絡先集合DCV、連絡先集合リストビュー定義、およびLaBron James連絡先ビュー定義の例のようなCRMからのビュー定義およびDCVをローカルメモリに格納できる。
ビューURIおよびターゲットビューURIは、ユーザのモバイル装置がオフラインである間、ユーザが自分のモバイル装置上でビュー間をナビゲートできるようにする、ビュー間の関係を定義するビューグラフを提供できる。ターゲットビューURIは、ビュー定義内のアクション可能なコンポーネントにリンクされる。たとえば、上述の「Acme Bike Corp」というコンポーネントは、「view:/accounts/201#detail」というターゲットビューURIにリンクされる。モバイル装置がオフラインである間にユーザが表示されたビューコンポーネントをクリックすると、ターゲットビューURIにリンクされたビュー定義がローカルメモリから検索され、次に表示のためにレンダリングされ得る。
モデルURIは、モバイル装置104のメモリにおけるモデルグラフを可能にする。一実施形態では、モデルグラフは、SQLステートメントによってアクセス可能なデータベーステーブルの形を取ってもよい。モデルグラフは、モバイル装置104がオフラインである間、モバイル装置が、複合ビュー定義を作成すること、コンポーネントを検索して結果を表示すること、コンポーネントをソートして結果を表示すること、コンポーネントを一致させることなどをできるようにする。
大抵の場合、図1に示すモバイル装置104などのモバイル装置は、サーバ106上で実行されるCRMなどのCRMとデータ通信する。「オンライン」またはデータ通信中、モバイル装置は、次のレンダリングおよび表示のためにCRMからビュー定義を受信できる。しかしながら、CRMとモバイル装置とのデータ通信は、自発的にまたは非自発的に中断される場合がある。たとえば、モバイル装置104は、ユーザが無線通信を自発的に不能にできるようにする特徴(たとえば「機内モード」)を有する場合があり、または、モバイル装置は、通信塔から遠過ぎて無線信号通信を交換できない場合がある。
図6は、この発明の一実施形態に従った、CRMデータおよび/またはサービスへのオフラインアクセスを可能にするモバイル装置104の関連コンポーネントを示す。より特定的には、図6は、ビューコントローラ602およびモバイルCRMクライアント606とデータ通信するビュー要求ハンドラ604をブロック図の形で示す。一実施形態では、コンポーネント602〜606は、モバイル装置104の1つ以上のプロセッサ上で実行される命令の形を取ってもよい。加えて、図6は、ファイルシステム612とデータストア614とを格納するように構成されたメモリ610を示す。一実施形態では、ファイルシステム612はビューコントローラ602によってアクセス可能であり、それぞれのURLまたはアドレスによって識別されたそれぞれのファイルにビュー定義を格納するように構成される。データストア614は、以下により十分に説明されるビューテーブルなどの1つ以上のテーブルを格納するデータベースの形を取ってもよい。データベーステーブルはビューコントローラ602によってアクセス可能であり、上述のモデルグラフを格納するように構成される。
図7Aは、初期状態または空の状態でデータストア614に格納された、テーブル702〜720を含む例示的なテーブルを示す。他の実施形態では、追加のまたはより少ないテーブルが考えられる。ビューテーブル702は、ビューURIを、ビューURIに対応するビュー定義を格納するファイルシステム612におけるファイルのためのURLにマッピングする。テーブル704〜720は、モデルURIを格納する。収集テーブル704およびエンティティテーブル706といった、これらのテーブルのうちのいくつかは、モデルURIを1つだけ有するエントリを含む。残りのテーブル710〜720は、モデルURIを、他のモデルURI、値(たとえば、ビューコンポーネント)、および/またはビューURIにマッピングするエントリを含む。たとえば、フィールドテーブル710は、フィールドURIを、フィールド名URI、コンポーネント値、およびソースURIにマッピングする。なお、フィールドテーブル710内では、フィールドURIは、値またはソースURIのいずれかにマッピングされるが、双方にはマッピングされない。収集_エンティティテーブル712、エンティティ_フィールドテーブル714、収集_ビューテーブル716、およびエンティティ_ビューテーブル720は、モデルURIまたはビューURIをマッピングする1対多の交差テーブルである。これらのテーブルは、それらのタイトルによって示されるようにURIをマッピングする。言い換えれば、収集_エンティティテーブル712は収集URIをエンティティURIにマッピングし、エンティティ_ビューテーブル720は、エンティティURIをビューURIにマッピングする。
モバイルCMRクライアント606は、表示されたアクション可能なビューコンポーネントのユーザ起動に応答して、上述の連絡先集合リストビューに対する要求など、ビューに対する要求を生成する。モバイル装置104がオンラインであるかまたはサーバ106とデータ通信する場合、要求ハンドラ604は要求を受信して、要求をCRMに転送するように構成される。その他の場合、以下により十分に説明されるように、要求ハンドラ604はビュー要求をビューコントローラ602に転送する。
図8は、CRMデータおよび/またはサービスへのオフラインアクセスを可能にするためにビューコントローラ602および要求ハンドラ604によって採用される例示的なプロセスを示す。このプロセスは、モバイル装置104のユーザがレンダリングされたビュー定義の表示されたアクション可能なビューコンポーネントを起動する(たとえばクリックする)と、始まる。起動されたビューコンポーネントは、ターゲットビューURIを介して別のビュー定義にリンクされると仮定される。ユーザ起動に応答して、モバイルCRM606は、起動されたビューコンポーネントに対応するビュー要求を生成する。起動されたコンポーネントにリンクされたビュー定義が、要求ハンドラ604によって受信された要求に含まれていてもよい。
ビュー要求が受信されると、要求ハンドラ604は、モバイル装置104がオンラインモードで動作するかオフラインモードで動作するかを判断する。モバイル装置104がオンラインモードで動作する場合、プロセスは、要求ハンドラ604がビュー要求をサーバ106に送信するステップ806に進み、最終的に、ビューコントローラ602は、要求されたビューのためのビュー定義を含む返答を受信するであろう。加えて、返答は、上述の例示的な連絡先集合DCVなどのDCVを含む追加のビュー定義を含むアーカイブを含んでいてもよい、最初、アーカイブ内に含まれるビュー定義は表示されない。しかしながら、それらは、受信されると、データストア614および/またはファイルシステム612を更新するために使用される。
ステップ810で、ビューコントローラ602は、ファイルシステム612およびデータストア614を返答ビュー定義のコンテンツで更新する。ファイルシステム612およびデータストア614をビュー定義のコンテンツで更新するための例示的な手順は、図11および図12を参照してより十分に説明されるであろう。ビューコントローラ602がファイルシステム612およびデータストア614を一旦更新すると、図8に示すプロセスは、返答がアーカイブを含むかどうかをビューコントローラ602が判断するステップに進む。アーカイブが返答に含まれる場合、ビューコントローラ602は、図11および図12に示すプロセスを使用して、ファイルシステム612およびデータストア614をアーカイブにおける各ビュー定義で更新する。返答がアーカイブを欠く場合、816に示すように、返答のビュー定義は、レンダリングおよび次の表示のためにモバイルCRMクライアント606に提示され、プロセスは終了する。
オフラインモードにある間にプロセスハンドラ604がモバイルCRMクライアント606からビュー要求を受信すると、要求ハンドラ604は要求をビューコントローラ602に転送し、それは次に、ビュー要求のビューURIにマッピングされたURLを読出すためにビューテーブル702にアクセスする。このURLを使用して、URLによって識別されたファイルに含まれるビュー定義がファイルシステム612から読出され、ビューコントローラ602に提供される。ステップ822に示すように、ビューコントローラ602は、ビュー定義がDCVであるかどうかを判断する。DCVではない場合、ビューコントローラ602は、レンダリングおよび表示のためにビュー定義をモバイルCRMクライアントに転送する。一実施形態では、ビューコントローラがビュー定義を転送する前に、ビューコントローラ602は、以下により十分に説明されるような図14に示す例示的な一致プロセスなどの一致プロセスを使用して、ビュー定義におけるコンポーネントをデータストア614におけるコンポーネントと一致させることができる。
ファイルがDCVを含む場合、図8に示すプロセスは、DCVがビューコントローラ602によって実現されるステップ824に進む。図示されていないものの、ビューコントローラは、DCVの命令を実行するエンジン(たとえば、ELエンジン)を含んでいてもよい。さらに、図示されていないものの、ビューコントローラ602は、データストア614内のテーブルにアクセスするために使用されるクエリー(たとえば、SQLクエリー)を生成するデータベース管理システムを含んでいてもよい。これらのクエリーのうちのいくつかは、ELエンジンによって実行された命令に従って、ELエンジンによって生成され得る。DCVを実行する間、ビューコントローラ602は結果ビュー定義を生成でき、それは次に、次のレンダリングおよび表示のためにモバイルCRM606に提供される。
上述のように、図11および図12は、図8のステップ810または814でのファイルシステム612およびデータストア614を更新するための例示的なプロセスを示す。図11におけるプロセスは、ビューテーブル702およびファイルシステム612を更新するために使用される。図12におけるプロセスは、データストア614におけるテーブルを更新するために使用される。
図11に示すプロセスは、ビューコントローラ602がビューテーブル702にアクセスして、それがビュー定義の各ターゲットビューURIのためのエントリを含むかどうかを判断することで始まる。ステップ1104で、ビューコントローラは、ビュー定義内に含まれる各新規ターゲットビューURIのために、ビューテーブル702において新規エントリを作成する。言い換えれば、ビューテーブル702がビュー定義のターゲットビューURIのためのエントリを欠く場合、ビューコントローラ602は、新規ターゲットビューURIが追加されるビューテーブルにおいて新規エントリを作成する。最終的に、ビュー定義のターゲットビューURIが処理された後で、プロセスは、ビューテーブルがビュー定義のためのビューURIを含むかどうかをビューコントローラ602が判断するステップ1106に進む。ビューテーブルがこのURIを欠く場合、ビューコントローラは、ビューURIが追加されるビューテーブルにおいて新規エントリを作成する。ビューコントローラ602は、当該ビュー定義のコピーをファイルシステム612に格納する。ビューコントローラ602は次に、ビューURIを、ビュー定義コピーが格納されたファイルのためのURLにマッピングする。その後、プロセスは図12に進み、それは以下により十分に説明される。
しかしながら、ステップ1106で、ビューテーブル702がビュー定義のためのビューURIを含むと判断される場合、プロセスは、ビューコントローラ602がビューテーブルにアクセスして、URLがビュー定義のためのURIにマッピングされているかどうかを確かめるステップ1120に進む。このURIにマッピングされたURLがある場合、プロセスは、URLによって識別されたコンテンツがビュー定義で上書きされるステップ1126に進む。なお、このステップでは、上述の例示的な連絡先集合DCVなどのDCVが、上述の連絡先集合リストビュー定義の例などのビュー定義を上書きしてもよい(双方の定義がサーバ106からの同じ返答に含まれる場合)。
ビューテーブルがビュー定義のビューURIにマッピングされたURLを欠く場合、ビューコントローラ602はURLによって識別されたファイルにビュー定義を格納し、ビューコントローラ602はビューテーブルにおいてURLをビューURIにマッピングする。ステップ1124の後、またはステップ1226でのビュー定義の前のバージョンの上書きに応答して、ビューコントローラ602は、以下により十分に説明される図12に示すプロセスに従って、ビュー定義のモデルURIを処理する。
図12は、モデルURIテーブルをビュー定義のコンテンツで更新するための例示的なプロセスを示す。モデルテーブルは、オフライン検索、オフラインソーティング、オフラインコンポーネント一致、動的ビューのオフライン作成などを含む、オフラインモバイルCRM処理の多くの特徴を可能にする。上述の例示的なLabron James連絡先定義に関して、図12のプロセスは、ビューコントローラ602がビュー定義の第1のエントリ(たとえば、コンポーネント「Labron James」を含むエントリ)を選択すると始まる。なお、一実施形態では、ビュー定義の各エントリは、「Labron James」などの単一のビュー定義コンポーネントを含む。
ステップ1204で、ビューコントローラ602は、選択されたコンポーネントの第1のモデルURIを選択する。これは、フィールドURI、フィールド名URI、ソースURI、エンティティURI、または収集URIであり得る。他のモデルURIが考えられる。ビューコントローラ602は、選択されたモデルURIのタイプを判断できる。選択されたモデルURIがフィールドURIである場合、プロセスは、ビューコントローラ602が選択されたモデルURIをフィールドURIとしてフィールドテーブル710に追加する(テーブルが、選択されたモデルURIを有するエントリを既に含む場合を除く)ステップ1210に進む。ステップ1212で、ビューコントローラは、選択されたエントリがソースフィールドURIを含むかどうかをステップ1212で判断する。含まない場合、ビューコントローラ602は、選択されたビュー定義エントリのコンポーネント値およびフィールド名URIをフィールドURIに追加してマッピングする。
ステップ1212で、選択されたビュー定義エントリがソースフィールドURIを有するとビューコントローラ602が判断した場合、ステップ1214〜1220が実施される。これらのステップは、以下により十分に説明されるであろう図14に示すプロセスに従って値を一致させるようにフィールドテーブルを構成する。ステップ1214で、ビューコントローラ602は、必要であれば、フィールドテーブルにおいてソースフィールドURIをフィールドURIにマッピングする。なお、図12内に示すプロセスの以前の実施により、ステップ1214より前に、テーブル内においてフィールドURIがソースURIにマッピングされてもよい。ステップ1216で、ビューコントローラ602は、選択されたエントリのソースフィールドURIをフィールドURIとしてフィールドテーブルに追加する(ステップ1216より前にソースフィールドURIがフィールドURIとしてビューテーブルに存在する場合を除く)。ステップ1220で、選択されたビュー定義エントリのコンポーネントおよびそのフィールド名URIが、フィールドURI列にソースフィールドURIを含むビューテーブルエントリに追加される。一実施形態では、フィールドテーブルにおける既存のコンポーネント値は、選択されたエントリのコンポーネント値で更新される(これらのコンポーネント値が異なる場合)。ステップ1220または1226に応答して、ビューコントローラ602は、選択されたモデルURIを選択されたビュー定義エントリのエンティティURIにマッピングするエンティティ_フィールドテーブル724に、新規エントリを追加する(エントリが以前にテーブルに含まれていた場合を除く)。
ステップ1206で、選択されたモデルURIがフィールドURIではないと判断された場合、プロセスは、選択されたモデルURIが収集URIであるかどうかをビューコントローラ602が判断するステップ1224に進む。収集URIである場合、ビューコントローラはステップ1228〜1232を実施する。収集URIではない場合、プロセスは、選択されたURIがエンティティURIであるかどうかをビューコントローラ602が判断するステップ1234に進む。この条件が満たされると仮定すると、ステップ1236〜1242が実施される。エンティティURIではない場合、またはステップ1242の実施に応答して、ステップ1244でビューコントローラ602は、選択されたビュー定義エントリ内に追加のモデルURIが含まれるかどうかを判断する。別のモデルURIがある場合、それはステップ1250で選択され、ステップ1206〜1244が、新たに選択されたモデルURIで繰り返される。選択されたビュー定義エントリにモデルURIがこれ以上ない場合、ビューコントローラ602は、ビュー定義が追加のエントリを含むかどうかを判断する。追加のエントリを含む場合、ステップ1252で次のエントリが選択され、ステップ1204〜1246が、新たに選択されたビュー定義エントリで繰り返される。
図7Bは、ビューコントローラ602が図8、図11および図12に従って上述の例示的な連絡先集合リストビュー定義の例を処理した後の、図7Aにおけるデータストアを示す。連絡先集合リストビュー定義の例を含む例示された例の返答は、上述の例示的なDCVを有するアーカイブも含む。図8の処理に従って、URL=file://…contacts#listによって識別されたファイルは、最初は連絡先集合リストビュー定義を含むものの、後で例示的なDCVで上書きされるであろう。図7Cは、ビューコントローラ602が図8、図11および図12に従って上述の例示的なLabron James連絡先ビュー定義を処理した後の、図7Bにおけるデータストアを示す。
図7Cには図示されていないが、モバイル装置104のファイルシステム612は、図3に示すスプリングボードビューのためのビュー定義を格納する。モバイル装置104がオフラインモードにある間、このビュー定義はレンダリングされ、モバイル装置104上に表示され得る。この表示されたスプリングボードビューは、図3に示すものと同様であるべきである。ビューコントローラ602、ファイルシステム612、およびデータストア614は、モバイル装置104上でのビューのオフライン表示を含むオフラインCRMサービスを可能にする。例示するために、モバイル装置104がオフラインモードにある間、モバイル装置104のユーザがスプリングボードの「連絡先集合」(図3参照)を起動すると仮定する。これに応答して、モバイルCRMクライアント606は、連絡先集合ビュー定義に対する要求を生成する。この要求は、レンダリングされたスプリングボードビュー定義の連絡先集合ビューコンポーネントにリンクされたビューURI(すなわち、views://contacts#list)を含むであろう。モバイル装置104はオフラインであるため、要求ハンドラ604は、図8に示すプロセスに従って、モバイルCRMクライアントからビューコントローラ602に要求を転送するであろう。これに応答して、ビューコントローラ602は、要求のビューURI(すなわち、views://contacts#list)にマッピングされているURL(すなわち、file://...contacts#list)を読出すために、図7Cに示すビューテーブル702にアクセスする。ビューコントローラ602は、マッピングされたURLで格納された連絡先集合リストビュー定義を検索する。しかしながら、このビュー定義はDCV(すなわち、上述の例示的な連絡先集合DCV)である。ビューコントローラは、以下により十分に説明されるであろう図13に示されるプロセスに従って、このDCVを実現できる。究極的には、ビューコントローラは結果ビュー定義を生成するであろう。それは最終的に、レンダリングおよび表示のためにモバイルCRMクライアント606に転送される。
図9は、モバイル装置104によって表示される例示的な連絡先集合リストビューを示す。ビュー定義がレンダリングされ、表示される前に、ビューコントローラ602は、URLにマッピングされている、ビュー定義におけるターゲットビューURIを識別するために、ビューテーブル702にアクセスできる。表示されたビュー定義は、アクション可能なビューコンポーネント、すなわち、ビューテーブル702においてURLにマッピングされているとしてビューコントローラ602によって以前に識別されたターゲットビューURIにマッピングされたコンポーネントを識別する視覚表示を含むであろう。一実施形態では、表示されたアクション可能なビューコンポーネントは、モバイル装置104によって太字で示される。図9に示す例では、LaBron James連絡先ビューコンポーネントが太字で示されており、こうしてこのコンポーネントがアクション可能であることを示す。
図9に表示されたLaBron Jamesコンポーネントなどのアクション可能なコンポーネントをユーザが起動するのに応答して、図8に示すプロセスに従って作用するモバイルCRM606は、LaBron James連絡先定義ビューに対するビュー要求を生成する。この要求は、レンダリングされ、表示された連絡先集合リストビュー定義内の「LaBron James」コンポーネントにリンクされたビューURI(すなわち、view//contacts/101#detail)を含むであろう。モバイル装置104はオフラインであるため、この要求はビューコントローラ602に提供され、それは次に、マッピングされたURL(すなわち、file://...contacts/101#detail)でファイルシステム定義からLaBron James連絡先ビュー定義を読出す。この連絡先ビュー定義は、次のレンダリングおよび表示のためにモバイルCRMクライアント606に転送される。図10は、モバイル装置104がオフラインモードにある間にモバイル装置104によって表示されるLaBron James連絡先ビューを示す。
モバイル装置がオフラインモードで動作する間、次のレンダリングおよび表示のためのビュー定義を生成するために、DCVがビューコントローラ602によって実行され得る。ビュー定義は、モバイル装置104を介してユーザによって提供される入力に依存する場合があり、ビューコントローラ602上で実行されるDCVへの異なる入力は、異なるビュー定義をもたらす場合がある。DCVを実行する際、ビューコントローラ602は、何らかの選択基準(すべての連絡先、または「L」で始まるすべての連絡先を選択するなど)に従って、フィールドテーブル710の値列からコンポーネントを選択し、オプションで選択されたコンポーネントを別の基準に従ってソートし(たとえば、アルファベット順にソートし)、選択されたコンポーネントをそれぞれ含むエントリを用いて結果ビュー定義を作成することができる。一旦作成されると、結果ビュー定義は、モバイル装置104上での表示のためにレンダリングされ得る。図9は、ビューコントローラ602が上述の例示的なDCVを実現するのに応答して表示された例示的なビューを示す。
図13は、上述の例示的なDCVなどのDCVの実現に応答してビューコントローラ602によって行なわれる例示的なプロセスを示す。図8のステップ820に従ってDCVがファイルシステム612から読出されると、ステップ1302に示すように、ビューコントローラ602は収集_エンティティテーブルにアクセスして、DCVにおいて特定された収集URIにマッピングされたすべてのエンティティURIを収集する。例示すると、上述の例示的なDCVにおける特定された収集URIは、「連絡先集合」である。ステップ1304で、ビューコントローラ602はエンティティ_フィールドテーブルにアクセスして、ステップ1302で収集されたエンティティURIにそれぞれマッピングされたフィールドURIを収集する。フィールドURIのこの収集は、結果ビュー定義に配置され得る1つ以上のコンポーネントを識別するために使用され得る。
図9に示すビューなどのいくつかのオフラインビューでは、ユーザが検索語を入力できる検索フィールドが利用可能である。検索語を入力し、検索ボタンを起動した後で、検索語は、図13に示すプロセスで使用するためにビューコントローラ602に提供される。より特定的には、ビューコントローラ602はフィールドテーブル710にアクセスして、ステップ1304からのフィールドURIによって識別され、かつモバイル装置104のユーザによって入力された検索語を満たすコンポーネントを、値列から収集する。検索語がユーザによって入力されていない場合、ヌルが仮定され、ステップ1306で、ビューコントローラは、ステップ1304で収集されたフィールドURIにそれぞれマッピングされた値をすべて収集する。ヌルの検索語が使用される場合、ビューコントローラ602は、ステップ1306で収集されたコンポーネントをソートしてもよい。一実施形態では、コンポーネントはアルファベット順にソートされる。
ステップ1306で収集された値ごとに、ビューコントローラは結果ビュー定義においてエントリを作成し、ステップ1306で収集されたそれぞれのコンポーネントを追加する。ステップ1312で、ビューコントローラ602はフィールドテーブル710にアクセスして、ステップ1306で収集されたコンポーネントにそれぞれマッピングされたエンティティURIを収集する。その後、ビューコントローラ602はエントリ_ビューテーブル720にアクセスして、ステップ1312で収集されたエンティティURIにそれぞれマッピングされたビューURIを収集する。ビューテーブル702は、ステップ1314で収集されたビューURIにそれぞれマッピングされたURLがあれば、それらを収集するためにアクセスされ、これらのURLは、アクション項目として、結果ビュー定義の適切なエントリに追加される。最終的に、最重要コンポーネントおよびコマンドコンポーネントも、結果ビュー定義のエントリに追加される。結果ビュー定義は、レンダリングおよび表示のために、ビューコントローラ602によってモバイルCRMクライアントに提供される。
上述のように、モバイル装置104は、DCVビューを処理しない場合でも、データストア614における最近または最新のコンポーネントがユーザに提示されることを保証するように、ビューコンポーネントを一致させることができる。図14は、ビューをレンダリングし、表示する際にコンポーネントを一致させるためにビューコントローラ602によって実施される例示的なプロセスを示す。このプロセスは、図8のステップ816または830でビューコントローラがレンダリングおよび表示のために要求されたビュー定義をモバイルCRMクライアント606に転送する前に、ビューコントローラによって実施され得る。図14に示すプロセスを例示するために、モバイル装置104が、上述の例示的な連絡先集合リストビュー定義および例示的なLabron James連絡先ビュー定義を受信した後に、サーバ106から以下の例示的なアカウントビュー定義を受信すると仮定する。
Acme Corpビュー定義
Figure 2016537697
Acme Corpビュー定義は、図8、図11および図12に示すプロセスに従って、ビューコントローラ602によって処理される。図7Dは、ビューコントローラ602が図12に示すプロセスに従って上述の例示的なAcme Corp連絡先ビュー定義を処理した後の、図7Cにおけるデータストア614を示す。図12に示すプロセスを実行する際、ビューコントローラ602は、図7Dに示すように「Acme Bike Corp」を「Acme Corp」で上書きすることによってフィールドテーブル710を更新する。図15は、例示的なAcme Corpビュー定義に対応するビューを示す。このビューは、Labron Jamesが、図10に示すような「Acme Bike Corp」ではなく、「Acme Corp」の連絡先であることを示す。
モバイル装置104が次にオフラインになり、ユーザがスプリングボードビューの「連絡先集合」コンポーネントを起動し、次に、連絡先集合の起動に応答して表示される連絡先集合リストビューの「Labron James」コンポーネントを起動する、と推測する。モバイル装置104は、図8に示すプロセスを実施し、ステップ830に示すようにファイルシステム612から読出されたビュー定義をレンダリングすることができる。しかしながら、ビュー定義がレンダリングおよび表示のために転送される前に、ビューコントローラ602は、図14の一致プロセスを行なう。図16は、図14に示すプロセスを実施した後のビューを示す。図示されるように、アカウント名は、図10に示すような「Acme Bike Corp」ではなく、「Acme Corp」になるように更新されている。
モバイル装置104は、ユーザがいくつかの関連するビュー定義をダウンロードしてローカルに格納することを可能にする、「エクスポート・データ」と呼ばれる特徴を有していてもよい。たとえば、ユーザは、特定のアカウントに関連付けられたビュー(連絡先、案件、行事予定など)のための大抵のまたはすべてのビュー定義をダウンロードしようとしてもよい。これらのビュー定義、またはそれらのコンポーネントは、オフラインモードにある間にモバイル装置104によってレンダリングされ、表示され得る。このため、ユーザがこの特徴を起動すると、モバイル装置は、たとえばアカウントに対するビュー要求、およびすべての関連付けられたビュー定義を生成できる。サーバ106は、アカウントビュー定義を含む返答と、アカウントに関連付けられたそれぞれの連絡先、案件などのためのビュー定義を含むアーカイブとを、モバイル装置に送信するであろう。ビューコントローラ602は、図11および図12に示すプロセスに従って、ファイルシステム612およびデータストア614をアーカイブのビュー定義のコンテンツで更新できる。
いくつかの実施形態に関連してこの発明を説明してきたが、この発明は、ここに述べられた特定の形に限定されるよう意図されてはいない。逆に、この発明は、そのような代替、修正および均等物を、添付された請求項によって定義されるようなこの発明の範囲に妥当に含まれ得るとして網羅するよう意図されている。

Claims (20)

  1. モバイル装置によって要求を生成するステップと、
    前記要求に対する応答を受信するステップと、
    前記モバイル装置のメモリに格納された複数のテーブルを更新するステップとを含む、方法であって、
    前記更新するステップは、前記応答のコンポーネントを前記複数のテーブルのうちの第1のテーブルに追加するステップを含む、方法。
  2. 前記更新するステップは、前記応答の第1のタグを前記第1のテーブルに追加するステップをさらに含む、請求項1に記載の方法。
  3. 前記更新するステップは、前記第1のタグを前記複数のテーブルのうちの第2のテーブルに追加するステップをさらに含む、請求項2に記載の方法。
  4. 前記応答の一部またはすべてを、前記モバイル装置のメモリに、あるアドレスで格納するステップと、
    前記複数のテーブルのうちの第3のテーブルにおいて、前記アドレスを識別子にマッピングするステップとをさらに含む、請求項1に記載の方法。
  5. 前記識別子は前記応答に含まれる、請求項4に記載の方法。
  6. 前記更新するステップは、前記識別子を前記複数のテーブルのうちの別のテーブルに追加するステップをさらに含む、請求項5に記載の方法。
  7. 前記更新するステップは、前記応答の第2のタグを前記複数のテーブルのうちの第2のテーブルに追加するステップと、前記識別子を前記第2のテーブルに追加するステップとをさらに含む、請求項4に記載の方法。
  8. 命令を格納するメモリであって、モバイル装置が前記命令の実行に応答して方法を実施し、前記方法は、
    要求を生成するステップと、
    前記要求に対する応答を受信するステップと、
    前記モバイル装置のメモリに格納された複数のテーブルを更新するステップとを含み、
    前記更新するステップは、前記応答のコンポーネントを前記複数のテーブルのうちの第1のテーブルに追加するステップを含む、メモリ。
  9. 前記更新するステップは、前記応答の第1のタグを前記第1のテーブルに追加するステップをさらに含む、請求項8に記載のメモリ。
  10. 前記更新するステップは、前記第1のタグを前記複数のテーブルのうちの第2のテーブルに追加するステップをさらに含む、請求項9に記載のメモリ。
  11. 前記方法は、
    前記応答の一部またはすべてを、前記モバイル装置のメモリに、あるアドレスで格納するステップと、
    前記複数のテーブルのうちの第3のテーブルにおいて、前記アドレスを識別子にマッピングするステップとをさらに含む、請求項8に記載のメモリ。
  12. 前記識別子は前記応答に含まれる、請求項11に記載のメモリ。
  13. 前記更新するステップは、前記識別子を前記複数のテーブルのうちの別のテーブルに追加するステップをさらに含む、請求項12に記載のメモリ。
  14. 前記更新するステップは、前記応答の第2のタグを前記複数のテーブルのうちの第2のテーブルに追加するステップと、前記識別子を前記第2のテーブルに追加するステップとをさらに含む、請求項11に記載のメモリ。
  15. 命令をモバイル装置に、そのメモリへの格納のために送信するステップを含む、方法であって、前記モバイル装置は、前記命令の実行に応答して別の方法を実施するように構成されており、前記別の方法は、
    要求を生成するステップと、
    前記要求に対する応答を受信するステップと、
    前記モバイル装置のメモリに格納された複数のテーブルを更新するステップとを含み、
    前記更新するステップは、前記応答のコンポーネントを前記複数のテーブルのうちの第1のテーブルに追加するステップを含む、方法。
  16. 前記更新するステップは、前記応答の第1のタグを前記第1のテーブルに追加するステップをさらに含む、請求項15に記載の方法。
  17. 前記更新するステップは、前記第1のタグを前記複数のテーブルのうちの第2のテーブルに追加するステップをさらに含む、請求項16に記載の方法。
  18. 前記別の方法は、
    前記応答の一部またはすべてを、前記モバイル装置のメモリに、あるアドレスで格納するステップと、
    前記複数のテーブルのうちの第3のテーブルにおいて、前記アドレスを識別子にマッピングするステップとをさらに含む、請求項15に記載の方法。
  19. 前記識別子は前記応答に含まれる、請求項18に記載の方法。
  20. 前記更新するステップは、前記識別子を前記複数のテーブルのうちの別のテーブルに追加するステップをさらに含む、請求項15に記載の方法。
JP2016515513A 2013-09-21 2014-09-22 オフライン可能なモデルグラフを定義するための方法およびシステム Active JP6434964B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361880901P 2013-09-21 2013-09-21
US61/880,901 2013-09-21
US14/068,790 2013-10-31
US14/068,790 US9456335B2 (en) 2013-09-21 2013-10-31 Method and system for defining an offlinable model graph
PCT/US2014/056740 WO2015042512A1 (en) 2013-09-21 2014-09-22 Method and system for defining an offlinable model graph

Publications (3)

Publication Number Publication Date
JP2016537697A true JP2016537697A (ja) 2016-12-01
JP2016537697A5 JP2016537697A5 (ja) 2017-09-28
JP6434964B2 JP6434964B2 (ja) 2018-12-05

Family

ID=51790842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016515513A Active JP6434964B2 (ja) 2013-09-21 2014-09-22 オフライン可能なモデルグラフを定義するための方法およびシステム

Country Status (5)

Country Link
US (2) US9456335B2 (ja)
EP (1) EP3047402B1 (ja)
JP (1) JP6434964B2 (ja)
CN (1) CN105706082B (ja)
WO (1) WO2015042512A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9760897B2 (en) * 2013-09-21 2017-09-12 Oracle International Corporation Method and system for defining an offlinable view/controller graph
US9917923B2 (en) 2014-09-26 2018-03-13 Oracle International Corporation Building message relationships for offline operation of an enterprise application

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815811A (en) * 1989-06-29 1998-09-29 Symbol Technologies, Inc. Preemptive roaming in a cellular local area wireless network
JPH11312178A (ja) * 1998-04-28 1999-11-09 Nec Corp コンピュータと携帯端末間のデータ連携システム及びそのデータ連携方法
JPH11345240A (ja) * 1998-06-02 1999-12-14 Nippon Telegr & Teleph Corp <Ntt> Push技術によるコンテンツ配信および配信先でのデータベース生成・更新方式およびそのプログラムを記録した記録媒体
JP2000267971A (ja) * 1999-03-17 2000-09-29 Sharp Corp オフライン表示機能付通信装置及び方法並びに記録媒体
US20020124011A1 (en) * 2001-03-01 2002-09-05 Baxter Robert W. Methods, systems, and computer program products for communicating with a controller using a database interface
JP2003345717A (ja) * 2002-05-24 2003-12-05 K-Plex Inc ウェブ・ドキュメントを再編集して再配布する方法及び装置
JP2004280203A (ja) * 2003-03-12 2004-10-07 Sony Corp Web対応電子機器装置、ページ閲覧表示方法およびプログラム
US20060005263A1 (en) * 2004-06-16 2006-01-05 Sxip Networks Srl Distributed contact information management
JP2006244485A (ja) * 2005-02-28 2006-09-14 Microsoft Corp 階層的に安全なストレージシステム内の発見可能性および列挙の機構
JP2006526837A (ja) * 2003-06-03 2006-11-24 株式会社Access ページ保存ファイルを用いてコンテンツを閲覧する方法
JP2010102453A (ja) * 2008-10-22 2010-05-06 Ntt Docomo Inc Webページ閲覧方法、情報処理装置およびWebページ閲覧プログラム
US20100257230A1 (en) * 2009-04-03 2010-10-07 Kroeger Robert J Architectural pattern for persistent web application design
JP2010244249A (ja) * 2009-04-03 2010-10-28 Visionere Corp メニュー表示装置、メニュー表示システム、サーバ、メニュー表示方法、及びコンピュータプログラム
JP2011164749A (ja) * 2010-02-05 2011-08-25 Kddi Corp Webアプリケーション高可用化装置及びWebアプリケーション高可用化方法
JP2012059133A (ja) * 2010-09-10 2012-03-22 Sharp Corp 端末装置、端末装置の制御方法、端末装置制御プログラム、および該プログラムを記録したコンピュータ読み取り可能な記録媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319766A (en) * 1992-04-24 1994-06-07 Digital Equipment Corporation Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system
US6473609B1 (en) * 1995-12-11 2002-10-29 Openwave Systems Inc. Method and architecture for interactive two-way communication devices to interact with a network
US6108769A (en) * 1996-05-17 2000-08-22 Advanced Micro Devices, Inc. Dependency table for reducing dependency checking hardware
US7162427B1 (en) * 1999-08-20 2007-01-09 Electronic Data Systems Corporation Structure and method of modeling integrated business and information technology frameworks and architecture in support of a business
US6879806B2 (en) 2001-06-01 2005-04-12 Zensys A/S System and a method for building routing tables and for routing signals in an automation system
US7143241B2 (en) * 2002-08-06 2006-11-28 Hewlett-Packard Development Company, L.P. Cache management in a mobile device
US7467389B2 (en) 2004-11-23 2008-12-16 Sybase, Inc. System and methodology providing service invocation for occasionally connected computing devices
WO2006089392A1 (en) * 2005-02-22 2006-08-31 Nextair Corporation Determining operational status of a mobile device capable of executing server-side applications
US8935249B2 (en) * 2007-06-26 2015-01-13 Oracle Otc Subsidiary Llc Visualization of concepts within a collection of information
US8005643B2 (en) * 2007-06-26 2011-08-23 Endeca Technologies, Inc. System and method for measuring the quality of document sets
CN101106779B (zh) * 2007-07-25 2010-04-14 中兴通讯股份有限公司 一种数字通讯方法
AU2013278969B2 (en) * 2012-06-23 2017-05-25 Pmda Services Pty Ltd A computing device for state transitions of recursive state machines and a computer-implemented method for the definition, design and deployment of domain recursive state machines for computing devices of that type
AU2012101581A4 (en) * 2012-10-30 2012-11-29 The App Shed Pty Ltd The Toolshed Mobile Application
US9798772B2 (en) * 2013-04-12 2017-10-24 Oracle International Corporation Using persistent data samples and query-time statistics for query optimization

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5815811A (en) * 1989-06-29 1998-09-29 Symbol Technologies, Inc. Preemptive roaming in a cellular local area wireless network
JPH11312178A (ja) * 1998-04-28 1999-11-09 Nec Corp コンピュータと携帯端末間のデータ連携システム及びそのデータ連携方法
JPH11345240A (ja) * 1998-06-02 1999-12-14 Nippon Telegr & Teleph Corp <Ntt> Push技術によるコンテンツ配信および配信先でのデータベース生成・更新方式およびそのプログラムを記録した記録媒体
JP2000267971A (ja) * 1999-03-17 2000-09-29 Sharp Corp オフライン表示機能付通信装置及び方法並びに記録媒体
US20020124011A1 (en) * 2001-03-01 2002-09-05 Baxter Robert W. Methods, systems, and computer program products for communicating with a controller using a database interface
JP2003345717A (ja) * 2002-05-24 2003-12-05 K-Plex Inc ウェブ・ドキュメントを再編集して再配布する方法及び装置
JP2004280203A (ja) * 2003-03-12 2004-10-07 Sony Corp Web対応電子機器装置、ページ閲覧表示方法およびプログラム
JP2006526837A (ja) * 2003-06-03 2006-11-24 株式会社Access ページ保存ファイルを用いてコンテンツを閲覧する方法
US20060005263A1 (en) * 2004-06-16 2006-01-05 Sxip Networks Srl Distributed contact information management
JP2006244485A (ja) * 2005-02-28 2006-09-14 Microsoft Corp 階層的に安全なストレージシステム内の発見可能性および列挙の機構
JP2010102453A (ja) * 2008-10-22 2010-05-06 Ntt Docomo Inc Webページ閲覧方法、情報処理装置およびWebページ閲覧プログラム
US20100257230A1 (en) * 2009-04-03 2010-10-07 Kroeger Robert J Architectural pattern for persistent web application design
JP2010244249A (ja) * 2009-04-03 2010-10-28 Visionere Corp メニュー表示装置、メニュー表示システム、サーバ、メニュー表示方法、及びコンピュータプログラム
JP2011164749A (ja) * 2010-02-05 2011-08-25 Kddi Corp Webアプリケーション高可用化装置及びWebアプリケーション高可用化方法
JP2012059133A (ja) * 2010-09-10 2012-03-22 Sharp Corp 端末装置、端末装置の制御方法、端末装置制御プログラム、および該プログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
EP3047402B1 (en) 2024-06-26
CN105706082B (zh) 2020-09-22
WO2015042512A1 (en) 2015-03-26
US10911592B2 (en) 2021-02-02
US20150087276A1 (en) 2015-03-26
US20170055102A1 (en) 2017-02-23
CN105706082A (zh) 2016-06-22
EP3047402A1 (en) 2016-07-27
US9456335B2 (en) 2016-09-27
JP6434964B2 (ja) 2018-12-05

Similar Documents

Publication Publication Date Title
US9122767B2 (en) Method and apparatus for pre-rendering expected system response
US8812546B1 (en) State management for user interfaces
KR101319792B1 (ko) 검색 결과의 효율적인 네비게이트 방법 및 시스템, 및 그를위한 컴퓨터 판독가능 매체
TWI450107B (zh) 用於網路資料使用平臺之方法及電腦可讀儲存媒體
JP5480892B2 (ja) Webページ対話に基づく広告提示
US7953722B2 (en) Query response service for business objects
US7788259B2 (en) Locating, viewing and interacting with information sources
US9569508B2 (en) Business process visualization
US20110289055A1 (en) Linked Databases
JP2006107436A5 (ja)
JPH11232218A (ja) オンラインドキュメンテーションおよびヘルプシステム
WO2012037566A1 (en) Method and apparatus for choosing resources based on context and inheritance
JP2010518514A (ja) 電子装置上でコンテンツを表示しナビゲートするためのシステム及び方法
CA2772662C (en) Knowledge base for service ticketing system
US9741060B2 (en) Recursive navigation in mobile CRM
JP6434964B2 (ja) オフライン可能なモデルグラフを定義するための方法およびシステム
EP2583191A2 (en) Sequential and non-sequential access to records within a list
JP6461926B2 (ja) オフライン可能なビュー/コントローラグラフを定義するための方法およびシステム
US7499928B2 (en) Obtaining and displaying information related to a selection within a hierarchical data structure
Merlin Improving the expressiveness of navigation task to evaluate users interest for pages
Freeman et al. Performing Data Operations

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170821

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181002

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181016

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181109

R150 Certificate of patent or registration of utility model

Ref document number: 6434964

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250