JP2015041331A - 情報処理端末、情報処理端末の制御方法およびプログラム - Google Patents

情報処理端末、情報処理端末の制御方法およびプログラム Download PDF

Info

Publication number
JP2015041331A
JP2015041331A JP2013173228A JP2013173228A JP2015041331A JP 2015041331 A JP2015041331 A JP 2015041331A JP 2013173228 A JP2013173228 A JP 2013173228A JP 2013173228 A JP2013173228 A JP 2013173228A JP 2015041331 A JP2015041331 A JP 2015041331A
Authority
JP
Japan
Prior art keywords
function
service
information
processing
processing terminal
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
JP2013173228A
Other languages
English (en)
Other versions
JP6192433B2 (ja
JP2015041331A5 (ja
Inventor
雄弘 和田
Takehiro Wada
雄弘 和田
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 JP2013173228A priority Critical patent/JP6192433B2/ja
Priority to EP14181120.8A priority patent/EP2840500A3/en
Priority to US14/463,562 priority patent/US9769246B2/en
Priority to CN201410418950.6A priority patent/CN104423966B/zh
Publication of JP2015041331A publication Critical patent/JP2015041331A/ja
Publication of JP2015041331A5 publication Critical patent/JP2015041331A5/ja
Application granted granted Critical
Publication of JP6192433B2 publication Critical patent/JP6192433B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Abstract

【課題】WebIntentsクライアントの提供するデータのタイプと、サービスが処理できるデータのタイプが異なる場合においても、ユーザの手を煩わすことなく容易に複数のサービスを連携して所望のサービスを利用する可能とすること。【解決手段】情報処理端末530のWebブラウザ750は、ユーザよりクライアント(サーバ510)で管理される特定のデータに対する機能の呼び出しが指示された場合に、前記特定のデータを、該呼び出しが指示された機能に対応するカテゴリに属する第1機能情報の処理可能なタイプに適合させるための第2機能情報を特定し(S905(図12))、前記特定された第2機能情報を用いて呼び出した機能により処理された前記特定のデータを、前記第1機能情報を用いて呼び出した機能で処理するための要求を行い(S907〜S917)、前記要求した処理の処理結果を受信する(S918)。【選択図】図9

Description

本発明は、ウェブインテンツ(WebIntents)などの仕組みを用いたサービスを利用する技術に関する。
従来、Webサイト間で処理を委譲する場合、機能を呼び出す側は、機能を提供する側のAPIやRESTインターフェイス等の機能の呼び出し方を、知っている必要があった。従って、異なるWEBサイトとの連携を実現するためには、機能の呼び出し側は、それぞれの呼び出し規約に従って呼び出し側の処理が必要になった。
また、機能を呼び出す側が機能を利用するためには、機能を提供する側への認証が必要になることが多い。このために、機能を利用する側は、機能を提供する側の認証情報を保持したり、SAML等の認証基盤を利用したりする必要があった。但し、認証情報を持つと、それら認証情報を正しく安全に管理する必要があり、SAML等の認証基盤を利用するためには、機能の提供者と利用者間で事前に合意が必要となり、機能の利用者の負担になっていた。なお、APIはApplication Program Interface、RESTはREpresentational State Transfer、SAMLはSecurity Assertion Markup Languageを示す。
専用のAPIを用いずに任意のウェブサービス(または、ウェブアプリケーション)と連携する仕組みも存在する。一例として、実行時遅延バインディングによりサービス受け側と提供側とを疎結合とし、それらの連携を実現するWebIntents(ウェブインテンツ)という仕組みが提案されている。
特許文献1には、複数のサーバ管理手段と複数のサーバ提供手段を双方の希望に従って動的に制御する技術が記載されている。
特開2003−296435号公報
WebIntentsの仕組みにおいて、特定のactionと処理可能なtypeを提供するWebIntentsサービスを選択、利用することはできる。しかし、WebIntentsクライアントの提供するデータのtypeが処理できないWebIntentsサービスを選択、利用することは出来ないという課題がある。なお、特許文献1は、WebIntentsの連携の仕組みについて、考慮したものではない。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、データを管理するクライアントの提供するデータのタイプと、サービスが処理できるデータのタイプが異なる場合においても、ユーザの手を煩わすことなく容易に複数のサービスを連携して所望のサービスを利用することを可能とする仕組みを提供することである。
本発明は、データを管理するクライアントと、当該クライアントで管理されるデータを利用して機能を提供するサービスとを、ネットワークを介して中継する中継機能を備える情報処理端末であって、前記中継機能による、前記サービスが提供する機能を呼び出すための機能情報の登録処理を実行する登録手段と、ユーザより前記クライアントで管理される特定のデータに対する機能の呼び出しが指示された場合に、前記特定のデータを、該呼び出しが指示された機能に対応するカテゴリに属する前記登録手段に登録されている第1機能情報の処理可能なタイプに適合させるための第2機能情報を前記登録手段に登録されている機能情報から特定する特定手段と、前記特定された第2機能情報を用いて呼び出した機能により処理された前記特定のデータを、前記第1機能情報を用いて呼び出した機能で処理するための要求を行う要求手段と、前記要求手段で要求した処理の処理結果を受信する受信手段と、を有することを特徴とする。
本発明によれば、データを管理するクライアントの提供するデータのタイプと、サービスが処理できるデータのタイプが異なる場合においても、ユーザの手を煩わすことなく容易に複数のサービスを連携して所望のサービスを利用することを可能とする。
WebIntentsを実現するための全体構成を例示する図。 WebIntentsを利用したサービス提供に関する基本動作のシーケンス図。 WebIntentsの機能登録用のHTML文書を説明する図。 クライアントからUAに返信されるHTML文書を説明する図。 本発明の一実施例を示すシステムの構成を例示する図。 サーバ及び情報処理端末のハードウェア構成を例示する図。 サーバ及び情報処理端末のソフトウェア構成を例示する図。 実施例1の登録済みサービステーブルおよびコンテンツ管理テーブルを例示する図。 実施例1のWebIntentsを利用したサービス提供に関する動作のシーケンス図。 UAが表示するクライアントの画面を説明する図。 共有ボタンを押下された際の画面を例示する図。 複数のサービスを連携するためのUAの処理を例示するフローチャート。 UAが表示するWebIntents処理終了ページを例示する図。 実施例2のWebIntentsを利用したサービス提供に関する動作のシーケンス図。 実施例2のWebIntentsサーバの処理を説明する図。 実施例3のWebIntentsを利用したサービス提供に関する動作のシーケンス図。 UAが表示するWebIntents処理終了ページを例示する図。 実施例3の登録済みサービステーブルを例示する図。 実施例3のWebIntent実行ログを例示する図。
以下、本発明を実施するための形態について図面を用いて説明する。
<基本全体概念図>
図1は、専用のAPIを用いずに任意のウェブサービス(または、ウェブアプリケーション)等と連携する仕組みの一例であるWebIntents(ウェブインテンツ)を実現するための全体構成の一例を示す図である。
103はWebIntentsサービス(以下、サービス)で、Intents技術を利用してサービスや機能を提供する。101はWebIntentsクライアント(以下、クライアント)で、サービス103を利用する。106はUserAgent(ユーザエージェント、以下、UA)で、クライアント101からの要求をサービス103に渡し、サービスからの結果をクライアント101に渡す役割をする。UA106は、クライアント101及びサービス103の間で要求を実行したり、データを受け渡したりするための中継機能といえる。また、UA106には、サービス103の提供機能を呼び出すための機能情報であるWebIntentが登録される。
例えば、クライアント101は、データを管理し、サービスを呼び出すボタンなどを配置しているウェブサイトであり、ウェブサーバ上で動作する。また、UA106は、該ウェブサイトを表示するWebブラウザ(ウェブブラウザ)であり、パーソナルコンピュータ等の情報処理端末上で動作する。また、サービス103は、UA106を介してクライアント101が管理するデータを受け付けて処理するクライアント101の連携先のウェブサイトであり、ウェブサーバ上で動作する。
具体例として、WebIntentsの仕組みをSNS(ソーシャル・ネットワーキング・サービス)に適用した場合には、次のようになる。クライアント101は、「いいね」「チェック」「シェア」といったソーシャルボタンを配置しているWebサイトとなる。また、UA106は、該ウェブサイトを表示するWebブラウザとなる。さらに、サービス103は、上記ソーシャルボタンの押下により、クライアント101で管理する写真やコメントの投稿を受け付けて閲覧サイトを構成する投稿先のWebサイトとなる。ここで、サービス103が機能を提供するにあたって、ユーザ認証やユーザによる操作が必要な場合、UA106上でユーザが操作を行う。
なお、UA106は、後述するサービスと連携するための機能を持つものであれば、Webブラウザ以外にも、情報処理端末で動作するオペレーティングシステム(OS)や任意のアプリケーションなどで実現することも可能である。ここで、情報処理端末の例としては、パーソナルコンピュータ、スマートフォン、タブレット型コンピュータ、カーナビゲーション装置などが挙げられる。
また、サービス103については、上記した投稿先サービスのようなインターネット上のサービス提供者以外にも、例えば情報処理端末が内蔵するカメラ、画像形成装置、スキャナなどといったデバイスもサービス提供者になり得る。また、UA106とネットワークで接続される画像形成装置、スキャナ、ネットワークカメラなどの周辺機器や、冷蔵庫やテレビといった家電製品などが提供するウェブサービスもサービス103に対応するサービス提供者になり得る。
また、クライアント101についても同様に、情報処理端末が内蔵するさまざまなデバイスやアプリケーション、その他にネットワーク上の周辺機器や家電製品、その上で動くプログラムなどもサービスを呼び出す利用者となり得る。
クライアント101とUA106とサービス103は、これらの任意の組み合わせが、同一システム内で稼働することもある。具体的には、Webブラウザの同等の機能を有する文書編集アプリケーションなどが、クライアント101とUA106とを含む構成として動作するといったことが考えられる。
なお、クライアント101、UA106、サービス103の機能を提供する各装置のハードウェア構成については、後述する図6に例示する。
<WebIntentsシーケンス図、および、データの例>
図2は、WebIntentsを利用したサービス提供に関する基本動作を説明するためのシーケンス図である。
S201において、UA106は、ユーザの操作に応じてサービス103にアクセスする。S202において、サービス103は、提供する機能をUA106に登録してもらうための登録用マークアップを含むHTML応答をUA106に返信する。ここで、図3の例を用いて、サービス103からUA106に返信されるHTML応答の中身について説明する。
図3は、WebIntentsの機能登録用のHTML文書を説明する図である。
図3において、<intent>タグには、提供機能を特定する情報が記載されている。actionは、提供機能のカテゴリを示している。typeは、提供機能が扱えるデータなどの種類を示している。hrefは、提供機能の接続先(URL)を示している。titleは、提供機能のタイトルを示している。また、dispositionは呼び出された提供機能がどのように表示されるかを示す。
図3の例では、提供機能のカテゴリが"share(共有)"であり、扱えるデータなどの種類が"あらゆるフォーマット(*)の画像データ(image)"であり、接続先は"share.html"であり、タイトルは"Share image using e−mail"である。また、この機能が、UA106を介して別ウィンドウ(Window)で表示されることを示している。
なお、提供機能のカテゴリには、例えば、Share、Edit、View、Pick、Subscribe、Save、Browser等がある。Shareはデータの共有、Editはデータの編集、Viewはデータの閲覧、Pickはデータを外部サービスから取得、Subscribeはデータの購読、Saveはデータの保存を示す。
UA106は、S202の応答を受信すると、ユーザに対してサービス103の提供機能をUA106に登録するか否か確認する。例えば、UA106がWebブラウザであれば、ポップアップウィンドウを表示させユーザに登録の可否の選択を促す。ユーザがこの提供機能をWebIntentとして登録することを選択すると、UA106は、S202で受信した情報を内部に記憶する登録処理を実行する。具体的には、この情報は、UA106が動作する情報処理端末の記憶領域に記憶され、UA106にWebIntentとして登録される。
S203において、UA106は、ユーザの操作に応じて、クライアント101にアクセスする。S204において、クライアント101は、サービス103の提供機能(WebIntent)を利用することが記載されたHTML文書を、UA106へ返信する。例えば、クライアント101としてのWebサイトで、画像と「共有」ボタンが表示されている場合に、該Webサイトは、図4に示すようなECMAScriptを含むHTML文書をUA106へ返す。ここで、図4の例を用いて、クライアント101からUA106に返信されるHTML文書の中身について説明する。
図4は、クライアント101からUA106に返信されるHTML文書を説明する図である。
図4に示すように、ECMAScriptは、HTML内のID「share−photo」を持つボタンがクリックされると指定された無名関数を実行することを示している。無名関数は、まず、新規のIntentオブジェクトを作成し、これを引数にしてstartActivety()関数を呼び出す。この関数を実行すると、UA106は、自身に登録されているWebIntentsの中から、指定されたIntentオブジェクトのactionとtypeが一致するものを抽出し、一覧表示させることでユーザに選択を要求する。また、無名関数内で呼び出しているgetImageFrom()関数を実行することにより、クライアント101が持つ画像データを取得する。
クライアント101は、S204にて、例えば、画像と「共有」ボタンと、図4に示すECMAScriptを含むHTML文書をUA106に返信する。UA106は、クライアント101からHTML応答を受け取ると、ユーザへ受信した内容を表示する。S205において、UA106は、ユーザによる表示画面上の「共有」ボタンの押下を検出すると、上述したようにWebIntents起動用のECMAScriptを実行し、S206において、クライアント101が持つ画像データを取得する。また、上記S205で「共有」ボタン押下を検出した際に、UA106は、自身に登録されているWebIntentsの一覧を表示する。この一覧からユーザによるサービス103の提供機能を示すWebIntentsの選択を検出すると、S207において、UA106は、該選択されたサービス103へHTTP要求を送信する。その際、UA106は、送信データに、図4に示したECMAScriptが作成したIntentオブジェクトの内容を含める。
S208において、サービス103は、S207のHTTP要求からIntentオブジェクトを取り出し、UA106を介してユーザと相互作用しながら、選択された提供機能(ここではクライアント101の画像データの「共有」)の利用を実現する。例えば、ユーザが画像、共有ボタンがあるWebサイトに訪れ、共有ボタンを押下すると、ポップアップウィンドウにサービス一覧が表示される。そこで、Webメールサービスを選択したとすると、画像データを添付した新規メールが作成され、ユーザにより電子メールを送信することが出来る。
サービス103は、処理が終了すると、S209において、処理結果をクライアント101に伝えるECMAScriptを含む応答を返す。S210において、UA106は、S209の応答中に含まれるECMAScriptを実行し、S205のstartActivety()関数の引数で指定されたコールバック関数onSuccess()を呼び出す。S211において、UA106は、コールバック関数onSuccess()によってクライアント101へ処理結果を返す。
以上の処理により、クライアント101は、UA106を介して、サービス103が提供するWebIntentsの機能、サービス(この例では画像の「共有」)を呼び出すことが可能となる。
図2のシーケンスにより、Webメール機能を利用する例について説明する。まず、ユーザがWebブラウザ(UA106)で、写真データを管理するウェブストレージ(クライアント101)のWebIntentsの呼び出しボタンが用意されたサイトに訪れ、当該ボタンを押下する。すると、Webブラウザ(UA106)が登録サービス一覧を含むポップアップウィンドウを表示する。そこで、ユーザがWebメール機能を選択したとすると、該機能を提供するWebサイト(サービス103)が別ウィンドウで表示され、処理結果として、そのウィンドウ上では写真データを添付した新規メールが作成されている。
以上の処理により、クライアント101は、UA106を介して、サービス103が提供するWebIntentsの機能(この例では画像の「共有」)を呼び出すことが可能となる。
<本実施形態のネットワーク、周辺機器、及び、ネットワークサービスの構成例>
図5は、本発明の一実施例を示すサーバシステムの構成の一例を示す図である。本システムは、情報処理端末530と、1台以上のクライアント101の機能を提供するサーバ510、および、1台以上のサービス103を提供するサーバ520、521を有する。情報処理端末530はLANで接続され、ファイアウォール(Firewall)540越しにインターネット等のWANを介してサーバ510、およびサーバ520、521と接続される。
なお、本実施例において、先に説明したサービス103に対応する2つのサービス(サービス1、サービス2)を、2台のサーバ(サーバ520、サーバ521)で提供している。しかし、1台のサーバで複数のサービス機能を提供する場合においても、本提案で同様に処理が可能である。
サーバ510は、先に説明したクライアント101の機能を提供するものであり、サービス1、2への処理要求を作成する。サーバ520、521は、先に説明したサービス103にあたるサービス1、2の機能を提供するWebアプリケーションを備えており、WebIntents技術を利用してサービスや機能を提供する。情報処理端末530は、先に説明したUA106の機能を提供するWebブラウザがインストールされているコンピュータである。なお、サーバ510、520、521、情報処理端末530は、汎用コンピュータの構成を有する。
本実施例では、情報処理端末530を汎用コンピュータとして示したが、他の形態の情報処理端末、タブレット型コンピュータ、スマートフォンなどで処理された場合も、同様に本発明を適用可能である。
図6は、サーバ510、520、521及び情報処理端末530のハードウェア構成の一例を示すブロック図である。
図6に示すように、CPU601、RAM602、ROM603、ネットワークインタフェース(Network I/F)605、ハードディスクドライブ(HDD)606がシステムバス609を介して互いに通信可能に接続されている。また、LCD等の表示装置607、キーボード等の入力装置604、及びマウスやタッチパネル等のポインティングデバイス608も、システムバス609を介して互いに通信可能に接続されている。
ROM603或いはHDD606には、オペレーティングシステム等の制御プログラムが格納されている。CPU601は、前記制御プログラムを必要に応じてROM603或いはHDD606からRAM602上へ読み出して実行することで、コンピュータとしての機能を発揮する。また、CPU601は、表示装置607を介して各種情報の表示を行うと共に、入力装置604やポインティングデバイス608からユーザ指示等を受け付ける。更に、CPU601は、ネットワークインタフェース605を介して他の装置との通信を行う。
図7は、サーバ510、520、521及び情報処理端末530のソフトウェア構成の一例を示すブロック図である。
図7(A)は、クライアント101の機能を提供するサーバ510のソフトウェアの構成の一例を示す。
サーバ510において、Webアプリケーション700および各処理部は、サーバ510のHDD606に保存されたファイルとして存在する。これらは、実行時にOSやその各処理部を利用する他の処理部によってRAM602にロードされ実行されるプログラムモジュールである。
Webアプリケーション700は、例えば画像データの保管などのストレージサービスを提供するアプリケーションである。Webアプリケーション700は、HTTP(HyperText Transfer Protocol)リクエストに応答して処理を実行するプログラムとして実装される。Webアプリケーション700は、Intent処理要求作成部702、プレゼンテーション部703、コンテンツ管理部704を有する。
Intent処理要求作成部702は、Intentの処理要求であるECMAScriptを作成するソフトウェアモジュールである。プレゼンテーション部703は、通信部701を介して受け取ったページ取得要求などに応じてHTML文書を作成するソフトウェアモジュールである。コンテンツ管理部704は、プレゼンテーション部703からの要求に応じてデータベースサービス部705によりHDD606からコンテンツを取得したり、格納したりするソフトウェアモジュールである。
データベースサービス部705は、他の処理部からの要求に応じて、HDD606へのコンテンツの格納と取り出しを行うソフトウェアモジュールである。また、データベースサービス部705は、後述する図8(B)に示すようなコンテンツ管理テーブル820を管理する。また、データベースサービス部705は、サーバ510と別の機器上にあってもよい。以上示したような、Webアプリケーション700は、サーバ510のCPU601が、HDD606等からプログラムをRAM602上へ読み出して実行することにより実現されるものである。
図7(B)は、サービス103に対応するサービス1、2を提供するサーバ520、521のソフトウェアの構成の一例を示す。
サーバ520、521において、Webアプリケーション730および各処理部は、サーバ520、521のHDD606に保存されたファイルとして存在する。これらは、実行時にOSやその各処理部を利用する他の処理部によってRAM602にロードされ実行されるプログラムモジュールである。
Webアプリケーション730は、画像データの保管などのストレージサービスを提供するアプリケーションである。また、Webアプリケーション730は、Intents技術を利用してサービスを提供する機能を有する。さらに、Webアプリケーション730は、HTTPリクエストに応答して処理を実行するプログラムとして実装される。Webアプリケーション730は、Intent処理部732、プレゼンテーション部733、コンテンツ処理部734を有する。
Intent処理部732は、Intentオブジェクトを解析し、処理するソフトウェアモジュールである。プレゼンテーション部733は、通信部731を介して受け取ったページ取得要求などに応じてHTML文書を作成するソフトウェアモジュールである。コンテンツ処理部734はIntent処理部732からの指示を受けて、コンテンツに対して処理をするソフトウェアモジュールである。例えば、画像データを編集したり、要求に応じてデータベースサービス部735を介してHDD606へコンテンツを格納したりするソフトウェアモジュールである。
データベースサービス部735は、他の処理部からの要求に応じて、データの格納と取り出しを行う。また、データベースサービス部735は、後述する図8(B)に示すようなコンテンツ管理テーブル820を管理する。また、データベースサービス部735は、サーバ520、521と別の機器上にあってもよい。以上示したような、Webアプリケーション730は、サーバ520、521のCPU601が、HDD606等からプログラムをRAM602上へ読み出して実行することにより実現されるものである。
図7(C)は、UA106の機能を提供する情報処理端末530のソフトウェアの構成の一例を示す。
情報処理端末530において、Webブラウザ750および各処理部は、情報処理端末530のHDD606に保存されたファイルとして存在する。これらは、実行時にOSやその各処理部を利用する他の処理部によってRAM602にロードされ実行されるプログラムモジュールである。
Webブラウザ750は、通信部751、解析部752、表示部753、サービス情報入出力部754、サービス情報管理部755、サービス判定部756、スクリプト処理部757、サービス情報記憶部758を有する。
通信部751は、他の処理部からの要求を受けてHTTPのリクエストメッセージを外部機器に送信する。また、通信部751は、外部機器からのHTTPレスポンスメッセージを受信し、解析部752にレスポンスの内容を通知するソフトウェアモジュールである。
解析部752は、HTML文書を解析するソフトウェアモジュールである。また、解析部752は、Intent処理要求であるECMAScriptも解析する。表示部 753は、HTML文書をレンダリングするソフトウェアモジュールである。また、表示部 753は、他の処理部の要求に応じて、サービスの選択を受け付ける画面を表示する。
サービス情報入出力部754は、解析部752で解析されたECMAScriptから、WebIntentsスクリプトの「アクション(action)」やデータタイプを示す「タイプ(type)」の受信解析や送信データの生成を行う。サービス情報管理部755は、後述のサービス情報記憶部758から登録済みのサービスを特定する情報を取得したり、格納したりするソフトウェアモジュールである。
サービス判定部756は、実行中のWebIntents処理において、Intentsスクリプトの「アクション(action)」および「タイプ(type)」から第二のサービスが必要かどうかを判定する。
スクリプト処理部757は、サービス判定部756が第二のサービスが必要だと判定した場合に、サービス情報記憶部758に記憶されている第一のサービスで処理を行うために必要な、第二のサービスを利用するための処理を行う。サービス情報記憶部758は、データを管理し、サービス情報管理部755からの要求に応じてデータの格納と取り出しを行う。また、サービス情報記憶部758は、後述する図8(A)に示すような登録済みサービステーブル800を保持する。以上示したような、Webブラウザ750は、情報処理端末530のCPU601が、HDD606等からプログラムをRAM602上へ読み出して実行することにより実現されるものである。
図8は、登録済みサービステーブル800およびコンテンツ管理テーブル820の一例を示す図である。
図8(A)は、情報処理端末530のWebブラウザ750が自身に登録されたサービスを管理するためにサービス情報記憶部758に保持する登録済みサービステーブル800の一例である。
登録済みサービステーブル(登録済みWebIntentsサービステーブル)800は、情報処理端末530のサービス情報記憶部758で保持され、サービス情報管理部755によって管理される。登録済みサービステーブル800には、サービスが提供する機能を呼び出すための機能情報(801〜806)が登録されている。以下、詳細に説明する。
801はServiceIDであり、Webブラウザ750内でサービスを一意に識別するためのIDである。802はactionであり、サービス1、サービス2が提供する提供機能のカテゴリ(サービスがどのような機能、サービスを提供するか)を示す。803はtypeであり、action802で扱えるデータなどの種類を示す。
804はhrefであり、サービス1、2の相対URLを示す。805はtitleであり、サービス1、2のタイトルを示す。また、806はdispositionであり、サービス1、2がどのように表示されるかを示す。つまり、情報処理端末530は、Webブラウザ750を介して、登録済みサービステーブル800を参照することで、各サービス1、2へIntentの処理要求を出すことが可能である。
図8(B)は、サーバ510、520、521のWebアプリケーション700、750が扱う画像データを管理するコンテンツ管理テーブル820の一例である。
コンテンツ管理テーブル820は、サーバ510、520、521内のHDD606で保持され、データベースサービス部735によって管理される。821はImageIDであり、Webアプリケーション700内で画像データを一意に識別するためのIDである。822はFileであり、画像データのファイル名を表している。サーバ510、520、521は、本テーブル参照することでコンテンツ管理部704やコンテンツ処理部734により、画像データをHDD606から取得、また、編集することが可能となる。
以下、図9のシーケンス図を用いて、情報処理端末530がサーバ510により提供されるWebサイトにアクセスして、サーバ520、521により提供されるサービス1、2に、Intentの処理要求を仲介する動作について説明する。
図9は、実施例1におけるWebIntentsを利用したサービス提供に関する動作の一例を示すシーケンス図である。
まず、情報処理端末530のWebブラウザ750は、アドレスバーなどにサーバ510のWebアプリケーション730のURLを入力する等のユーザ操作を受け付けることで、S901の処理を実行する。S901において、Webブラウザ750は、通信部751を介して、クライアント101として機能するサーバ510に、HTTPのリクエストメッセージとしてページの要求を送信する。
サーバ510のWebアプリケーション700は、情報処理端末530から送信された上記ページの要求を受信すると、S902の処理を実行する。S902において、サーバ510のWebアプリケーション700は、ページの作成を行う。S903において、サーバ510のWebアプリケーション700は、S902で作成したページを、情報処理端末530のWebブラウザ750へHTTPのレスポンスメッセージとして応答する。
情報処理端末530のWebブラウザ750は、サーバ510から応答された上記ページを受信すると、S904の処理を実行する。S904において、情報処理端末530のWebブラウザ750の表示部753は、上記受信したページを表示する。具体的には、解析部752が、上記ページに対応するHTML文書を解析し、表示部753がレンダリングすることで上記受信したページを表示する。ここで、S904で表示する画面について、図10(A)、(B)を用いて説明する。
図10は、図9のS904で表示する画面を説明するための図である。
図10(A)は、S902でサーバ510のWebアプリケーション700によって作成され、S904で情報処理端末530のWebブラウザ750が表示するHTML内に記述されたECMAScriptの一例を示す。なお、図10(A)の内容は、図4で説明したものと同様のため、詳細な説明は省略する。
図10(B)は、S904で情報処理端末530のWebブラウザ750が表示する画面の一例を示す。
画面1000は、Webブラウザ750の表示部753が表示する画面である。1001〜1002は"image001.png"〜"image002.png"の画像データであり、1003〜1004はこれらの画像を選択するためのラジオボタンである。
1005は共有ボタンであり、ラジオボタン1003〜1004で選択されている画像データを、サービス1へ渡し共有するためのボタンである。1006は編集ボタンであり、ラジオボタン1003〜1004で選択されている画像データをサービス2へ渡し、編集するためのボタンである。ここでは、共有ボタン1005には、HTML内のID「share―photo」が割り当てられており、編集ボタン1006にはID「edit―photo」が割り当てられているものとする。情報処理端末530のWebブラウザ750は、ボタン1005、1006が押下されたことを検知すると、図10(A)のECMAScriptを実行する。
以下、図9のシーケンス図の説明に戻る。
ユーザにより共有ボタン1005(図10(B))が押下されたことを検知すると、情報処理端末530のWebブラウザ750は、S905の処理を実行する。S905において、情報処理端末530のWebブラウザ750は、登録済みサービステーブル800を参照し、登録済みのサービスで、共有ボタン1005に対応する処理が可能か判定し、表示部753に一覧表示するサービスを判断する。このS905の処理は、複数のWebIntentsサービスを連携した処理(例えば、サービス2で編集した後にサービス1で共有)などを行うための処理を行うためのものである。ここで、図12を参照して、S905の処理について詳細に説明する。
図12は、図9のS905の処理の一例を示すフローチャートである。この処理は、情報処理端末530のWebブラウザ750が実行する処理に対応し、複数の連携したサービス処理を行うための処理である。
S1201において、情報処理端末530のWebブラウザ750は、クライアント101としてのサーバ510のWebアプリケーション700が図9のS902で作成し、S903で応答したページ情報を、解析部752で解析する。
S1202において、Webブラウザ750は、サービス情報管理部755を経由して、サービス情報記憶部758から登録済みサービステーブル800を取得する。
S1203において、Webブラウザ750のサービス判定部756は、S1202で取得した登録済みのWebIntentsサービスの中に、リクエストのTypeのデータに対しリクエストのactionが可能なサービスが存在するか否かを判定する。詳細には、サービス判定部756は、まず、登録済みのWebIntentsサービスの中に、リクエストのactionが可能なサービス(第1のサービス)が存在するか否か判定する。そして、第1のサービスが存在する場合、該第1のサービスが、リクエストのtypeのデータを処理可能か否かを判定する。以上により、リクエストのTypeのデータに対しリクエストのactionが可能なサービスが存在するか判定する。
本実施例においては、具体的には、画像ファイルtype=pngの"image001.png"が選択され、共有ボタン1005が押下されている場合を説明する。図8の例では、ServiceID801="1"、"3"、"4"のサービスが、リクエストのaction=shareを処理できる第1のサービスと判定される。さらに、type803の判定により、type803="image/*"であるServiceID801="4"の"ccc Share Service"のみが、リクエストのType="image/png"のデータを共有処理可能と判定される。即ち、ServiceID801="4"の"ccc Share Service"のみが、"image001.png"の共有処理が可能と判定される。この判定結果により、サービス判定部756は、リクエストのaction及びtypeと一致するサービスが登録済みであると判定し(S1203でYesと判定し)、後述のS1208に処理を遷移させることとなる。
なお、ServiceID801="4"のサービスが登録済みでなかった場合について以下に説明する。この場合、type803の判定により、type803="image/jpeg"であるServiceID801="1"と"3"では、リクエストのType="image/png"のデータの共有処理が不可能と判定される。即ち、ServiceID801="1"と"3"では、"image001.png"の共有処理を行うことが不可能と判定される。この場合、この判定結果により、サービス判定部756は、リクエストのaction及びtypeと一致するサービスが登録済みでないと判定し(S1203でNoと判定し)、後述のS1204に処理を遷移させることとなる。
S1203でNoの場合、S1204において、サービス判定部756は、サービス情報管理部755を経由して、サービス情報記憶部758から登録済みサービステーブル800を取得する。なお、登録済みサービステーブル800からデータ変換可能なサービスのみを取得してもよい。
次に、S1205において、サービス判定部756は、リクエストのTypeのデータを、第1のサービスのtype803のデータに変換可能なサービスが、上記S1204で取得した登録済みのWebIntentsサービスの中にあるか判定する。具体的には、登録済のサービスの中から、リクエストのType="image/png"のデータを、第1のサービスの対応するtype="image/jpeg"のデータへ変換可能な第2のサービスの検索を行い、判定する。即ち、png形式の画像データをjpeg形式の画像データに変換可能なサービスがあるか判定する。
図8の例では、ServiceID801="2"のサービス(action802=edit、type803=image/*)が、"image001.png"をtype="image/jpeg"に変換する処理を行う事が可能と判定される。この判定結果により、サービス判定部756は、適切なデータ変換が可能な第2のサービスが登録済みであると判定し(S1205でYesと判定し)、後述のS1206に処理を遷移させることとなる。
なお、ServiceID801が"2"のサービスが登録済みでなかった場合、について以下に説明する。この場合、"image001.png"をtype="image/jpeg"に変換する処理を行うことが可能なサービスが登録されていないと判定される。この判定結果により、サービス判定部756は、適切なデータ変換が可能なサービスが登録済みでないと判定し(S1205でNoと判定し)、後述のS1208に処理を遷移させることとなる。
S1205がYesの場合、S1206において、Webブラウザ750は、上記検索されたデータ変換サービスである第2のサービスを選択する。上述した例では、ServiceID801="2"の"bbb Edit Service"を、第2のサービスとして選択する。即ち、Webブラウザ750は、リクエストのデータタイプ(type)を、リクエストのactionに対応する第1のサービスで処理可能なデータタイプ(type)に適合させるための第2のサービスを特定する。
次に、S1207において、Webブラウザ750は、スクリプト処理部757において、第2のサービスの処理を行った後に第1のサービスを連携して行うためのスクリプトを生成する。さらに、Webブラウザ750の表示部753に、第2のサービスと第1のサービスが連携したメニューを表示、処理するためスクリプトを含むHTMLファイルを生成する。図11(A)にメニューの表示例を示す。
また、S1203でYes又はS1205でNoの場合、S1208において、Webブラウザ750は、通常のWebIntentsを行うメニューを作成する処理を行う。即ち、リクエストのaction及びtypeが一致する単独のサービスのみが選択肢として表示されるメニューを作成する。
上述のように、本実施例では、共有ボタン1005が押下されている場合を想定しているので、action802="share"であるServiceID801="1"、"3"、"4"が対象のサービスとなる。しかし、"share"したいデータであるWebIntentsクライアント(サーバ510)の保持するコンテンツ"image001.png"、"image002.png"(822)は画像ファイルのtypeが"png"フォーマットの画像形式である。action802="share"であるServiceID801="1"と"3"は、type803が"image/jpeg"しか扱えないため、リクエストの"share"対象のサービスとはならない。ServiceID801="4"のサービスだけがtype803が"image/*"のため、"png"フォーマットの画像を共有するための対象サービスとなる。従来では、このような場合、ユーザが共有ボタン1005を押下しても、ServiceID801="1"や"3"のサービスを利用して、"image001.png"などのtype803が対象外のデータであるpng形式の画像ファイルを"share"することはできない。
そのため、本実施例では、ユーザが通常利用しているServiceID801="1"のサービスを利用して、画像ファイルtype803="png"の画像を"share"するために、先ず連携するWebIntentsサービスで"Edit"を行う。Webブラウザ750は、ユーザからの指示によりServiceID801="1"の"share"サービスで共有するために、連携する"Edit"サービスで画像フォーマットの変換処理を行い、続いて"share"サービスで共有処理を行う。図12のS1207では、このような複数のサービスが連携したサービスを実行するためのスクリプトやメニューが作成される。
なお、図12に示した例では、リクエストのaction及びtypeが一致するサービスが登録済みの場合(S1203でYesの場合)には、上述した複数のサービスを連携するメニューは作成せず、通常のメニューを作成する場合(S1208)を示した。しかし、このような場合にも、上述した複数のサービスを連携するメニューを作成してもよい。例えば図8の例の場合、リクエストを単独で処理できるServiceID801="4"のサービスの選択肢と、"2"と"1"を連携したサービスの選択肢と、"2"と"3"を連携したサービスの選択肢を全て含むメニューを作成するように構成してもよい。
以下、図9のシーケンス図の説明に戻る。
S906において、Webブラウザ750の解析部752は、S905(図12のS1207等)で作成した、複数のサービスが連携したメニューを表示するためスクリプト及びHTMLを解析し、表示部753がメニューの表示を実行する。これにより、Webブラウザ750には、複数のサービスを連携させたサービスを含むサービスの一覧を示す図11(A)のような画面が表示される。なお、この一覧の表示は、図2のS205で示した通常の「登録されているWebIntentsの一覧の表示」とは異なり、WebIntents起動用のECMAScriptの実行前に行われる。
図11(A)は、図9のS906において情報処理端末530のWebブラウザ750に表示される画面の一例を示す。
1100は、共有ボタン1005が押下されることで、情報処理端末530のWebブラウザ750が表示するポップアップ画面の一例である。なお、1101は、図9のS905で表示対象と判定されてサービスの一覧である。この一覧画面では、複数のWebIntentsサービスを連携したサービス(例えば「bbb Edit Serviceで編集して共有」)の表示を行う。そして、図11(B)のように、「bbb Edit Serviceで編集して共有」が選択さ、OKボタン1103が押下されると、これらのサービスを提供する各サーバで順次処理が行われる。なお、図11の例では、複数のWebIntentsサービスを連携したサービスが「bbb Edit Serviceで編集して共有」のみしか表示されていないが、"png"を"jpeg"に変更可能なサービスが複数登録されている場合には、複数のWebIntentsサービスを連携した複数のサービスが一覧表示される。
これにより、リクエストのactionとは一致するがtypeが一致しないサービスであっても、他のサービスと連携することでリクエストを処理可能な場合には、このようなtypeが対応していないサービスも含めて選択、利用できるようになる。なお、本実施例では、"bbb Edit Service"は、サーバ251が提供するサービス2に対応するものとする。また、"AAA Share Service"は、サーバ250が提供するサービス1に対応するものとする。
以下、図9のシーケンス図の説明に戻る。
S906で表示されたサービスの一覧から、例えば、図11(b)のように「bbb Edit Serviceで編集して共有」がユーザにより選択されOKボタン1103が押下されたことを検知すると、Webブラウザ750はS907の処理を実行する。
S907において、Webブラウザ750のスクリプト処理部757は、選択されたサービスに対応するECMAScriptを解析し、スクリプトを実行する(WebIntentsサービス実行処理)。さらに、スクリプト処理部757は、送信データにECMAScriptが作成したIntentオブジェクトの内容を含めて各サービスで処理を連携させるための情報を作成し、管理する。これらの情報(選択されたサービスの情報も含む)は、サービス情報記憶部758に記憶される。また、この情報を利用して、図11(B)の「同様の形式は同じ処理を行う」チェックボックス1102が設定されている場合は、以後、同様の条件が発生した際に同処理を行うように制御する。具体的には、スクリプト処理部757は、サーバ510から同様のデータフォーマットを受信し、サービスで同様の処理(本例では"Edit")が必要と判断すると、同様のサービスが選択されたものとして、上記一覧を表示せず、S907に処理を進める。上記例では「bbb Edit Serviceで編集して共有」が選択されたものとして、上記一覧を表示せず、S907に処理を進める。即ち、Webブラウザ750は、チェックボックス1102が設定されている場合は、リクエストのAction及びtypeと一覧1011で選択指定され利用されたサービス(第2のサービス(及び第1のサービス))とを対応付けて設定(記憶)しておく。そして、以後、リクエストのAction及びtypeと上記設定されたAction及びtypeとが同一の場合には、該Action及びtypeと対応付けて設定されたサービスを利用して処理を要求するように制御する。
なお、上述したS907で実行した処理では、Webブラウザ750は、先ず、サービス2(bbb Edit Servic)を提供するサーバ521を利用する1つ目のスクリプト処理を実行する。具体的には、1つ目のスクリプト内の無名関数を実行して、新規のIntentオブジェクトを作成し、これを引数にしてstartActivety()関数を呼び出すように制御する。続いて、Webブラウザ750は、サービス1(AAA Share Servic)を提供するサーバ520のWebアプリケーション730に対して2つ目のスクリプト処理を行うための情報を管理、記憶する。
上記無名関数を実行すると、S908において、Webブラウザ750の解析部752は、通信部751を介して、クライアント101としてのサーバ510に対して、画像データの取得要求をHTTPリクエストメッセージとして送信する。これはECMAScript(図10(A))内の無名関数内で呼び出しているgetImageFrom()関数を実行することで実現しており、例えば、画面1000でラジオボタン1003が選択されていれば、"image001.png"の取得要求を行う。本実施例では、サーバ510に対して取得要求を行っているが、取得要求を行わずに、既にWebブラウザ750が取得しているHTML文書内の画像データを使用するように構成してもよい。
S909において、サーバ510のコンテンツ管理部704は、データベースサービス部705のコンテンツ管理テーブル820から、S908で受信した画像データの取得要求で指定された画像データを取得する。例えば、画像データの取得要求で指定された画像データのファイル名が"image001.png"であれば、コンテンツ管理テーブル820の最初のレコードの画像データを取得する。S910において、サーバ510のプレゼンテーション部703は、通信部701を介して、S909で取得した画像データをHTTPレスポンスメッセージとして、情報処理端末530に送信する。
情報処理端末530のWebブラウザ750は、サーバ510から応答された上記画像データを受信すると、S911に処理を移行する。S911〜S913では、"bbb Edit Service"(サービス2)を提供するサーバ521を利用している。S909で取得したpng形式の画像データであるimage001.pngを、"AAA Share Service"(サービス1)で利用可能なデータtypeであるjpeg形式のimage001.jpegに"Edit"(変換)する。以下、詳細に説明する。
S911において、情報処理端末530のWebブラウザ750は、S906で表示された一覧で選択されたサービス内の1つ目のサービス(第2のサービス、ここではサービス2)を提供するサーバ521へ要求を送信する。本例では、サーバ521のWebアプリケーション730に対して要求する。この処理で、情報処理端末530のWebブラウザ750は、送信データに、WebIntentオブジェクトの内容を含める。
サーバ521のWebアプリケーション730は、S911の要求を受信すると、S912を実行する。S912において、サーバ521のWebアプリケーション730のIntent処理部732は、S911の要求からIntentオブジェクトを取り出して解析する。さらに、Intent処理部732は、解析したIntentの処理を開始する。本実施例では、サーバ521のWebアプリケーション730は、情報処理端末530のWebブラウザ750を介してユーザと相互作用しながら、Intentオブジェクトに含まれる画像データを編集するサービスを提供する。
例えば、サーバ521のWebアプリケーション730は、画像データのファイル名の入力と保存する操作を受け付けるためのHTMLを作成し、情報処理端末530に送信する。情報処理端末530のWebブラウザ750は、HTML文書を受信し、UIを表示する。そして、情報処理端末530のWebブラウザ750は、ユーザ指示に応じた画像編集処理を行い、処理した結果のデータをサーバ521のWebアプリケーション730に送信し、該データは、サーバ521で保持される。本実施例では、サーバ521の「Edit」機能で画像編集を行って、PNG形式のimage001.pngから、JPEG形式のimage001.jpegにデータ変換し、データベースサービス部735のコンテンツ管理テーブル820で保持管理する。
S913において、サーバ521のWebアプリケーション730は、Intentの処理が終了すると、処理結果をWebIntentsクライアントに伝えるECMAScriptを含む応答を返す。本例では、Edit処理後の画像データとして"image001.jpeg"を含むデータを、情報処理端末530のWebブラウザ750に返信する。この処理では、サーバ521のコンテンツ処理部734が、データベースサービス部735のコンテンツ管理テーブル820で保持管理しているユーザに指定された画像typeとファイル名で画像データを返信する。
続いて、S914において、情報処理端末530のスクリプト処理部757は、2つ目のサービス(第1のサービス、ここではサービス1)を提供するサーバ520の呼び出し処理を行う。2つ目のサービスは「Share」機能である。この処理は、前述のS913で取得した"image001.jpeg"を2つ目のサービスの呼び出しパラメータとして利用する。
S915において、情報処理端末530のWebブラウザ750は、S906で表示し、ユーザに選択されたサービス内の2つ目のサービスを提供するサーバ520へ要求を送信する。これにより、サーバ521でのS911〜S913における1つ目のスクリプト処理に続き、サーバ520のWebアプリケーション730に対して処理要求を行う。
サーバ520のWebアプリケーション730は、S915の要求を受信すると、S916の処理を実行する。S916において、サーバ520のWebアプリケーション730のIntent処理部732は、S915で受信した要求からIntentオブジェクトを取り出して解析する。続けて、解析したIntentの処理を開始する。本実施例では、サーバ520のWebアプリケーション730は、情報処理端末530のWebブラウザ750を介してユーザと相互作用を行う。さらに、Intentオブジェクトに含まれる画像データを共有する「share」サービスを提供する。
例えば、サーバ520のWebアプリケーション730は、画像データのファイル名の入力と保存する操作を受け付けるためのHTML文書を作成し、情報処理端末530に送信する。情報処理端末530のWebブラウザ750は、HTML文書を受信し、UIを表示する。そして、情報処理端末530のWebブラウザ750は、ユーザによる"Share"操作を検知すると、サーバ520のWebアプリケーション730に、画像データの共有要求を送信する。サーバ520のWebアプリケーション730は、画像データの共有要求を受信すると、コンテンツ処理部734がデータベースサービス部735のコンテンツ管理テーブル820に、ユーザに指定されたファイル名で画像データを登録する。
S917において、サーバ520のWebアプリケーション730は、Intentの処理が終了すると、処理結果をクライアント(サーバ510)に伝えるECMAScriptを含む応答を、情報処理端末530のWebブラウザ750に返す。
情報処理端末530のWebブラウザ750は、S917の応答を受信すると、S918の処理を実行する。S918において、情報処理端末530のWebブラウザ750は、応答中に含まれるECMAScriptを実行し、上述した1つ目のスクリプト内のstartActivety()関数の引数で指定されたコールバック関数を呼び出す。例えば、ECMAScript図10(A)であれば、コールバック関数onSuccess()を実行する。
S919において、情報処理端末530のWebブラウザ750は、コールバック関数によって、クライアント101を提供するサーバ510のWebアプリケーション700へ、WebIntent処理結果を返す。
サーバ510のWebアプリケーション700は、S919のWebIntent処理結果を受信すると、S920の処理を実行する。S920において、サーバ510のWebアプリケーション700のプレゼンテーション部703は、Intentの処理が終了したことを通知するためのページであるWebIntents処理の終了ページをHTML文書で作成する。
S921において、サーバ510のWebアプリケーション700のプレゼンテーション部703は、通信部701を介して、S920で作成したWebIntents処理の終了ページを情報処理端末530に送信する。
情報処理端末530のWebブラウザ750は、S921のWebIntents処理の終了ページを受信すると、S922の処理を実行する。S922において、情報処理端末530のWebブラウザ750の表示部753は、S921で受信したWebIntents処理の終了ページを表示する。
図13は、WebIntents処理の終了ページの一例を示す図である。
図13において、1300はWebIntents処理の終了ページで、各サービスの処理結果を表示する。この処理結果は、共有指示された画像データについて、第2のサービス"bbb Edit Server"で"png"から"jpeg"への「画像編集」(変換)を完了し、第1のサービス"AAA Share Service"で画像共有を完了したことを示す。即ち、Webブラウザ750は、要求した処理に成功した場合、共有等を指示したデータを第2のサービスにより処理完了した旨、及び、第2のサービスで処理された前記データを第1のサービスにより処理完了した旨を表示する。このように、Webブラウザ750は、要求した処理の処理結果を、前記機能情報を用いて呼び出した機能ごとに表示する(例えば、図13、後述する図17(A))。
本実施例では、情報処理端末530のWebブラウザ750がクライアントへ複数のサービスを提供する仕組みについて説明した。以上の処理により、ユーザは、情報処理端末530のWebブラウザ750を介して、そのデータtypeに対応していないサービスを容易に利用することが可能となる。
本実施例において、各サーバや装置の構成、ソフトモジュールの構成、また、画像データを変換することにより、リクエストとtype803の異なるサービスを利用する処理フローを示したが、これらは一例であり、これに限るものではない。
例えば、データ変換を行うtype803として、jpegやpng等の画像データのフォーマットの変換の他に、次のようなものでもよい。例えば、RFC2045、RFC2046,RFC2047,RFC2048,RFC2049などで規定されているMIMEタイプで規定されているフォーマットの変換を行う場合に適用できる。例えば、アプリケーションデータ、動画データや音声データ、音楽データ、アドレス帳データなど様々なデータに適用できる。これらのデータについても、サービスの連携により、複数のサービス(3つ以上のサービスでもよい)を適切に利用することで、例えばリクエストとtypeが異なっていても、ユーザが利用したいactionに応じたサービスを利用できるようになる。
本実施例で、サーバ510を、画像とソーシャルボタンを提供するWebサイトを実現するサーバとして説明した。また、サーバ520、521を、画像データを編集、保存、共有する機能を提供するWebサイトを実現するサーバとして説明した。しかし、サーバ510を画像形成装置、サーバ520、521をプリントサーバなどのMPS(Managed Print Service)に対して適用することも可能である。
以上の処理により、第2のサービスと第1のサービスを連携し、第2のサービスが第1のサービスの対応するデータに変換することにより、第1のサービスが対応していないデータについてもWebIntentsで処理することが可能となる。よって、クライアント101の保持するデータtypeと、サービスが処理できるデータtypeが異なる場合においても、ユーザの手を煩わすことなく容易にそのサービスを利用することが可能となる。
上記実施例1では、UA106として機能するWebブラウザ750が第2のサービスと第1のサービスを連携して複数のサービスへ処理を依頼する構成を説明した。実施例2では、UA106としてWebブラウザ750が第2のサービスに対して、第1のサービスの処理方法を渡すことによって、複数のサービスが連携し処理する構成について説明する。なお、実施例1と同等の構成や処理については、実施例1で説明したものと同じであるため説明は省略する。
以下、図14のシーケンス図を用いて、情報処理端末530がサーバ510により提供されるWebサイトにアクセスして、サーバ520、521により提供されるサービス1、2に、Intentの処理要求を仲介する動作について説明する。
図14は、実施例2におけるWebIntentsを利用したサービス提供に関する動作の一例を示すシーケンス図である。
S911において、情報処理端末530のWebブラウザ750は、S906で表示された一覧で選択されたサービス内の1つ目のサービス(サービス2)を提供するサーバ521へ要求を送信する。本例では、サーバ521のWebアプリケーション730に対して要求する。この処理で、情報処理端末530のWebブラウザ750は、送信データに、WebIntentオブジェクトの内容を含める。また、この際、送信データに、後述する図15(B)の1552のような、連携する2つ目のサービスのIntents処理内容を特定する情報を含める。また、2つ目のサービスを利用するために入力情報が必要な場合には、必要な入力情報を、上記送信データに含めるようにしてもよい。例えば、認証情報が必要な場合には認証情報を上記送信データに含める。また、画像データを保存するファイル名が必要な場合にはファイル名を上記送信データに含めるものとする。
サーバ521のWebアプリケーション730は、S911の要求を受信すると、S912を実行する。S912において、サーバ521のWebアプリケーション730のIntent処理部732は、S911の要求からIntentオブジェクトを取り出して解析する。さらに、Intent処理部732は、解析したIntentの処理を開始する。本実施例では、サーバ521のWebアプリケーション730は、「Edit」機能で画像編集を行うことで、PNG形式の"image001.png"からJPEG形式の"image001.jpeg"への変換を行う。
続いて、S1401で、サーバ521のIntent処理部732は、Intentの処理が終了すると、処理結果を次のサーバ520で処理するように、ECMAScriptを含む要求リクエストを作成する。本実施例では、Edit処理後の画像データとして"image001.jpeg"を含むWebIntents要求が含まれる。
続いて、S1402において、サーバ521のIntent処理部732は、2つ目のサーバ520に対してWebIntentsの送信処理を行う。このステップでは、S912の処理ステップにより取得したimage001.jpegを2つ目のサーバ520の呼び出しパラメータとして処理する。
S1403で、サーバ520のWebアプリケーション730のIntent処理部732は、上記S1402の処理で受信した要求からIntentオブジェクトを取り出して解析を行う。サーバ520のIntent処理部732は、解析したIntentの処理を実行する。本実施例ではサーバ520のWebアプリケーション730は、Intentオブジェクトに含まれる画像データを共有する「share」サービスを提供する。
具体的には、サーバ520のWebアプリケーション730は、S1402で送信された"image001.jpeg"の画像データの保存要求を受信する。すると、コンテンツ処理部734がデータベースサービス部735のコンテンツ管理テーブル820に、ユーザに指定されたファイル名で画像データを登録する。
S1404において、サーバ520のWebアプリケーション730は、上記S1403のIntentの処理が終了すると、処理結果をサーバ521のIntent処理部732に返信する。
S913において、サーバ521のWebアプリケーション730のIntent処理部732は、上記S1404で返信されたIntentの処理を解析し、上記S911の処理に対応する返信処理を行う。この処理は、クライアント(サーバ510)に伝えるECMAScriptを含む応答を返す。本例では、Share処理後のHTMLを含むデータが返信される。
図15(A)は、サーバ521のIntent処理部732が行う、図14のS912、S1401、S1402,S1403、S1404、S913での処理を説明するためのフローチャートである。以下、図15(A)を用いて、図14のS912、S1401、S1402,S1403、S1404、S913での処理をより詳細に説明する。
S1501において、サーバ521のWebアプリケーション730のプレゼンテーション部703は、通信部701を介してページ要求を受信したか監視する。そして、ページ要求(S911)を受信したと判定した場合(S1501でYesの場合)は、S1502に処理を遷移させる。
S1502において、サーバ521のIntent処理部732は、Intent処理要求の解析を行う。Intent処理部732は、情報処理端末530のWebブラウザ750が送信したECMAScript1550(例えば図15(B))から、actionやtypeなどのサービスの実行パラメータを取得する。また、サーバ521のIntent処理部732は、Intent処理要求に、図15(B)の1551に示すようなextraデータ含まれる場合、該extraデータから連携するサービスに対して実行処理を行うためのパラメータを取得する。
S1503において、サーバ521のIntent処理部732は、S1502で取得したサーバの実行パラメータから、Intent処理要求を実行する。この処理は、図14に示したS912の処理ステップに対応する。本実施例では、サーバ521で、action802が"edit"、type803が"image/*"の"bbb Edit Service"の処理を行う。具体的には、"image001.png"データから"image001.jpeg"データへのedit処理が行われる。
S1504において、サーバ521のIntent処理部732は、連携する転送Intent処理要求が含まれるか否かを判定する。図15(B)のextraデータ1551のような連携するサービスに対して実行処理を行うためのパラメータが含まれる場合には、連携する転送Intent処理要求が含まれると判定し、S1505に処理を遷移させる。一方、extraデータのような連携するサービスに対して実行処理を行うためのパラメータが含まれない場合には、連携する転送Intent処理要求が含まれないと判定し、S1507に処理を遷移させる。
S1505において、サーバ521のIntent処理部732は、上記S1502で取得したパラメータを用いて、連携するサービス(ここではサーバ520が提供する)に対する転送Intents処理要求を実行する。本実施例では、これにより、サーバ520でaction802が"share"、type803が"image/jpeg"の"AAA Share Service"を実行する。この処理は、図14に示したS1401の処理ステップに対応する。
S1506において、サーバ521のIntent処理部732は、S1505での要求に従い、サーバ520で実行されたサービスの処理結果を受信し、処理する。この処理は、前述したS1404の処理ステップに対応する。
S1507において、サーバ521のIntent処理部732は、サーバ520から受信した処理結果(又はS1503の処理結果)を、要求元である情報処理端末530のWebブラウザ750に返信する。この処理は、図14に示したS913の処理ステップに対応する。
情報処理端末530のWebブラウザ750が作成するECMAScriptの一例を、図15(B)を用いて説明する。
図15(B)は、情報処理端末530のWebブラウザ750が作成するECMAScriptの一例を示す図である。このスクリプトは、図14に示したS911で作成される。なお、図15(B)に示すスクリプトはあくまで一例であり、情報処理端末530であるWebブラウザ750が解釈できれば、他の形式、表記でもよい。
ECMAScript1550は、図4のECMAScriptとほぼ同じであるため、異なる点のみを説明する。
extraデータ1551には、サーバ521が実行する、連携する2つ目のIntents処理内容を特定する情報1552を記載する。具体的には、サーバ521のIntent処理部732が、サーバ520のIntent処理部732に対して実行処理を行ためのパラメータを指定する。このパラメータには、サービスを特定し、WebIntentsを実行するための情報を記載する。例えば、Forwardaction、NextForwardtype、ForwardTitle、ForwardHref、ForwardDisposition、ForwardBaseURIなどがパラメータに指定される。
WebIntentサービスの連携を行うための、ECMAScript1550の作成処理は、図14のS904で表示された画面において、ユーザにより「共有する」ボタン1005が押下された時に実行される。
先ず、情報処理端末530のWebブラウザ750は、図14のS905において、登録済みサービステーブル800を取得する。さらに、スクリプト処理部757は、サービス情報記憶部758に記憶されている第1のサービスで処理を行うために必要な第2のサービスを選択し、第2のサービスを利用するために必要なaction802、type803を決定する。ECMAScript1550の例では、最初に情報処理端末530のWebブラウザ750は、サーバ521に対してaction802が"edit"、type803が"image/*"の処理を行う。続いて、サーバ521は、サーバ520に対してaction802が"share"であり、type803が"image/jpeg"である処理を行う。
さらに、複数のWebIntents連携処理を行う場合は、複数の転送サービスおよび、WebIntents処理を特定する情報を、上記extraデータ1551内のパラメータとして記載することも可能である。例えば、"ForwardAction":["http://webintents.org/edit","http:// webintents.org/share",]、"ForwardType":["image/*","image/jpeg"]、"ForwardBaseURI":["http://bbb111.com"," http://ccc111.com "]などのWebIntents処理を行うためのパラメータを記載することも可能である。
この例では、第1のサービスを提供する1つ目のサーバのIntent処理部732は、WebIntents処理を行った後に、extraデータ1551で指示された連携するWebIntents処理を行う。その後、連携するWebIntents処理として、2つ目のサービスである"http://bbb111.com"に対して、"edit"処理を行うためのパラメータ、および、extraデータ1551として"http://ccc111.com"に対して"share"処理を行うためのパラメータを生成して送信する。
2つ目のサービスである"http://bbb111.com"を提供する2つ目のサーバのIntent処理部732は、WebIntents処理の"edit"処理を行った後に、extraデータ1551で指示された連携するWebIntents処理を行う。具体的には、3つ目のサービスである"http://ccc111.com"に対して、"share"処理を行うためのパラメータを生成して、送信する。そして、3つ目のサービスである"http://ccc111.com"を提供する3つ目のサーバでは、"share"のWebIntens処理が実行される。
本実施例では、情報処理端末530のWebブラウザ750が、第2のサービスである"edit"の処理を行う第2のサーバと、第1のサービスである"share"の処理を行う第1のサーバへのパラメータを作成し、第2のサーバに送信する。そして、各サーバが連携してこれを実行することにより、連携してIntents処理を行うことができるようになる。このため、連携する複数のWebIntentsサービスが、各サービス間で情報処理端末530のWebブラウザ750を介することなく連携できるようになる。また、本実施例では、主に2つのサービス間での連携例方法を示したが、同様の処理により、3つ以上のサービス間で連携することもできるようになる。
実施例3では、複数の連携するサービスでWebIntents処理を行う場合に、サービスでの処理が失敗してユーザが選択した処理が完了しない場合の処理方法、および、連携するサービスの選択方法について説明する。なお、上述した実施例1、2と同等の構成や処理については、実施例1、2で説明したものと同じであるため説明は省略する。
以下、図16のシーケンス図を用いて、情報処理端末530がサーバ521のIntent処理を実行し、処理に失敗した場合の動作について説明する。
図16は、実施例3におけるWebIntentsを利用したサービス提供に関する動作の一例を示すシーケンス図である。
情報処理端末530のWebブラウザ750は、S911からS913において、WebIntents処理を行う。S912において、サーバ521のWebアプリケーション730のIntent処理部732は、S911で受信した処理要求からIntentオブジェクトを取り出して解析する。Intent処理部732は、解析したIntentの処理を行う。本実施例では、サーバ521のWebアプリケーション730は、「Edit」機能で画像編集を行うことで、PNG形式の"image001.png"から、JPEG形式の"image001.jpeg"の変換を行う。
S1601においた、サーバ520のWebアプリケーション730は、S912の処理でIntentの処理結果を判定する。例えば、Intent処理部732が画像変換に失敗した場合や、メモリ不足など、処理結果が失敗した場合など、処理の失敗の検出を行う。S1601において、処理の失敗が検出されると、S913において、サーバ521のWebアプリケーション730のIntent処理部732は、S912におけるIntentの処理結果を解析し、S911の処理に対応する返信処理を行う。この処理は、クライアント(サーバ510)に伝えるECMAScriptを含む応答を、情報処理端末106のWebブラウザ750に返す。本例では、"Edit"処理のエラー結果を含むHTMLデータが返信(応答)される。
そして、S918において、情報処理端末530のWebブラウザ750は、上記サーバ521からの応答内に含まれるECMAScriptを実行し、1つ目のサービスを呼び出す1つ目のスクリプト内のstartActivety()関数の引数で指定されたコールバック関数を呼び出す。本実施例では、S913で、サーバ521から"Edit"処理のエラー結果を含むスクリプトが返信される。このため、例えば、図10(A)に示したECMAScriptであれば、コールバック関数"onError()"を実行する。
S919において、情報処理端末530のWebブラウザ750はコールバック関数によってサーバ510のWebアプリケーション700へWebIntent処理結果を返す。
S920において、サーバ510のWebアプリケーション700のプレゼンテーション部703はIntentの処理が失敗したことを通知するためのページである終了ページをHTML文書で作成する。さらに、S921において、サーバ510のWebアプリケーション700のプレゼンテーション部703は、通信部701を介して、S920で作成した処理が失敗した事を通知するページを情報処理端末530に送信する。
そして、S922において、情報処理端末530のWebブラウザ750は、S921の処理ステップで受信したWebIntents処理の処理失敗ページを表示する。
図17(A)は、処理失敗ページの一例を示す図である。
1700は各サーバの処理結果を表示する。処理結果表示部1701では、共有指示された画像データについて、第2のサービス"bbb Edit Server"で"png"から"jpeg"への「画像編集」(変換)に失敗したことを示している。さらに、1701では、この変換失敗のために、第1のサービス"AAA Share Service"で画像共有が完了できなかったことを示している。即ち、Webブラウザ750は、第2のサービスで処理に失敗した場合、共有等を指示したデータを第2のサービスによる処理で失敗した旨、及び、該失敗のため前記データを第1のサービスにより処理完了できなかった旨を表示する。
図17(A)で示した処理失敗ページで、「OK」ボタン1702が押下されると、図16のS904で共有ボタンが押下され、サービスを選択する画面に遷移する。また、図17(A)で示した処理失敗ページで、「キャンセル」ボタン1703が押下されると、処理を中止して以降の処理を行わない。また、この情報を利用して、図17(A)の「同様の形式は同じ処理を行う」1704のチェックボックスが設定されている場合は、以後、同様の条件が発生した際に同じ処理を行う。
図17(A)で示した処理失敗ページで、「OK」ボタン1702が押下された場合の、サーバを選択する画面例を図17(B)に示す。
1705は、「OK」ボタン1702が押下されることで、情報処理端末530のWebブラウザ750が表示するポップアップ画面例である。1706は、図16のS905の処理ステップで表示対象となったサーバの一覧である。即ち、Webブラウザ750は、要求した処理でエラーが発生した場合、再度、サービスの指定をユーザから受け付ける。
図17(B)の例は、一覧に「aaa Edit Service」1708、「bbb Edit Service」1709をWebブラウザ750で表示した画面例である。選択画面(一覧)1706では、"aaa Edit Serviceで編集して共有"1708が優先的に表示され、"bbb Edit Serviceで編集して共有"1709が第2候補としてメニューに表示されている。なお、優先順位の判定は、スクリプト処理部757が、情報処理端末530のWebブラウザ750の登録済みサービステーブル800(図18)を参照して判定を行う。
図18は、実施例3における登録済みサービステーブル800の一例を示す図である。
RegistrationDate1801は、WebIntentsサービスが登録された日時を示す。Count1802は、WebIntentsサービスの過去の利用回数を示す。
上述した優先順位の判定方法の一例としては、WebIntentsサービスが登録された日時RegistrationDate1801の新しいサービス、または、古いサービスを優先して表示する。また、WebIntentsサービスの利用回数Count1802に応じて優先順位の判定を行う方法でもよい。なお、サーブスの利用回数の他に、サービスの利用頻度を登録済みサービステーブル800に登録してもよい。この場合、また、サービスの利用頻度に応じて優先順位の判定を行う方法でもよい。
さらに、第2候補としてメニューに表示している"bbb Edit Serviceで編集して共有"1709には、WebIntentの実行結果Status1910(図19)から、過去にエラーが発生した処理を判定し、エラー表示(!)1709を表示する。即ち、Webブラウザ750は、サービスの指定をユーザから受け付ける場合に、図19に示すログにエラーの発生が記憶されているサービスについては、過去にエラーが発生したことを示す情報を表示する。又は、エラーが発生したサービスをメニューリスト(一覧1706)に表示しないことも可能である。また、図17(B)の「同様の形式は同じ処理を行う」1707のチェックボックスが設定されている場合は、これらの処理を行った情報を利用して、以後、同様の条件が発生した際に同処理を行う。
図19は、UA106のWebIntent実行ログの一例を示す図である。
LogID1901は、UA106のWebIntent処理を一意に識別するためのIDである。action1902は、サーバ520の機能、サービスを示す情報である。type1903は、action802に対してどのようなデータ形式を扱えるかを示している。href1904は、サーバ520、521が提供するサービスの相対URLを示している。title1905は、サーバ520、521が提供するサービスのタイトルを示している。また、disposition1906は、サーバ520、521が提供するサービスがどのように表示されるかを示す。RegistrationDate1907は、WebIntentsサーバが登録された日時を示す。Transaction1908は、UAが同一のユーザのリクエストで処理した一連のサーバ処理を示す。Input Data type1909は、処理の入力パラメータとして指定されたデータのtypeを示す。Status1910は、WebIntentの実行結果を示す。なお、図19に示したUA106のWebIntent実行ログは、サービス情報記憶部758又は情報処理端末530のHDD606の他の記憶領域に記憶される。
本実施例では、複数の連携するサーバでWebIntents処理を行う場合に、サーバでの処理が失敗してユーザが選択した処理が完了しない場合にユーザに処理の失敗を表示する構成を示した。また、連携するサーバの優先順位を表示、選択する構成について説明した。
以上の処理により、連携する複数のサービスでエラーが発生した場合でもユーザがエラーを容易に認識でき、他のWebIntentsサービスを選択して処理することが可能となる。よって、クライアントの保持するデータtypeと、サービスが処理できるデータtypeが異なる場合においても、ユーザの手を煩わすことなく容易に複数のサービスを連携して所望のサービスを利用することが可能となる。
従って、本発明の各実施例によれば、データを管理するWebIntentsクライアントの提供するデータのタイプを処理ができないサービスであっても、他のサービスを連携して、容易に選択、利用することを出来るようにすることができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。

Claims (17)

  1. データを管理するクライアントと、当該クライアントで管理されるデータを利用して機能を提供するサービスとを、ネットワークを介して中継する中継機能を備える情報処理端末であって、
    前記中継機能による、前記サービスが提供する機能を呼び出すための機能情報の登録処理を実行する登録手段と、
    ユーザより前記クライアントで管理される特定のデータに対する機能の呼び出しが指示された場合に、前記特定のデータを、該呼び出しが指示された機能に対応するカテゴリに属する前記登録手段に登録されている第1機能情報の処理可能なタイプに適合させるための第2機能情報を前記登録手段に登録されている機能情報から特定する特定手段と、
    前記特定された第2機能情報を用いて呼び出した機能により処理された前記特定のデータを、前記第1機能情報を用いて呼び出した機能で処理するための要求を行う要求手段と、
    前記要求手段で要求した処理の処理結果を受信する受信手段と、
    を有することを特徴とする情報処理端末。
  2. 前記要求手段は、前記特定のデータを、前記第2機能情報を用いて呼び出す機能により処理するための要求を、該機能を提供するサービスに対して行い、さらに、前記第2機能情報を用いて呼び出した機能により処理された前記特定のデータを、前記第1機能情報を用いて呼び出す機能により処理するための要求を、該機能を提供するサービスに対して行うものであり、
    前記受信手段は、前記第1機能情報を用いて呼び出した機能を提供するサービスから、処理結果を受信することを特徴とする請求項1に記載の情報処理端末。
  3. 前記要求手段は、前記特定のデータを、前記第2機能情報を用いて呼び出す機能により処理するための要求、及び、前記第2機能情報を用いて呼び出す機能により処理された前記特定のデータを、前記第1機能情報を用いて呼び出す機能により処理するための要求を、前記第2機能情報を用いて呼び出す機能を提供するサービスに対して行うものであり、
    前記受信手段は、前記第2機能情報を用いて呼び出した機能を提供するサービスから、処理結果を受信することを特徴とする請求項1に記載の情報処理端末。
  4. 前記第1機能情報に連携する前記第2機能情報を一覧表示し、該一覧から利用する第2機能情報の指定をユーザから受け付ける指定手段を有し、
    前記指定手段で受け付けた指定に従い、前記要求を行うことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理端末。
  5. 前記機能情報を用いて呼び出した機能による処理の処理結果を記憶する記憶手段を有し、
    前記指定手段は、前記記憶手段にエラーの発生が記憶されている機能情報については、前記一覧に、過去にエラーが発生したことを示す情報を表示することを特徴とする請求項4に記載の情報処理端末。
  6. 前記登録手段は、登録されている機能情報の利用回数又は利用頻度を記憶するものでああり、
    前記指定手段は、前記一覧を、利用回数又は利用頻度に応じた優先順に機能情報を表示することを特徴とする請求項4又は5に記載の情報処理端末。
  7. 前記要求手段で要求した処理でエラーが発生した場合、前記指定手段は、再度、前記指定をユーザから受け付けることを特徴とする請求項4乃至6のいずれか1項に記載の情報処理端末。
  8. 前記要求手段で要求した処理の処理結果を、前記機能情報を用いて呼び出した機能ごとに表示する表示手段を有することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理端末。
  9. 前記表示手段は、前記要求手段で要求した処理に成功した場合、前記特定のデータを前記第2機能情報を用いて呼び出した機能により処理完了した旨、及び、前記第2機能情報を用いて呼び出した機能により処理された前記特定のデータを前記第1機能情報を用いて呼び出した機能により処理完了した旨を表示することを特徴とする請求項8に記載の情報処理端末。
  10. 前記表示手段は、前記要求手段で要求した処理が前記第2機能情報を用いて呼び出した機能で処理に失敗した場合、前記特定のデータを前記第2機能情報を用いて呼び出した機能により処理することに失敗した旨、及び、前記特定のデータを前記第1機能情報を用いて呼び出す機能による処理を完了できなかった旨を表示することを特徴とする請求項8又は9に記載の情報処理端末。
  11. 前記ネットワークは、インターネットであることを特徴とする請求項1乃至10のいずれか1項に記載の情報処理端末。
  12. 前記クライアント、前記サービス及び前記中継機能の少なくとも2つは、同じ装置で動作する機能であることを特徴とする請求項1乃至11のいずれか1項に記載の情報処理端末。
  13. 前記カテゴリは、前記特定のデータの共有するカテゴリ、前記特定のデータの編集するカテゴリ、前記特定のデータの閲覧するカテゴリ、前記特定のデータを外部サービスから取得するカテゴリ、前記特定のデータの購読するカテゴリ、前記特定のデータの保存するカテゴリの少なくともいずれかを含むことを特徴とする請求項1乃至12のいずれか1項に記載の情報処理端末。
  14. 前記中継機能は、前記情報処理端末のオペレーティングシステムまたはウェブブラウザの機能として提供されることを特徴とする請求項1乃至13のいずれか1項に記載の情報処理端末。
  15. 前記カテゴリ及び前記特定のデータのタイプと利用された前記機能情報とを対応付けて設定する設定手段を有し、
    前記要求手段は、前記設定手段により設定されたカテゴリ及びデータのタイプと同一のカテゴリ及びデータのタイプの処理を要求する場合には、該カテゴリ及びデータのタイプと対応付けされた機能情報を利用することを特徴とする請求項1乃至14のいずれか1項に記載の情報処理端末。
  16. データを管理するクライアントと、当該クライアントで管理されるデータを利用して機能を提供するサービスとを、ネットワークを介して中継する中継機能を備える情報処理端末の制御方法であって、
    前記中継機能による、前記サービスが提供する機能を呼び出すための機能情報の登録処理を実行する登録ステップと、
    ユーザより前記クライアントで管理される特定のデータに対する機能の呼び出しが指示された場合に、前記特定のデータを、該呼び出しが指示された機能に対応するカテゴリに属する前記登録されている第1機能情報の処理可能なタイプに適合させるための第2機能情報を前記登録されている機能情報から特定する特定ステップと、
    前記特定された第2機能情報を用いて呼び出した機能により処理された前記特定のデータを、前記第1機能情報を用いて呼び出した機能で処理するための要求を行う要求ステップと、
    前記要求ステップで要求した処理の処理結果を受信する受信ステップと、
    を有することを特徴とする情報処理端末の制御方法。
  17. コンピュータを、請求項1乃至15のいずれか1項に記載の手段として機能させるためのプログラム。
JP2013173228A 2013-08-23 2013-08-23 情報処理端末、情報処理端末の制御方法およびプログラム Expired - Fee Related JP6192433B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013173228A JP6192433B2 (ja) 2013-08-23 2013-08-23 情報処理端末、情報処理端末の制御方法およびプログラム
EP14181120.8A EP2840500A3 (en) 2013-08-23 2014-08-15 Information processing terminal and control method
US14/463,562 US9769246B2 (en) 2013-08-23 2014-08-19 Information processing terminal and control method
CN201410418950.6A CN104423966B (zh) 2013-08-23 2014-08-22 信息处理终端和控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013173228A JP6192433B2 (ja) 2013-08-23 2013-08-23 情報処理端末、情報処理端末の制御方法およびプログラム

Publications (3)

Publication Number Publication Date
JP2015041331A true JP2015041331A (ja) 2015-03-02
JP2015041331A5 JP2015041331A5 (ja) 2016-09-29
JP6192433B2 JP6192433B2 (ja) 2017-09-06

Family

ID=51454533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013173228A Expired - Fee Related JP6192433B2 (ja) 2013-08-23 2013-08-23 情報処理端末、情報処理端末の制御方法およびプログラム

Country Status (4)

Country Link
US (1) US9769246B2 (ja)
EP (1) EP2840500A3 (ja)
JP (1) JP6192433B2 (ja)
CN (1) CN104423966B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016158908A1 (ja) * 2015-03-30 2016-10-06 株式会社セキュアブレイン ネットワーク通信方法及びネットワーク通信システム
CN113518128A (zh) * 2015-07-23 2021-10-19 微软技术许可有限责任公司 跨平台的协调动作

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127065B (zh) * 2016-06-15 2018-11-30 实创时新(北京)科技有限公司 一种用于在线协同编辑服务的数据变换方法和系统
JP6953703B2 (ja) * 2016-10-19 2021-10-27 株式会社リコー システム、情報処理方法、情報処理装置、プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323366A (ja) * 2006-05-31 2007-12-13 Sharp Corp 複合機、複合機の制御方法、制御装置、制御装置の制御方法、複合機制御システム、制御プログラム、およびコンピュータ読み取り可能な記録媒体
JP2011039921A (ja) * 2009-08-17 2011-02-24 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
JP2012178031A (ja) * 2011-02-25 2012-09-13 Canon Inc 印刷中継サーバ、印刷中継サーバを制御する制御方法、その制御方法のプログラム、および印刷処理方法
JP2013149103A (ja) * 2012-01-19 2013-08-01 Canon Inc 印刷システム、画像形成装置、中間処理装置、ウェブサービス提供装置、印刷システムの制御方法およびコンピュータプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296435A (ja) 2002-04-01 2003-10-17 Canon Inc 情報処理システム及び情報処理装置及び情報処理方法及びそれを実施するプログラムを情報処理装置読み出し可能に記憶した記憶媒体及びそのプログラム
DE602005020828D1 (de) 2004-11-08 2010-06-02 Sony Corp Informationsverarbeitungssystem und informationsverarbeitungseinrichtung
JP4663525B2 (ja) * 2006-01-06 2011-04-06 株式会社日立製作所 情報処理方法、情報処理装置、及びプログラム
JP4302710B2 (ja) * 2006-04-11 2009-07-29 シャープ株式会社 画像処理装置制御システム
JP5087456B2 (ja) * 2008-04-09 2012-12-05 株式会社インテック サービス提供システム及びそれを構成するユーザ収容装置
JP5573337B2 (ja) 2010-04-30 2014-08-20 ソニー株式会社 情報提供装置、情報提供方法、プログラム、情報処理装置、サービス提供装置および情報処理システム
JP5279761B2 (ja) 2010-05-11 2013-09-04 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置、情報処理方法およびプログラム
US8347322B1 (en) * 2011-03-31 2013-01-01 Zynga Inc. Social network application programming interface
JP6135055B2 (ja) * 2011-09-16 2017-05-31 株式会社リコー 情報提供装置、伝送システムおよびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007323366A (ja) * 2006-05-31 2007-12-13 Sharp Corp 複合機、複合機の制御方法、制御装置、制御装置の制御方法、複合機制御システム、制御プログラム、およびコンピュータ読み取り可能な記録媒体
JP2011039921A (ja) * 2009-08-17 2011-02-24 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
JP2012178031A (ja) * 2011-02-25 2012-09-13 Canon Inc 印刷中継サーバ、印刷中継サーバを制御する制御方法、その制御方法のプログラム、および印刷処理方法
JP2013149103A (ja) * 2012-01-19 2013-08-01 Canon Inc 印刷システム、画像形成装置、中間処理装置、ウェブサービス提供装置、印刷システムの制御方法およびコンピュータプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016158908A1 (ja) * 2015-03-30 2016-10-06 株式会社セキュアブレイン ネットワーク通信方法及びネットワーク通信システム
JPWO2016158908A1 (ja) * 2015-03-30 2018-03-01 株式会社セキュアブレイン ネットワーク通信方法及びネットワーク通信システム
US10586034B2 (en) 2015-03-30 2020-03-10 Securebrain Corporation Network communication method and network communication system
CN113518128A (zh) * 2015-07-23 2021-10-19 微软技术许可有限责任公司 跨平台的协调动作

Also Published As

Publication number Publication date
JP6192433B2 (ja) 2017-09-06
EP2840500A2 (en) 2015-02-25
US9769246B2 (en) 2017-09-19
EP2840500A3 (en) 2016-05-04
CN104423966B (zh) 2018-01-05
CN104423966A (zh) 2015-03-18
US20150058395A1 (en) 2015-02-26

Similar Documents

Publication Publication Date Title
JP6296813B2 (ja) 情報処理端末、情報処理端末の制御方法およびプログラム
US10049161B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP6192433B2 (ja) 情報処理端末、情報処理端末の制御方法およびプログラム
JP5638761B2 (ja) 画面生成方法、画面表示方法、画面生成装置、及びプログラム
US20150207867A1 (en) Information processing terminal and control method
US20150067173A1 (en) Information processing terminal and control method therefor, system and control method therefor, and non-transitory computer-readable medium
JP6168839B2 (ja) 情報処理装置、その制御方法、プログラム
US20150222712A1 (en) Information processing terminal and control method
US10044814B2 (en) Information processing terminal and control method for processing both service searched on network and service provided via site
JP6513244B2 (ja) 情報処理端末、制御方法及びプログラム
JP7434485B2 (ja) 情報処理端末、制御方法、およびオペレーティングシステム
JP2015133057A (ja) 情報処理端末、処理装置、これらの制御方法およびプログラム
KR101719592B1 (ko) 정보처리단말, 그 방법 및 기억매체
US10165057B2 (en) Information processing terminal, and controlling method thereof
JP2019106222A (ja) 情報処理端末、情報処理端末の制御方法およびプログラム
US9800674B2 (en) Information processing terminal, control method therefor, and non-transitory computer-readable medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160809

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160809

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170629

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170808

R151 Written notification of patent or utility model registration

Ref document number: 6192433

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees