Patent ID: 12260069

DESCRIPTION OF EMBODIMENTS

The display data generation method, the computer-readable, non-transitory medium, and the computer according to one aspect of this application will now be described with reference to the drawings. However, it should be noted that the technical scope of this application is not limited to these embodiments and extends to the inventions described in appended claims and their equivalents.

(1) Overview of the Embodiment

In the present embodiment, a user uses a portable device to play a game provided from a server. The game provided is a game, such as a battle with an enemy character or another user or a quest that progresses according to a game scenario, which uses game media held by the user. The game media are electronic data used for games and include cards, items, characters, avatars and the like, for example. Furthermore, the game media are electronic data that can be retrieved, held, used, managed, exchanged, combined, enhanced, sold, discarded, and/or donated by a user in games as the game progresses, but the type of usage of the game media is not limited to the type explicitly described herein. The quest is also commonly referred to as an exploration, mission or the like, has a plurality of stages, and processing of the stages are sequentially executed.

The server stores a plurality of pieces of item information which are information of particular items, such as information of enemies in a battle, information of the stages of a quest, and information of characters and items used in a game, and comments posted on a message board by users. Information of enemies in a battle may be the name, level and attributes of the each enemy in a battle, and the like. Information of the stages of a quest may be the names of the stages, the levels of difficulty, and the like. In response to a request from a user through a portable device, the server arranges identification numbers (hereinafter referred to as page numbers) of a plurality of pages, each containing predetermined item information, and causes the portable device to scrollably display the numbers. The server displays item information contained in a page specified by the user on the portable device. Furthermore, when two points in a display region where the page numbers are displayed are specified by the user, the server causes the portable device to display item information contained in a same number of pages as the number of pages based on the distance between the specified two points. This enables improvement of UX when the user operates the device.

(2) Configuration of Game System1

FIG.1is a diagram illustrating an example of a general configuration of a game system1.

The game system1includes a plurality of portable devices2and a server3. The portable devices2and the server3are interconnected through a communication network, for example, through a base station5, a mobile communication network6, a gateway7and the internet8. A program (for example a browser program) executed on the portable devices2and a program (for example a game program) executed on the server3communicate with each other using a communication protocol such as the Hypertext Transfer Protocol (HTTP).

(2.1) Configuration of Portable Device2

FIG.2is a diagram illustrating an example of a general configuration of each portable device2.

The portable device2connects to the server3through the base station5, the mobile communication network6, the gateway7, and the Internet8to communicate with the server3. The portable device2executes a game provided from the server3and displays a plurality of pieces of item information stored in the server3by dividing the pieces of item information into a plurality of pages each including a predetermined number of pieces of item information. The portable device2scrollably displays the page numbers of the pages, retrieves, from the server3, pieces of item information corresponding to a page number and the number of pages specified by a user operation using an operation module23, and displays the pieces of item information. For that purpose, the portable device2includes a device communication module21, a device storage module22, the operation module23, a display module24and a device processing module25.

Note that while it is assumed in the present embodiment that the portable device2is a multifunctional mobile phone (the so-called “smartphone”), the present invention is not limited to this. The portable device2may be any device to which the present application can be applied, such as a mobile phone (also known as a “feature phone”), a Personal Digital Assistant (PDA), a portable game machine, a portable music player, or a tablet PC (Personal Computer), or a personal computer.

The device communication module21includes communication interface circuitry including an antenna that has a sensing band in predetermined frequency range and connects the portable device2to a wireless communication network. The device communication module21establishes a wireless signal link with the base station5using CDMA (Code Division Multiple Access) or other method through a channel allocated by the base station5and communicates with the base station5. The device communication module21sends data provided from the device processing module25to the server3or other devices. Furthermore, the device communication module21provides data received from the server3or other devices to the device processing module25. Note that the device communication module21may perform wireless communication with a Wifi (Wireless Fidelity) access point, not depicted, using a wireless communication method of the IEEE 802.11 standards.

The device storage module22includes at least one of a semiconductor memory, a magnetic disk unit, and an optical disc unit, for example. The device storage module22stores an operating system program, driver programs, application programs, data and the like which are used for processing in the device processing module25. For example, the device storage module22stores driver programs such as an input device driver program that controls the operation module23and an output device driver program that controls the display module24. The device storage module22also stores as an application program a browser program or the like that scrollably displays the page numbers of pages and displays item information corresponding to a page number and the number of pages which are specified by the user. The computer program may be installed on the device storage module22from a computer-readable, non-transitory medium such as a compact disk read only memory (CD-ROM), a digital versatile disk read only memory (DVD-ROM), or the like by using a well-known setup program or the like. The device storage module22stores as data beforehand the number of pieces of item information to be displayed per page (hereinafter referred to as the display item count) when a plurality of pieces of item information are divided into a plurality of pages and displayed on the display module24, and stores item information and other information retrieved from the server3. Furthermore, the device storage module22may temporarily store temporary data relating to a given process.

The operation module23may be any device through which the portable device2can be operated, such as a touchpad or a keyboard. The user can use the operation module23to input characters, numbers, scroll operations and the like. When operated by the user, the operation module23generates a signal corresponding to the operation. The generated signal is provided to the device processing module25as a user instruction.

The display module24may be any device that can display videos, images and the like and may be a display such as a liquid-crystal display or an organic EL (Electro-Luminescence) display, for example. The display module24displays a video according to video data provided from the device processing module25, an image according to image data provided from the device processing module25, and the like.

The device processing module25includes one or more processors and their peripheral circuitry. The device processing module25centrally controls the general operations of the portable device2and may be a CPU (Central Processing Unit), for example. The device processing module25controls operations of the device communication module21, the display module24, and other modules so that various processes on the portable device2are executed using proper procedures in accordance with programs stored in the device storage module22, operations with the operation module23and the like. The device processing module25executes processes on the basis of the programs (the operating system program, the driver programs, the application programs and the like) stored in the device storage module22. The device processing module25is capable of executing a plurality of programs (such as application programs) in parallel.

(2.1.1) Configuration of Device Processing Module25

The device processing module25includes at least a browsing executing module250. The browsing executing module250includes a game executing module251, a display control module252, and an information accepting module253and the like. These modules are functional modules implemented by programs executed by a processor or processors provided in the device processing module25. Each of the modules may be incorporated in the portable device2as firmware.

The browsing executing module250sends a request to retrieve particular display data to the server3through the device communication module21in response to an instruction from the user using the operation module23. The browsing executing module250receives corresponding display data from the server3through the device communication module21. The browsing executing module250generates graphics data on the basis of the received display data. Specifically, the browsing executing module250analyzes the received display data to identify control data and content data and lays out the identified content data in accordance with the identified control data to generate graphics data. The browsing executing module250outputs the generated graphics data to the display module24.

The game executing module251executes a game provided from the server3in response to an instruction from the user by using the operation module23. When the game executing module251accepts a game start instruction from the user using the operation module23, the game executing module251further accepts a user ID and a password from the user by using the operation module23and sends a user authentication request including the accepted user ID and password to the server3through the device communication module21. When the server3successfully authenticates, the game executing module251displays a game screen retrieved from the server3through the device communication module21on the display module24, accepts an operation from the user by using the operation module23, and thereafter performs processing for the game.

In response to an instruction from the user by using the operation module23, the display control module252scrollably displays the page numbers of pages and outputs graphics data displaying item information contained in a page specified by the user, the specified page number and the like to the display module24. For this purpose, the display control module252sends retrieving request for display-data for requesting to retrieve display data relating to the graphics data to the server3through the device communication module21. The retrieving request for display-data includes the display item count stored in the device storage module22. The display control module252retrieves corresponding display data from the server3through the device communication module21, generates graphics data on the basis of the retrieved display data, and outputs the generated graphics data to the display module24. The display data can be generated by using a language such as HTML 5 (HyperText Markup Language 5), CSS 3 (Cascading Style Sheets3) and JavaScript (registered trademark), for example.

The display data sent from the server3include, as content data, a same number of pieces of item information as the display item count, starting at the first one of the pieces of item information stored in the server3, and includes, as control data, information for displaying the pieces of item information. Hereinafter, data for displaying the same number of pieces of item information as the display item count, starting at the first piece of item information, will be sometimes referred to as initial item display data.

The display data further includes, as content data, the same number of page numbers as the number of all of a plurality of pages and includes, as control data, information for specifying any of the page numbers by the user and for arranging the page numbers to be scrollably displayed. Hereinafter, data for displaying the same number of page numbers as the number of all pages may be referred to as display data of all page numbers.

The display data further includes, as content data, a display field for a pointed page number for displaying a page number currently being pointed by the user or a page number specified by the user and includes, as control data, information for displaying a page number currently being pointed by the user or a page number specified by the user in the display field for a pointed page number. Hereinafter, data for displaying a page number currently being pointed by the user or a page number specified by the user will be sometimes referred to as display data of pointed page numbers.

Note that the term “pointed” as used here means that a page number or the like is being selected. For example, if the operation module23is a touch panel, the term “pointed” refers to a state where the user is touching a particular region in a touch panel with a finger or the like in a swipe operation or the like. On the other hand, the term “specified” means that a page number is confirmed, for example, refers to a state immediately after the user takes a finger or the like off the touch panel in a swipe operation or the like. Hereinafter, a page number being pointed will be sometimes referred to as a pointed page number and a page number being specified may be referred to as a specified page number.

The display control module252stores pieces of item information included in display data retrieved from the server3in the device storage module22. Additionally, the display control module252displays pieces of item information on the display module24on the basis of initial item display data. Further, the display control module252arranges and scrollably displays page numbers on the display module24on the basis of display data of all page numbers. Furthermore, the display control module252displays a display field for a pointed page number providing a pointed page number or a specified page number on the display module24on the basis of display data of pointed page numbers. Hereinafter, pieces of item information displayed on the display module24will be referred to as an item list and a display region in which page numbers are scrollably arranged and displayed will be referred to as a scroll pager.

When a given page number among the pages displayed in the scroll pager is specified by an operation by the user using the operation module23as will be described later, the display control module252sends a retrieving request for item information that requests retrieving request for item information contained in the specified page to the server3through the device communication module21. The retrieving request for item information includes page information relating to the specified page. In other words, the page information indicates the specified page. The page information may be a specified page number, for example. Note that when a plurality of a same number of page numbers as a particular number of pages are specified by an operation by the user using the operation module23as will be described later, the retrieving request for item information includes page information indicating the same number of pages as the particular number of pages. In that case, the page information indicating the same number of pages as the particular number of pages can be the page numbers of the first and last pages among the plurality of specified page numbers. Note that page information indicating the same number of pages as the particular number of pages may be all of specified page numbers or the page number of the first page among specified page numbers and the number of pages.

The display control module252retrieves content data and control data for displaying item information contained in a page corresponding to page information included in an retrieving request for item information from the server3through the device communication module21. Hereinafter, data for displaying item information contained in a page corresponding to page information will be sometimes referred to as item display data. Item display data may be created using a language such as JSON (JavaScript Object Notation) (registered trademark) and retrieved by using a technique such as Ajax (Asynchronous Javascript and XML) (registered trademark). The display control module252stores pieces of update information included in the retrieved content data in the device storage module22, updates graphics data on the basis of the retrieved content data and control data, and displays the updated graphics data on the display module24.

FIGS.3A and3Bare diagrams illustrating an example of a screen300displayed on the display module24.

FIG.3Aillustrates a screen300displayed when an instruction to display item information is accepted for the first time from the user by using the operation module23. The screen300is displayed on the basis of initial item display data, display data of all page numbers and display data of pointed page numbers received from the server3. As illustrated inFIG.3A, a scroll pager310, an item list320, and a display field for a pointed page number330are displayed on the screen300. In the scroll pager310, page numbers311are arranged and scrollably displayed. In the item list320, item information321corresponding to a page number311located at the center position312in the scroll pager310is displayed. Note that the pieces of item information321are displayed in reverse chronological order, for example, from the top. When an instruction to display item information is accepted for the first time from the user by using the operation module23, the first page number “1” is located at the center position312and an item list320indicating item information321corresponding to the page number “1” is displayed. When there are too many pieces of item information321to display all of the pieces of item information321in the item list320, the item list320is displayed in such a way that the pieces of item information321can be scrolled in the vertical direction (the y direction). In the display field for a pointed page number330, a specified page number that is currently being specified is displayed as a balloon from the scroll pager310. In the state illustrated inFIG.3A, the page number “1” is displayed as the specified page number.

FIG.3Billustrates a screen300displayed when a scroll operation is performed by the user in the direction indicated by arrow A inFIG.3Ain the scroll pager310. As a result of the user's scroll operation, the page number “13” is located at the center position312in the scroll pager310, the page number “13” is displayed in the display field for a pointed page number330as the specified page number, and item information321corresponding to the page number “13” is displayed in the item list320inFIG.3B. The user can scroll the scroll pager310horizontally to specify a desired page number, and scroll the item list320vertically to browse desired item information.

The information accepting module253retrieves a page number specified by an operation by the user by using the operation module23from among the page numbers displayed in the scroll pager and provides the specified page number to the display control module252to cause the display control module252to send a retrieving request for item information to the server3. Page information included in the retrieving request for item information in this case includes the specified page number, i.e. the page specified by the user.

Hereinafter, a method for retrieving a page number will be described with an example in which the operation module23is a touch panel. Note that it is assumed in this embodiment that properties of webkit-transform of css3 are used in order to perform various processes described below.

First, in response to a flick operation (scroll operation) on the scroll pager by the user, the information accepting module253retrieves position information of a starting point indicating the starting point (touch 1) at which the touch panel has started sensing a contact from the operation module23. The information accepting module253also retrieves the time at which the information accepting module253has retrieved the position information of a starting point from the operation module23as time information of a starting point indicating the time (time 1) at which the touch panel has started sensing the touch. The information accepting module253then retrieves position information of an ending point indicating the ending point (touch 2) at which the touch panel has ceased sensing the contact responding to the flick operation on the scroll pager by the user from the operation module23. The information accepting module253also retrieves the time at which the information accepting module253has retrieved the position information of an ending point from the operation module23as time information of an ending point indicating the time (time 2) at which the touch panel has ceased sensing the touch. The positions indicated by the position information of a starting point and position information of an ending point may be represented by x-coordinate values indicating positions in the horizontal direction with respect to the upper left corner of the screen of the display module24(i.e. (x, y, z)=(0, 0, 0)).

The information accepting module253then subtracts the position indicated by the position information of a starting point from the position indicated by the position information of an ending point to obtain the movement distance (distance 1=touch 2−touch 1) from the starting point to the ending point. Since the positions indicated by the position information of a starting point and the position information of an ending point are measured with respect to the upper left corner of the screen of the portable device as stated above, distance 1 indicates a positive value when the user has performed a rightward flick operation whereas distance 1 indicates a negative value when the user has performed a leftward flick operation. The information accepting module253then subtracts the time indicated by the time information of a starting point from the time indicated by the time information of an ending point to obtain the contact duration (time 3=time 2−time 1) during which the portable device has been sensing the contact. Then the information accepting module253divides the movement distance, distance 1, by the contact duration, time 3, to obtain the speed (speed 1=distance 1/time 3) of the user's flick operation (hereinafter referred to as the operation speed). The unit of the operation speed is [pixel/second]. Note that an upper limit of the operation speed (for example, 440 pixels/second) may be preset because UX when the user is operating the portable device can be impaired when the operation speed exceeds a given operation speed.

The information accepting module253then sets, on the basis of the calculated operation speed, a movable duration during which the scroll pager can move. By setting the movable duration (for example, 0.4 seconds) as the Time value of webkitTransitionDuration, the duration in which the scroll pager is moving can be set. Note that the operation speed can be used as the movable duration. In that case, when the operation speed is low, a short movable duration can be set because the movement distance of the scroll pager is short and; when the operation speed is high, a long movable duration can be set because the movement distance of the scroll pager is long.

Then, on the basis of the movement distance from the starting point to the ending point and the operation speed, the information accepting module253calculates the amount of movement (movePoint) by which the scroll pager is to be moved. The information accepting module253calculates “movePoint=distance 1×(speed 1/α)”, for example, to obtain the amount of movement of the scroll pager. Here, α is an experimentally found constant and may be 56, for example. The amount of movement of the scroll pager may be calculated on the basis of distance 1 and speed 1, and may be calculated by a method other than the mathematical operation described above.

The information accepting module253then displays the scroll pager on the display module24in such a way that the scroll pager moves the calculated movement distance. For example, the information accepting module253can use webkitTransform=translate3d (x, y, z) to move the scroll pager.

While the scroll pager is described as moving horizontally (in the x direction) in this embodiment, the moving direction is not limited to this; the scroll pager may be designed to move vertically (in the y direction).

The information accepting module253then retrieves a page number located in a predetermined position at the end of the movement of the scroll pager as a specified page number, displays the retrieved specified page number in the display field for a pointed page number, and provides the retrieved specified page number to the display control module252. The predetermined position may be the center position of the scroll pager in the horizontal direction, for example. The information accepting module253retrieves the page number that is in the center position of the scroll pager in the horizontal direction at the expiration of the movable duration.

Note that presetting webkitTransformTimingFunction “ease-out” allows the information accepting module253to move the scroll pager smoothly.

The information accepting module253uses the number of the page numbers contained in the entire scroll pager, the horizontal length of the region where each page number is displayed, and margin-right, which is a horizontal margin between adjacent regions where page numbers are displayed to calculate the distance over which the scroll pager can move (hereinafter referred to as the movable distance). Note that the information accepting module253can retrieve the horizontal length of the region where each page number is displayed and the margin-right by using the getComputedStyle method of JavaScript (registered trademark). The information accepting module253calculates “number of page numbers×(horizontal length of region where page number is displayed+margin-right)” to obtain the movable distance. By calculating the movable distance beforehand, the information accepting module253can perform “pullback behavior”. When the calculated amount of movement is greater than the movable distance, the information accepting module253sets a value of the amount of movement multiplied by a predetermined value (for example, 0.9) less than 1 (movePoint×predetermined value) as the amount of movement by which the list is actually moved (hereinafter referred to as the amount of actual movement). This enables implementation of “pullback behavior” which displays the scroll pager in such a way that the scroll pager is pulled back in the direction opposite to the direction of the flick operation when for example the user continues a flick operation so that an end of the scroll pager goes beyond the center position. Note that the pullback behavior may be either continuous pullback behavior or intermittent pullback behavior.

Furthermore, the information accepting module253may set “display: none” for a desired page number or item information to hide the desired page number or item information.

Additionally, when one of the page numbers displayed in the scroll pager is tapped, the information accepting module253retrieves the tapped page number as a specified page number, displays the retrieved specified page number in the display field for a pointed page number, and provides the retrieved specified page number to the display control module252.

FIG.4is a schematic diagram for illustrating a process for retrieving a specified page number specified by a flick operation.

As illustrated inFIG.4, when a flick operation in the direction indicated by arrow A is performed in the scroll pager310by the user, the information accepting module253retrieves a starting point401and an ending point402from the operation module23and retrieves the times at which the respective points have been retrieved. The information accepting module253calculates movement distance403from the starting point401and the ending point402, calculates the contact duration from the times at which the respective points have been retrieved, and calculates the operation speed from the movement distance403and the contact duration. Note that since the user has performed a leftward flick operation in the example illustrated inFIG.4, the movement distance is a negative value. The information accepting module253moves the scroll pager310leftward by the amount of movement determined on the basis of the calculated movement distance and retrieves the page number “13” located at the center position312at the end of the movement of the scroll pager as a specified page number.

Furthermore, when two points in the scroll pager are specified by the user, the information accepting module253retrieves a particular number of pages based on the distance between the specified two points and the distance between page numbers displayed in the scroll pager, and as many page numbers as the particular number of pages. In other words, the information accepting module253retrieves a same number of pages as a number of page numbers displayed in a distance corresponding to a distance between the two points in the scroll pager in which the page numbers are displayed, and the number of page numbers are calculated based on the distance between the two points and the distance between adjacent page numbers displayed in the scroll pager. The information accepting module253determines the number of pages and the page numbers on the basis of the relation between the distance between the specified two points and the distance between the page numbers.

The information accepting module253retrieves first position information and second position information which indicate the two points (touch 3, touch 4) pointed in response to a user operation (such as a tap operation or a swipe operation) that points the two points in the scroll pager.

The information accepting module253then calculates the absolute value of the difference between the position indicated by the first position information and the position indicated by the second position information as the distance between the two points (distance 2=|touch 3−touch 4|).

The information accepting module253then calculates the number of pages based on the distance between the two points. For example, the information accepting module253may divide the distance between the two points by the distance between page numbers (distance 3) and multiply the quotient by a predetermined factor (n, for example 2) to obtain the number of pages based on the distance between the two points (number of pages=(distance 2/distance 3)×n). Here, n may be a value greater than or equal to 1 or may be a value less than 1. If n=1, when two page numbers are pointed, the difference between the pointed two page numbers is equal to the number of pages based on the distance between the two points and thus the user can specify a desired number of pages with ease.

The information accepting module253then retrieves a same number of page numbers as the retrieved number of pages as pointed page numbers. For example, the information accepting module253retrieves, as pointed page numbers, the same number of page numbers as the number of pages in the positive direction based on the distance between the two points, starting at a page number that has been specified beforehand by a flick operation (the page number located at the center position of the scroll pager in the horizontal direction). Note that the information accepting module253may retrieve, as pointed page numbers, the same number of page numbers as the number of pages in the negative direction based on the distance between the two points, starting at a page number that has been specified beforehand by a flick operation. In this example, page information included in a retrieving request for item information is numbers assigned to the same number of pages as a particular number of pages, starting at a page specified by the user.

FIG.5Ais a schematic diagram for illustrating a process for retrieving the number of pages and page numbers according to pointed two points.

As illustrated inFIG.5A, the user can point two points501and502in the scroll pager310by simultaneously tapping the two points with two fingers. When two points in the scroll pager310are pointed by the user, the information accepting module253retrieves the two points501and502from the operation module23. The information accepting module253calculates a distance503between the two points501and502to retrieve the number of pages corresponding to the distance between the two points. In the example illustrated inFIG.5A, the distance503between the two points is approximately twice a distance504between page numbers. Accordingly, if the predetermined factor stated above is twice, for example, the number of pages is 4. The information accepting module253retrieves same number of page numbers as the retrieved number of pages as pointed page numbers. In the example illustrated inFIG.5A, page numbers of 4 pages in the positive direction, starting at page number “13”, i.e., page numbers “13” to “17”, are retrieved as pointed page numbers. Note that of 4 pages in the negative direction starting at page number “13”, i.e., page numbers “9” to “13”, may be retrieved as pointed page numbers. The information accepting module253displays the pointed page numbers “13” to “17” in the display field for a pointed page number330.

Note that the method for retrieving pointed page numbers is not limited to the method described above. For example, the information accepting module253may determine the same number of pointed page numbers as a particular number of pages from the positional relation between the position of an previous specified page number that has been specified beforehand by a flick operation in the scroll pager (the center position in the scroll pager) and the respective positions of two points newly pointed by an operation such as a tap operation or a swipe operation.

For example, the information accepting module253may determine the same number of pointed page numbers as a particular number of pages on the basis of the distances between the position of a previous specified page number and the respective positions of pointed two points. In that case, the information accepting module253subtracts the position of the previous specified page number (center) from the respective positions of pointed two points (touch 4, touch 5) to obtain the distances (distance 4, distance 5) between the position of the previous specified page number and the respective positions of the pointed two points. Specifically, the distance to a pointed position that is located on the left side of the previous specified page number indicates a negative value whereas the distance to a pointed position that is located on the right side of the previous specified page number indicates a positive value. The information accepting module253then divides the distance (distance 4) calculated for one (touch 4) of the pointed two points on the negative direction side by the distance (distance 3) between page numbers, multiplies the quotient by a predetermined factor (n, for example 2), and adds the product to the previous specified page number to obtain the first one of the pointed page numbers (first page number=previous specified page number+(distance 4/distance 3)×n). The information accepting module253divides the distance calculated for the other (touch 5) of the pointed two points on the positive direction side by the distance between page numbers, multiplies the quotient by the predetermined factor, and adds the product to the previous specified page number to obtain the last one of the pointed page numbers (last page number=previous specified page number+ (distance 5/distance 3)×n). Here, n may be greater than or equal to 1 or may be less than 1.

Note that the information accepting module253may obtain page numbers that are closest to the positions of the pointed two points as the first page number and the last page number.

In these examples, page information included in a retrieving request for item information can be determined from the positional relations between the position of a page that has been specified beforehand in the scroll pager and newly specified two positions.

FIG.5Bis a schematic diagram for illustrating another example of a process for retrieving the number of pages and pointed page numbers according to pointed two points.

In the example illustrated inFIG.5B, the information accepting module253determines the same number of indicated page numbers as a particular number of pages on the basis of positional relation between a center position513in the scroll pager310and the position of each of two points511and512pointed by a tap operation. In this example, a distance514between the center position513and one511of the two points on the negative direction side is divided by the distance504between page numbers, the quotient (−2) is multiplied by a predetermined factor (2), and the product (−4) is added to a previous specified page number “13” to obtain the first one of the pointed page numbers, “9”. On the other hand, a distance515between the center position513and the other512of the two points on the positive direction side is divided by the distance504between page numbers, the quotient (1) is multiplied by the predetermined factor (2), and the product (2) is added to the previous specified page number “13” to obtain the last one of the pointed page numbers, “15”. The information accepting module253displays the determined page numbers “9” to “15” in the display field for a pointed page number330.

Furthermore, when a swipe operation that points two points in the scroll pager is performed by the user, the information accepting module253displays page numbers corresponding to two points that are pointed in response to the swipe operation in the display field for a pointed page number in real time in accordance with display data of pointed page numbers received from the server3. This allows the user to know the page numbers currently being selected and to accurately specify a desired page number because the display of the page numbers corresponding to the two points that are currently pointed with fingers of the user changes in real time.

The information accepting module253then provides the pointed page number that has been pointed when the tap operation, swipe operation or the like pointing two points in the scroll pager is completed by the user, i.e., when the fingers of the user are taken off the touch panel, to the display control module252as a specified page number.

FIGS.6A and6Bare schematic diagrams for illustrating a specified page number.

FIG.6Aillustrates a state where fingers of the user are taken off the touch panel in the state illustrated inFIG.5A. InFIG.6A, page numbers “13” to “17” are provided as specified page numbers to the server3through the display control module252and pieces of item information321which correspond to the page numbers “13” to “17” are displayed in the item list320. Note that while the pieces of item information321displayed in the item list320inFIG.6Aare the same as the pieces of item information321displayed in the item list320inFIG.5A, more pieces of item information than the pieces of item information displayed in the item list320inFIG.5Aare displayed by vertically scrolling the item list320inFIG.6A.

FIG.6Billustrates a state where fingers of the user are taken off the touch panel in the state illustrated inFIG.5B. InFIG.6B, page numbers “9” to “15” are provided as specified page numbers to the server3through the display control module252and pieces of item information321which correspond to the page numbers “9” to “15” are displayed in the item list320.

Note that the information accepting module253may provide two points that are pointed in response to a swipe operation as specified page numbers to the display control module252in real time rather than upon completion of the user's swipe operation pointing two points in the scroll pager.

FIG.7is a schematic diagram for illustrating a process for providing two points pointed in response to a swipe operation as specified page numbers in real time.

InFIG.7, in response to a swipe operation by the user, i.e. when fingers of the user are not taken off the touch panel, page numbers “9” to “15” are provided as specified page numbers to the server3through the display control module252and pieces of item information321displayed in the item list320and the number of pieces of item information displayed in the item list320changes in real time.

(2.2) Configuration of Server3

FIG.8Ais a diagram illustrating an example of a general configuration of the server3.

The server3provides a predetermined game to portable devices2, stores a plurality of pieces of item information used in the game and, in response to a request from a portable device2, sends item information corresponding to a page number requested to the portable device2. For that purpose, the server3includes a server communication module31, a server storage module32, and a server processing module33.

The server communication module31is an example of an output module, includes communication interface circuitry for connecting the server3to the Internet8, and communicates with the Internet8. The server communication module31provides the data received from portable devices2and the like to the server processing module33. Furthermore, the server communication module31sends the data provided from the server processing module33to the portable devices2and the like.

The server storage module32includes at least one of a magnetic tape unit, a magnetic disk unit, and an optical disc unit, for example. The server storage module32stores an operating system program, driver programs, application programs, data and the like used for processing in the server processing module33. For example, the server storage module32stores as an application program a game program or the like that, in response to a request from a portable device2, sends requested item information to the portable device2. The computer program may be installed on the server storage module32from a computer-readable, non-transitory medium such as a compact disk read only memory (CD-ROM), a digital versatile disk read only memory (DVD-ROM), or the like by using a well-known setup program or the like. The server storage module32also stores data such as a user management table (FIG.8B) for managing users, an item management table (FIG.8C) for managing item information, and the total number of pieces of item information stored in the item management table. In addition, the server storage module32may temporarily store temporary data relating to a given process.

FIGS.8B and8Care diagrams illustrating an example of data structures of various management tables.

FIG.8Billustrates a user management table for managing users. The user management table stores an identification number of each user (hereinafter referred to as the user ID), the name and password of the user, associations between page numbers and pieces of item information for the portable device2of the user, the display item count, the number of a plurality of pages for which the item information is displayed, and the like.

FIG.8Cillustrates an item management table for managing item information. The item management table stores an identification number of each piece of item information (hereinafter referred to as information ID), the piece of item information itself and the like. Note that the piece of item information is sorted in the reverse chronological order, for example, starting at the top.

The server processing module33includes one or more processors and their peripheral circuitry. The server processing module33centrally controls the general operations of the server3and may be a CPU, for example. The server processing module33controls operations of the server communication module31and other modules so that various processes on the server3are executed using proper procedures in accordance with programs and the like stored in the server storage module32. The server processing module33executes processes on the basis of the programs (the operating system program, the driver programs, the application programs and the like) stored in the server storage module32. The server processing module33is also capable of executing a plurality of programs (such as application programs) in parallel.

(2.2.1) Configuration of Server Processing Module33

The server processing module33includes a game control module331, a count retrieving module332, a count determining module333, an associating module334, an information retrieving module335, an information determining module336, a display data generating module337, and a transmission control module338. These modules are functional modules implemented by programs to be executed on a processor or processors provided in the server processing module33. Alternatively, these modules may be incorporated in the server3as firmware.

The game control module331controls the progress of a game. When a user authentication request is received from a portable device2through the server communication module31, the game control module331analyzes the received user authentication request to identify a user ID and a password. The game control module331then uses the identified user ID and password as parameters to instruct a user authentication module (not depicted) to execute processing.

When authentication by the user authentication module is successful, the game control module331sends a game screen for performing the game to the portable device2through the server communication module31and thereafter performs processing for the game.

The count retrieving module332retrieves a retrieving request for display data from each portable device2through the server communication module31, stores a display item count included in the retrieving request for display data in the user management table in the server storage module32, and provides the display item count to the count determining module333.

Note that the display item count may be stored beforehand in the user management table in the server storage module32rather than retrieving from the portable device2. This enables the server3to manage the number of pieces of item information per page to be displayed on each portable device2.

The count determining module333reads out the total number of pieces of item information and the display item count from the server storage module32and determines the number of pages when a plurality of pieces of item information are divided into a plurality of pages for display (hereinafter referred to as the total page count), from the total number of pieces of item information and the display item count thus read out. The count determining module333divides the total number of pieces of item information by the display item count to calculate the total page count. The count determining module333stores the calculated total page count in the server storage module32and provides the total page count to the display data generating module337.

The associating module334reads out the display item count from the server storage module32and determines item information contained in each page from the display item count thus read out. The T associating module334associates each piece of item information contained in each page with the page number of each of same number of pages as the total page count and stores the associations in the user management table in the server storage module32.

The associating module334associates pieces of item information in ascending order of information IDs with pages in ascending order of the page numbers. The number of pieces of information associated with each page is equal to the display item count. The associating module334associates each page number with the “display item count×(the page number−1)+1”-th piece of item information to the “display item count×the page number”-th piece of item information.

For example, if the display item count is 10, the page number “1” is associated with the first piece of item information to the tenth piece of item information and the page number “13” is associated with the 121st piece of item information to the 130th piece of item information.

When the information retrieving module335retrieves a retrieving request for item information including page information from each portable device2through the server communication module31, the information retrieving module335provides the page information included in the retrieving request for item information to the information determining module336.

When page information is provided from the information retrieving module335to the information determining module336, the information determining module336determines, on the basis of the associations stored in the user management table in the server storage module32, pieces of item information contained in the page corresponding to the provided page information as the pieces of item information to be displayed. The information determining module336then provides the information IDs of the determined pieces of item information to the display data generating module337.

When a total page count is provided from the count determining module333to the display data generating module337, the display data generating module337reads out a same number of pieces of item information as the display item count, starting at the top of the item management table in the server storage module32, generates display data to be displayed on the portable device2, provides the display data to the transmission control module338, and outputs the display data from the server communication module31. The display data generated includes initial item display data, display data of all page numbers in which the page number of the first page is the specified page number, and display data of specified page numbers.

When information IDs of item information are provided from the information determining module336to the display data generating module337, the display data generating module337reads out pieces of item information corresponding to the provided information IDs from the item management table in the server storage module32. The display data generating module337generates item display data for displaying the item information thus read out, provides the item display data to the transmission control module338, and outputs the item display data from the server communication module31. The item display data is generated using a technique such as Ajax (registered trademark).

When display data including initial item display data, display data of all page numbers and display data of specified page numbers is provided from the display data generating module337to the transmission control module338, the transmission control module338sends the provided display data to each portable device2through the server communication module31. When item display data is provided from the display data generating module337to the transmission control module338, the transmission control module338sends the provided item display data to each portable device2through the server communication module31.

(3) Operation of Game System1

FIG.9illustrates an example of an operation sequence for displaying item information in the game system1. Note that the operation sequence described below is performed mainly by the device processing module25and the server processing module33in cooperation with the modules of a portable device2and the server3in accordance with programs stored in the device storage module22and the server storage module32beforehand.

First, a user uses the operation module23of the portable device2to instruct the device processing module25to execute a browser program. The device processing module25starts processing in accordance with the browser program. Specifically, when the game executing module251of the browsing executing module250implemented by the browser program accepts a game start instruction from the user by using the operation module23, the game executing module251further uses the operation module23to accept a user ID and a password from the user. The game executing module251then sends a user authentication request including the user ID and the password to the server3through the device communication module21(step S101).

When the game control module331of the server3receives the user authentication request from the portable device2through the server communication module31, the game control module331analyzes the received user authentication request to identify the user ID and the password. The game control module331then uses the identified user ID and the password as parameters to instruct a user authentication module (not depicted) to execute an authentication process (step S102).

When the authentication by the user authentication module is successful, the game control module331sends a game screen for performing the game to the portable device2through the server communication module31(step S103).

The game executing module251of the portable device2displays the game screen retrieved from the server3through the device communication module21on the display module24and thereafter performs processing for the game (step S104).

When the display control module252uses the operation module23to accept an instruction to display item information from the user, the display control module252reads out the display item count from the device storage module22, and sends a retrieving request for display data including the display item count thus read out to the server3through the device communication module21(step S105).

When the count retrieving module332of the server3retrieves the retrieving request for display data from the portable device2through the server communication module31, the count retrieving module332stores the display item count included in the retrieving request for display data in the server storage module32and provides the display item count to the count determining module333. Then, the count determining module333performs a total page count determination process for calculating the total page count (step S106).

FIG.10is a diagram illustrating an example of operation flow of the total page count determination process performed by the count determining module333.

First, the count determining module333reads out the total number of pieces of item information and the display item count from the server storage module32(step S201). The count determining module333then divides the total number of pieces of item information by the display item count to calculate the total page count (step S202), stores the calculated total page count in the server storage module32, provides the total page count to the display data generating module337, and ends the sequence of the steps.

Returning toFIG.9, the associating module334reads out the display item count from the server storage module32, determines item information contained in each page from the display item count thus read out, associates each piece of item information contained in each page with the page number of each of the same number of pages as the total page count, and stores the associations in the user management table in the server storage module32(step S107).

Then the display data generating module337reads out the same number of pieces of item information as the display item count of one page, starting at the top of the item management table in the server storage module32, generates display data to be displayed on the portable device2(step S108), and provides the display data to the transmission control module338. The display data includes initial item display data, display data of all page numbers in which the page number of the first page is the specified page number, and display data of specified page numbers.

Then the transmission control module338sends the display data generated by the display data generating module337to the portable device2through the server communication module31(step S109).

When the display control module252of the portable device2retrieves the display data from the server3through the device communication module21, the display control module252analyzes the retrieved display data, stores the pieces of item information included in the display data in the device storage module22, generates graphics data, and displays the generated graphics data on the display module24(step S110).

Then the information accepting module253uses the operation module23to perform a page number analysis process for accepting a page number specified by a scroll operation by the user (step S111).

FIG.11is a diagram illustrating an example of operation flow of the page number analysis process performed by the information accepting module253.

First, the information accepting module253determines whether or not two points in the scroll pager are pointed (step S301).

When two points in the scroll pager are not pointed (step S301—No), i.e. when one point is specified by a flick operation or other operation by the user, the information accepting module253retrieves position information of a starting point and time information of a starting point (step S302). The information accepting module253then retrieves position information of an ending point and time information of an ending point (step S303). The information accepting module253then calculates the movement distance from the position information of a starting point and the position information of an ending point (step S304), calculates contact duration from the time information of a starting point and the time information of an ending point (step S305), and calculates operation speed from the movement distance and the contact duration (step S306). The information accepting module253then sets a movable duration on the basis of the operation speed (step S307). The information accepting module253then calculates the amount of movement on the basis of the movement distance and the operation speed (step S308).

The information accepting module253then displays movement of the scroll pager on the display module24in such a way that the scroll pager moves by the calculated amount of movement (step S309). The information accepting module253then retrieves a page number located in a predetermined position at end of the movement of the scroll pager (step S310), provides the retrieved page number to the display control module252, and ends the sequence of the steps.

On the other hand, when two points in the scroll pager are pointed by a tap operation, a swipe operation or other operation by the user (step S301—Yes), the information accepting module253retrieves first position information and second position information that indicate the positions of the pointed two points, respectively (step S311). The information accepting module253calculates the absolute value of the difference between the position indicated by the first position information and the position indicated by the second position information as the distance between the two points (step S312). The information accepting module253then retrieves the number of pages based on the distance between the two points on the basis of the distance between the two points and the distance between page numbers (step S313), and retrieves a same number of page numbers as the determined number of pages as pointed page numbers (step S314). The information accepting module253then displays the retrieved pointed page numbers in the display field for a pointed page number (step S315).

The information accepting module253then determines whether or not the user's tap operation, swipe operation or other pointing operation has been completed (step S316). When the user's tap operation, swipe operation or other pointing operation has not been completed (step S316—No), the information accepting module253returns the process to step S311and repeats the processes of steps S311to S316. On the other hand, when the user's tap operation, swipe operation or other pointing operation has been completed (step S316—Yes), the information accepting module253retrieves a pointed page number that has been pointed at the completion of the user's tap operation, swipe operation or other pointing operation as a specified page number (step S317), provides the retrieved specified page number to the display control module252, and then ends the sequence of the steps.

Returning toFIG.9, the display control module252sends a retrieving request for item information including the specified page number provided from the information accepting module253as the page information to the server3through the device communication module21(step S112).

When the information retrieving module335of the server3retrieves the retrieving request for item information from the portable device2through the server communication module31, the information retrieving module335provides the page information included in the retrieving request for item information to the information determining module336.

When the page information is provided from the information retrieving module335, the information determining module336determines, on the basis of the associations stored in the user management table in the server storage module32, pieces of item information to be displayed (step S113), and provides the information IDs of the determined pieces of item information to the display data generating module337.

Then the display data generating module337reads out pieces of item information corresponding to the information IDs of the pieces of item information determined by the information determining module336from the item management table in the server storage module32, generates item display data for the pieces of item information thus read out (step S114), and provides the item display data to the transmission control module338.

The transmission control module338sends the item display data to the portable device2through the server communication module31(step S115).

When the display control module252of the portable device2retrieves the item display data from the server3through the device communication module21, the display control module252stores update information contained in the retrieved item display data in the device storage module22, updates graphics data on the basis of the retrieved item display data, and displays the updated graphics data on the display module24(step S116).

Note that the display control module252of the portable device2may store pieces of item information included in pieces of display data received from the server3at step S110or S116in the device storage module22in association with page numbers previously and then, if all of page numbers specified by the user are stored in the device storage module22, the display control module252may display the stored item information. This eliminates the need for retrieving pieces of item information of a particular page from the server3again when the user has browsed the particular page, subsequently other pages and again the particular page. Consequently, the pieces of item information can quickly be displayed. Alternatively, the display control module252may retrieve only the pieces of item information of the page numbers specified by the user, which are not stored in the device storage module22, from the server3. This enables reduction of traffic on the network and quick display of the item information.

In addition, the display control module252of the portable device2may store pieces of item information included in pieces of display data received from the server3at step S110or S116in a memory on the browser (LocalStorage, which is a function of HTML 5) in association with page numbers previously and then, when all of the page numbers specified by the user are stored in the memory on the browser, the display control module252may display the stored pieces of item information. This enables reduction of traffic on the network and quick display of the item information.

Furthermore, after the display control module252of the portable device2retrieves from the server3pieces of item information corresponding to the specified page number(s) specified by the user and then displays the pieces of item information on the display module24, the display control module252may retrieve pieces of item information corresponding to page numbers close to the specified page number(s) from the server3. In this case, the display control module252sends a retrieving request for item information including a specified page number retrieved from the information accepting module253to the server3and then sends retrieving requests for item information each including a page number close to the specified page number to the server3in decreasing order of closeness to the specified page number. The information determining module336of the server3determines corresponding item information in accordance with the retrieving requests for item information received in sequence. Specifically, the information determining module336determines item information corresponding to a specified page number, then determines pieces of item information corresponding to page numbers close to the specified page number in descending order of closeness to the specified page number. The display data generating module337generates content data and control data for the determined pieces of item information in the order in which the information determining module336has determined the pieces of item information. In other words, the display data generating module337generates item display data for a specified page number and then generates pieces of item display data for pieces of item information corresponding to page numbers close to the specified page number in descending order of closeness to the specified page number. The transmission control module338sends the generated pieces of item display data to the portable device2through the server communication module31in the order in which the display data generating module337has generated the pieces of item display data.

For example, if page numbers “13” to “17” are specified, the server3sends pieces of item display data that correspond to the page numbers “13” to “17” to the portable device2, then sends pieces of item display data that correspond to page numbers “12” and “18”, and pieces of item display data that correspond to page numbers “11” and “19” to the portable device2in sequence.

When pieces of item information are stored in the server3in order according to some rule, for example, chronological order, a user is likely to want to browse item information close to the item information that the user is currently browsing. Accordingly, the portable device2retrieves item information close to the item information that the user is currently browsing from the server3beforehand, thereby eliminating the need for retrieving the close item information from the server3again when the user requests to browse the item information later on. Consequently, the item information can quickly be displayed. Note that the portable device2may retrieve item information close to the item information currently being browsed from the server3beforehand and may store the item information in the memory on the browser. This eliminates the need for retrieving the close item information from the server3again when the user requests to browse the item information later on. Consequently, the item information can more quickly be displayed.

As has been described above, the server3causes a portable device2to scrollably display page numbers of each page and causes the portable device2to display item information contained in the same number of pages as the number of pages based on the distance between two points that are specified by the user in a display region. Thus, the user can change the number of pages for which item information is displayed by a swipe operation, a tap operation or the like with two fingers. Accordingly, the user can easily and accurately change the number of pieces of item information displayed by a gesture that has a small movement range and can quickly be performed, and can browse desired item information in a short time with less labor even when there are many pieces of item information between item information currently being displayed and item information that the user wants to browse. Thus, UX when a user operates a device can be improved.

Furthermore, when the display of item information is requested, the server3first sends only the same number of pieces of item information as the display item count, starting at the first piece of item information, and subsequently sends only specified pieces of item information according to a request to change item information to be displayed. Accordingly, the server3can avoid sending the item information that the user does not want, thereby traffic on the network can be reduced. Furthermore, when the server3is requested to change item information to be displayed, the server3uses the technique of Ajax (registered trademark) to send only specified item information. Accordingly, the server3does not need to resend screen information other than the item information, such as a scroll pager, and therefore traffic on the network can be reduced.

This application is not limited to the embodiments described above. For example, while an example has been described in the embodiments in which a portable device2performs the page number analysis process, the server3may perform the page number analysis process. In that case, when one point is specified by a flick operation or other operation by the user, the information accepting module253of the portable device2sends position information of a starting point, time information of a starting point, position information of an ending point, and time information of an ending point to the server3through the device communication module21. On the other hand, the information retrieving module335of the server3calculates movement distance from the retrieved position information of a starting point and position information of an ending point, calculates contact duration from the time information of a starting point and time information of an ending point, and calculates operation speed from the movement distance and the contact duration. Further, the information retrieving module335calculates movable duration on the basis of the operation speed, calculates the amount of movement on the basis of the movement distance and the operation speed, and retrieves a page number located at a predetermined position at the end of the movement of the scroll pager from the calculated amount of movement. Furthermore, the information retrieving module335sends the calculated movable duration and operation speed to the portable device2through the server communication module31. The information accepting module253of the portable device2sets the movable duration retrieved from the server3through the device communication module21and displays movement of the scroll pager on the display module24in such a way that the scroll pager moves by the calculated amount of movement.

Furthermore, when two points are specified by a tap operation, a swipe operation or other operation by the user, the information accepting module253of the portable device2sends first position information and second position information to the server3through the device communication module21. On the other hand, the information retrieving module335of the server3calculates the distance between the two points from the retrieved first position information and second position information, retrieves the number of pages corresponding to the two points, and retrieves the same number of specified page numbers as the number of pages. The information retrieving module335further sends the retrieved specified page numbers to the portable device2through the server communication module31. The information accepting module253of the portable device2displays the specified page numbers retrieved from the server3through the device communication module21in the display field for a pointed page number.

While an example has been described in the embodiments in which the server3performs the total page count determination process, the portable device2may perform the total page count determination process. In that case, the device storage module22of the portable device2stores the total number of pieces of item information beforehand. Alternatively, the server3sends the total number of pieces of item information each time the total number of pieces of item information is changed and, the portable device2stores the received total number of pieces of item information in the device storage module22. The device processing module25includes a count determining module that has the same function as the count determining modules333of the server3, in addition to the modules illustrated inFIG.2. The count determining module of the portable device2reads out the total number of pieces of item information and the display item count from the device storage module22, calculates the total page count from the total number of pieces of item information and the display item count, and provides the total page count to the server3through the device communication module21.

While an example has been described in the embodiments in which the server3performs the item information determination process, the portable device2may perform the item information determination process. In that case, the device processing module25of the portable device2includes an information determining module that has the same function as the information determining module336of the server3, in addition to the modules illustrated inFIG.2. The information determining module of the portable device2reads out the display item count from the device storage module22and retrieves a page number specified by the user from a page number analysis module. Then the information determining module determines pieces of item information that correspond to the page number from the display item count and the page number and provides the pieces of item information to the server3through the device communication module21.

The server3may send all pieces of item information to the portable device2and the portable device2may divide a plurality of pieces of item information into a plurality of pages and display pieces of item information corresponding to a page specified by the user. In that case, the portable device2generates an item management table on the basis of the all pieces of item information received from the server3, calculates the total number of the pieces of item information, and stores the total number of the pieces of item information in the device storage module22. The device processing module25includes modules that have the same functions as the modules of the server processing module33of the server3other than the game control module331, in addition to the modules illustrated inFIG.2. The device processing module25sends and receives various kinds of information within the device processing module25instead of sending and receiving various kinds of information through the device communication module21and the server communication module31, and the display module24functions as an output module.

Furthermore, the server3may be omitted and the portable device2may store all pieces of item information beforehand. In that case, the device storage module22stores an item management table, the total number of pieces of item information stored in the item management table and the like beforehand, and the device processing module25includes modules that have the same functions as the modules of the server processing module33of the server3, in addition to the modules illustrated inFIG.2. The device processing module25sends and receives various kinds of information within the device processing module25instead of sending and receiving various kinds of information through the device communication module21and the server communication module31, and the display module24functions as an output module.

While the number of pieces of item information displayed per page is fixed in the present embodiment, the number of characters, the number of lines, the data size of item information per page or the like may be fixed. In that case, the device storage module22of each portable device2stores the number of characters, the number of lines, or the data size of item information that can be displayed per page, instead of the display item count, and the display control module252sends a retrieving request for display data including the number of characters, the number of lines, or the data size. On the other hand, the server storage module32of the server3stores the number of characters, the number of lines or the data size of each piece of item information and the count determining module333determines the total page count from the number of characters, the number of lines or the data size of each piece of item information and the number of characters, the number of lines, or the data size of item information per page. The associating module334determines item information contained in each page from the number of characters, the number of lines, or the data size of each piece of item information and the number of characters, the number of lines, or the data size of item information per page and associates each of same number of page numbers as the total page count with each piece of item information contained in each page.

While the present embodiment has been described by taking a game system as an example, this application is also applicable to a search system in which a server performs a search in response to a request from a device and displays search results on the device, and a message management system in which messages from a plurality of devices which are stored in a server are displayed on each device. If this application is applied to a search system, each search result is item information; if this application is applied to a message management system, each message is item information.

While the present embodiment has been described by taking a portable device as an example, a wired device such as a laptop PC that includes communication interface circuitry for connecting to the Internet8and directly communicates with the Internet8may be used instead of the portable device. In that case, a keyboard, a mouse and the like may be used as the operation module23and page numbers may be specified by a scroll operation by a user with the mouse.

A computer program for causing a computer to implement each function of the device processing module25and the server processing module33may be provided in the form of a program recorded on a computer-readable recording medium such as a magnetic recording medium or an optical recording medium.

It should be understood by those skilled in the art that various changes, substitutions, and modifications may be added to this application without departing from the spirit and scope of this application.

The preceding description has been presented only to illustrate and describe exemplary embodiments of the present invention. It is not intended to be exhaustive or to limit the invention to any precise form disclosed. It will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope. Therefore, it is intended that the invention not be limited to the particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the claims. The invention may be practiced otherwise than is specifically explained and illustrated without departing from its spirit or scope.