JP5528229B2 - 文書生成装置、文書生成システム、文書アップロード方法及びプログラム - Google Patents

文書生成装置、文書生成システム、文書アップロード方法及びプログラム Download PDF

Info

Publication number
JP5528229B2
JP5528229B2 JP2010143063A JP2010143063A JP5528229B2 JP 5528229 B2 JP5528229 B2 JP 5528229B2 JP 2010143063 A JP2010143063 A JP 2010143063A JP 2010143063 A JP2010143063 A JP 2010143063A JP 5528229 B2 JP5528229 B2 JP 5528229B2
Authority
JP
Japan
Prior art keywords
document
cloud platform
platform service
generated
uploaded
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.)
Expired - Fee Related
Application number
JP2010143063A
Other languages
English (en)
Other versions
JP2012008731A (ja
Inventor
雄一郎 佐藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2010143063A priority Critical patent/JP5528229B2/ja
Priority to EP11168959A priority patent/EP2400444A1/en
Priority to US13/157,096 priority patent/US8769041B2/en
Priority to KR1020110058439A priority patent/KR20110139649A/ko
Priority to CN2011101676003A priority patent/CN102394900A/zh
Publication of JP2012008731A publication Critical patent/JP2012008731A/ja
Application granted granted Critical
Publication of JP5528229B2 publication Critical patent/JP5528229B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Description

本発明は、文書生成装置、文書生成システム、文書アップロード方法及びプログラムに関する。
近年、サーバーコンピュータ側で業務データの管理や各種処理を行う形態として、クラウドコンピューティングシステムが普及し始めている。ユーザは、クライアントコンピュータのブラウザからインターネットを介してクラウドサーバコンピュータのWebページにアクセスし、このWebページ上で閲覧したい業務データを表示する。ユーザがこの業務データが表示された画面等から文書生成指示を行うと、クラウドサーバコンピュータによって文書生成サーバにリダイレクトされる。そして、ユーザは、クライアントコンピュータのブラウザに表示される文書生成サーバから返される画面にてフォームオーバレイに使用するフォームを選択する。フォームが選択されると、文書生成サーバが、クラウドサーバ上にあるデータを取得して文書を生成して、文書をブラウザへダウンロード、或いはクラウドサーバにアップロードする。
ここで、文書生成サーバは、多数のクライアントコンピュータからのリクエストを並行して同時に処理する必要がある。
同時に多数の文書をクラウドサーバにアップロードする方法には、接続残数を超える接続があった場合、再試行間隔時間だけ待ち、再試行回数を超えるまで、又は処理完了までアップロード処理を繰り返すというものがある(特許文献1参照。)。
特開平9−167129号公報
クラウドプラットフォームサービスでは、ファイルをアップロードする際のデータ送信方式が定められている。サービスによっては、処理に大量のメモリが必要となる方式が指定されている場合がある。例えばBase64方式エンコードの場合は、アルゴリズム上、生成ファイルサイズ以上のメモリが必要となる。
一方、クラウドプラットフォームサービスへファイルをアップロードする文書生成サーバがクラウドサービスとして提供されている場合、同時に大量のアクセスを受ける可能性がある。この際、文書生成サーバのリソース(メモリ量)は限られているため、クラウドプラットフォームサービスへのデータアップロード処理が同時に行われた場合、メモリを大量に消費し、文書生成サービス全体のパフォーマンス劣化を招いてしまう問題があった。
本発明はこのような問題点に鑑みなされたもので、文書のアップロード処理にかかるメモリ使用量を抑制することを目的とする。
そこで、本発明の、文書を生成し、生成した文書を、ネットワークを介してクラウドプラットフォームサービスへアップロードする文書生成装置は、クライアント装置からの文書生成の要求に応じて文書を生成した場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能か否かを判定し、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能と判定した場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロードし、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能でないと判定した場合、前記生成した文書と、前記クラウドプラットフォームサービスを示すリダイレクト先情報と、を前記クライアント装置に送信する制御手段を有する。
本発明によれば、文書のアップロード処理にかかるメモリ使用量を抑制することができる。
文書生成システムのシステム構成の一例を示す図である。 図1のクライアント装置、クラウドプラットフォームサービス、文書生成サーバのハードウェア構成の一例を示す図である。 文書生成システムのソフトウェア構成の概要を説明するための図である。 クラウドプラットフォームサービス上で動作するソフトウェアモジュールの構成の一例を示す図である。 文書生成サーバのWebサーバ上で動作するソフトウェアモジュールの構成の一例を示す図である。 文書生成サーバの文書生成サービス上で動作するソフトウェアモジュールの構成の一例を示す図である。 クライアント装置のWebブラウザから、クラウドプラットフォームサービスにアクセスして業務データを表示した場合の業務画面の一例を示す図である。 クラウドプラットフォームサービスのデータ管理部が保持する業務データのうち、商談に関するデータのテーブル構造の一例を示す図である。 クラウドプラットフォームサービスの設定管理部で保持するカスタムボタンの定義情報の例を示す図である。 Webサーバのフォーム情報管理部が保持するフォーム情報テーブルのテーブル構造の一例を示す図である。 クライアント装置のWebブラウザで表示する画面遷移の一例を示した図である。 文書生成システムが行う処理の一例を示す図である。 実施形態1の、図12のS1210からS1217までの、Webサーバにおける文書生成処理の一例を示すフローチャートである。 図12のS1210からS1219までの、Webブラウザにおける文書アップロード処理の一例を示すフローチャートである。 実施形態2の、図12のS1210からS1217までの、Webサーバにおける文書生成処理の一例を示すフローチャートである。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、文書生成システムのシステム構成の一例を示す図である。
クライアント装置101は、後述するクラウドプラットフォームサービス102及び後述する文書生成サーバ103に対してリクエストを発行する。クラウドプラットフォームサービス102は、クライアント装置101や文書生成サーバ103からのリクエストに応じて、保持するデータの表示・更新等を行う。文書生成サーバ103は、クライアント装置101からリクエストを受信して文書生成を行う。
また、上記各構成要素はネットワーク100により通信可能に接続されている。ネットワークは、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATMやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等の何れかである。又は、ネットワークは、これらの組み合わせにより実現される、所謂、通信ネットワークである。
ネットワークは、データの送受信が可能であればどのようなものであってもよい。
クライアント装置101からクラウドプラットフォームサービス102、文書生成サーバ103への通信手段、文書生成サーバ103からクラウドプラットフォームサービス102への通信手段、及び各サーバ間の通信手段が異なっていてもよい。
図2は、図1のクライアント装置101、クラウドプラットフォームサービス102、文書生成サーバ103のハードウェア構成の一例を示す図である。CPU201は、内部バスで接続される各デバイス(後述のROM、RAM他)を直接或いは間接的に制御し、本実施形態を実現するためのプログラムを実行する。ROM202は、BIOSを格納する。RAM203は、CPU201のワーク領域として利用されたり、本実施形態を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりする直接記憶装置である。HDD204は、基本ソフトウェアであるOSやソフトウェアモジュールが記憶されている間接記憶装置である。HDD204は、SSD(ソリッドステートドライブ)等であってもよい。入力装置205は、不図示のキーボードやポインティングデバイス等である。出力装置206には、ディスプレイが接続される。I/F207は、ネットワーク100に接続するためのI/Fである。
これらハードウェアでは、起動後、CPU201によりBIOSが実行されOSがHDD204からRAM203に実行可能にロードされる。CPU201はOSの動作に従って後述する各種ソフトウェアモジュールをHDD204からRAM203に随時、実行可能にロードする。各種ソフトウェアモジュールは上記各デバイスの協調によりCPU201によって実行され動作する。また、I/F207は、ネットワーク100に接続されており、OSの動作に従ってCPU201により制御され、上述した通信手段による通信を実現している。
つまり、CPU201が、HDD204等に記憶されたプログラムに基づき処理を実行することによって、後述するソフトウェアモジュール、及び後述するフローチャート等にかかる処理が実現される。
なお、クラウドプラットフォームサービス102、及び文書生成サーバ103の場合、入力装置205や出力装置206は、必須のハードウェア構成ではない。
図3は、文書生成システムのソフトウェア構成の概要を説明するための図である。
クライアント装置101は、ユーザインタフェースアプリケーションとしてWebブラウザ301を備えている。例えば、Webブラウザ301は、文書表示制御手段の一例である。
クラウドプラットフォームサービス102は、クラウドプラットフォームサービスを使用するユーザの管理や、業務データ、後述する文書生成サーバ103へのリダイレクトを行うための設定を管理する。
また、クラウドプラットフォームサービス102は、複数の企業・組織から使用されることが前提であり(一般的にマルチテナントと呼ばれる)、使用する企業・組織毎に前述のユーザ管理、業務データ管理等が行われる。
文書生成サーバ103は、Webサーバ303、及び、文書生成サービス304を備える。
Webサーバ303は、所謂、Webアプリケーションの機能を有するよう構成されている。クライアント装置101は、Webブラウザ301を介してWebサーバ303にアクセスすることができる。
Webサーバ303は、Webブラウザ301からのリクエストに対してユーザインタフェース情報を返答する。Webブラウザ301は、Webサーバ303から得られたユーザインタフェース情報をレンダリングし、表示する。
表示されたユーザインタフェース情報には、例えば、後述する文書生成サーバ103が管理するフォームの一覧や、文書生成をリクエストするためのインタフェース等が含まれている。
また、Webサーバ303は、Webブラウザ301から文書生成リクエストを受信すると、クラウドプラットフォームサービス102から業務データを取得し、前記業務データと共に文書生成サービス304に対して文書生成のリクエストを送信する。
文書生成サービス304は、受信したデータと自身で管理するフォームとを使用してオーバレイ処理を行い、文書データを生成する。
図4は、クラウドプラットフォームサービス102上で動作するソフトウェアモジュールの構成の一例を示す図である。なお、各ソフトウェアモジュールは図2で示したHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
クラウドプラットフォームサービス102は、以下で構成される。
送受信部401は、クライアント装置101のWebブラウザ301や文書生成サーバ103のWebサーバ303との通信を処理する。
制御部402は、送受信部401が受け付けたリクエストに従って処理を実行する。
ページ生成部403は、Webブラウザ301にレスポンスを返すためのWebページを生成する。
認証部405は、ログイン要求してきたユーザを認証する。
セッション管理部404は、認証部405にて認証に成功したユーザのセッション情報を管理する。
データ管理部406は、業務データをDB408に保持し要求に応じてDB408から業務データの取得、或いは業務データの更新を行う。
設定管理部407は、文書生成サーバ103へのリダイレクトを行うための設定を保持する。
クラウドプラットフォームサービス102はこれら各構成要素の協調により、後述する処理を実行する。
また、図中、DB408は、管理ユーザデータや業務データを格納するDBであり、図2で示したHDD204に記憶されている。
管理ユーザデータや業務データは、企業・組織(以降、組織と表記)毎に管理される。各組織には組織IDが自動的に割り当てられ、組織IDと共に各データが管理される。認証部405は、ユーザ認証時、ユーザが所属する組織の組織IDを取得しセッション管理部404に保存する。以降のデータ取得等の処理は組織IDを基に行われ、組織IDの一致するデータのみを参照することが可能となる。
また、DB408には、文書生成サーバ103へのリダイレクトを行うための設定も格納される。DB408に格納された業務データや文書生成サーバ103へリダイレクトを行うための設定は、Webブラウザ301を介して、ユーザ(管理者)により任意のタイミングで設定更新が行われる。
図5は、文書生成サーバ103のWebサーバ303上で動作するソフトウェアモジュールの構成の一例を示す図である。
なお、各ソフトウェアモジュールは図2で示したHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
Webサーバ303は、以下で構成される。
送受信部501は、クライアント装置101のWebブラウザ301やクラウドプラットフォームサービス102、文書生成サービス304との通信を処理する。制御部502は、受け付けたリクエストに従って処理を実行する。更に制御部502は、文書生成サーバ103からクラウドプラットフォームサービス102への最大同時アップロード数を保持する。
制御部502は、最大同時アップロード数と現在実行中の文書アップロード処理数とを比較することで文書のアップロード方法の切り替え処理を行う。
ページ生成部503は、Webブラウザ301にレスポンスを返すためのWebページを生成する。
データアクセス部504は、クラウドプラットフォームサービス102にアクセスして業務データを取得する。
フォーム情報管理部505は、後述のフォーム情報テーブルを管理する。
セッション管理部506は、Webブラウザ301のセッション情報を管理する。
Webサーバ303はこれら各構成要素の協調により、後述する処理を実行する。
図6は、文書生成サーバ103の文書生成サービス304上で動作するソフトウェアモジュールの構成の一例を示す図である。
なお、各ソフトウェアモジュールは図2で示したHDD204に記憶されており、前述したようにCPU201によってRAM203にロードされ実行される。
文書生成サービス304は、以下で構成される。
要求受信部601は、Webサーバ303からの文書生成リクエストを受け付ける。制御部602は、受け付けたリクエストに従って処理を実行する。フォーム管理部603は、フォームデータを管理する。文書生成部604は、Webサーバ303から送信された業務データとフォームを使用してオーバレイ処理を行い、文書データを生成する。文書送信部605は、生成された文書データをWebサーバ303又はクライアント装置101に送信する。
図7は、クライアント装置101のWebブラウザ301から、クラウドプラットフォームサービス102にアクセスして業務データを表示した場合の業務画面701の一例を示す図である。なお、図7の状態は、ユーザがクラウドプラットフォームサービス102にログイン済の状態である。業務画面701には、あるレコードの詳細情報702や商品703が表示されている。図7では、商談に関する業務画面の商談レコードの詳細が表示されている。また、文書生成サーバ103へリダイレクトを行うための設定がなされたカスタムボタン704が表示されている。カスタムボタン704は、ボタン押下時の動作や、どの画面に表示するか、等を任意に設定可能で、ユーザ(管理者)によって画面に配置される。
図8は、クラウドプラットフォームサービス102のデータ管理部406が保持する業務データのうち、商談に関するデータのテーブル構造の一例を示す図である。
業務データは、データテーブル800で管理され、商談テーブル801、及び、商品テーブル811によって構成されている。
商談テーブル801は、レコードの識別子であるレコードID802、レコードをユーザが容易に区別するために任意の名前を設定可能な商談名803で構成される。
商品テーブル811は、商談レコードID812、商品テーブルのレコードの識別子であるレコードID813、品名814、数量815、価格816から構成される。また、商談レコードID812は、商談テーブルのレコードID802とリレーションしている。
図9は、クラウドプラットフォームサービス102の設定管理部407で保持するカスタムボタンの定義情報の例を示す図である。
図9では、カスタムボタンが「商談」画面と「顧客」画面と、に定義されており、「商談」画面に表示するカスタムボタンの設定情報には、ボタン表示名903、及び、文書生成サーバ103へリダイレクトを行うためのパラメータ情報が格納されている。
文書生成サーバURI904は、文書生成サーバ103のURIを「http://〜」の形式で指定したパラメータである。セッションID905は、ログインしたユーザのセッションIDを取得して文字列「sid=<セッションID>」をURLパラメータに付加する設定である。CPS_URL(以下、CPSURL)906は、文書生成サーバ103がクラウドプラットフォームサービス102にアクセスするためのURLを文字列「srv_url=<クラウドプラットフォームサービスURL>」としてURLパラメータに付加する設定である。例えば、クラウドプラットフォームサービスのURL(CPSURL)は、クラウドプラットフォームサービスを示すリダイレクト先情報の一例である。
クラウドプラットフォームサービス102にアクセスするためのURLは、組織毎に固有であり、ユーザ認証時に、制御部502が、ユーザが所属する組織に応じたURLを取得してセッション管理部404に保存する。
組織ID907は、ログインしたユーザの組織IDを取得して文字列「orgid=<組織ID>」をURLパラメータに付加する設定である。レコードID908は、画面に表示した商談レコードのレコードID1202を取得して文字列「recid=<レコードID>」をURLパラメータに付加する設定である。
図10は、Webサーバ303のフォーム情報管理部505が保持するフォーム情報テーブルのテーブル構造の一例を示す図である。
フォーム情報テーブル1001のフォーム情報レコードは、以下で構成される。
組織ID1003は、前記レコードの所有者である組織を識別する。表示名1004は、フォーム選択画面に表示する名称である。フォームファイル名1005は、文書生成サービス304のフォーム管理部603で管理されているフォームのファイル名である。クエリコマンド1006は、クラウドプラットフォームサービス102からデータを取得するためのクエリを記述したコマンドである。
図11は、図1の文書生成システムにおけるクライアント装置101のWebブラウザ301で表示する画面遷移の一例を示した図である。
なお、以降の図では、クラウドプラットフォームサービスをCPSと略して表記している。
業務画面1101は、クラウドプラットフォームサービス102が作成し、クライアント装置101に返す画面であり、例えば、図7の業務画面701が表示される。
文書生成ボタン1102は、クラウドプラットフォームサービス102へ文書生成リクエストを発行するボタンである。
クラウドプラットフォームサービス102は、文書生成ボタン2002が押下されると、文書生成サーバ103へリダイレクトするURLを返却する。
クライアント装置101のWebブラウザ301は、リダイレクトするURLを受けるとこのURLに従った文書生成サーバ103へリダイレクトする。
リダイレクトでリクエストを受けた文書生成サーバ103は、フォーム選択画面1103をクライアント装置101のWebブラウザ301に返す。
フォーム選択画面1103は文書生成に使用するフォームを選択するフォーム選択1104を備える。
更にフォーム選択画面1103は、文書生成サーバ103で作成した文書をクラウドプラットフォームサービス102にアップロードするか、クライアント装置101のWebブラウザ301にダウンロードするかを選択可能な出力方式選択1105を備える。
また、ユーザから文書生成ボタン1106の選択を受けたクライアント装置101のWebブラウザ301は、フォーム選択1104と出力方式選択1105の選択結果を文書生成サーバ103に送信する。これらの情報を受け取った文書生成サーバ103は、業務画面1101の業務データをクラウドプラットフォームサービス102から取得する。データ取得中画面1107は、文書生成サーバ103がクラウドプラットフォームサービス102から業務データを取得中の間、クライアント装置101のWebブラウザ301に表示される。文書生成サーバ103がクラウドプラットフォームサービス102からの業務データ取得が完了すると、文書生成サーバ103は、取得したデータを確認可能なデータ確認画面1108をクライアント装置101のWebブラウザ301に返す。ユーザから作成ボタン1109の選択を受けたクライアント装置101のWebブラウザ301は、文書生成サーバ103に文書生成リクエストを送信する。文書生成リクエストを受けた文書生成サーバ103は、選択されたフォームとクラウドプラットフォームサービス102から取得した業務データを使用して文書生成処理を行う。そして、選択された出力方式に従って、文書をクラウドプラットフォームサービス102にアップロードするか、クライアント装置101のWebブラウザ301にダウンロードする。
選択された出力方式がアップロードであった場合、文書生成サーバ103は現在実行中のアップロード処理数を取得する。
アップロード処理数が最大同時アップロード実行数に等しい場合、クラウドプラットフォームサービス102へリダイレクトするURL、文書、アップロードプログラム、アップロード中画面1110及び完了画面1111をクライアント装置101に返す。
クライアント装置101のWebブラウザ301は、アップロード中画面を表示し、更に、リダイレクトするURLとアップロードプログラムとにより、受け取った文書をクラウドプラットフォームサービス102へアップロードする。
文書のアップロードが完了すると、クライアント装置101のWebブラウザ301は完了画面1111を表示する。
図12は、文書生成システムが行う処理の一例を示す図である。なお、ユーザは、不図示のログイン画面にてクラウドプラットフォームサービス102にログイン済とし、Webブラウザ301には図7の業務画面701が表示されており、カスタムボタン704は、予め、図9の設定がなされているものとする。
はじめ、ユーザによりクライアント装置101のWebブラウザ301に表示された業務画面701のカスタムボタン704が押下される(S1201)と、クラウドプラットフォームサービス102では、S1202においてリダイレクトURL作成処理を行う。
S1202において、制御部402は、カスタムボタンに設定された文書生成サーバURI904、セッションID905、CPSURL906、組織ID907及びレコードID908を取得し、これら取得したパラメータからリダイレクトURLを生成する。そして、制御部402は、リダイレクトさせるためのレスポンスをWebブラウザ301に返す。
S1203で、Webブラウザ301は、クラウドプラットフォームサービス102から返されたレスポンスを受信すると、セッションID905、CPSURL906、組織ID907、レコードID908を文書生成サーバ103に送信する。
S1204で、Webサーバ303は、Webブラウザ301からのリダイレクトを受信する。すると、まず制御部502は、セッションID905、CPSURL906、組織ID907及びレコードID908をセッション管理部506に保存する。
次に、制御部502は、フォーム情報レコード1002に含まれるフォームの表示名1004のリストをフォーム情報管理部505から取得し、フォームの表示名1004のリストからフォーム選択画面1103を作成し、クライアント装置101に送る。
S1205では、ユーザによりフォーム選択画面1103のフォーム選択1104からフォームと出力方式選択1105から出力方式とが選択され、文書の作成ボタンが押下される。すると、Webブラウザ301は、Webサーバ303に対して選択されたフォームと選択された出力方式と共に文書生成リクエストを送信する。
S1206にてWebサーバ303が文書生成リクエストを受信すると、文書生成サーバ103はフォーム選択1104で指定されたフォームに一致するクエリコマンド1006を発行し、クラウドプラットフォームサービス102にデータ取得リクエストを行う。
この際、クラウドプラットフォームサービス102のURL及び取得データの内容は、セッション管理部506に保存されているCPSURL906及び組織ID907、レコードID908がそれぞれ使用される。次に、S1207においてクラウドプラットフォームサービス102は、データ取得中画面1107を作成し、Webブラウザ301に送る。
Webブラウザ301は、定期的にS1208でデータ取得完了確認リクエストを文書生成サーバ103に送信する。文書生成サーバ103のWebサーバ303は、クラウドプラットフォームサービス102からデータ取得のレスポンスが返るまで、S1207と同様のデータ取得中画面1107をWebブラウザ301に送る。
次に、クラウドプラットフォームサービス102からデータ取得のレスポンスが文書生成サーバ103に返る。
Webサーバ303の制御部502は、取得データをセッション管理部506へ保存する。
その後にWebブラウザ301からデータ取得完了の確認リクエストが送られてくると、Webサーバ303は、クラウドプラットフォームサービス102から取得したデータでデータ確認画面1108を生成し、Webブラウザ301へ返す(S1209)。
S1209でWebブラウザ301に返されたデータ確認画面1108にて、ユーザにより作成ボタンが押下されると、Webブラウザ301より、Webサーバ303に対して、文書生成リクエストが送信される(S1210)。
S1210において、Webサーバ303が文書生成リクエストを受信すると、後述の文書生成処理を行う。
図13は、実施形態1の、図12のS1210からS1217までの、Webサーバ303における文書生成処理の一例を示すフローチャートである。
制御部502は、Webブラウザ301からの文書生成リクエストを受信する(S1301)と、S1302において、セッション管理部506を介してセッションが有効かを判定する。
セッションが有効と判定された場合、制御部502は、S1304において、セッション管理部506から取得データ、フォームファイル名1005、出力方式を取得する。
次に、制御部502は、S1305において、前記取得データ及びフォームファイル名1005と共に、文書生成サービス304に対して文書生成要求を行う(図12のS1211)。
次に、制御部502は、S1306にて、文書生成サービス304からのレスポンス(図12のS1212)を取得し、文書生成が成功したかを判定する。文書生成が成功したと判定された場合、制御部502は、前記出力方式の値を判定し(S1307)する。
S1307において、前記出力方式でダウンロードが指定されている場合、制御部502は、S1308で、文書生成サービス304からのレスポンスに含まれる文書を取得して、前記文書をWebブラウザ301に送信する。
前記出力方式でアップロードが指定されている場合、制御部502は、S1309において文書生成サーバ103からクラウドプラットフォームサービス102への最大同時アップロード数と現在実行中のアップロード処理数とを取得する(図12のS1213)。
S1510において、制御部502は、生成された文書をクラウドプラットフォームサービス102へアップロード可能か否かを判定する。より具体的に説明すると、制御部502は、現在実行中のアップロード処理数が、最大同時アップロード数未満か否かを判定する(図12のS1214)。
現在実行中のアップロード処理数が最大同時アップロード数と等しい場合(S1310のNO)、制御部502は、S1313にて以下を取得する。
つまり、制御部502は、文書生成サービス304からのレスポンスに含まれる文書、CPSURL906、アップロード中画面1110、完了画面1111を取得する。
更に制御部502は、Webブラウザ301が前記文書をクラウドプラットフォームサービス102へアップロードするためのアップロードプログラムを生成する。
CPSURL906及び前記アップロードプログラムは、Webブラウザ301が解釈し実行できるJavaScriptのプログラムとして、アップロード中画面1110に埋め込まれる。
そして、制御部502は、文書生成サービス304からのレスポンスに含まれる文書、CPSURL906、アップロード中画面1110、完了画面1111、アップロードプログラムをWebブラウザ301に送信する(図12のS1217)。
S1310において、現在の同時アップロード数が最大同時アップロード数未満だった場合(S1310のYES)、制御部502は、S1311を実行する。S1311において、制御部502は、文書生成サービス304からのレスポンスに含まれる文書を取得して、前記文書をクラウドプラットフォームサービス102にアップロードする(図12のS1215)。
S1312において、クラウドプラットフォームサービス102からアップロード完了のレスポンスを受信すると、制御部502は、完了画面1111を生成するようページ生成部503に要求する。ページ生成部503は、完了画面1111を生成し、制御部502は、完了画面1111をWebブラウザ301に送信する(図12のS1216)。
S1302において、有効なセッションでないと判定された場合(S1302のNO)や、S1306において文書生成が成功したと判定された場合(S1306のNO)、制御部502は、エラー画面を生成するようページ生成部503に要求する。ページ生成部503は、エラー画面を生成し、制御部502は、エラー画面をWebブラウザ301に送信する。以上の処理により、Webサーバ303は、文書生成処理を実行する。
なお、文書生成サーバ103の文書生成サービス304における文書生成処理(フォームを使用したオーバレイ処理)は既知であるため、本実施形態では説明を割愛する。
また、本実施形態の文書生成処理では、文書生成サービス304の文書生成処理が完了してからWebブラウザ301にレスポンスを返している。しかし、データ取得処理の場合と同様に、一旦、文書作成中を示す画面をWebブラウザ301に返してオートリダイレクトさせるようにするようにしてもよい。
また、本実施形態の文書生成処理では、制御部502に文書生成サーバ103からクラウドプラットフォームサービス102への最大同時アップロード数を備え、実行中のアップロード処理数との比較により、文書のアップロード方法を切り替えている。
しかし、実行中のアップロード処理数だけでなく、文書生成サーバ103の空きメモリ量が制御部502に備えた閾値以上か否かで文書のアップロード方法を切り替える等、本実施形態の効果を奏することができるのであれば、どのような方法でもよい。制御部502は、文書生成サーバ103の空きメモリ量と、閾値と、を比較し、前記空きメモリ量が閾値以上の場合は、前記生成した文書をクラウドプラットフォームサービス102へアップロード可能と判定する。また、制御部502は、前記空きメモリ量が閾値未満の場合は、前記生成した文書をクラウドプラットフォームサービス102へアップロード可能でないと判定する。
図14は、図12のS1210からS1219までの、Webブラウザ301における文書アップロード処理の一例を示すフローチャートである。
S1401において、ユーザによってデータ確認画面1108に含まれる作成ボタン1109を押下されると、Webブラウザ301は、Webサーバ303に文書生成リクエストを送信する(図12のS1216)。
次にステップS1402において、Webブラウザ301は、Webサーバ303からのレスポンスの確認を行う。Webサーバ303からのレスポンスが確認されると、Webブラウザ301は、S1403において、受信したレスポンスの内容を確認する。
レスポンスの内容が文書のみだった場合(図12のS1216)、ステップS1408にて、Webブラウザ301は、受信した文書をクライアント装置101の出力装置206であるディスプレイ等に表示し、文書のプレビューを行う。
レスポンスの内容に文書以外も含まれていた場合(図12のS1217)、S1405において、Webブラウザ301は、レスポンスに含まれるアップロード中画面1110をディスプレイに表示する。
次にS1406にてWebブラウザ301は、アップロード中画面1110に含まれるCPSURL906及びアップロードプログラムより、クラウドプラットフォームサービス102に文書のアップロードを行う(図12の1218)。
文書のアップロードが完了すると、Webブラウザ301は、S1407において、レスポンスに含まれる完了画面1111を表示する(図12のS1219)。
以上により、Webブラウザ301からの文書アップロード処理が行われる。
<実施形態2>
実施形態1では、実行中のアップロード処理数が最大同時アップロード数以上であった場合に、直ちにWebブラウザ301へ文書を送信し、Webブラウザ301からクラウドプラットフォームサービス102へ文書のアップロードを行っていた。
本実施形態では、実行中のアップロード処理数が最大同時アップロード数以上であった場合に、直ぐにWebブラウザ301に文書を送信せず、一定時間待機する方法を説明する。
以下、実施形態1で記載済みの内容については説明を省略する。
図5のWebサーバ303において、制御部502は、最大待機時間を更に保持する。
図15は、実施形態2の、図12のS1210からS1217までの、Webサーバ303における文書生成処理の一例を示すフローチャートである。
S1501からS1509までの処理は、それぞれ図13のS1301からS1309までと同様のため、説明を割愛する。
S1510において、制御部502は、現在実行中のアップロード処理数が最大同時アップロード数と等しい場合(S1510のNO)、S1513にて、現在の待機時間を確認する。
待機時間が、予め定められた最大待機時間未満であった場合(S1513のNO)、ステップS1514において、制御部502は、文書のアップロード処理を一定時間待機する。待機する時間は、最大待機時間未満であれば、その時間を問わない。
また、待機時間が、前記最大待機時間以上だった場合(S1513のYES)、制御部502は、S1515にて、文書生成サービス304からのレスポンスに含まれる文書、CPSURL906、アップロード中画面1110、完了画面1111を取得する。
更に、制御部502は、Webブラウザ301が前記文書をクラウドプラットフォームサービス102へアップロードするためのアップロードプログラムを生成する。
CPSURL906及び前記アップロードプログラムは、Webブラウザ301が解釈し実行できるJavaScriptのプログラムとして、アップロード中画面1110に埋め込まれる。
そして、制御部502は、文書生成サービス304からのレスポンスに含まれる文書、CPSURL906、アップロード中画面1110、完了画面1111、アップロードプログラムをWebブラウザ301に送信する(図12のS1217)。
S1510において、現在の同時アップロード数が最大同時アップロード数未満だった場合(S1510のYES)、制御部502は、S1511を実行する。S1511において、制御部502は、文書生成サービス304からのレスポンスに含まれる文書を取得して、前記文書をクラウドプラットフォームサービス102にアップロードする(図12のS1215)。
次に、S1512において、クラウドプラットフォームサービス102からアップロード完了のレスポンスを受信すると、制御部502は、完了画面1111を生成するようページ生成部503に要求する。ページ生成部503は、完了画面1111を生成し、制御部502は、完了画面1111をWebブラウザ301に送信する(図12のS1216)。
なお、Webサーバ303は、Webブラウザ301とのセッションの中でクライアント装置のタイプを取得し、クライアント装置のタイプに応じて、文書をWebブラウザ301に送信するか否かを判断するようにしてもよい。ここで、クライアント装置のタイプとは、例えば、クライアント装置の製品名、又は種類、又はバージョン等である。
より具体的に説明すると、例えば、Webサーバ303は、S1510でNOと進んだ後に、通信相手のクライアント装置のタイプが、メモリ等が少ない予め定められたクライアント装置のタイプであるか否かを判定する。Webサーバ303は、通信相手のクライアント装置のタイプが、メモリ等が少ない予め定められたクライアント装置のタイプである場合、S1513に進む。一方、Webサーバ303は、通信相手のクライアント装置のタイプが、メモリ等が少ない予め定められたクライアント装置のタイプでない場合、S1515に進む。
このような構成とすることによって、メモリ等が少ないクライアント装置に負荷をかけることなく、文書のアップロード処理にかかる文書生成サーバのメモリ使用量を抑制することができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、文書のアップロード処理にかかる文書生成サーバのメモリ使用量を抑制することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

Claims (9)

  1. 文書を生成し、生成した文書を、ネットワークを介してクラウドプラットフォームサービスへアップロードする文書生成装置であって、
    クライアント装置からの文書生成の要求に応じて文書を生成した場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能か否かを判定し、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能と判定した場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロードし、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能でないと判定した場合、前記生成した文書と、前記クラウドプラットフォームサービスを示すリダイレクト先情報と、を前記クライアント装置に送信する制御手段を有する文書生成装置。
  2. 前記制御手段は、現在のアップロード処理数と、最大同時アップロード数と、を比較し、現在のアップロード処理数が最大同時アップロード数未満の場合は、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能と判定し、現在のアップロード処理数が最大同時アップロード数未満でない場合は、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能でないと判定する請求項1記載の文書生成装置。
  3. 前記制御手段は、文書生成装置の空きメモリ量と、閾値と、を比較し、前記空きメモリ量が閾値以上の場合は、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能と判定し、前記空きメモリ量が閾値未満の場合は、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能でないと判定する請求項1記載の文書生成装置。
  4. 前記制御手段は、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能でないと判定した場合、予め定められた待機時間の間、前記判定を繰り返す請求項1乃至3何れか1項記載の文書生成装置。
  5. 文書を生成し、生成した文書を、ネットワークを介してクラウドプラットフォームサービスへアップロードする文書生成装置と、文書生成を要求するクライアント装置と、を含む文書生成システムであって、
    前記文書生成装置は、クライアント装置からの文書生成の要求に応じて文書を生成した場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能か否かを判定し、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能と判定した場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロードし、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能でないと判定した場合、前記生成した文書と、前記クラウドプラットフォームサービスを示すリダイレクト先情報と、を前記クライアント装置に送信する制御手段を有し、
    前記クライアント装置は、前記文書生成装置より、前記文書と、前記リダイレクト先情報と、を受信すると、前記文書を前記リダイレクト先情報が示す前記クラウドプラットフォームサービスへアップロードする文書表示制御手段を有する文書生成システム。
  6. 前記制御手段は、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能でないと判定した場合、前記生成した文書と、前記クラウドプラットフォームサービスを示すリダイレクト先情報と、前記生成した文書を前記リダイレクト先情報が示す前記クラウドプラットフォームサービスへアップロードするためのアップロードプログラムと、を前記クライアント装置に送信し、
    前記文書表示制御手段は、前記文書生成装置より、文書と、リダイレクト先情報と、前記プログラムと、を受信すると、前記アップロードプログラムを解釈、実行し、前記文書を前記リダイレクト先情報が示す前記クラウドプラットフォームサービスへアップロードする請求項5記載の文書生成システム。
  7. 文書を生成し、生成した文書を、ネットワークを介してクラウドプラットフォームサービスへアップロードする文書生成装置が実行する文書アップロード方法であって、
    クライアント装置からの文書生成の要求に応じて文書を生成した場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能か否かを判定するステップと、
    前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能と判定された場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロードするステップと、
    前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能でないと判定された場合、前記生成した文書と、前記クラウドプラットフォームサービスを示すリダイレクト先情報と、を前記クライアント装置に送信するステップと、
    を含む文書アップロード方法。
  8. 文書を生成し、生成した文書を、ネットワークを介してクラウドプラットフォームサービスへアップロードする文書生成装置と、文書生成を要求するクライアント装置と、を含む文書生成システムにおける文書アップロード方法であって、
    前記文書生成装置が、クライアント装置からの文書生成の要求に応じて文書を生成した場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能か否かを判定し、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能と判定した場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロードし、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能でないと判定した場合、前記生成した文書と、前記クラウドプラットフォームサービスを示すリダイレクト先情報と、を前記クライアント装置に送信し、
    前記クライアント装置が、前記文書生成装置より、前記文書と、前記リダイレクト先情報と、を受信すると、前記文書を前記リダイレクト先情報が示す前記クラウドプラットフォームサービスへアップロードする文書アップロード方法。
  9. 文書を生成し、生成した文書を、ネットワークを介してクラウドプラットフォームサービスへアップロードするコンピュータに、
    クライアント装置からの文書生成の要求に応じて文書を生成した場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能か否かを判定するステップと、
    前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能と判定された場合、前記生成した文書を前記クラウドプラットフォームサービスへアップロードするステップと、
    前記生成した文書を前記クラウドプラットフォームサービスへアップロード可能でないと判定された場合、前記生成した文書と、前記クラウドプラットフォームサービスを示すリダイレクト先情報と、を前記クライアント装置に送信するステップと、
    を実行させるプログラム。
JP2010143063A 2010-06-23 2010-06-23 文書生成装置、文書生成システム、文書アップロード方法及びプログラム Expired - Fee Related JP5528229B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2010143063A JP5528229B2 (ja) 2010-06-23 2010-06-23 文書生成装置、文書生成システム、文書アップロード方法及びプログラム
EP11168959A EP2400444A1 (en) 2010-06-23 2011-06-07 Document generation apparatus, document generation system, document upload method, and program
US13/157,096 US8769041B2 (en) 2010-06-23 2011-06-09 Document generation apparatus, document generation system, document upload method, and storage medium
KR1020110058439A KR20110139649A (ko) 2010-06-23 2011-06-16 문서 생성 장치, 문서 생성 시스템, 문서 업로드 방법 및 기억 매체
CN2011101676003A CN102394900A (zh) 2010-06-23 2011-06-20 文档生成装置、文档生成系统及文档上传方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010143063A JP5528229B2 (ja) 2010-06-23 2010-06-23 文書生成装置、文書生成システム、文書アップロード方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2012008731A JP2012008731A (ja) 2012-01-12
JP5528229B2 true JP5528229B2 (ja) 2014-06-25

Family

ID=44690290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010143063A Expired - Fee Related JP5528229B2 (ja) 2010-06-23 2010-06-23 文書生成装置、文書生成システム、文書アップロード方法及びプログラム

Country Status (5)

Country Link
US (1) US8769041B2 (ja)
EP (1) EP2400444A1 (ja)
JP (1) JP5528229B2 (ja)
KR (1) KR20110139649A (ja)
CN (1) CN102394900A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US8694964B1 (en) * 2011-03-23 2014-04-08 Google Inc. Managing code samples in documentation
US9369504B1 (en) * 2011-10-31 2016-06-14 Rollapp, Inc. Enabling seamless remote access to online applications through a web server
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US9171099B2 (en) * 2012-01-26 2015-10-27 Microsoft Technology Licensing, Llc System and method for providing calculation web services for online documents
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
JP6482204B2 (ja) * 2014-08-08 2019-03-13 キヤノン株式会社 情報処理端末、その制御方法及びプログラム
CN106682028B (zh) * 2015-11-10 2021-01-26 阿里巴巴集团控股有限公司 获取网页应用的方法、装置及系统
CN110100251B (zh) * 2016-12-30 2021-08-20 华为技术有限公司 用于处理文档的设备、方法和计算机可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09167129A (ja) 1995-12-19 1997-06-24 Fuji Xerox Co Ltd ネットワークシステム
JPH1165960A (ja) * 1997-08-27 1999-03-09 Matsushita Electric Ind Co Ltd ディレクトリ管理を用いたメッセージサーバ装置
US6823365B1 (en) * 2000-08-14 2004-11-23 Hewlett-Packard Development Company, L.P. Method and apparatus for redirection of data when electronic mail is restricted
US8417745B2 (en) * 2004-04-27 2013-04-09 American Express Travel Related Services Company, Inc. System and method for file services
CN1645395A (zh) 2005-02-22 2005-07-27 中国科学院计算技术研究所 在电子邮件流中发现用户兴趣并据此有效推送文档的方法
US20070174246A1 (en) * 2006-01-25 2007-07-26 Sigurdsson Johann T Multiple client search method and system
US8996647B2 (en) * 2010-06-09 2015-03-31 International Business Machines Corporation Optimizing storage between mobile devices and cloud storage providers
US20120005307A1 (en) * 2010-06-30 2012-01-05 Abhik Das Storage virtualization
US8549229B2 (en) * 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system

Also Published As

Publication number Publication date
EP2400444A1 (en) 2011-12-28
US20110320561A1 (en) 2011-12-29
JP2012008731A (ja) 2012-01-12
KR20110139649A (ko) 2011-12-29
US8769041B2 (en) 2014-07-01
CN102394900A (zh) 2012-03-28

Similar Documents

Publication Publication Date Title
JP5528229B2 (ja) 文書生成装置、文書生成システム、文書アップロード方法及びプログラム
US9092178B2 (en) Printing system, control method thereof, and storage medium for printing from a mobile terminal
JP4958671B2 (ja) ライセンス管理装置、ライセンス管理方法、及びコンピュータプログラム
US9319623B2 (en) Imformation processing apparatus and information processing system
JP2011191888A (ja) 画像形成装置、制御方法、及びプログラム
US20110246867A1 (en) Form creation apparatus, control method of form creation apparatus, data processing apparatus, control method of data processing apparatus, and storage medium
JP2011128994A (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
JP6511868B2 (ja) 情報処理システム、情報処理方法、情報処理装置及びプログラム
JP2015141473A (ja) サーバーシステム、サーバーシステムを制御する方法、プログラム
JP2016099641A (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP6287335B2 (ja) 端末装置、情報処理システム、情報送信方法及びプログラム
JP6223159B2 (ja) 情報処理装置、その制御方法、プログラム及び記憶媒体
JP5460287B2 (ja) Webアプリケーションサーバ装置、情報処理方法及びプログラム
JP2013037642A (ja) 文書生成システム
JP2021043822A (ja) コンテンツ提供システム、サーバ、およびプログラム
JP6452458B2 (ja) データ管理装置、データ管理方法、およびプログラム
JP2015005150A (ja) 文書生成システム
JP6375839B2 (ja) 端末装置、情報処理システム、情報送信方法及びプログラム
JP6100520B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
US10586078B2 (en) Document system, control method, and storage medium
JP6440792B2 (ja) 情報処理装置、その制御方法、プログラム
JP2008217376A (ja) コンテンツ共有方法及びシステム
JP2017126231A (ja) 文書生成システム
JP2013232131A (ja) 文書生成システム
JP2016014915A (ja) 文書生成システムおよびその制御方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130620

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140217

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: 20140318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140415

R151 Written notification of patent or utility model registration

Ref document number: 5528229

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees