WO2009081593A1 - 通信端末、通信方法および通信プログラム - Google Patents

通信端末、通信方法および通信プログラム Download PDF

Info

Publication number
WO2009081593A1
WO2009081593A1 PCT/JP2008/003987 JP2008003987W WO2009081593A1 WO 2009081593 A1 WO2009081593 A1 WO 2009081593A1 JP 2008003987 W JP2008003987 W JP 2008003987W WO 2009081593 A1 WO2009081593 A1 WO 2009081593A1
Authority
WO
WIPO (PCT)
Prior art keywords
request
communication terminal
unit
buffer
response data
Prior art date
Application number
PCT/JP2008/003987
Other languages
English (en)
French (fr)
Inventor
Kazuhisa Higuchi
Masayuki Doi
Hidehiko Kawahara
Akiho Shibata
Original Assignee
Softbank Mobile Corp.
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 Softbank Mobile Corp. filed Critical Softbank Mobile Corp.
Publication of WO2009081593A1 publication Critical patent/WO2009081593A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system

Definitions

  • the present invention relates to a communication terminal, a communication method, and a communication program.
  • the present invention is particularly effective when applied to small-scale application software such as a widget that issues a request to a web server, for example, based on a script and displays a response to the request.
  • the present invention relates to a method and a communication program.
  • This application is related to the following Japanese application. For designated countries where incorporation by reference of documents is permitted, the contents described in the following application are incorporated into this application by reference and made a part of this application.
  • widgets are known. Based on the script, the widget issues a request to, for example, a web server, and processes, for example, displays data transmitted as a result of a response to the request. The processing result is displayed on a small window provided in the display unit.
  • Patent Document 1 discloses an active configuration framework that integrates a plurality of networks having different communication protocols into a single unified framework to enable a user application to discover and use various network devices.
  • the framework system interconnects services and service users to provide discovery and use of networking services using Plug and Play (PnP) brokers.
  • PnP Plug and Play
  • the service user communicates with the service through the PnP broker interface independent of the communication protocol used by the device providing the service.
  • Widgets are independently connected to the web server. Therefore, when a large number of widgets are operated, requests are issued to the web server at random, and communication traffic in the communication terminal that operates the widgets increases.
  • the processing burden associated with issuing a request may increase due to a lack of hardware resources.
  • An increase in processing load may be a factor that decreases the performance of the communication terminal, and may also be a factor that increases power consumption.
  • an increase in communication traffic may become a factor that increases the load on a server or network that is a communication control device.
  • a script storage unit that stores a script that describes processing contents, and a request generation unit that generates a request according to the description of the script stored in the script storage unit
  • a request buffer unit that buffers the request generated by the request generation unit, a request transmission unit that reads the request buffered in the request buffer unit at a predetermined transmission timing, and transmits the read request.
  • a communication terminal including a response data receiving unit that receives response data in response to a transmitted request, and a response data processing unit that processes the response data received by the response data receiving unit according to the description of the script.
  • FIG. 1 shows an overview of a network system 10 that uses a communication terminal 100 of the present embodiment.
  • 2 shows an exemplary functional configuration of the communication terminal 100.
  • a processing flow example of request transmission is shown.
  • the example of a processing flow of response data is shown.
  • An example of the hardware constitutions of the communication terminal 100 which concerns on this embodiment is shown.
  • FIG. 1 shows an outline of a network system 10 using the communication terminal 100 of the present embodiment.
  • the system shown in FIG. 1 includes a communication terminal 100, a web application server 200, and a network 400.
  • the communication terminal 100 is, for example, a mobile terminal, and lacks hardware resources such as calculation speed and memory capacity compared to a desktop personal computer or the like.
  • a small-scale application program for executing web access such as a widget is operated.
  • Widget 120 executes processing according to the script.
  • the processing executed by the widget 120 includes request transmission such as web access.
  • the widget 120 is a kind of small-scale application program, and displays the execution result on the window generated on the display unit 118.
  • the widget 120 obtains and displays one-line news by accessing a news site, for example.
  • the widget 120 obtains and displays a ranking result by accessing a book ranking site, for example.
  • the web application server 200 may be a service server in which the widget 120 issues a request and provides information and the like. Although a web application is illustrated here as a service, the service is not limited to a web application. For example, it may be a service that provides a database or the like.
  • the network 400 provides a communication environment using a protocol according to, for example, IP (Internet Protocol).
  • FIG. 2 shows a functional configuration example of the communication terminal 100.
  • the communication terminal 100 includes a script storage unit 104 that stores a script 102, a request generation unit 106, a sub-buffer unit 108, a request buffer unit 110, a request transmission unit 112, a response data reception unit 114, and response data processing.
  • the script 102 describes the processing content of the widget 120.
  • the script 102 can describe, for example, ECMAScript as a text document using an XML (Extensible Markup Language) syntax.
  • the script storage unit 104 stores the script 102.
  • the request generation unit 106 generates a request according to the description of the script 102 stored in the script storage unit 104.
  • the request generation unit 106 generates an HTTP (Hyper Text Transfer Protocol) request for the purpose of acquiring a web page from a web server, for example.
  • HTTP Hyper Text Transfer Protocol
  • a sub-buffer unit 108 is provided for each script 102.
  • the sub-buffer unit 108 buffers the request generated by the request generation unit 106 according to the script 102 corresponding to the sub-buffer unit 108. Then, the sub-buffer unit 108 transfers the buffered request to the request buffer unit 110 at a predetermined transfer timing. Further, the sub-buffer unit 108 transmits all buffered requests at the transfer timing, and releases the buffer area in which the requests are buffered after the request is transmitted.
  • the transfer timing in the sub-buffer unit 108 may be either when the buffer period expires or when the buffer number upper limit is reached.
  • the buffer period or the buffer number upper limit value in the sub-buffer unit 108 may be different for each corresponding script.
  • the buffer period or the buffer number upper limit value in the sub-buffer unit 108 can be changed according to the time zone.
  • the buffer period or the buffer number upper limit value in the sub-buffer unit 108 is set to the large traffic amount buffer period or the large traffic amount buffer number upper limit value in a period included in the time zone in which the traffic amount in the network 400 is larger than the average traffic amount. it can. In a period included in a time zone in which the traffic volume in the network 400 is less than the average traffic volume, the small traffic buffer period shorter than the large traffic buffer period or the small traffic buffer number smaller than the upper limit of the large traffic buffer number An upper limit may be set.
  • the sub-buffer unit 108 may integrate a plurality of requests from the same transmission destination and handle them as one request. .
  • the request buffer unit 110 buffers the request generated by the request generation unit 106. When several requests among buffered requests are transmitted to the same transmission destination, the request buffer unit 110 may integrate a plurality of requests of the same transmission destination and handle them as one request. .
  • the request transmission unit 112 reads the request buffered in the request buffer unit 110 at a predetermined transmission timing, and transmits the read request.
  • the transmission timing in the request transmission unit 112 may be either when the buffer period of the request buffer unit 110 expires or when the buffer number upper limit is reached.
  • the buffer period or the buffer number upper limit value of the request buffer unit 110 may be different for each corresponding script.
  • the buffer period or the buffer number upper limit value of the request buffer unit 110 can be changed according to the time zone.
  • the buffer period or the buffer number upper limit value of the request buffer unit 110 is set to the large traffic amount buffer period or the large traffic amount buffer number upper limit value in a period included in the time zone in which the traffic amount in the network 400 is larger than the average traffic amount. it can. In a period included in a time zone in which the traffic volume in the network 400 is less than the average traffic volume, the small traffic buffer period shorter than the large traffic buffer period or the small traffic buffer number smaller than the upper limit of the large traffic buffer number Can be set to the upper limit.
  • the request buffer unit 110 transmits all buffered requests at the transmission timing, and releases the buffer area in which the request is buffered after the request is transmitted.
  • the response data receiving unit 114 receives response data in response to the request transmitted by the request transmitting unit 112.
  • An example of the response data is an XML document.
  • the response data processing unit 116 processes the response data received by the response data receiving unit 114 in accordance with the description of the script 102.
  • the display unit 118 displays the processing result of the response data processed by the response data processing unit 116.
  • the processing result can be displayed as the widget 120.
  • the current position detection unit 122 detects the current position. Examples of the current position detection unit 122 include a GPS (Global Positioning System).
  • the buffer period or the buffer number upper limit value of the sub-buffer unit 108 or the request buffer unit 110 can be changed according to the current position detected by the current position detection unit 122. For example, when the current position detection unit 122 can determine that the current position is home, the buffer period or the buffer number upper limit value may be set to be small so that the widget 120 is frequently updated. Alternatively, when the current position detection unit 122 can determine that the user is out, the buffer period or the buffer number upper limit value may be set to be large so that the update frequency of the widget 120 is lowered.
  • the current position can be detected by the timer 124. For example, when it is scheduled to be in the train during the morning work hours, the current position can be estimated by the timer 124. For example, when the user is in the train, the buffer period or the buffer number upper limit value is set to be small and the widget 120 The update frequency of can be set high.
  • FIG. 3 shows an example of a processing flow for request transmission.
  • the widget 120 refers to the script 102 and generates a request. Thereafter, the generated request is transmitted to the sub-buffer unit 108 (step 502).
  • the sub-buffer unit 108 buffers the request (step 504). It is determined whether the transfer timing has been reached (step 506). If it is determined that the transfer timing has not yet been reached (No in step 506), the process waits until the transfer timing is reached (step 506).
  • the sub-buffer unit 108 transmits the buffered request to the request buffer unit 110 (step 508). After transmitting the buffered request, the sub-buffer unit 108 releases the buffered buffer area (step 510). Thereafter, the sub-buffer unit 108 enters an idle state and waits for transmission of a new request (step 512).
  • the request buffer unit 110 buffers the request transmitted from the sub buffer unit 108 (step 514). It is determined whether the transmission timing has been reached (step 516). If it is determined that the transmission timing has not yet been reached (No in step 516), the process waits until the transmission timing is reached (step 516). If it is determined that the transmission timing has been reached (Yes in step 516), the request buffer unit 110 transmits the buffered request (step 518). After transmitting the buffered request, the request buffer unit 110 releases the buffered buffer area (step 520). Thereafter, the request buffer unit 110 enters an idle state and waits for transmission of a new request (step 522).
  • FIG. 4 shows an example of a response data processing flow.
  • the process proceeds to step 604. If not received, the process returns to step 602 to wait for response data.
  • step 604 reception of the response data is completed (step 606), and the request that is the basis of the response data is specified (step 606). Thereafter, the response data is processed according to the script 102 (step 608). After the processing, processing data is displayed (step 610). Thereafter, the process returns to step 602 and waits for reception of response data.
  • the request from the widget is buffered in the sub-buffer unit 108 and the request buffer unit 110.
  • the widget 120 can be sent at once by matching the request timing by buffering. For this reason, communication traffic can be reduced, and the widget can be comfortably used even in an environment where hardware resources such as a portable terminal are limited.
  • the sub-buffer unit 108 is provided for each widget 120 (for each script 102), requests for each widget 120 can be transmitted together.
  • a widget is normally displayed by a plurality of requests, it is possible to avoid a situation in which display is incomplete by the request buffer unit 110.
  • FIG. 5 shows an example of the hardware configuration of the communication terminal 100 according to the present embodiment.
  • the communication terminal 100 includes a CPU peripheral unit having a CPU 1505, a RAM 1520, a graphic controller 1575, and a display device 1580 that are connected to each other by a host controller 1582.
  • the communication terminal 100 includes an input / output unit having a communication interface 1530, a hard disk drive 1540, and a CD-ROM drive 1560 connected to the host controller 1582 by the input / output controller 1584.
  • the communication terminal 100 includes a legacy input / output unit having a ROM 1510, a flexible disk drive 1550, and an input / output chip 1570 connected to the input / output controller 1584.
  • the host controller 1582 connects the RAM 1520 to the CPU 1505 and the graphic controller 1575 that access the RAM 1520 at a high transfer rate.
  • the CPU 1505 operates based on programs stored in the ROM 1510 and the RAM 1520 to control each unit.
  • the graphic controller 1575 acquires image data generated by the CPU 1505 or the like on a frame buffer provided in the RAM 1520 and displays the image data on the display device 1580.
  • the graphic controller 1575 may include a frame buffer that stores image data generated by the CPU 1505 or the like.
  • the input / output controller 1584 connects the host controller 1582 to the communication interface 1530, the hard disk drive 1540, and the CD-ROM drive 1560, which are relatively high-speed input / output devices.
  • the communication interface 1530 communicates with other devices via a network.
  • the hard disk drive 1540 stores programs and data used by the CPU 1505 in the communication terminal 100.
  • the CD-ROM drive 1560 reads a program or data from the CD-ROM 1595 and provides it to the hard disk drive 1540 via the RAM 1520.
  • the input / output controller 1584 is connected to the ROM 1510, the flexible disk drive 1550, and the relatively low-speed input / output device of the input / output chip 1570.
  • the ROM 1510 stores a boot program executed when the communication terminal 100 is started, a program depending on the hardware of the communication terminal 100, and the like.
  • the flexible disk drive 1550 reads a program or data from the flexible disk 1590 and provides it to the hard disk drive 1540 via the RAM 1520.
  • the input / output chip 1570 connects various input / output devices via a flexible disk drive 1550 such as a parallel port, a serial port, a keyboard port, and a mouse port.
  • the communication program provided to the hard disk drive 1540 via the RAM 1520 is stored in a recording medium such as the flexible disk 1590, the CD-ROM 1595, or an IC card and provided by the user.
  • the communication program is read from the recording medium, installed in the hard disk drive 1540 in the communication terminal 100 via the RAM 1520, and executed by the CPU 1505.
  • a communication program installed and executed in the communication terminal 100 works on the CPU 1505 or the like to cause the communication terminal 100 to function as each unit described with reference to FIGS. That is, the communication program displays the communication terminal 100, the script storage unit 104, the request generation unit 106, the sub buffer unit 108, the request buffer unit 110, the request transmission unit 112, the response data reception unit 114, the response data processing unit 116, and the display.

Abstract

 携帯端末等ハードウェア資源の乏しい通信端末においてウィジェットを稼動させる場合の通信トラフィックの増大を抑制する。  処理内容を記述したスクリプトを格納するスクリプト格納部と、スクリプト格納部に格納されたスクリプトの記述に従ってリクエストを生成するリクエスト生成部と、リクエスト生成部が生成したリクエストをバッファリングするリクエストバッファ部と、リクエストバッファ部にバッファリングされたリクエストを所定の送信タイミングで読み出し、読み出したリクエストを送信するリクエスト送信部と、リクエスト送信部が送信したリクエストに応答する応答データを受信する応答データ受信部と、応答データ受信部が受信した応答データをスクリプトの記述に従って処理する応答データ処理部と、を備える通信端末を提供する。

Description

通信端末、通信方法および通信プログラム
 本発明は、通信端末、通信方法および通信プログラムに関する。本発明は、特に、ウィジェットに代表される、スクリプトに基づいてたとえばウェブサーバにリクエストを発行して、当該リクエストに対するレスポンスを表示等処理する小規模アプリケーションソフトウェアに適用して効果的な通信端末、通信方法および通信プログラムに関する。なお、本出願は、下記の日本出願に関連する。文献の参照による組み込みが認められる指定国については、下記の出願に記載された内容を参照により本出願に組み込み、本出願の一部とする。
 特願2007-335144  出願日 2007年12月26日
 従来、ウィジェットに代表される小規模アプリケーションプログラムが知られている。ウィジェットは、スクリプトに基づき、たとえばウェブサーバにリクエストを発行して、当該リクエストに対する応答の結果送信されてきたデータをたとえば表示等処理する。処理結果は表示部に設けた小規模な窓に表示する。
 たとえば、特許文献1は、相異なる通信プロトコルを有する複数のネットワークを単一の統一フレームワークに統合して、ユーザアプリケーションがさまざまなネットワークデバイスを発見および利用することを可能にするアクティブコンフィグレーションフレームワークシステムを開示する。当該フレームワークシステムは、サービスとサービスユーザとを相互に接続して、プラグアンドプレイ(PnP)ブローカを用いたネットワーキングサービスの発見および利用を提供する。サービスユーザは、サービスを提供するデバイスにより使用される通信プロトコルとは独立に、PnPブローカのインタフェースを通じてサービスと通信する。
特開2001-290724号公報
 ウィジェットは各々独立にウェブサーバに接続される。よって多数のウィジェットを稼動させた場合、ウェブサーバに対しランダムにリクエストが発行され、ウィジェットを稼動する通信端末における通信トラフィックが増大する。特に、通信端末が携帯端末である場合には、ハードウェア資源の乏しさに起因して、リクエスト発行に伴う処理負担が増大する場合がある。処理負担の増大は、通信端末のパフォーマンスを低下させる要因になる可能性があり、消費電力を増加させる要因にもなる可能性がある。さらに、通信トラフィックの増大は、通信制御装置であるサーバあるいはネットワークへの負荷を増加させる要因になる可能性がある。
 上記課題を解決するために、本発明の第1の形態においては、処理内容を記述したスクリプトを格納するスクリプト格納部と、スクリプト格納部に格納されたスクリプトの記述に従ってリクエストを生成するリクエスト生成部と、リクエスト生成部が生成したリクエストをバッファリングするリクエストバッファ部と、リクエストバッファ部にバッファリングされたリクエストを所定の送信タイミングで読み出し、読み出したリクエストを送信するリクエスト送信部と、リクエスト送信部が送信したリクエストに応答する応答データを受信する応答データ受信部と、応答データ受信部が受信した応答データをスクリプトの記述に従って処理する応答データ処理部と、を備える通信端末を提供する。
 なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本実施形態の通信端末100を用いるネットワークシステム10の概要を示す。 通信端末100の機能構成例を示す。 リクエスト送信の処理フロー例を示す。 応答データの処理フロー例を示す。 本実施形態に係る通信端末100のハードウェア構成の一例を示す。
符号の説明
   10 ネットワークシステム
  100 通信端末
  102 スクリプト
  104 スクリプト格納部
  106 リクエスト生成部
  108 サブバッファ部
  110 リクエストバッファ部
  112 リクエスト送信部
  114 応答データ受信部
  116 応答データ処理部
  118 表示部
  120 ウィジェット
  122 現在位置検知部
  124 タイマ
  200 ウェブアプリケーションサーバ
  400 ネットワーク
 1505 CPU
 1510 ROM
 1520 RAM
 1530 通信インターフェイス
 1540 ハードディスクドライブ
 1550 フレキシブルディスク・ドライブ
 1560 CD-ROMドライブ
 1570 入出力チップ
 1575 グラフィック・コントローラ
 1580 表示装置
 1582 ホスト・コントローラ
 1584 入出力コントローラ
 1590 フレキシブルディスク
 1595 CD-ROM
 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
 図1は、本実施形態の通信端末100を用いるネットワークシステム10の概要を示す。図1に示すシステムは、通信端末100と、ウェブアプリケーションサーバ200と、ネットワーク400を備える。
 通信端末100は、たとえば携帯端末であり、デスクトップ型のパーソナルコンピュータ等と比較して演算速度、メモリ容量等のハードウェア資源に乏しい。通信端末100では、たとえばウィジェットのようなウェブアクセス等を実行する小規模アプリケーションプログラムが稼動する。
 ウィジェット120は、スクリプトに従った処理を実行する。ウィジェット120が実行する処理には、ウェブアクセス等のリクエスト送信が含まれる。ウィジェット120は小規模アプリケーションプログラムの一種であって、実行結果を表示部118に生成した窓に表示する。ウィジェット120は、たとえばニュースサイトにアクセスして1行ニュースを取得および表示する。ウィジェット120は、たとえば書籍ランキングサイトにアクセスしてランキング結果を取得および表示する。
 ウェブアプリケーションサーバ200は、ウィジェット120がリクエストを発行して、情報等を提供するサービスサーバであってよい。ここではサービスとしてウェブアプリケーションを例示しているが、サービスはウェブアプリケーションには限られない。たとえばデータベース等を提供するサービスであってもよい。ネットワーク400は、たとえばIP(Internet Plotocol)に従うプロトコルで通信環境を提供する。
 図2は、通信端末100の機能構成例を示す。通信端末100は、スクリプト102を格納するスクリプト格納部104と、リクエスト生成部106と、サブバッファ部108と、リクエストバッファ部110と、リクエスト送信部112と、応答データ受信部114と、応答データ処理部116と、表示部118と、現在位置検知部122と、タイマ124とを備える。
 スクリプト102は、ウィジェット120の処理内容を記述する。スクリプト102は、たとえばECMAScriptをXML(Extensible Markup Language)の構文に用いたテキスト文書として記述できる。スクリプト格納部104は、スクリプト102を格納する。
 リクエスト生成部106は、スクリプト格納部104に格納されたスクリプト102の記述に従ってリクエストを生成する。リクエスト生成部106は、たとえばウェブサーバからウェブページを取得することを目的にHTTP(Hyper Text Transfer Plotocol)リクエストを生成する。
 サブバッファ部108は、スクリプト102ごとに設けられる。サブバッファ部108は、サブバッファ部108に対応するスクリプト102に従ってリクエスト生成部106が生成したリクエストをバッファリングする。そしてサブバッファ部108は、バッファリングされたリクエストを所定の転送タイミングでリクエストバッファ部110に転送する。また、サブバッファ部108は、バッファリングされている全てのリクエストを転送タイミングにおいて送信して、リクエストの送信の後に、リクエストがバッファリングされていたバッファ領域を開放する。
 サブバッファ部108における転送タイミングは、バッファ期間の満了時またはバッファ数上限値に達した時の何れかであってよい。サブバッファ部108におけるバッファ期間またはバッファ数上限値は、対応するスクリプトごとに異なってよい。サブバッファ部108におけるバッファ期間またはバッファ数上限値は、時間帯に応じて変更できる。
 サブバッファ部108におけるバッファ期間またはバッファ数上限値は、ネットワーク400における通信量が平均通信量より多くなる時間帯に含まれる期間では大通信量用バッファ期間または大通信量用バッファ数上限値に設定できる。ネットワーク400における通信量が平均通信量より少なくなる時間帯に含まれる期間では大通信量用バッファ期間より短い小通信量用バッファ期間または大通信量用バッファ数上限値より小さい小通信量用バッファ数上限値に設定されてよい。サブバッファ部108は、バッファリングされているリクエストのうち幾つかのリクエストが同一の送信先に送信される場合には、同一送信先の複数のリクエストを統合して、一つのリクエストとして扱ってよい。
 リクエストバッファ部110は、リクエスト生成部106が生成したリクエストをバッファリングする。リクエストバッファ部110は、バッファリングされているリクエストのうち幾つかのリクエストが同一の送信先に送信される場合には、同一送信先の複数のリクエストを統合して、一つのリクエストとして扱ってよい。
 リクエスト送信部112は、リクエストバッファ部110にバッファリングされたリクエストを所定の送信タイミングで読み出して、読み出したリクエストを送信する。リクエスト送信部112における送信タイミングは、リクエストバッファ部110のバッファ期間の満了時またはバッファ数上限値に達した時の何れかであってよい。リクエストバッファ部110のバッファ期間またはバッファ数上限値は、対応するスクリプトごとに異なってよい。リクエストバッファ部110のバッファ期間またはバッファ数上限値は、時間帯に応じて変更できる。
 リクエストバッファ部110のバッファ期間またはバッファ数上限値は、ネットワーク400における通信量が平均通信量より多くなる時間帯に含まれる期間では大通信量用バッファ期間または大通信量用バッファ数上限値に設定できる。ネットワーク400における通信量が平均通信量より少なくなる時間帯に含まれる期間では大通信量用バッファ期間より短い小通信量用バッファ期間または大通信量用バッファ数上限値より小さい小通信量用バッファ数上限値に設定できる。リクエストバッファ部110は、バッファリングされている全てのリクエストを送信タイミングにおいて送信して、リクエストの送信の後に、リクエストがバッファリングされていたバッファ領域を開放する。
 応答データ受信部114は、リクエスト送信部112が送信したリクエストに応答する応答データを受信する。応答データは、たとえばXML文書が例示できる。応答データ処理部116は、応答データ受信部114が受信した応答データをスクリプト102の記述に従って処理する。
 表示部118は、応答データ処理部116が処理した応答データの処理結果を表示する。たとえば処理結果をウィジェット120として表示できる。現在位置検知部122は、現在位置を検知する。現在位置検知部122として、たとえばGPS(Global Positioning System)が例示できる。
 サブバッファ部108またはリクエストバッファ部110のバッファ期間またはバッファ数上限値は、現在位置検知部122が検知した現在位置に応じて変更できる。たとえば現在位置検知部122によって現在位置が自宅であると判断できる場合には、バッファ期間またはバッファ数上限値を小さく設定して、ウィジェット120が頻繁に更新されるように設定してもよい。あるいは現在位置検知部122によって外出中であると判断できる場合には、バッファ期間またはバッファ数上限値を大きく設定して、ウィジェット120の更新頻度を低くしてもよい。予めスケジュールが決まっている場合、タイマ124によって、現在位置を検知できる。たとえば朝の出勤時間帯に電車内にいることが予定されている場合には、タイマ124によって現在位置を推定でき、たとえば電車内にいるときにはバッファ期間またはバッファ数上限値を小さく設定してウィジェット120の更新頻度を高く設定できる。
 図3は、リクエスト送信の処理フロー例を示す。ウィジェット120がスクリプト102を参照してリクエストを生成する。その後サブバッファ部108に生成したリクエストを送信する(ステップ502)。サブバッファ部108はリクエストをバッファリングする(ステップ504)。転送タイミングに達したかを判断して(ステップ506)、未だ転送タイミングではないと判断した場合(ステップ506のNo)、転送タイミングに達するまで待機する(ステップ506)。
 転送タイミングに達したと判断した場合(ステップ506のYes)、サブバッファ部108は、バッファリングしているリクエストをリクエストバッファ部110に送信する(ステップ508)。サブバッファ部108は、バッファリングしていたリクエストを送信した後、バッファリングしていたバッファ領域を開放する(ステップ510)。その後サブバッファ部108はアイドル状態となって、新たなリクエストの送信を待機する(ステップ512)。
 ステップ508の後、リクエストバッファ部110は、サブバッファ部108から送信されたリクエストをバッファリングする(ステップ514)。送信タイミングに達したかを判断して(ステップ516)、未だ送信タイミングではないと判断した場合(ステップ516のNo)、送信タイミングに達するまで待機する(ステップ516)。送信タイミングに達したと判断した場合(ステップ516のYes)、リクエストバッファ部110は、バッファリングしているリクエストを送信する(ステップ518)。リクエストバッファ部110は、バッファリングしていたリクエストを送信した後、バッファリングしていたバッファ領域を開放する(ステップ520)。その後リクエストバッファ部110はアイドル状態となって、新たなリクエストの送信を待機する(ステップ522)。
 図4は、応答データの処理フロー例を示す。まず、応答データ受信部114が応答データを受信したかを判断する(ステップ602)。応答データを受信した場合はステップ604に進み、受信しない場合はステップ602に戻って応答データの受信を待機する。
 ステップ604では、応答データの受信を完了して(ステップ606)、応答データの基礎となったリクエストを特定する(ステップ606)。その後、スクリプト102に従って応答データを処理する(ステップ608)。当該処理の後、処理データを表示する(ステップ610)。その後ステップ602に戻って応答データの受信を待機する。
 以上説明した実施形態によれば、ウィジェットからのリクエストをサブバッファ部108およびリクエストバッファ部110にバッファリングする。この結果、ウィジェット120がばらばらにリクエストを発行した場合であってもバッファリングすることによりリクエストのタイミングを合わせて一度に送信できる。このため、通信トラフィックを低減でき、また携帯端末等ハードウェア資源が制限された環境でもウィジェットを快適に使用できる。
 また、ウィジェット120ごと(スクリプト102ごと)のサブバッファ部108を設けたから、ウィジェット120ごとのリクエストを一つに纏めて送信できる。複数回のリクエストによってウィジェットが正常に表示されるような場合、リクエストバッファ部110により表示が不完全になる事態を回避できる。
 図5は、本実施形態に係る通信端末100のハードウェア構成の一例を示す。本実施形態に係る通信端末100は、ホスト・コントローラ1582により相互に接続されるCPU1505、RAM1520、グラフィック・コントローラ1575、および表示装置1580を有するCPU周辺部を備える。また通信端末100は、入出力コントローラ1584によりホスト・コントローラ1582に接続される通信インターフェイス1530、ハードディスクドライブ1540、およびCD-ROMドライブ1560を有する入出力部を備える。さらに通信端末100は、入出力コントローラ1584に接続されるROM1510、フレキシブルディスク・ドライブ1550、および入出力チップ1570を有するレガシー入出力部を備える。
 ホスト・コントローラ1582は、RAM1520と、高転送レートでRAM1520をアクセスするCPU1505およびグラフィック・コントローラ1575とを接続する。CPU1505は、ROM1510およびRAM1520に格納されたプログラムに基づいて動作して、各部を制御する。グラフィック・コントローラ1575は、CPU1505等がRAM1520内に設けたフレーム・バッファ上に生成する画像データを取得して、表示装置1580上に表示させる。これに代えて、グラフィック・コントローラ1575は、CPU1505等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
 入出力コントローラ1584は、ホスト・コントローラ1582と、比較的高速な入出力装置である通信インターフェイス1530、ハードディスクドライブ1540、CD-ROMドライブ1560を接続する。通信インターフェイス1530は、ネットワークを介して他の装置と通信する。ハードディスクドライブ1540は、通信端末100内のCPU1505が使用するプログラムおよびデータを格納する。CD-ROMドライブ1560は、CD-ROM1595からプログラムまたはデータを読み取り、RAM1520を介してハードディスクドライブ1540に提供する。
 また、入出力コントローラ1584には、ROM1510と、フレキシブルディスク・ドライブ1550、および入出力チップ1570の比較的低速な入出力装置とが接続される。ROM1510は、通信端末100が起動時に実行するブート・プログラム、通信端末100のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ1550は、フレキシブルディスク1590からプログラムまたはデータを読み取り、RAM1520を介してハードディスクドライブ1540に提供する。入出力チップ1570は、フレキシブルディスク・ドライブ1550、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を接続する。
 RAM1520を介してハードディスクドライブ1540に提供される通信プログラムは、フレキシブルディスク1590、CD-ROM1595、またはICカード等の記録媒体に格納されて利用者によって提供される。通信プログラムは、記録媒体から読み出され、RAM1520を介して通信端末100内のハードディスクドライブ1540にインストールされ、CPU1505において実行される。通信端末100にインストールされて実行される通信プログラムは、CPU1505等に働きかけて、通信端末100を、図1から図4にかけて説明した各部として機能させる。すなわち、当該通信プログラムは、通信端末100を、スクリプト格納部104、リクエスト生成部106、サブバッファ部108、リクエストバッファ部110、リクエスト送信部112、応答データ受信部114、応答データ処理部116、表示部118、現在位置検知部122およびタイマ124として機能させる。
 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。

Claims (21)

  1.  処理内容を記述したスクリプトを格納するスクリプト格納部と、
     前記スクリプト格納部に格納された前記スクリプトの記述に従ってリクエストを生成するリクエスト生成部と、
     前記リクエスト生成部が生成した前記リクエストをバッファリングするリクエストバッファ部と、
     前記リクエストバッファ部にバッファリングされた前記リクエストを所定の送信タイミングで読み出し、読み出した前記リクエストを送信するリクエスト送信部と
     を備える通信端末。
  2.  前記リクエスト送信部が送信した前記リクエストに応答する応答データを受信する応答データ受信部と、
     前記応答データ受信部が受信した前記応答データを前記スクリプトの記述に従って処理する応答データ処理部と
     をさらに備える請求項1に記載の通信端末。
  3.  前記リクエストバッファ部は、バッファリングされている全ての前記リクエストを前記送信タイミングで送信し、前記リクエストを送信した後に、前記リクエストがバッファリングされていたバッファ領域を開放する
     請求項1または請求項2に記載の通信端末。
  4.  前記リクエストバッファ部は、当該リクエストバッファ部にバッファリングされている前記リクエストのうち幾つかのリクエストが同一の送信先に送信される場合には、同一送信先の複数のリクエストを統合して、一つのリクエストとして扱う
     請求項1から請求項3までの何れか一項に記載の通信端末。
  5.  前記送信タイミングは、前記リクエストバッファ部にバッファリングされている前記リクエストのバッファ期間が満了した時、または、前記リクエストのバッファ数が上限値に達した時である
     請求項1から請求項4までの何れか一項に記載の通信端末。
  6.  前記スクリプト格納部は、複数の前記スクリプトを格納し、
     前記複数のスクリプトの各々に基づいて生成された各々のリクエストをそれぞれバッファリングする複数のサブバッファ部をさらに備え、
     前記複数のサブバッファ部の各々は、バッファリングされた前記リクエストを所定の転送タイミングで前記リクエストバッファ部に転送する
     請求項1から請求項5までの何れか一項に記載の通信端末。
  7.  前記複数のサブバッファ部の各々は、バッファリングされている全ての前記リクエストを前記転送タイミングで転送し、前記リクエストを転送した後に、前記リクエストがバッファリングされていたバッファ領域を開放する
     請求項6に記載の通信端末。
  8.  前記複数のサブバッファ部の各々は、当該サブバッファ部にバッファリングされている前記リクエストのうち幾つかのリクエストが同一の送信先に送信される場合には、同一送信先の複数のリクエストを統合して、一つのリクエストとして扱う
     請求項6または請求項7に記載の通信端末。
  9.  前記転送タイミングは、前記複数のサブバッファ部の各々にバッファリングされている前記リクエストのバッファ期間が満了した時、または、前記リクエストのバッファ数が上限値に達した時である
     請求項6から請求項8までの何れか一項に記載の通信端末。
  10.  前記バッファ期間は、対応するスクリプトごとに異なる
     請求項5または請求項9に記載の通信端末。
  11.  前記バッファ期間は、時間帯に応じて変更される
     請求項5または請求項9に記載の通信端末。
  12.  前記バッファ期間は、ネットワークにおける通信量が平均通信量より多くなる時間帯では大通信量用バッファ期間に設定され、ネットワークにおける通信量が平均通信量より少なくなる時間帯では前記大通信量用バッファ期間より短い小通信量用バッファ期間に設定される
     請求項11に記載の通信端末。
  13.  前記通信端末は、携帯通信端末であり、
     現在位置を検知する現在位置検知部をさらに備え、
     前記バッファ期間は、前記現在位置検知部が検知した現在位置に応じて変更される
     請求項5または請求項9に記載の通信端末。
  14.  前記バッファ数の上限値は、対応するスクリプトごとに異なる
     請求項5または請求項9に記載の通信端末。
  15.  前記バッファ数の上限値は、時間帯に応じて変更される
     請求項5または請求項9に記載の通信端末。
  16.  前記バッファ数の上限値は、ネットワークにおける通信量が平均通信量より多くなる時間帯では大通信量用バッファ数上限値に設定され、ネットワークにおける通信量が平均通信量より少なくなる時間帯では前記大通信量用バッファ数上限値より小さい小通信量用バッファ上限値に設定される
     請求項15に記載の通信端末。
  17.  前記通信端末は、携帯通信端末であり、
     現在位置を検知する現在位置検知部をさらに備え、
     前記バッファ数の上限値は、前記現在位置検知部が検知した現在位置に応じて変更される
     請求項5または請求項9に記載の通信端末。
  18.  処理内容を記述したスクリプトを格納するスクリプト格納段階と、
     前記スクリプト格納段階において格納された前記スクリプトの記述に従ってリクエストを生成するリクエスト生成段階と、
     前記リクエスト生成段階で生成した前記リクエストをバッファリングするリクエストバッファ段階と、
     前記リクエストバッファ段階でバッファリングされた前記リクエストを所定の送信タイミングで読み出し、読み出した前記リクエストを送信するリクエスト送信段階と
     を備える通信方法。
  19.  前記リクエスト送信段階で送信した前記リクエストに応答する応答データを受信する応答データ受信段階と、
     前記応答データ受信段階で受信した前記応答データを前記スクリプトの記述に従って処理する応答データ処理段階と
     をさらに備える、請求項18に記載の通信方法。
  20.  通信端末で利用できる通信プログラムであって、前記通信端末を、
     処理内容を記述したスクリプトを格納するスクリプト格納部、
     前記スクリプト格納部に格納された前記スクリプトの記述に従ってリクエストを生成するリクエスト生成部、
     前記リクエスト生成部が生成した前記リクエストをバッファリングするリクエストバッファ部、
     前記リクエストバッファ部にバッファリングされた前記リクエストを所定の送信タイミングで読み出し、読み出した前記リクエストを送信するリクエスト送信部
     として機能させる通信プログラム。
  21.  前記通信端末を、さらに、
     前記リクエスト送信部が送信した前記リクエストに応答する応答データを受信する応答データ受信部、
     前記応答データ受信部が受信した前記応答データを前記スクリプトの記述に従って処理する応答データ処理部
     として機能させる、請求項20に記載の通信プログラム。
PCT/JP2008/003987 2007-12-26 2008-12-25 通信端末、通信方法および通信プログラム WO2009081593A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007335144A JP2009157648A (ja) 2007-12-26 2007-12-26 通信端末、通信方法および通信プログラム
JP2007-335144 2007-12-26

Publications (1)

Publication Number Publication Date
WO2009081593A1 true WO2009081593A1 (ja) 2009-07-02

Family

ID=40800910

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/003987 WO2009081593A1 (ja) 2007-12-26 2008-12-25 通信端末、通信方法および通信プログラム

Country Status (2)

Country Link
JP (1) JP2009157648A (ja)
WO (1) WO2009081593A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040024947A1 (en) * 2002-07-31 2004-02-05 Frank Barth Buffering non-posted read commands and responses
US9864494B2 (en) 2010-12-23 2018-01-09 Microsoft Technology Licensing, Llc Application reporting in an application-selectable user interface
US10114865B2 (en) 2011-09-09 2018-10-30 Microsoft Technology Licensing, Llc Tile cache
US10254955B2 (en) 2011-09-10 2019-04-09 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US10303325B2 (en) 2011-05-27 2019-05-28 Microsoft Technology Licensing, Llc Multi-application environment
US10579250B2 (en) 2011-09-01 2020-03-03 Microsoft Technology Licensing, Llc Arranging tiles
US11272017B2 (en) 2011-05-27 2022-03-08 Microsoft Technology Licensing, Llc Application notifications manifest
US11698721B2 (en) 2011-05-27 2023-07-11 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5433538B2 (ja) 2010-09-17 2014-03-05 日立オートモティブシステムズ株式会社 通信量削減方法
US9326248B2 (en) 2012-03-22 2016-04-26 Sharp Kabushiki Kaisha Terminal device, communication method, program, storage medium having program stored thereon, and radio communication system
JP5270789B1 (ja) * 2012-11-09 2013-08-21 春佳 西守 アプリケーションプログラム、オペレーティングシステム、認証方法、コンピュータプログラムおよび製造方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249142A (ja) * 1995-03-09 1996-09-27 Ricoh Co Ltd 印刷装置
JPH09160855A (ja) * 1995-12-11 1997-06-20 Atsushi Matsushita 計算機装置によるデータ通信システム
JPH1065741A (ja) * 1996-08-19 1998-03-06 Yokogawa Electric Corp ネットワーク中継装置
JP2004272894A (ja) * 2003-02-18 2004-09-30 Microsoft Corp グラフィックス処理ユニットのマルチスレッド式カーネル
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
WO2007033955A1 (en) * 2005-09-19 2007-03-29 Sony Ericsson Mobile Communications Ab Communication terminals having multiple processors and methods of operating the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249142A (ja) * 1995-03-09 1996-09-27 Ricoh Co Ltd 印刷装置
JPH09160855A (ja) * 1995-12-11 1997-06-20 Atsushi Matsushita 計算機装置によるデータ通信システム
JPH1065741A (ja) * 1996-08-19 1998-03-06 Yokogawa Electric Corp ネットワーク中継装置
JP2004272894A (ja) * 2003-02-18 2004-09-30 Microsoft Corp グラフィックス処理ユニットのマルチスレッド式カーネル
JP2006018514A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd 演算装置、演算装置の制御方法、プログラム及びコンピュータ読取り可能記録媒体
WO2007033955A1 (en) * 2005-09-19 2007-03-29 Sony Ericsson Mobile Communications Ab Communication terminals having multiple processors and methods of operating the same

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040024947A1 (en) * 2002-07-31 2004-02-05 Frank Barth Buffering non-posted read commands and responses
US8244950B2 (en) * 2002-07-31 2012-08-14 Advanced Micro Devices, Inc. Buffering non-posted read commands and responses
US9864494B2 (en) 2010-12-23 2018-01-09 Microsoft Technology Licensing, Llc Application reporting in an application-selectable user interface
US9870132B2 (en) 2010-12-23 2018-01-16 Microsoft Technology Licensing, Llc Application reporting in an application-selectable user interface
US10969944B2 (en) 2010-12-23 2021-04-06 Microsoft Technology Licensing, Llc Application reporting in an application-selectable user interface
US11126333B2 (en) 2010-12-23 2021-09-21 Microsoft Technology Licensing, Llc Application reporting in an application-selectable user interface
US10303325B2 (en) 2011-05-27 2019-05-28 Microsoft Technology Licensing, Llc Multi-application environment
US11272017B2 (en) 2011-05-27 2022-03-08 Microsoft Technology Licensing, Llc Application notifications manifest
US11698721B2 (en) 2011-05-27 2023-07-11 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US10579250B2 (en) 2011-09-01 2020-03-03 Microsoft Technology Licensing, Llc Arranging tiles
US10114865B2 (en) 2011-09-09 2018-10-30 Microsoft Technology Licensing, Llc Tile cache
US10254955B2 (en) 2011-09-10 2019-04-09 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface

Also Published As

Publication number Publication date
JP2009157648A (ja) 2009-07-16

Similar Documents

Publication Publication Date Title
WO2009081593A1 (ja) 通信端末、通信方法および通信プログラム
CN100430881C (zh) 分布式外围设备控制系统和方法
JP4495410B2 (ja) コンピューティングシステムおよびその方法
US9195525B2 (en) Method and apparatus for generating a web-based user interface
US9069503B2 (en) Apparatus, system, and method of output distribution, and recording medium storing output distribution control program
US7571447B2 (en) Loose coupling of web services
CN102591954B (zh) 一种浏览器用数据加载方法及装置
CN102024048B (zh) 一种移动终端及其浏览器的实现方法
JP2013512512A (ja) 軽量クライアントを使用してネットワーク上で仮想化コンピューティングサービスとインターフェースするための方法
US20080134216A1 (en) Interface driver program for computer and recording medium therefor
US20050223100A1 (en) Rendering a first media type content on a browser
JP2010176336A (ja) クライアントプログラム、端末、方法、サーバシステムおよびサーバプログラム
JPWO2008088026A1 (ja) セッションを管理するウェブサーバおよびその方法
US20110283002A1 (en) Selectively Communicating Data Of A Peripheral Device To Plural Sending Computers
EP2140350B1 (en) Distributed processing method and computer program product
US20120166585A1 (en) Apparatus and method for accelerating virtual desktop
JP2006277005A (ja) サーバ装置、ネットワークシステム、サーバ装置の制御方法、およびサーバ装置の制御プログラム
CN113424155A (zh) 预测性微服务系统和方法
WO2017051171A1 (en) Private access to human interface devices
KR20120017263A (ko) 단말기에서 실행되는 위젯 어플리케이션의 콘텐츠를 인쇄하는 화상형성시스템
JP7081014B2 (ja) インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム
US8166105B2 (en) Portable terminal, server, and method for realizing function of portable terminal using network
JP5961926B2 (ja) 情報処理システム
WO2010030695A2 (en) Asynchronous queued messaging for web applications
US20060242258A1 (en) File sharing system, file sharing program, management server and client terminal

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08865829

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08865829

Country of ref document: EP

Kind code of ref document: A1