Information processing method, information processing program, information processing device, and information processing system
The method of dividing and retransmitting large data in separate frames addresses the limitations of existing data transmission methods, enabling efficient data exchange in wireless communication systems.
Patent Information
- Application Number
- JP2024007018
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-19
- Publication Date
- 2025-08-01
AI Technical Summary
Existing technologies face limitations in transmitting relatively large data due to the size constraints of action frames, necessitating improvements in data transmission methods.
An information processing method that divides large data into multiple parts and transmits them in separate frames, allowing for retransmission of incomplete data without establishing a direct wireless connection, using action frames for communication between devices.
Enables the transmission of large data sets by dividing and retransmitting incomplete data, ensuring complete data reception even without an established connection, facilitating efficient data exchange in wireless communication systems.
Smart Images

Figure 2025112657000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing method, an information processing program, an information processing apparatus, and an information processing system.
Background Art
[0002] As a prior art, there is a technique of transmitting information such as an ID by including it in an action frame before establishing a wireless connection (see, for example, Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, there is an upper limit to the size of data that can be included in one frame, and there is room for improvement in transmitting relatively large data.
[0005] Therefore, an object of the present invention is to provide an information processing method, an information processing program, an information processing apparatus, and an information processing system capable of transmitting and receiving relatively large data.
Means for Solving the Problems
[0006] In order to solve the above problems, the present invention employs the following configuration.
[0007] (First Configuration) The information processing method of the first configuration is an information processing method executed in a second information processing device. When it is determined that a first frame including first device identification information for identifying a first information processing device and data identification information for identifying data to be transmitted from the first information processing device is received, a second frame including second device identification information for identifying the second information processing device and data request information for requesting the data determined based on the data identification information is wirelessly transmitted with the first information processing device identified by the first device identification information as the destination; receiving, from the first information processing device that has received the second frame, a plurality of third frames including partial data obtained by dividing the data into a plurality of parts and transmitted with the second information processing device as the destination; and when it is determined that there is partial data that could not be received among the plurality of partial data, wirelessly transmitting, with the first information processing device identified by the first device identification information as the destination, a fourth frame including the second device identification information and data re-request information for requesting re-transmission of the unreceived data.
[0008] According to the above, even if the data is relatively large, the second information processing device can receive the data divided from the first information processing device, and if there is partial data that could not be received, the second information processing device can request re-transmission of the partial data.
[0009] (Second configuration) In the second configuration, in the first configuration, the transmission of the first frame and the transmission of the plurality of third frames in the first information processing device, and the transmission of the second frame and the transmission of the fourth frame in the second information processing device may be executed in a state where wireless communication between the first information processing device and the second information processing device is not established.
[0010] According to the above, the second information processing device can obtain relatively large data from the first information processing device without establishing a connection with the first information processing device.
[0011] (Third configuration) In the third configuration, in the first or second configuration, the third frame may include the offset of the partial data and the size of the partial data. The second information processing apparatus may identify the partial data that could not be received based on the offset of the partial data and the size of the partial data, and transmit the fourth frame for requesting retransmission of the identified data.
[0012] According to the above, the second information processing apparatus can identify the partial data that could not be received and request retransmission from the first information processing apparatus.
[0013] (Fourth configuration) In the fourth configuration, in any of the first to third configurations, the second information processing apparatus may include, in the second frame, the maximum receivable size of the frame receivable by the second information processing apparatus. The second information processing apparatus may receive the third frame including the partial data obtained by dividing the data into a plurality of parts based on the maximum receivable size by the first information processing apparatus.
[0014] According to the above, the first information processing apparatus can divide the data into a plurality of parts based on the maximum receivable size and transmit them.
[0015] (Fifth configuration) In the fifth configuration, in any of the first to fourth configurations, the second information processing apparatus may transmit, in the second frame, request specifying information for specifying the request for the data. The second information processing apparatus may receive the third frame including the request specifying information.
[0016] According to the above, the second information processing apparatus can receive the third frame corresponding to the request specifying information.
[0017] (Sixth configuration) In the sixth configuration, in any of the first to fifth configurations, the second information processing apparatus may transmit to the fourth frame information indicating the number of data to be requested and information specifying each data to be requested.
[0018] According to the above, the second information processing apparatus can specify the number of data to be requested, and for example, can request a plurality of data in one fourth frame.
[0019] (Seventh configuration) In the seventh configuration, in any of the first to sixth configurations, the structure of the second frame and the structure of the fourth frame may be the same.
[0020] According to the above, it is possible to request the first transmission and the retransmission of data using frames of the same structure.
[0021] (Eighth configuration) In the eighth configuration, in any of the first to seventh configurations, the second information processing apparatus may repeatedly transmit the fourth frame until all of the data is received.
[0022] According to the above, the second information processing apparatus can receive data even if it fails to receive the data a plurality of times.
[0023] (Ninth configuration) In the ninth configuration, in any of the first to eighth configurations, when the second information processing apparatus receives the third frame, it may set a timeout time based on the remaining data and attempt to receive the third frame until the set timeout time elapses.
[0024] According to the above, the timeout time can be set according to the data volume of the remaining data.
[0025] (Tenth configuration) In the tenth configuration, in any of the first to ninth configurations, when the second information processing apparatus receives the third frame including information indicating an error that is transmitted when it is determined by the first information processing apparatus that there is an error in the second frame, the second information processing apparatus may stop receiving the subsequent third frames.
[0026] According to the above, when an error occurs, reception can be stopped, and for example, consumption of resources can be suppressed.
[0027] (The eleventh configuration) In the eleventh configuration, in any of the first to tenth configurations, the data is video or still image data, and the second information processing apparatus may display a video or a still image based on the received data.
[0028] According to the above, the second information processing apparatus can receive and display image data from the first information processing apparatus.
[0029] (The twelfth configuration) In the twelfth configuration, in any of the first to eleventh configurations, the second frame, the third frame, and the fourth frame may be action frames.
[0030] According to the above, requests and transmissions of data can be performed using action frames.
[0031] (The thirteenth configuration) In the thirteenth configuration, in any of the first to twelfth configurations, the first frame may be a beacon frame.
[0032] According to the above, the first information processing apparatus can transmit data specific information using a beacon frame.
[0033] (The fourteenth configuration) In the fourteenth configuration, in any of the first to twelfth configurations, the first frame may be an action frame.
[0034] According to the above, the first information processing device can transmit data identification information using an action frame.
[0035] (The 15th configuration) In the 15th configuration, in any of the 1st to 14th configurations, the data identification information may be an application ID that identifies an application.
[0036] According to the above, the second information processing device can receive an application ID from the first information processing device and receive data based on the ID.
[0037] (The 16th configuration) In the 16th configuration, in any of the 1st to 15th configurations, after receiving the data, the second information processing device may transmit a connection request for establishing a connection between the first information processing device and the second information processing device.
[0038] According to the above, after the second information processing device receives data, a connection can be established with the first information processing device.
[0039] (The 17th configuration) In the 17th configuration, in the 16th configuration, after the connection between the first information processing device and the second information processing device is established, an application related to the data may be executed between the first information processing device and the second information processing device.
[0040] According to the above, the second information processing device can receive data related to the application before the application is executed.
[0041] (The 18th configuration) In the 18th configuration, in the 17th configuration, the application may be a game application. The second information processing device transmits operation data corresponding to a game operation to the first information processing device for which the connection has been established, and receives a game image corresponding to the result of the game processing executed by the first information processing device based on the operation data from the first information processing device, and may display the game image.
[0042] According to the above, the second information processing device can transmit operation data to the first information processing device and display an image corresponding to the result of the game processing performed based on the operation data in the first information processing device.
[0043] (19th configuration) In the 19th configuration, in the 17th or 18th configuration, the first frame may include information about the input device supported by the application.
[0044] According to the above, information about the input device can be included in the first frame and transmitted.
[0045] (20th configuration) The information processing method of the 20th configuration is an information processing method executed in a first information processing device, and includes a step of wirelessly transmitting a first frame including first device identification information for identifying the first information processing device and data identification information for identifying data to be transmitted from the first information processing device; a step of, when it is determined that a second frame including second device identification information for identifying the second information processing device and data request information for requesting transmission of the data, which is transmitted from the second information processing device that has received the first frame to the first information processing device as a destination, is received, wirelessly transmitting a plurality of third frames including partial data obtained by dividing the data into a plurality of parts to the second information processing device identified by the second device identification information as a destination; and a step of, when it is determined that a fourth frame including the second device identification information and data re-request information for requesting retransmission of at least a part of the data, which is transmitted from the second information processing device that has been unable to receive at least one of the plurality of partial data to the first information processing device as a destination, is received, wirelessly retransmitting a fifth frame including the data re-requested by the fourth frame to the second information processing device identified by the second device identification information.
[0046] (21st configuration) In the 21st configuration, in the 20th configuration, the transmission of the first frame, the transmission of the plurality of third frames, and the transmission of the fifth frame in the first information processing device, and the transmission of the second frame and the transmission of the fourth frame in the second information processing device may be executed in a state where wireless communication between the first information processing device and the second information processing device is not established.
[0047] (22nd configuration) In the 22nd configuration, in the 20th or 21st configuration, the second frame may include the maximum receivable size of a frame receivable by the second information processing device. The first information processing device may divide the data into a plurality of parts based on the maximum receivable size.
[0048] (Configuration 23) In Configuration 23, in any of Configurations 20 to 22, the second frame may include request specifying information for specifying the request for the data. The first information processing device may transmit the request specifying information included in the third frame.
[0049] (Configuration 24) In Configuration 24, in any of Configurations 20 to 23, the fourth frame may include information indicating the number of data to be requested and information for specifying each of the data to be requested. The first information processing device may transmit the fifth frame based on the information indicating the number and the information for specifying each of the data to be requested.
[0050] (Configuration 25) In Configuration 25, in any of Configurations 20 to 24, the structure of the third frame and the structure of the fifth frame may be the same.
[0051] (Configuration 26) In Configuration 26, in any of Configurations 20 to 25, the first information processing device determines whether there is an error in the received second frame, and if it is determined that there is an error, may transmit the third frame including information indicating the error.
[0052] (Configuration 27) In Configuration 27, in any of Configurations 20 to 26, the data may be video or still image data.
[0053] (Configuration 28) In Configuration 28, in any of Configurations 20 to 27, the second frame, the third frame, the fourth frame, and the fifth frame may be action frames.
[0054] (Configuration 29) In the 29th configuration, in any of the configurations from the 20th to the 28th, the first frame may be a beacon frame.
[0055] (30th configuration) In the 30th configuration, in any of the configurations from the 20th to the 29th, the first frame may be an action frame.
[0056] (31st configuration) In the 31st configuration, in any of the configurations from the 20th to the 30th, the data specific information may be an application ID that identifies an application.
[0057] (32nd configuration) In the 32nd configuration, in any of the configurations from the 20th to the 31st, in response to receiving a connection request transmitted from the second information processing device after the data is received by the second information processing device, the first information processing device may establish a connection between the first information processing device and the second information processing device.
[0058] (33rd configuration) In the 33rd configuration, in the 32nd configuration, after the connection between the first information processing device and the second information processing device is established, an application related to the data may be executed between the first information processing device and the second information processing device.
[0059] (34th configuration) In the 34th configuration, in the 33rd configuration, the application may be a game application. The first information processing device receives operation data corresponding to a game operation from the second information processing device with which the connection is established, performs game processing based on the operation data received from the second information processing device, generates a game image corresponding to the game processing, and may transmit the game image to the second information processing device with which the connection is established.
[0060] (35th configuration) In the 35th configuration, in the 33rd or 34th configuration, the first frame may include information regarding an input device supported by the application.
[0061] Another configuration is a wireless communication system including a first information processing device and a second information processing device both having a wireless communication function. The first information processing device includes: information transmission means for transmitting, by wireless communication, a first frame including first device identification information for identifying the first information processing device and data identification information for identifying data to be transmitted from the first information processing device; request determination means for determining whether a second frame including second device identification information for identifying the second information processing device and data request information for requesting transmission of the data has been received; data transmission means for, when it is determined that the second frame has been received, transmitting, by wireless communication, a plurality of third frames including partial data obtained by dividing the data into a plurality of parts, to the second information processing device identified by the second device identification information as the destination; re-request determination means for determining whether a fourth frame including the second device identification information and data re-request information for requesting retransmission of at least a part of the data has been received; and data retransmission means for, when it is determined that the fourth frame has been received, retransmitting, by wireless communication, a fifth frame including the data re-requested by the fourth frame, to the second information processing device identified by the second device identification information as the destination. The second information processing device includes: reception determination means for determining whether the first frame has been received; data request transmission means for, when it is determined that the first frame has been received, transmitting, by wireless communication, the second frame including the second device identification information and the data request information for requesting the data determined based on the data identification information included in the first frame, to the first information processing device identified by the first device identification information as the destination; reception means for receiving the plurality of third frames; non-reception determination means for determining whether there is partial data that could not be received among the plurality of partial data; and data re-request transmission means for, when it is determined that there is partial data that could not be received among the plurality of partial data, transmitting, by wireless communication, the fourth frame including the second device identification information and the data re-request information for requesting retransmission of the data that could not be received, to the first information processing device identified by the first device identification information as the destination.
Effects of the Invention
[0062] According to the present invention, relatively large data can be transmitted from a first information processing apparatus to a second information processing apparatus.
Brief Description of the Drawings
[0063]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Mode for Carrying Out the Invention
[0064] Hereinafter, an example of the information processing system according to the present embodiment will be described. FIG. 1 is a diagram showing an example of the game system 1 in the present embodiment. As shown in FIG. 1, the game system 1 includes a plurality of information processing devices 10a to 10c. Hereinafter, the information processing devices 10a to 10c may be collectively referred to as the information processing device 10. In FIG. 1, the game system 1 includes three information processing devices 10, and an example in which a game is executed among these three information processing devices 10 is illustrated. The number of information processing devices 10 included in the game system 1 may be two or three or more.
[0065] The information processing device 10 is, for example, a portable game device. Note that the information processing device 10 may be a stationary game device, a personal computer, a tablet terminal, a smartphone, or the like. The plurality of information processing devices 10 may all be of the same type of device or may be devices of different models.
[0066] The information processing device 10 has a wireless communication function and can perform communication compliant with the standards of wireless LANs such as IEEE802.11 (a, b, g, n, ac, ax, etc.). For example, the information processing device 10 can perform wireless communication (hereinafter referred to as local communication) with other information processing devices around itself, and by performing local communication with the other information processing devices, it is possible to play games among a plurality of information processing devices 10. The mode in which games are played among a plurality of information processing devices 10 using such local communication is hereinafter referred to as the "local communication multiplayer mode". In addition, the information processing device 10 can be connected to the Internet or other networks via a wireless LAN access point (not shown). For example, the information processing device 10 can connect to the Internet and execute games in the online mode. The online mode is a mode in which games are played among a plurality of information processing devices connected to the Internet.
[0067] Each information processing device 10 is used by a different user. For example, the information processing device 10a is used by user A, the information processing device 10b is used by user B, and the information processing device 10c is used by user C.
[0068] The information processing device 10 can execute an application program (for example, a game program stored in a flash memory 26 or an external storage medium described later) that it has. For example, when the information processing device 10a has a game program for game G1, game G1 can be executed. Game G1 can be any game such as a racing game, a fighting game, a shooting game, etc. In addition, when each of the information processing devices 10a to 10c has a game program for game G2 corresponding to the local communication multiplayer mode, by establishing a connection among the information processing devices 10a to 10c, users A to C can play game G2 in the local communication multiplayer mode.
[0069] On the one hand, for example, when the information processing devices 10b and 10c do not have the game program of game G1, the information processing devices 10b and 10c cannot execute game G1. In this case, even if game G1 supports the local communication multiplayer mode, users A to C cannot play game G1.
[0070] In the game system 1 of this embodiment, the information processing devices 10b and 10c that do not have the game program of game G1 establish a connection with the information processing device 10a and participate in game G1 executed on the information processing device 10a, so that users A to C can play game G1. Here, the information processing device 10a that provides game G1 is referred to as the "parent device", and the information processing devices 10b and 10c that receive the provision of game G1 are referred to as the "child devices".
[0071] Specifically, the parent device having the program of game G1 wirelessly transmits relatively small information about game G1 to the surrounding information processing devices 10 without establishing a connection, and the child devices receive this information. The child devices further receive relatively large data about game G1 from the parent device. After that, a connection is established between the parent device and the child devices, and game G1 is executed. The process until a connection is established between the parent device and the child devices and game G1 is executed will be described later.
[0072] (Configuration of Information Processing Device) Next, the information processing device 10 according to an example of this embodiment will be described. FIG. 2 is a diagram showing an example of the information processing device 10. An example of the information processing device 10 in this embodiment includes a main body device 2, a left controller 3, and a right controller 4. The main body device 2 is a device that executes various processes (for example, game processing) in the information processing device 10. The left controller 3 and the right controller 4 include a plurality of buttons and an analog stick as an example of an operation unit for the user to input.
[0073] The main body device 2 is configured to be detachable from the left controller 3 and the right controller 4 respectively. That is, the information processing device 10 can be used as a device in which the left controller 3 and the right controller 4 are respectively attached to the main body device 2 and integrated, or the main body device 2, the left controller 3, and the right controller 4 can be used separately. In the following, the left controller 3 and the right controller 4 may be collectively referred to as the "controller".
[0074] Note that the types and usage methods of the controllers used vary depending on the game to be executed. For example, in a certain game, the left controller 3 and the right controller 4 are removed from the main body device 2, and one or two players hold the left controller 3 and the right controller 4 in a horizontally long orientation to use them. Also, in another game, the left controller 3 and the right controller 4 are removed from the main body device 2, or without being removed, one player holds the left controller 3 and the right controller 4 in a vertically long orientation to use them. In addition, a third controller different from the left controller 3 and the right controller 4 can be connected to the main body device 2 wirelessly or wired, and in another game, the third controller can be used.
[0075] FIG. 3 is a block diagram showing an example of the internal configuration of the main body device 2. As shown in FIG. 3, the main body device 2 includes a processor 21. The processor 21 is an information processing unit that executes various information processes (for example, game processes) executed in the main body device 2, and includes, for example, one or more CPUs (Central Processing Units) and one or more GPUs (Graphics Processing Units). Note that the processor 21 may be composed of only a CPU, or may be composed of a SoC (System-on-a-chip) including a plurality of functions such as a CPU function and a GPU function. The processor 21 executes various information processes by executing an information processing program (for example, a game program) stored in a storage unit (specifically, an internal storage medium such as a flash memory 26 or an external storage medium mounted on a slot 29).
[0076] Further, the main body device 2 includes a display 12. The display 12 displays an image generated by the main body device 2. In the present embodiment, the display 12 is a liquid crystal display device (LCD). However, the display 12 may be any type of display device. The display 12 is connected to the processor 21. The processor 21 displays an image generated (for example, by executing the above information process) and / or an image acquired from the outside on the display 12.
[0077] The main body device 2 also includes a left terminal 23 which is a terminal for the main body device 2 to perform wired communication with the left controller 3, and a right terminal 22 which is a terminal for the main body device 2 to perform wired communication with the right controller 4.
[0078] In addition, as an example of an internal storage medium built into the main body device 2, it includes a flash memory 26 and a DRAM (Dynamic Random Access Memory) 27. The flash memory 26 and the DRAM 27 are connected to the processor 21. The flash memory 26 is mainly a memory used to store various data (which may be programs) stored in the main body device 2. The DRAM 27 is a memory used to temporarily store various data used in information processing.
[0079] The main body device 2 includes a slot 29. The slot 29 has a shape that can accommodate an external storage medium. The external storage medium is used, for example, to store data used in the main body device 2 (such as save data of a game application, etc.) and / or programs executed in the main body device 2 (such as game programs, etc.).
[0080] The main body device 2 includes a slot interface (hereinafter abbreviated as "I / F") 28. The slot I / F 28 is connected to the processor 21. The slot I / F 28 is connected to the slot 29 and reads and writes data to and from an external storage medium (such as a dedicated memory card) mounted on the slot 29 according to the instructions of the processor 21.
[0081] The processor 21 appropriately reads and writes data between the flash memory 26 and the DRAM 27 and the above storage media to execute the above information processing.
[0082] In addition, the main body device 2 includes a network communication unit 24. The network communication unit 24 is connected to the processor 21. The network communication unit 24 includes a processor and a memory that control wireless communication with an antenna (not shown). The network communication unit 24 communicates with an external device by connecting to a wireless LAN, for example, according to a method compliant with the IEEE802.11 standard.
[0083] The main body device 2 includes a controller communication unit 25. The controller communication unit 25 is connected to the processor 21. The controller communication unit 25 performs wireless communication with the left controller 3 and / or the right controller 4. The communication method between the main body device 2 and the left controller 3 and the right controller 4 is arbitrary. However, in the present embodiment, the controller communication unit 25 performs communication conforming to the Bluetooth (registered trademark) standard between the left controller 3 and between the right controller 4.
[0084] The processor 21 is connected to the above-described left terminal 23 and right terminal 22. When the processor 21 performs wired communication with the left controller 3, it transmits data to the left controller 3 via the left terminal 23 and receives operation data from the left controller 3 via the left terminal 23. Also, when the processor 21 performs wired communication with the right controller 4, it transmits data to the right controller 4 via the right terminal 22 and receives operation data from the right controller 4 via the right terminal 22. Thus, in the present embodiment, the main body device 2 can perform both wired communication and wireless communication with the left controller 3 and the right controller 4, respectively.
[0085] In addition to the elements shown in FIG. 2, the main body device 2 includes a battery for supplying power and output terminals for outputting images and sounds to a display device (for example, a TV) different from the display 12.
[0086] The MAC frame compliant with the IEEE802.11 standard includes a header part and a frame body part. The header part includes a frame control field and an address information field. The frame control field includes information indicating the type and subtype of the frame. The types of frames include management frames, control frames, and data frames. Further, the management frames include, as subtypes, beacon, association request, association response, probe request, probe response, action, etc., and each frame has a role. For example, the beacon is a frame for notifying various information necessary for communication to surrounding wireless devices. Also, the association request is a frame for establishing a connection. The association response is a frame for responding to the association request and includes information indicating whether the connection is approved or not.
[0087] (Overview of Processing in Parent Device and Child Device) In this embodiment, before the game G1 is started between the parent device and the child device, without establishing a connection, relatively large data related to the game G1 is transmitted and received between the parent device and the child device using an action frame. Hereinafter, the processing flow of the parent device and the child device until the game G1 is started between the parent device and the child device will be described.
[0088] FIG. 4 is a diagram for explaining the processing flow in the parent device and the child device until the game G1 is started between the parent device and the child device. In FIG. 4, the processing in the parent device and the child device is shown in time series from top to bottom. Note that, in FIG. 4, the processing flow between the information processing device 10a which is the parent device and the information processing device 10b which is the child device is shown, but the same processing is performed between the information processing device 10c which is the parent device and the child device.
[0089] As shown in FIG. 4, the information processing device 10a, which is the master device, first wirelessly transmits a beacon (step S1). The beacon contains relatively small information. Specifically, the master device broadcasts a beacon that includes device identification information for identifying the master device and the game ID of the game G1. The device identification information may be, for example, the MAC address assigned to the network communication unit 24 of the information processing device 10. Also, the device identification information may be information uniquely assigned to the information processing device 10 (e.g., serial number). Further, the device identification information may be an IP address, or the name of the device set by the user of the information processing device 10, or the user name. The game ID is information uniquely assigned to the game G1. The game ID is an example of data identification information for identifying data transmitted from the master device to the slave device. Also, in addition to the game ID, the title of the game G1 may be included in the beacon. Further, the beacon may include information regarding the controller corresponding to the game G1 (information indicating the number and type of corresponding controllers, whether the orientation is portrait or landscape, etc.). The beacon is transmitted periodically from the master device (e.g., every several tens of milliseconds to several hundreds of milliseconds).
[0090] The information processing device 10b, which is a slave device, scans a plurality of wireless channels to search for surrounding master devices. The slave device receives a beacon transmitted from the information processing device 10a, which is the master device. At this point, the master device and the slave device have not established a connection. The slave device transmits an action frame including device-specific information for identifying the slave device and data request information for requesting data determined based on the game ID received from the master device to the master device (step S2-1). The action frame of this embodiment is a vendor-specific action frame, and there are a frame indicating a request and a frame indicating a response to the request. Specifically, the action frame of this embodiment is a frame in which "Action" is set as the subtype, Vendor Specific is specified in the Category Code field, and vendor-specific information is included in the oui field. Here, the action frame indicating a request is referred to as an "action request frame". Also, the action frame indicating a response to the request is referred to as an "action response frame".
[0091] Specifically, the slave device transmits an action request frame designating the MAC address of the master device as the destination. The action request frame includes the device identification information of the slave device and data request information for requesting data D_A determined based on the game ID. Data D_A is relatively large data stored in the master device. For example, it is the icon image data of game G1 executed in the master device. The icon image may be, for example, an image of the package of game G1. The icon image data may be data of a still image or data of a moving image. Also, data D_A may be image data of a character appearing in game G1 or sound data related to game G1. Also, data D_A may be text data indicating the title of game G1. For example, in order to correspond to the language setting of the slave device, there may be a case where titles in multiple languages are transmitted from the master device to the slave device. The text data indicating the titles in multiple languages becomes relatively large data and may not be able to be transmitted from the master device to the slave device using a beacon. In this case, the slave device may request the master device for the text data indicating the titles in multiple languages using the action request frame. Also, data D_A may be text data indicating a detailed explanation regarding game G1. Also, the beacon transmitted from the master device may include, for example, the user ID of user A. In this case, the action request frame may include data request information for requesting data based on the user ID of user A. For example, the data based on the user ID may be image data (still image or moving image data) of the character of user A. Note that the data requested in the action request frame may be referred to as "requested data".
[0092] When the master device receives an action request frame from the slave device, it transmits one or more action response frames specifying the slave device as the destination (Steps S3-1 to S3-3). Since the data D_A is relatively large, the master device cannot transmit all of the data D_A in one action response frame. Therefore, the master device divides the data D_A into a plurality of sub-data (for example, data D_1 to data D_3) and transmits them to the slave device in a plurality of action response frames.
[0093] The slave device receives a plurality of action response frames transmitted from the master device. Note that the slave device attempts to receive the action response frames from the master device using the same wireless channel until it receives the necessary data from the master device. Here, assume that the slave device successfully receives data D_1 and D_3 but fails to receive data D_2. In this case, the slave device transmits an action request frame to the master device, including the device identification information of the slave device and data re-request information requesting retransmission of data D_2 (Step S2-2).
[0094] In response to receiving the action request frame requesting this data D_2, the master device transmits an action response frame including data D_2 to the slave device (Step S3-4).
[0095] When the slave device receives the action response frame including this data D_2, it means that the slave device has received data D_1 to D_3 from the master device. Then, the slave device reconstructs the data D_A based on the received data D_1 to D_3.
[0096] In this way, the slave device requests relatively large data D_A as request data from the master device using an action frame. The master device divides the data D_A into partial data D_1 to D_3 and includes them in a plurality of action frames to send to the slave device. As a result, the slave device can receive relatively large data D_A (e.g., icon image data, text data, etc. of game G1) related to game G1 that cannot be received in one action frame from the master device. Further, if the slave device has other necessary data, it sends an action request frame requesting the transmission of the other data to the master device, and the master device divides the other data into a plurality and sends it in a plurality of action response frames.
[0097] Next, the slave device presents the data D_A received from the master device to the user. For example, the slave device displays an icon image of game G1 on the display 12 based on the received data D_A. Also, the slave device displays information about the master device (e.g., the user name). The user of the slave device determines whether to participate in this game G1 based on the displayed icon image and the information about the master device. When an instruction to participate in the game is given on the slave device, a wireless LAN connection is established between the slave device and the master device (step S4).
[0098] Specifically, first, authentication is performed between the information processing device 10a as the master device and the information processing device 10b as the slave device. For example, authentication is performed by sending and receiving an authentication frame between the master device and the slave device. The authentication method may be, for example, open authentication or shared key authentication. After authentication, association is performed. In the association, parameters to be used in future communication and an association ID are shared between the master and slave. Specifically, for example, the slave device sends an association request frame to the master device. The master device that receives this association request frame sends an association response frame indicating whether to approve the connection to the slave device. When the master device sends an association response frame indicating approval of the connection to the slave device and the slave device receives this, a wireless LAN connection is established between the master device and the slave device.
[0099] In this embodiment, when the connection between the master device and the slave device is established, an infrastructure mode network is formed in which the master device serves as a base station and the slave device serves as a terminal station. In other embodiments, an infrastructure mode network may be formed in which the slave device serves as a base station and the master device serves as a terminal station. In this case, the above-mentioned association request frame is transmitted from the master device to the slave device. Also, an ad hoc mode network may be formed in which both the master device and the slave device serve as terminal stations and communication is performed between the terminal stations. Further, when establishing communication, separate communication based on the prior art may be appropriately performed. Also, when the master device does not become a base station, the master device may transmit the game ID and the like by broadcasting an action frame instead of a beacon.
[0100] After the wireless LAN connection is established between the master device and the slave device, a TCP (Transmission Control Protocol) connection is established by a three-way handshake between the master device having the game program of game G1 and the slave device not having the game program of game G1. Then, game G1 is started between the master device and the slave device, and game G1 is played among a plurality of users. During the execution of the game, the master device and the slave device transmit and receive game data related to the game. For example, the slave device transmits operation data to the master device via UDP. The master device transmits image data to the slave device via TCP. In this way, game data is transmitted and received between the master device and the slave device, and game G1 is executed. Note that the operation data of the slave device may be transmitted to the master device via TCP. Also, the image data may be transmitted from the master device to the slave device via UDP.
[0101] (Structure of Action Frame) Next, the structure of the above-mentioned action frame will be described. FIG. 5 is a diagram showing an example of the structure of an action request frame. FIG. 6 is a diagram showing an example of the structure of an action response frame. FIGS. 5 and 6 show an example of the data included in the frame body portion of the action frame.
[0102] As shown in FIG. 5, the action request frame includes information 30 (e.g., "3") indicating that it is an action request frame. The action request frame also includes a request number 31, a data type 32, an ID 33, a maximum receivable size 34, an entry number 35, and one or more entries 36. In addition to these, the action request frame includes version information indicating the version of the protocol.
[0103] The request number 31 is a number for identifying a request. When transmitting an action request frame, the slave device determines this request number so as not to overlap with other requests. The data type 32 is information indicating the type of data requested. The data type 32 includes icon image data (video or still image data), text data, and the like. The ID 33 is an identifier of the data specified by the data type 32. The ID 33 is based on the game ID received from the master device by the beacon, and may be the received game ID itself, or a value uniquely calculated based on the received game ID. For example, the ID 33 may be a value obtained by adding the data type to the received game ID, or a hash value of the received game ID. The data specified by the data type and the ID is the request data that the slave device requests from the master device.
[0104] The maximum receivable size 34 is the maximum data size that can be received by the device on the side transmitting the action request frame in one frame. The number of entries 35 is the number of entries included in this frame. Each entry 36 includes information specifying partial data of the requested data. Specifically, an entry includes an offset 36a and a size 36b. The offset 36a is the offset value of the data to be requested. In the first action request frame, "0" is specified as the offset value. Also, the size 36b is the size from the offset value of the data to be requested. For example, in the first action request frame, the maximum value (a value where all bits are "1") is specified as the size. When the maximum value is specified for the size, it means that the slave device is requesting all of the requested data.
[0105] Also, as shown in FIG. 6, the action response frame includes information 40 (e.g., "4") indicating that it is an action response frame. The action response frame also includes a request number 41, a data type 42, a total size 43, an offset 44, a size 45, and body data 46. The same values as the request number 31 and data type 32 of the corresponding action request frame are set as the request number 41 and data type 42 of the action response frame.
[0106] The total size 43 is the total size of the data (requested data) specified by the data type 32 and ID 33 of the action request frame. The offset 44 is the offset value of the data (body data) included in this frame among the requested data. The size 45 is the size of the body data included in this frame. The body data 46 is the data body included in this frame and is partial data obtained by dividing the requested data into multiple parts.
[0107] (An example of the sequence of transmission and reception of icon image data) Next, with reference to FIG. 7, the processing flow when icon image data is transmitted from the master device to the slave device using an action frame in a state where the connection between the master device and the slave device is not established will be described. FIG. 7 is an example of a sequence diagram when icon image data is transmitted from the master device to the slave device using an action frame. FIG. 8 is a diagram showing an example of icon image data transmitted from the master device to the slave device using an action frame.
[0108] As shown in FIG. 7, the information processing device 10b, which is a slave device, transmits an action request frame RQ1 designated for the master device based on the beacon received from the information processing device 10a, which is the master device. In this action request frame RQ1, "3" is set as information 30 indicating that it is an action request frame. Also, in the action request frame RQ1, "1" is designated as the request number 31. Further, a value "1" indicating an icon image is designated as the data type 32, and "ABCD" is designated as the ID 33 for specifying the icon image. Here, it is assumed that the requested data specified by the data type 32 and the ID 33 is the icon image data IMG_A shown in FIG. 8. The icon image data IMG_A is data with a total size of "20000". Also, in the action request frame RQ1, "1400" is designated as the maximum receivable size 34 of the frame receivable by the slave device. Also, since this frame is the first action request frame for requesting the icon image data IMG_A, "1" is designated as the entry number 35, "0" is designated as the offset 36a, and a value "0xFFFF" indicating the maximum value is designated as the size 36b.
[0109] The master device receives this action request frame RQ1 sent from the slave device. In response to receiving the action request frame RQ1, the master device transmits an action response frame designated to the information processing device 10b, which is the slave device, as the destination. In this action response frame, "4" is set as the information 40 indicating that it is an action response frame, and "1" is designated as the request number 41. Hereinafter, the action response frame with "1" designated as the request number 41 corresponding to this action request frame RQ1 is denoted as "action response frame RS1". Also, the nth action response frame RS1 transmitted by the master device to the slave device is denoted as "action response frame RS1-n".
[0110] In the action response frame RS1, the value "1" indicating the icon image is designated as the data type 42. Also, "20000" is designated as the total size 43 of the icon image data IMG_A (request data).
[0111] Since the total size of the icon image data IMG_A is larger than the maximum reception size, as shown in FIG. 8, the master device divides the icon image data IMG_A into a plurality of partial data (IMG_1 to IMG_15) and transmits them separately in a plurality of action response frames.
[0112] For example, the first action response frame RS1-1 includes the partial data IMG_1 with the offset 44 being "0" and the size 45 being "1360" bytes. The second action response frame RS1-2 includes the partial data IMG_2 with the offset 44 being "1360" and the size 45 being "1360" bytes. Also, the third action response frame RS1-3 includes the partial data IMG_3 with the offset 44 being "2720" and the size 45 being "1360" bytes. With these three action response frames, 4080 bytes of data from the beginning of the icon image data IMG_A (20000 bytes) are transmitted from the master device.
[0113] In addition, the master device further transmits the fourth and subsequent action response frames RS1 (RS1-4 to RS1-14) to the slave device, and transmits the last action response frame RS1-15 to the slave device. This last action response frame RS1-15 contains partial data IMG_15 where the offset 44 is "19040" and the size 45 is "960" bytes. The slave device may fail to receive these transmitted partial data. For example, if the slave device cannot receive the action response frame, or if there is a defect in the received action response frame although the action response frame is received, the slave device fails to receive the partial data. Suppose the slave device fails to receive the action response frames RS1-2, RS1-3, and RS1-15 among these 15 action response frames RS1, and successfully receives the action response frames RS1-1, RS1-4 to RS1-14.
[0114] The slave device determines whether it has received all of the icon image data IMG_A based on the offset and size of each received partial data. If the slave device determines that it has not received all of the icon image data IMG_A, it determines which partial data it has not received from the offset values of the partial data. Then, the slave device transmits an action request frame RQ2 to the master device to request retransmission of the unreceived data.
[0115] Here, since the slave device did not receive the partial data IMG_2, IMG_3, and IMG_15, it sends an action request frame RQ2 to the master device to request retransmission of these data. In the action request frame RQ2, for example, "2" is specified as the request number 31, and "2" is specified as the entry number 35. In the first entry 36 of the action request frame RQ2, "1360" is specified as the offset 36a, and "2720" is specified as the size 36b. Also, in the second entry 36, "19040" is specified as the offset 36a, and "960" is specified as the size 36b.
[0116] Upon receiving this action request frame RQ2, the master device sends an action response frame with "2" specified as the request number 31 to the slave device. The action response frame with "2" specified as the request number 31 corresponding to this action request frame RQ2 is denoted as "action response frame RS2". Also, the nth action response frame RS2 sent by the master device to the slave device is denoted as "action response frame RS2-n".
[0117] The first action response frame RS2-1 contains the partial data IMG_2 with the offset 44 being "1360" and the size 45 being "1360" bytes. Also, the second action response frame RS2-2 contains the partial data IMG_3 with the offset 44 being "2720" and the size 45 being "1360" bytes. Also, the third action response frame RS2-3 contains the partial data IMG_15 with the offset 44 being "19040" and the size 45 being "960" bytes. The slave device attempts to receive these three action response frames RS2.
[0118] If the slave unit does not receive any of these three action response frames RS2, it will send an action request frame to the master unit again, requesting the retransmission of the data that was not received. The slave unit will repeatedly send action request frames to the master unit until it has received all of the icon image data IMG_A. If, after sending the action request frame a predetermined number of times, it is still unable to receive all of the icon image data IMG_A, the slave unit will stop receiving the icon image data IMG_A as a communication error.
[0119] If the slave unit successfully receives the three action response frames RS2, it will reconstruct all of the received partial data (IMG_1 to IMG_15) to obtain the icon image data IMG_A.
[0120] If the master unit and the slave unit detect a communication error during data transmission and reception, they will stop the data transmission and reception.
[0121] For example, after sending an action request frame, the slave unit will attempt to receive the first action response frame corresponding to this action frame for the first timeout period T1 (e.g., 200 milliseconds). If the slave unit does not receive the first action response frame within this first timeout period T1, it will send an action request frame with an updated request number, requesting the same data. If, after sending the action request frame "C1" times, it is still unable to receive the requested data, the slave unit will end the data request, assuming a communication error has occurred.
[0122] If the slave unit receives an action response frame within the first timeout period T1, it will set the second timeout period T2. When the second timeout period T2 has elapsed, the slave unit will end the data reception and, if there is more data to request next, it will send the next action request frame.
[0123] The second timeout time T2 is, for example, the shorter of "T3 × C2" and "T3 × the remaining number of frames". Here, "T3" is the time required for the master device to transmit one frame the maximum number of retries, and may be, for example, 50 milliseconds to 60 milliseconds. This "T3" may be included in the beacon transmitted from the master device to the slave device. Also, "C2" is a predetermined integer. The "remaining number of frames" is the number of frames required to transmit the remaining data using action frames. For example, the slave device calculates the "remaining number of frames" based on the remaining data size and the size of the data included in one action frame, and calculates the time required to receive the remaining data by multiplying the "remaining number of frames" by T3. The slave device compares this calculated time with the fixed time "T3 × C2" and sets the shorter time as the second timeout time T2. For example, when the slave device receives the first action response frame RS1-1 shown in FIG. 7, it obtains the total size and subtracts the size of the partial data IMG_1 received in this frame from the total size to calculate the remaining data size. The slave device may set the second timeout time T2 based on the remaining data size.
[0124] Each time the slave device receives an action response frame RS1, it sets the second timeout time T2. Note that when the slave device receives the first action response frame RS1-1 for an action request frame, it sets the second timeout time T2, and it may not update the second timeout time T2 when it receives subsequent action request frames RS1.
[0125] After receiving the action response frame RS1, if the set second timeout time T2 has elapsed, the slave device transmits the next action request frame RS2. If the slave device cannot receive all of the requested data even after transmitting the action request frame a predetermined number of times, it stops receiving the requested data as a communication error.
[0126] In addition, when the master device receives an action request frame containing a request for a data type that it does not support from a slave device, the master device transmits an action response frame with a value indicating an error in the data type to the slave device. Also, when the master device detects a defect in the action request frame received from the slave device, the master device transmits an action response frame with a value indicating an error in the data type to the slave device. Further, for example, when the version of the action request frame transmitted by the slave device is different from the version supported by the master device, the master device transmits an action response frame with a value indicating an error in the data type to the slave device. When a value indicating an error in the data type is set in the slave device, the slave device stops receiving subsequent data on the assumption that a communication error has occurred.
[0127] As described above, the slave device requests the master device to transmit relatively large data by transmitting an action request frame to the master device. When the requested data cannot be transmitted in one action frame, the master device divides the requested data into a plurality of partial data and includes them in a plurality of action response frames for transmission. When the slave device does not receive a part of the plurality of partial data from the master device, the slave device transmits an action request frame to the master device requesting retransmission of the unreceived partial data. Thereby, even when the slave device is not connected to the master device, the slave device can surely receive relatively large data.
[0128] Note that in the above embodiment, the icon image data IMG_A is divided into partial data IMG_1 to IMG_15, and the case where these partial data are transmitted in order from the head to the end (in the order of IMG_1 to IMG_15) is exemplified, but the order in which these partial data are transmitted may be arbitrary. For example, the partial data may be transmitted in the order from the end to the head of the icon image data IMG_A. Also, the slave device does not necessarily receive the partial data in the order in which the master device transmits them.
[0129] In the above-described embodiment, the slave device is configured to set, as the second timeout time T2, the time required to receive the remaining data, and to transmit the next action request frame when the second timeout time T2 has elapsed. Other times may be set as the second timeout time T2. For example, a predetermined fixed time may be set as the second timeout time T2. Also, as the second timeout time T2, a time during which at least a part of the remaining data can be received may be set.
[0130] In the above, when the slave device transmits an action request frame for requesting a certain data X, it is assumed that after the set timeout time (T1 or T2) has elapsed, it transmits an action request frame for requesting the next data Y. In other embodiments, the slave device may transmit an action request frame for requesting another data Y before the timeout time set for receiving a certain data X has elapsed. For example, after the slave device transmits an action request frame RQX for requesting image data X (for example, game icon image data), during the period in which it is receiving a plurality of action response frames RSX corresponding to this request, it may transmit an action request frame RQY for requesting text data Y (for example, data indicating a game title). Then, during the period in which the slave device is receiving a plurality of action response frames RSX, it may receive a plurality of action response frames RSY corresponding to the action request frame RQY.
[0131] In the communication of a wireless LAN compliant with IEEE802.11, in order to notify that data transmitted by unicast has been received normally, the device that has received the data returns an ACK frame to the device that has transmitted the data. If the transmitting side of the data does not receive this ACK frame, it attempts to retransmit the transmitted data on the assumption that the transmitted data has not been received by the receiving side. For example, when the master device transmits an action response frame RS1-2 to the slave device, if the slave device receives this normally, it returns an ACK frame to the master device. If the master device does not receive the ACK frame within a predetermined timeout period (a time shorter than the above-mentioned first timeout period T1 and second timeout period T2), it retransmits the same action response frame RS1-2 to the slave device. The retransmission of the action response frame RS1-2 by the master device is limited to the maximum number of retries. Even if such retransmission is performed the maximum number of retries, if the slave device does not receive the action response frame RS1-2 normally, the slave device cannot receive the partial data IMG_2. In such a case, as described above, the slave device requests the master device to retransmit the partial data IMG_2 by transmitting an action request frame RQ2 to the master device after the elapse of the second timeout period T2. Thereby, the slave device can acquire the data that has failed to be received.
[0132] (An example of screen transition and communication between the master device and the slave device) Next, the screen transition and communication of the master device and the slave device until the game G1 is executed between the master device and the slave device will be described. FIGS. 9 and 10 are diagrams showing an example of the screen transition and communication of the master device and the slave device until the game G1 is executed between the master device and the slave device.
[0133] As shown in FIG. 9, when the information processing apparatus 10a is activated, first, a menu screen PS1 (also referred to as a HOME screen) is displayed on the display 12. At this point, the information processing apparatus 10a does not yet function as a master unit and operates as a single device. On the menu screen PS1, icon images of a plurality of games that the information processing apparatus 10a can execute are displayed. For example, the information processing apparatus 10a has game programs for Game G1, Game G2, and Game G3 and can execute these games. Therefore, on the menu screen PS1 of the information processing apparatus 10a, an icon image IC1 for Game G1, an icon image IC2 for Game G2, and an icon image IC3 for Game G3 are displayed. User A of the information processing apparatus 10a selects any one of these icon images IC1 to 3. Thereby, the game program corresponding to the selected icon image is executed.
[0134] Also, on the menu screen PS1, an instruction image described as, for example, "Join another game" is displayed below the icon image corresponding to each game. This instruction image is for joining a game executed by another information processing apparatus 10. Here, User A selects the icon image IC1 of Game G1 to execute Game G1 that the information processing apparatus 10a has.
[0135] When the icon image IC1 of Game G1 is selected, a mode selection screen PS2 is displayed. The mode selection screen PS2 is a screen for allowing the user to select in which mode out of a plurality of modes the selected Game G1 is to be executed.
[0136] For example, on the mode selection screen PS2, any one of "Play alone", "Play with someone who does not have the software", and "Local communication play" is selected. "Play alone" is associated with the single play mode. When "Play alone" is selected, Game G1 is executed only by the information processing apparatus 10a (User A).
[0137] "Local communication play" is associated with the local communication multiplayer mode. When this is selected, game G1 is executed on a plurality of information processing apparatuses 10 having game G1. For example, when the users of information processing apparatuses 10a to 10c select this mode, information processing apparatuses 10a to 10c establish a connection via a wireless LAN to form a wireless network. The wireless network formed by information processing apparatuses 10a to 10c may be an infrastructure mode network in which any one of information processing apparatuses 10a to 10c serves as a base station and the other apparatuses serve as terminal stations. In this case, the terminal stations communicate with each other via the base station. Also, the wireless network formed by information processing apparatuses 10a to 10c may be an ad-hoc mode network in which direct communication is performed between terminal stations. During the execution of a game in the local communication multiplayer mode, operation data corresponding to the operations performed on each information processing apparatus 10 is transmitted and received via the network, and game processing based on the operation data is performed on each information processing apparatus 10. Each information processing apparatus 10 generates a game image based on the result of the game processing and displays it on its own display 12. Note that there may also be an online mode in which a game is played between a plurality of information processing apparatuses connected to the Internet.
[0138] "Play with someone who does not have the software" is, as described above, a mode in which game G1 is executed using local communication between information processing apparatus 10a and another information processing apparatus 10 that does not have game G1. When "Play with someone who does not have the software" is selected in information processing apparatus 10a, information processing apparatus 10a functions as a master apparatus and starts transmitting a beacon (step S1) as described above. During this time, on the master apparatus, for example, a recruitment screen PS3 indicating that other users are being recruited is displayed.
[0139] On the other hand, in the information processing apparatus 10b as well, first, a menu screen CS1 is displayed. At this point, the information processing apparatus 10b does not yet function as a slave unit and operates as an independent device. The information processing apparatus 10b has game programs for games G2 and G3 and does not have a game program for game G1. Therefore, on the menu screen CS1 of the information processing apparatus 10b, an icon image IC2 for game G2 and an icon image IC3 for game G3 are displayed, and an icon image IC1 for game G1 is not displayed.
[0140] Here, the user B of the information processing apparatus 10b that does not have the program for game G1 selects "Participate in Another Game" on the menu screen CS1 in order to play game G1 with user A. When "Participate in Another Game" is selected, the information processing apparatus 10b functions as a slave unit and attempts to receive a beacon as described above (step S1).
[0141] During the display of the menu screen CS1, the information processing apparatus 10b attempts to receive a beacon. Before receiving the beacon, the instruction image for "Participate in Another Game" cannot be selected, and when a beacon is received from a master unit in the vicinity, the instruction image may become selectable. Also, when a beacon is received from the master unit during the display of the menu screen CS1, the display mode of the instruction image for "Participate in Another Game" may change to inform the user of the slave unit that there is a master unit recruiting participants for a game.
[0142] As a result of receiving the beacon from the master device, the slave device displays the search result screen CS2. When the slave device receives a beacon from the master device, it displays information about the master device on the search result screen CS2. Here, when there are a plurality of master devices in the vicinity of the slave device (for example, within a range of several meters to several tens of meters), the slave device may receive beacons from the plurality of master devices. When the slave device receives beacons from a plurality of master devices, it displays information about each of the plurality of master devices on the search result screen CS2. For example, when the information processing device 10a of user A and the information processing device 10x of another user X exist in the vicinity of the slave device, information about these master devices is displayed as a list. For example, as information about the master device, the user name of the master device may be displayed, or the name of the master device may be displayed. Also, in the list of master devices, the title of the game executed on the master device may be displayed. Note that the list of master devices may not be displayed on one screen and may be scrolled.
[0143] User B of the information processing device 10b selects the master device A (user A) among the plurality of master devices on the search result screen CS2 in order to play a game with user A. Note that when the slave device receives a beacon from only one master device, it may display the next participation instruction screen CS3 instead of the search result screen CS2.
[0144] When the master device A is selected, the information processing device 10b transmits an action request frame to the information processing device 10a as described above, and the information processing device 10a transmits an action response frame in response (steps S2, S3). As a result, relatively large data such as the icon image of the game G1 is transmitted from the master device to the slave device. Note that when the master device receives an action request frame from another slave device (for example, the information processing device 10c), it also transmits an action response frame to the other slave device.
[0145] When necessary data such as icon image data is received by the slave unit, the slave unit displays a participation instruction screen CS3 for instructing participation in game G1. On this participation instruction screen CS3, an icon image of game G1 is displayed based on the icon image data received from the master unit. In addition, the slave unit displays the title of game G1, the user name of the master unit (user A), an image of the character of user A, etc. Also, on the participation instruction screen CS3, an image for instructing participation in game G1 and an image for instructing cancellation are displayed. Note that on the search result screen CS2, an icon image of the game owned by each master unit, a character image of the user of each master unit, etc. may be displayed. In this case, before displaying the search result screen CS2, the slave unit transmits an action request frame to each master unit and receives an action response frame from each master unit. That is, before selecting any one of the plurality of searched master units, the slave unit may acquire an icon image of a game executable on each master unit from each master unit.
[0146] When participation in game G1 is instructed in the slave unit, a wireless LAN connection is established between the slave unit and the master unit (step S4). When the connection between the master unit and the slave unit is established, necessary information is transmitted and received between the master unit and the slave unit (step S5). Here, for example, the slave unit transmits slave unit data (for example, the user name of the slave unit, an image representing the character of the user of the slave unit, etc.) to the master unit. Note that on the participation instruction screen CS3, or after the participation instruction screen CS3 is displayed, a display may be made to prompt the preparation of a necessary controller. Also, a display regarding the way of holding the controller (a vertical or horizontal holding method) may be made. Information regarding the controller supported by game G1 and information regarding the way of holding the controller are included, for example, in the beacon transmitted by the master unit. Based on the information regarding the controller included in the beacon, the slave unit makes a display to prompt the preparation of a necessary controller or makes a display regarding the way of holding. Note that the slave unit may request information regarding the controller using an action request frame, and the master unit may transmit the information to the slave unit using an action response frame.
[0147] Next, as shown in FIG. 10, on the master device, a start instruction screen PS4 for instructing the start of game G1 is displayed. On the start instruction screen PS4, for example, an instruction image described as "Start with this member" for instructing the start of the game is displayed. Also, information about the user of the slave device is displayed on the start instruction screen PS4. For example, on the start instruction screen PS4, the user name of the slave device user, the character image of the user, etc. may be displayed. Note that in FIG. 10, only information about user B is displayed, but if participation in game G1 is also instructed on the participation instruction screen CS3 of the information processing device 10c owned by user C, information about user C is also displayed on this start instruction screen PS4. Note that on this start instruction screen PS4, the master device user may be able to select the user of the slave device who does not want to participate in the game. If a slave device that does not want to participate in the game is selected on the start instruction screen PS4, the master device disconnects communication with the slave device.
[0148] On the other hand, after "Participate" is instructed on the participation instruction screen CS3 of the slave device, a start waiting screen CS4 indicating that it is waiting for the start of game G1 is displayed.
[0149] When "Start with this member" is instructed on the start instruction screen PS4 of the master device, a game image and sound indicating the start of game G1 are generated on the master device, and the game image and sound data are transmitted from the master device to the slave device (step S6). This game image and sound data are transmitted by UDP. As a result, a game start image PS5 indicating the start of game G1 is displayed on the master device, and the same game start image CS5 is also displayed on the slave device. Note that the game image and / or sound data may be transmitted from the master device to the slave device by TCP.
[0150] During the execution of game G1, when user B of the slave device performs a game operation using the controller, operation data corresponding to the game operation is acquired by the slave device (step S7). The slave device transmits the operation data to the master device (step S8). This operation data is transmitted via UDP. Also, at the master device, a game operation using the controller is performed, and operation data corresponding to the game operation is acquired (step S9).
[0151] Based on the operation data corresponding to the game operation performed at the master device and the operation data transmitted from the slave device, the master device executes game processing and generates a game image corresponding to the result of the game processing (step S10). Then, the master device transmits the generated game image to the slave device (step S11). This game image is transmitted via TCP. Note that a plurality of images may be compressed and transmitted as video data from the master device to the slave device. Also, the game image or video data may be transmitted from the master device to the slave device via UDP. As a result, during the game, the in-game image PS6 is displayed on the master device, and the same in-game image CS6 is also displayed on the slave device.
[0152] During the execution of game G1, the processes of steps S7 to S11 are repeatedly performed at predetermined frame time intervals (for example, at intervals of 1 / 60 second). As a result, the game is executed between the master device and the slave device. Note that the processes of steps S7 to S11 do not necessarily have to be performed in this order, and the order of the processes may be switched, or any of these processes may be skipped. For example, even if the operation data from the slave device is not received in step S8 due to the communication status, the master device may execute the process of step S10 to generate a game image and transmit the game image to the slave device in step S11.
[0153] Note that different in-game images may be displayed on the parent device and the child device. For example, in the game space, a character corresponding to user A and a character corresponding to user B are arranged. On the parent device, an in-game image A including the character corresponding to user A may be displayed, and on the child device, an in-game image B including the character corresponding to user B may be displayed. In this case, the parent device generates the in-game image A and displays it on the display 12, and also generates the in-game image B and transmits it to the child device. The child device displays the in-game image B received from the parent device on the display 12.
[0154] Also, the screen may be divided into a plurality of regions, and in-game images including characters corresponding to respective users may be displayed in each of the divided regions.
[0155] Note that there may be a mode in which the game is played by only one of the users of the parent device and the child device, and the other user only watches the game of the one user. For example, when the game is played only by the user of the child device, operation data is transmitted from the child device to the parent device. The parent device performs game processing based on the operation data from the child device, generates an image corresponding to the game processing, transmits it to the child device, and displays the game image on the display of the parent device. No game operation using the controller is performed on the parent device. Also, when the game is played only by the user of the parent device, the parent device performs game processing based on the operation data of the parent device, generates an image corresponding to the game processing, transmits it to the child device, and displays the game image on the display of the parent device. No game operation using the controller is performed on the child device, and only the game image received from the parent device is displayed.
[0156] (Data Stored in the Parent Device and the Child Device) Next, the data stored in the master device and the slave device will be described. FIG. 11 is a diagram showing an example of the data stored in the information processing apparatus 10a which is the master device. FIG. 12 is a diagram showing an example of the data stored in the information processing apparatus 10b which is the slave device. Each data shown in FIGS. 11 and 12 is stored in the memory of each information processing apparatus 10 (specifically, any one of an external storage medium, a flash memory 26, a DRAM 27, a memory in the processor 21, and a memory in the network communication unit 24).
[0157] As shown in FIG. 11, in the information processing apparatus 10a, a game program 101 of game G1, a game program 102 of game G2, a game program 103 of game G3, a device control program 104, device specific information 105, user data 106, and slave device data 107 are stored.
[0158] The game program 101 of game G1 is stored in, for example, the flash memory 26 or an external storage medium. The game program 101 includes the game ID of game G1, the game title of game G1, and the icon image data of game G1. Further, the game program 101 includes the program main body for executing game G1. The game program 102 and the game program 103 also include the same data as the game program 101.
[0159] The device control program 104 is a program for controlling the information processing apparatus 10a, and includes a basic program for providing menu operations using a menu screen and starting a game program, and a communication program for communicating with other devices. The basic program is stored in, for example, the flash memory 26. Also, the communication program is stored in, for example, the memory in the network communication unit 24.
[0160] The device-specific information 105 is information for identifying the information processing device 10a, for example, a MAC address. The device-specific information 105 may also include the serial number of the information processing device 10a or the like. Further, the device-specific information 105 may include information for identifying the information processing device 10a set by the user.
[0161] The user data 106 is data related to the user of the information processing device 10a, and may include, for example, a user name, data related to a character corresponding to the user (for example, shape data, texture image data), and the like.
[0162] The slave device data 107 is data acquired from the slave device. The slave device data 107 includes, for example, the device-specific information of the slave device, the user name of the slave device, and data related to a character corresponding to the user of the slave device (for example, image data).
[0163] On the other hand, as shown in FIG. 12, the information processing device 10b, which is a slave device, stores the game program 102 of the game G2, the game program 103 of the game G3, the device control program 104, the device-specific information 105, and the user data 106, similar to the master device. Since these data are the same as the data stored in the master device, the description thereof is omitted. Further, the information processing device 10b stores the master device data 108.
[0164] The master device data 108 is data acquired from the master device before the connection with the master device is established. Specifically, the master device data 108 includes the device-specific information of the master device (for example, MAC address) acquired from the master device, the game ID, the icon image data of the game G1 received from the master device, the title data of the game G1, the character image data of the user of the master device, and the like.
[0165] (Details of the processing performed by the master device and the slave device) Next, the details of the processes executed by the master device and the slave devices will be described with reference to FIGS. 13 to 19. The processes shown in FIGS. 13 to 19 are performed by the processor 21 or the processor of the network communication unit 24 executing a predetermined program (game program 101 or device control program 104).
[0166] FIG. 13 is a flowchart showing an example of menu processing executed in the information processing apparatus 10. When the power of the information processing apparatus 10 is turned on, the processor 21 executes the menu processing shown in FIG. 13 by executing, for example, the device control program 104 stored in the flash memory 26. Note that the processor 21 acquires operation data from the controller at an appropriate timing during the execution of the menu processing shown in FIG. 13.
[0167] Specifically, the processor 21 generates a menu screen and displays it on the display 12 (step S101). As a result, for example, the menu screen PS1 and the menu screen CS1 shown in FIG. 9 are displayed. In the menu screen, icon images of games that can be executed by the information processing apparatus 10 are displayed. For example, on the menu screen of the information processing apparatus 10a, icon images corresponding to the games G1, G2, and G3 that can be executed by the information processing apparatus 10a are displayed.
[0168] Next, the processor 21 determines whether or not the icon image of the game displayed on the menu screen has been selected based on the operation data from the controller (step S102). If the icon image is selected (step S102: YES), the processor 21 performs game startup processing and displays the mode selection screen PS2 (step S103). Specifically, the processor 21 reads the game program of the game corresponding to the selected icon image, and displays the mode selection screen PS2 by executing the program for mode selection included in the game program, and accepts input from the user. On the mode selection screen PS2, an image related to the game (such as an image of a character or a background) may be displayed. Note that the mode selection function (the function for selecting a mode using the mode selection screen PS2) may not be included in the game program, but may be included in the main unit device 2 in advance. In this case, at the time of step S103, the game program is not read, and the same screen is displayed on the mode selection screen PS2 regardless of what game is to be played later.
[0169] Next, the processor 21 determines whether or not "Play with someone who does not have the software" has been selected on the mode selection screen PS2 based on the operation data from the controller (step S104).
[0170] If "Play with someone who does not have the software" is selected (step S104: YES), the processor 21 then proceeds to the master unit process (step S105). Thereafter, the information processing apparatus 10 functions as a master unit that provides the game G1 to the slave units, and this master unit process is performed until the master unit game middle process described later is completed. Details of the master unit process will be described later.
[0171] If it is determined as NO in step S104, the processor 21 determines whether another mode has been selected on the mode selection screen PS2 based on the operation data from the controller (step S106). If another mode has been selected (step S106: YES), the processor 21 proceeds to the game process corresponding to the selected mode (step S107). Thereafter, the process of step S107 is performed until the game G1 corresponding to the selected mode ends. Details of the process of step S107 are omitted.
[0172] If it is determined as NO in step S106, the processor 21 executes the process of step S103 again. The processes of step S103, step S104, and step S106 are repeatedly executed at a predetermined frame time interval (for example, at intervals of 1 / 60 second).
[0173] On the other hand, if the game icon image is not selected on the menu screen (step S102: NO), the processor 21 determines whether "participate in another game" has been selected based on the operation data from the controller (step S108).
[0174] If "participate in another game" is not selected on the menu screen (step S108: NO), the processor 21 executes the process of step S101 again. The processes of step S101, step S102, and step S108 are repeatedly executed at a predetermined frame time interval (for example, at intervals of 1 / 60 second).
[0175] On the other hand, if "participate in another game" is selected on the menu screen (step S108: YES), the processor 21 then proceeds to the slave unit process (step S109). Thereafter, the information processing apparatus 10 functions as a slave unit that receives the provision of the game G1 from the master unit, and this slave unit process is performed until the slave unit game process described later ends. Details of the slave unit process will be described later.
[0176] (Master unit process) Next, the details of the host device processing will be described. Hereinafter, the case where the information processing apparatus 10a functions as a host device will be described. FIG. 14 is a flowchart showing an example of host device processing.
[0177] As shown in FIG. 14, the host device determines whether it is the beacon transmission timing (step S201). If it is determined that it is the beacon transmission timing (step S201: YES), the network communication unit 24 of the host device transmits a beacon frame by broadcast (step S202). That is, the host device transmits a beacon frame to unspecified other devices. The beacon frame includes device identification information for identifying the host device and a game ID for identifying data related to the game G1. Specifically, the header part of the beacon frame includes the MAC address of the host device and the BSSID. Also, the game ID of the game G1 is included in the vendor-specific area (Vendor Specific Information Element of the frame body) of the beacon frame. Further, the user name of the host device may be included in the vendor-specific area of the beacon frame, or the title of the game G1 may be included. Also, information regarding the controller that can be supported in the game G1 may be included in the vendor-specific area of the beacon frame. The host device repeatedly transmits the beacon frame at a predetermined time interval (for example, intervals of several tens of milliseconds to several hundreds of milliseconds).
[0178] When step S202 is executed, or when it is determined as NO in step S201, the host device determines whether an action request frame has been received (step S203).
[0179] When it is determined that an action request frame has been received (step S203: YES), the master device performs action response transmission processing (step S204). This action response transmission processing is processing for transmitting an action response frame corresponding to the action request frame. By performing the action response transmission processing in step S204, relatively large data (for example, icon image data) regarding the game G1 is transmitted from the master device in response to a request from the slave device. Hereinafter, the details of the action response transmission processing will be described.
[0180] (Action Response Transmission Processing) FIG. 15 is a flowchart showing an example of the action response transmission processing in step S204 in the master device processing. Although illustration is omitted, the master device repeatedly transmits beacon frames at the above-mentioned predetermined time intervals even during the execution of the action response transmission processing in step S204.
[0181] As shown in FIG. 15, the master device analyzes the action request frame from the slave device (step S220). Next, the master device determines whether there is an error in the action request frame (step S221). For example, when the version included in the action request frame is a version not supported by the master device, the master device determines that there is an error in the action request frame. Also, when the data type 32 included in the action request frame is a data type not supported by the master device, the master device determines that there is an error in the action request frame. Further, when the master device discovers that there is some defect in the configuration of the action request frame, the master device determines that there is an error in the action request frame.
[0182] When it is determined that there is an error in the action request frame (step S221: YES), the master device sets a value indicating an error in data type 42 of the action response frame and transmits the action response frame (error response) to the slave device (step S222). Then, the master device ends the process shown in FIG. 15.
[0183] When it is determined that there is no error in the action request frame (step S221: NO), the master device acquires the requested data specified by data type 32 and ID33 of the action request frame (step S223). For example, in the action request frame, when information indicating icon image data is specified as the requested data, the master device acquires the icon image data IMG_A stored in itself. Next, the master device sets "1" in the variable n and sets "N" based on the number of entries 35 included in the action request frame (step S224).
[0184] Next, the master device determines whether the data specified by entry n of the action request frame can be transmitted in one frame (step S225). Specifically, the master device determines that the data of entry n cannot be transmitted in one frame when the size of entry n is larger than the maximum receivable size. When the maximum value (all bits are "1") is set as the size of entry n, the master device determines whether the total size of the requested data is larger than the maximum receivable size.
[0185] When it is determined that the data of entry n can be transmitted in one frame (step S225: YES), the master device generates an action response frame including the data of entry n (step S226). Specifically, the master device extracts data of the size specified by entry n from the offset value specified by entry n among the request data obtained in step S223, and generates an action response frame including the data. Further, the master device sets the request number 41 and data type 42 of the action response frame to be the same as the request number 31 and data type 32 of the action request frame. Further, the master device sets the offset 44 and size 45 of the action response frame to the offset and size specified by entry n. Further, the master device sets the total size 43 of the action response frame to the total size of the request data. In step S226, if there is already a generated and saved frame, the master device may reuse the saved frame.
[0186] Next, the master device wirelessly transmits the generated action response frame to the slave device that transmitted the action request frame (step S227). After step S227, the master device executes the process of step S232.
[0187] On the other hand, when it is determined that the data of entry n cannot be transmitted in one frame (step S225: NO), the master device divides the data of entry n to obtain a plurality of partial data (step S228). Specifically, the master device extracts data of the size specified by entry n from the offset value specified by entry n among the request data obtained in step S223, and divides the extracted data into a plurality of partial data. Here, the master device divides the extracted data so that each partial data is smaller than the maximum receivable size. For example, when the master device receives an action request frame that requests all of the icon image data IMG_A as request data, the icon image data IMG_A is divided into a plurality (for example, 15) of parts. Note that the data division may be performed by the processor 21 or by the processor of the network communication unit 24.
[0188] Next, the master device generates an action response frame including the partial data obtained in step S228 (step S229). Here, the master device sets the request number 41 and data type 42 of the action response frame to be the same as the request number 31 and data type 32 of the action request frame. Also, the master device sets the offset 44 and size 45 of the action response frame to the offset and size of the partial data. Further, the master device sets the total size 43 of the action response frame to the total size of the request data (for example, 20000 in FIG. 7). Note that in step S229, if there is already a generated and saved frame, the master device may reuse the saved frame.
[0189] After step S229, the master device wirelessly transmits the generated action response frame to the slave device that transmitted the action request frame (step S230).
[0190] Next, the master device determines whether all the partial data acquired in step S228 has been transmitted (step S231). If it is determined that not all the partial data has been transmitted (step S231: NO), the master device executes the process of step S229 again. Here, an action response frame including the partial data that has not yet been transmitted is generated.
[0191] By repeatedly executing the processes of step S229 to step S231 at a predetermined frame transmission interval, all the partial data divided in step S228 is transmitted to the slave device.
[0192] If it is determined that all the partial data acquired in step S229 has been transmitted (step S231: YES), the master device executes the process of step S232.
[0193] In step S232, the master device adds 1 to the variable n. Next, the master device determines whether n is greater than N (step S233). Here, "N" is the number of entries specified in the action request frame.
[0194] If it is determined as YES in step S233, the master device ends the process of FIG. 15 and returns the process to FIG. 14. On the other hand, if it is determined as NO in step S233, the master device executes the process of step S225 again. Thereby, the data specified in the next entry of the action request frame is transmitted.
[0195] When returning to FIG. 14 and executing step S204, or when it is determined as NO in step S203, the master device determines whether a connection request has been received from the slave device (step S205). When the user gives a participation instruction on the participation instruction screen CS3, the slave device transmits a connection request to the master device in the connection establishment process of step S309 described later. Here, the master device determines whether a connection request has been received from the slave device.
[0196] When the parent device receives a connection request from a child device (step S205: YES), the parent device performs connection establishment processing (step S206). Specifically, in response to receiving an association request from the child device, the parent device determines whether to establish a connection with the child device. If it is determined to establish a connection, the parent device sends an association response indicating connection permission to the child device. As a result, communication parameters and an association ID are shared between the parent device and the child device, and the connection between the parent device and the child device is established.
[0197] After the connection establishment processing, the parent device transmits and receives data necessary for the game to and from the child device (step S207). For example, child device data (such as the user name of the child device and the image of the character corresponding to the user of the child device) is transmitted from the child device to the parent device.
[0198] Next, the parent device displays the start instruction screen PS4 (step S208). Here, the parent device acquires operation data and determines whether a start instruction for game G1 has been given. The parent device repeatedly executes the processing of step S208 at a predetermined frame time interval until a start instruction is given. Note that on the start instruction screen PS4, it may be possible to select a child device (user) that does not want to participate in the game.
[0199] When a start instruction for game G1 is given on the start instruction screen PS4, the parent device starts game G1, notifies the child device of the start of game G1, and proceeds to the in-game processing of the parent device (step S209). The in-game processing of the parent device is the processing of the parent device during the execution of game G1 and is performed until game G1 ends. Details of the in-game processing of the parent device in step S209 will be described later.
[0200] Note that the processing of steps S202, S204, S206, and S207 may be performed simultaneously in parallel. For example, during the execution of the action response transmission processing in response to an action request from a certain child device, a beacon frame may be periodically transmitted, or connection establishment processing with other child devices may be performed.
[0201] (Child device processing) Next, the details of the slave unit processing will be described. Hereinafter, the case where the information processing apparatus 10b functions as a slave unit will be described. FIG. 16 is a flowchart showing an example of the slave unit processing. Note that the slave unit acquires operation data from the controllers 3 and 4 at an appropriate timing during the execution of the slave unit processing shown in FIG. 16.
[0202] As shown in FIG. 16, the information processing apparatus 10b, which is a slave unit, performs beacon reception processing (step S301). Specifically, the network communication unit 24 of the slave unit scans a plurality of channels and attempts to receive a beacon. When a beacon is received, the slave unit acquires information from the received beacon frame (step S302). For example, the slave unit acquires the game ID and the MAC address of the master unit from the beacon. Further, the slave unit may acquire the game title, the user name of the master unit, information regarding the controller, etc. from the beacon.
[0203] Next, the slave unit displays a list of master units on the display 12 based on the acquired information (step S303). Here, the search result screen CS2 shown in FIG. 9 is displayed.
[0204] Next, the slave unit determines whether or not any one of the one or more master units displayed on the search result screen CS2 is selected based on the operation data (step S304).
[0205] When no master unit is selected (step S304: NO), the slave unit executes the process of step S301 again.
[0206] When a master unit is selected (step S304: YES), the slave unit executes data acquisition processing (step S305). This data acquisition processing is a process in which the slave unit acquires relatively large data such as the above-described icon image data from the master unit using an action frame. Hereinafter, the details of the data acquisition processing in step S305 will be described.
[0207] (Data Acquisition Processing) FIG. 17 is a flowchart showing an example of the data acquisition process in step S305 in the slave unit process.
[0208] As shown in FIG. 17, the slave unit first performs an action request transmission process (step S320). Specifically, the network communication unit 24 of the slave unit generates an action request frame and wirelessly transmits the action request frame to the master unit selected in step S304 as the destination. For example, when the slave unit first transmits an action request frame to the selected master unit, it designates a value indicating an icon image as data type 32, designates a value based on the game ID as ID33, designates "1" as the entry number 35, designates "0" as the offset 36a, and designates the maximum value as the size 36b, and transmits an action request frame.
[0209] Next, the slave unit determines whether it has received an action response frame corresponding to the transmitted action request frame from the master unit (step S321).
[0210] If the action response frame has not been received (step S321: NO), the slave unit determines whether the first timeout time T1 has elapsed since the action request frame was transmitted (step S322).
[0211] When the first timeout period T1 has elapsed (step S322: YES), the slave device determines whether the same action request frame has been transmitted C1 (C1 is a constant) times (step S323). If the same action request frame has not been transmitted C1 times (step S323: NO), the slave device executes the process of step S320 again. Here, the slave device transmits an action request frame requesting the same data. If the same action request frame has been transmitted C1 times (step S323: YES), the process shown in FIG. 17 is terminated as a reception error (step S325). The first timeout period T1 may be set to a fixed time (for example, 100 to 200 milliseconds), or may be variable according to the data type of the requested data, for example.
[0212] If the first timeout period T1 has not elapsed (step S322: NO), the slave device executes the process of step S321 again.
[0213] When it is determined that an action response frame has been received (step S321: YES), the slave device determines whether the received frame is an error response based on the data type of the action response frame (step S324). Here, it is determined whether the master device has transmitted an error response in step S222. When it is determined that the received frame is an error response (step S324: YES), the slave device terminates the process shown in FIG. 17 as a reception error (step S325).
[0214] When it is determined that the received frame is not an error response (step S324: NO), the slave device acquires the main body data included in the action response frame (step S326).
[0215] Next, the slave device sets a second timeout time T2 (step S327). Specifically, the slave device calculates the number of remaining frames required to receive the remaining data. The slave device compares the time obtained by multiplying the number of remaining frames by a fixed time T3 (for example, 50 ms to 60 ms) with the time obtained by multiplying a fixed value C2 by T3, and sets the shorter time as the second timeout time T2. The number of remaining frames is obtained, for example, by subtracting the number of action response frames received with the same request number from the number of frames calculated based on entry 36 included in the action request frame.
[0216] For example, when the slave device transmits an action request frame with "icon image data IMG_A" as the request data to the master device, the slave device receives, as the first action response frame, an action response frame in which the total size is "20000", the offset is "0", and the size is "1360". In this case, the number of remaining frames is "14", and the shorter of the value obtained by multiplying this "14" by T3 and T3×C2 is set as the second timeout time T2.
[0217] Next, the slave device determines whether or not the second timeout time T2 has elapsed since the previous action response frame was received (step S328).
[0218] If the second timeout time T2 has not elapsed (step S328: NO), the slave device determines whether or not it has received an action response frame (step S329). If it has not received an action response frame (step S329: NO), the slave device executes the process of step S328 again.
[0219] If it is determined that an action response frame has been received (step S329: YES), the slave device acquires the main body data included in the received action response frame (step S330), and executes the process of step S327 again.
[0220] On the other hand, when the second timeout period T2 has elapsed (step S328: YES), the slave device then executes the process of step S331. Note that when the number of transmissions of an action request for requesting the same data is the C3-th time and the second timeout period T2 has elapsed, the slave device ends the process shown in FIG. 17 as a reception error. "C3" may be different from or the same as the above "C1".
[0221] In step S331, the slave device determines whether all data has been received. Here, the slave device determines whether all data to be acquired has been received. If all data has not been received (step S331: NO), the slave device executes the process of step S320 again.
[0222] For example, in step S331, the slave device determines whether all of the partial data obtained by dividing the requested data (for example, icon image data IMG_A) has been received. Specifically, the slave device determines whether all of the requested data has been received based on the offsets and sizes of the main body data (partial data) received in steps S326 and S330. For example, if partial data IMG_2, IMG_3, and IMG_15 of the icon image data IMG_A have not been received, the slave device determines "NO" in step S331 and executes the process of step S320 again. In this case, the slave device transmits an action request frame for requesting the parent device to retransmit these unreceived partial data IMG_2, IMG_3, and IMG_15.
[0223] Also, in step S331, when there is a plurality of request data to be acquired from the master device, the slave device determines whether all the request data has been received. For example, when the size of the "title data TXT_A" indicating the title of the game is relatively large, the slave device cannot receive this data from the beacon. In this case, the slave device acquires the "title data TXT_A" through a plurality of action response frames. For example, even if the slave device has received all of the "icon image data IMG_A", but has not received the "title data TXT_A", it determines "NO" in step S331 and executes the process of step S320 again. In this case, in step S320, the slave device transmits an action request frame requesting the "title data TXT_A" to the master device. By receiving a plurality of action response frames corresponding to this action request frame, the slave device receives the "title data TXT_A" from the master device. Note that in addition to these icon image data and title data, the slave device may further request other request data from the master device.
[0224] When it is determined that all the data has been received (step S331: YES), the slave device ends the process shown in FIG. 17 and returns the process to FIG. 16.
[0225] Returning to FIG. 16, after the data acquisition process in step S305, the slave device determines whether there is an error (step S306). Here, it is determined whether there is an error in the data acquisition process in step S305. If there is an error (step S306: YES), the slave device performs error processing (step S313). Here, the slave device, for example, displays a message indicating that it could not receive data from the master device.
[0226] If there is no error (step S306: NO), the slave device displays the participation instruction screen CS3 on the display 12 (step S307).
[0227] Next, the slave device determines whether a game participation instruction has been given on the participation instruction screen CS3 based on the operation data (step S308). If no participation instruction has been given on the participation instruction screen CS3 (step S308: NO), the slave device executes the process of step S307 again.
[0228] If a participation instruction has been given on the participation instruction screen CS3 (step S308: YES), the slave device performs connection establishment processing (step S309). Here, the slave device sends a connection request to the master device and establishes a connection with the master device. Specifically, after performing authentication with the master device, the slave device sends an association request to the master device and receives an association response indicating connection permission from the master device. Thereby, the connection between the master device and the slave device is established.
[0229] Next, the slave device transmits and receives data necessary for the game to and from the master device (step S310). For example, the slave device transmits slave device data (e.g., the user name of the slave device, the image of the character corresponding to the user, etc.) to the master device.
[0230] Next, the slave device displays the start waiting screen CS4 (step S311). If a notification of the start of game G1 is received from the master device while the start waiting screen CS4 is being displayed, the slave device proceeds to the in-game processing of the slave device (step S312).
[0231] (Master device in-game processing) Next, the details of the master device in-game processing after the game has started between the master device and the slave device will be described. FIG. 18 is a flowchart showing an example of the master device in-game processing of step S209.
[0232] As shown in FIG. 18, the master device acquires operation data from the connected controllers 3 and 4 (step S240).
[0233] Next, the master device acquires operation data from the slave device (step S241). Specifically, the network communication unit 24 of the master device acquires the operation data wirelessly transmitted from the slave device with which the connection has been established.
[0234] Next, the host device performs game processing based on the operation data acquired in steps S240 and S241 (step S242). For example, when a game G1 in which a first character corresponding to the host device and a second character corresponding to the child device appear in a virtual space is played, the host device controls the first character based on the operation data acquired in step S240 and controls the second character based on the operation data acquired in step S241.
[0235] Next, the host device performs game image generation processing (step S243). The host device generates a game image based on, for example, one virtual camera arranged in the virtual space. The imaging range of the virtual camera includes the first character and the second character. Alternatively, the host device may generate a first game image based on a first virtual camera arranged behind the first character and generate a second game image based on a second virtual camera arranged behind the second character.
[0236] Next, the host device causes the game image generated in step S243 to be displayed on the display 12 (step S244). Note that the host device may cause the game image to be displayed on a display device (for example, a television) connected to the host device, which is different from the display 12.
[0237] Next, the host device transmits the game image generated in step S243 to the child device (step S245). Specifically, the network communication unit 24 of the host device transmits the generated game image to the child device for which the connection has been established. Note that the host device transmits audio data corresponding to the result of the game processing to the child device together with the game image.
[0238] Next, the master device determines whether to end the game (step S246). For example, when the game is completed (for example, in a racing game, when the moving object corresponding to each user reaches the goal), when the forced end of the game is instructed by the user of the master device during the game, or when the master device receives operation data regarding the forced end of the game from the slave device during the game, the master device determines YES in step S246. When the master device determines YES in step S246, it ends the game and sends a game end notification to the slave device. When it determines NO in step S246, the master device executes the process of step S240 again. By repeatedly executing the processes of steps S240 to S246 at a predetermined frame time interval (for example, at intervals of 1 / 60 seconds), the game progresses.
[0239] (Slave device game in - process processing) Next, the details of the slave device game in - process processing in the slave device after the game is started will be described. FIG. 19 is a flowchart showing an example of the slave device game in - process processing of step S312.
[0240] As shown in FIG. 19, the slave device sends operation data to the master device (step S340). Specifically, the slave device acquires the operation data output from its own controllers 3 and 4. Then, the network communication unit 24 of the slave device sends the acquired operation data to the master device to which the connection has been established.
[0241] Next, the slave device receives a game image from the master device (step S341). Specifically, the network communication unit 24 of the slave device receives the game image from the master device to which the connection has been established. Note that the slave device also receives audio data together with the game image.
[0242] Next, the slave device displays the received game image on the display 12 (step S342). Note that the slave device may display the game image on a display device (for example, a TV) connected to the slave device, which is different from the display 12.
[0243] Next, the slave device determines whether to end the game (step S343). For example, when the slave device receives a game end notification from the master device, or when forced termination of the game is instructed on the slave device during the game, the game is ended. If the game is not ended, the slave device executes the process of step S340 again. By repeatedly executing the processes of step S340 to step S343 at a predetermined frame time interval (for example, at intervals of 1 / 60 seconds), the game progresses.
[0244] Note that the processing of the above flowchart is merely an example, and for example, the order of each step may be swapped, other steps may be added, or some of the above steps may be omitted.
[0245] For example, in the above embodiment, when it is determined YES in step S308, the connection establishment process of step S309 is performed. That is, when an instruction to "participate" is given on the participation instruction screen CS3 of the slave device, a connection is established between the master device and the slave device. In other embodiments, the connection between the master device and the slave device may be established at another timing. For example, the timing at which the connection between the master device and the slave device is established may be any timing after the data acquisition process of step S305 is performed, or may be a timing before the participation instruction screen CS3 is displayed. Also, during the display of the participation instruction screen CS3, the connection between the master device and the slave device may be established.
[0246] Also, in the above embodiment, when it is determined as YES in step S304, the data acquisition process in step S305 is performed. That is, when one master device is selected from the list of master devices, relatively large data related to the game is acquired from the selected master device. In other embodiments, the data acquisition process in step S305 may be performed before the master device is selected. For example, after the slave device receives the beacon in step S302, the data acquisition process in step S305 may be performed, and then the process in step S303 may be performed. In this case, the slave device receives icon images of executable games, etc. from each of a plurality of master devices around itself. Then, the slave device may display the icon images of the games executable on each master device in the list of master devices.
[0247] As described above, in this embodiment, among a plurality of information processing apparatuses (for example, 10a to 10c), the information processing apparatus (10a; master device) having a predetermined game program provides a game to other information processing apparatuses (10b, 10c; slave devices) that do not have the program. The master device broadcasts a game ID and device identification information of the master device, which are relatively small information, using a beacon. When the slave device receives the beacon from the master device, the slave device transmits an action request frame for requesting relatively large data related to the game, such as icon image data, to the master device. The master device divides the icon image data into a plurality of sub-data, divides the plurality of sub-data into a plurality of action response frames, and transmits them to the slave device. The slave device acquires the icon image data by receiving the plurality of action response frames.
[0248] Thereby, the slave device can receive relatively large icon image data, etc. from the master device without establishing a connection with the master device before the start of the game. The user of the slave device can view the icon image, etc. and decide whether to participate in the game.
[0249] Before the game starts, it is conceivable that the master device and the slave device establish a wireless LAN connection, establish a TCP connection, and transmit icon image data and the like from the master device to the slave device. However, in this case, it takes time to establish the connection and perform the TCP handshake. Also, when the master device establishes a connection with the slave device to transmit icon image data and the like, resources are consumed for the slave device for which it is not known whether the game will actually be executed.
[0250] In this embodiment, even if the master device and the slave device do not establish a wireless LAN connection, relatively large data such as icon image data is transmitted from the master device to the slave device using an action frame, so that the transmission and reception of icon images and the like do not take time, and the burden on the master device can be reduced.
[0251] Also, even if the slave device does not receive all of the icon image data, the slave device can request retransmission of the data not received using an action frame. Thereby, the icon image data can be surely acquired from the master device. In the retransmission mechanism using the above action frame, the load on the master device can be reduced more than the retransmission mechanism of TCP. That is, in the retransmission mechanism of TCP, the data transmission side attaches a sequence number to the packet and transmits it, grasps the data reception status by receiving a response from the reception side, and if there is no response corresponding to the sequence number, the transmission side retransmits the data. In such a mechanism, the master device, which is the transmission side, needs to manage the reception status of the reception side based on the sequence number, and there is a possibility that the master device will be loaded. In the above embodiment, the master device only transmits an action response frame to the slave device in response to an action request frame from the slave device, and the master device does not need to manage the reception status of the slave device. Therefore, the load on the master device can be reduced.
[0252] (Modification example) Although the present embodiment has been described above, the above embodiment is merely an example, and for example, the following modifications may be added.
[0253] For example, in the above embodiment, the master device transmits a beacon including the device identification information of the master device and data identification information (e.g., game ID) for identifying the data transmitted from the master device. The slave device receives the beacon and then transmits an action request frame to the master device to request the transmission of the data identified by the data identification information. The master device may transmit the device identification information of the master device and the data identification information to surrounding devices using other frames. For example, in other embodiments, the master device may transmit the device identification information and the data identification information using an action frame. The master device may periodically transmit an action frame including the device identification information and the data identification information by broadcast or unicast to the slave device.
[0254] Also, in other embodiments, the slave device transmits a probe request to acquire the device identification information of the master device and the data identification information, and the master device transmits a probe response to this probe request to the slave device, whereby the master device may transmit the device identification information of the master device and the data identification information. Then, based on the data identification information and the device identification information included in this probe response, the slave device may transmit an action request frame to request the transmission of relatively large data such as icon image data as described above.
[0255] Also, in the above embodiment, the slave device transmits an action request frame designating the master device as the destination, and the master device transmits an action response frame designating the slave device as the destination. In other embodiments, the action frame transmitted by the slave device or the master device may be transmitted by broadcast. For example, the slave device transmits an action request frame designating the master device as the destination. The master device that receives this action request frame may transmit an action response frame including the request number specified in the action request frame and the requested data to unspecified devices (by broadcast or multicast). The slave device can acquire the requested data by receiving this action response frame with the same request number.
[0256] In the above-described embodiment, relatively large data is transmitted from the master device to the slave device using an action frame. In other embodiments, not limited to the action frame, relatively large data may be transmitted from the master device to the slave device using other frames.
[0257] In the above-described embodiment, on the premise that a game is played between a master device having a game program and a slave device not having the game program, before the connection is established, data related to the game (for example, icon image data of game G1) is transmitted from the master device to the slave device using an action frame. In other embodiments, even when both the master device and the slave device have a game program, before the connection is established, data related to the game may be transmitted from the master device to the slave device using an action frame. After the above data is transmitted from the master device to the slave device using the action frame, the master device and the slave device establish communication, and a game is played between the master device and the slave device. In this case, the master device and the slave device execute their respective game programs.
[0258] In the above-described embodiment, a game application is provided as an application from the master device to the slave device. In other embodiments, not limited to the game application, any application may be provided from the master device to the slave device. In this case, an icon image, a title, etc. of the application may be transmitted from the master device to the slave device before the connection between the master device and the slave device is established by the method described above.
[0259] Although the present invention has been described above, the above description is merely an exemplification of the present invention, and various improvements and modifications may be made.
Explanation of Reference Numerals
[0260] 1 Game system 2 Main body device 10 Information processing device 10a Master device 10b, 10c Slave devices 21 Processor 24 Network communication unit
Claims
1. An information processing method executed in a second information processing device, comprising: when it is determined that a first frame including first device identification information for identifying a first information processing device and data identification information for identifying data to be transmitted from the first information processing device is received, transmitting, by wireless communication, a second frame including second device identification information for identifying the second information processing device and data request information for requesting the data determined based on the data identification information, to the first information processing device identified by the first device identification information as a destination; receiving, from the first information processing device that has received the second frame, a plurality of third frames including partial data obtained by dividing the data into a plurality of parts and transmitted to the second information processing device as a destination; when it is determined that there is partial data that could not be received among the plurality of partial data, transmitting, by wireless communication, a fourth frame including the second device identification information and data re-request information for requesting retransmission of the data that could not be received, to the first information processing device identified by the first device identification information as a destination.
2. In the first information processing device, transmission of the first frame, and transmission of the plurality of third frames, and in the second information processing device, transmission of the second frame, and transmission of the fourth frame are executed in a state where wireless communication between the first information processing device and the second information processing device is not established. The information processing method according to claim 1.
3. The third frame includes an offset of the partial data and a size of the partial data, and the second information processing device identifies the partial data that could not be received based on the offset of the partial data and the size of the partial data, and transmits the fourth frame for requesting retransmission of the identified data. The information processing method according to claim 1.
4. The second information processing device includes, in the second frame, a maximum receivable size of a frame receivable by the second information processing device and transmits the second frame, and the second information processing device receives the third frame including the partial data obtained by dividing the data into a plurality of parts based on the maximum receivable size by the first information processing device. The information processing method according to claim 1.
5. The second information processing device transmits request specifying information for specifying the request for the data to the second frame. The information processing method according to claim 1, wherein the second information processing device receives the third frame including the request specifying information.
6. The information processing method according to claim 1, wherein the second information processing device transmits the fourth frame including information indicating the number of data to be requested and information for specifying each of the data to be requested.
7. The information processing method according to claim 1, wherein the structure of the second frame is the same as the structure of the fourth frame.
8. The information processing method according to claim 1, wherein the second information processing device repeatedly transmits the fourth frame until all of the data is received.
9. The information processing method according to claim 1, wherein when the second information processing device receives the third frame, it sets a timeout time based on the remaining data and attempts to receive the third frame until the set timeout time elapses.
10. The information processing method according to claim 1, wherein when the second information processing device receives the third frame including information indicating an error transmitted when the first information processing device determines that there is an error in the second frame, it stops receiving the subsequent third frames.
11. The data is video or still image data. The information processing method according to claim 1, wherein the second information processing device displays a video or a still image based on the received data.
12. The information processing method according to claim 1, wherein the second frame, the third frame, and the fourth frame are action frames.
13. The information processing method according to claim 1, wherein the first frame is a beacon frame.
14. The information processing method according to claim 1, wherein the first frame is an action frame.
15. The information processing method according to claim 1, wherein the data specifying information is an application ID for specifying an application.
16. The information processing method according to claim 1, wherein after receiving the data, the second information processing device transmits a connection request for establishing a connection between the first information processing device and the second information processing device.
17. After the connection between the first information processing device and the second information processing device is established, an application related to the data is executed between the first information processing device and the second information processing device. The information processing method according to claim 16.
18. The application is a game application, The second information processing device, sends operation data corresponding to a game operation to the first information processing device with which the connection has been established, receives a game image corresponding to the result of the game processing executed by the first information processing device based on the operation data from the first information processing device, and displays the game image received from the first information processing device. The information processing method according to claim 17.
19. The first frame includes information about an input device supported by the application. The information processing method according to claim 17.
20. An information processing method executed in a first information processing device, transmitting, by wireless communication, a first frame including first device identification information for identifying the first information processing device and data identification information for identifying data to be transmitted from the first information processing device; when it is determined that a second frame including second device identification information for identifying the second information processing device and data request information for requesting transmission of the data, which is transmitted from the second information processing device that has received the first frame to the first information processing device as a destination, is received, transmitting, by wireless communication, a plurality of third frames including partial data obtained by dividing the data into a plurality of parts to the second information processing device identified by the second device identification information as a destination; when it is determined that a fourth frame including the second device identification information and data re-request information for requesting retransmission of at least a part of the data, which is transmitted from the second information processing device that has been unable to receive at least one of the plurality of partial data to the first information processing device as a destination, is received, retransmitting, by wireless communication, a fifth frame including the data re-requested by the fourth frame to the second information processing device identified by the second device identification information. An information processing method comprising:
21. In the first information processing device, transmission of the first frame, transmission of the plurality of third frames, and transmission of the fifth frame, as well as in the second information processing device, Transmission of the second frame, and transmission of the fourth frame are performed in a state where wireless communication between the first information processing apparatus and the second information processing apparatus is not established. The information processing method according to claim 20. **Claim 22** The second frame includes the maximum receivable size of a frame receivable by the second information processing apparatus, and the first information processing apparatus divides the data into a plurality of pieces based on the maximum receivable size. The information processing method according to claim 20. **Claim 23** The second frame includes request specifying information for specifying a request for the data, and the first information processing apparatus transmits the request specifying information included in the third frame. The information processing method according to claim 20. **Claim 24** The fourth frame includes information indicating the number of data to be requested and information for specifying each of the data to be requested, and the first information processing apparatus transmits the fifth frame based on the information indicating the number and the information for specifying each of the data to be requested. The information processing method according to claim 20. **Claim 25** The structure of the third frame and the structure of the fifth frame are the same. The information processing method according to claim 20. **Claim 26** The first information processing apparatus determines whether there is an error in the received second frame, and if it is determined that there is an error, transmits the third frame including information indicating the error. The information processing method according to claim 20. **Claim 27** The data is video or still image data. The information processing method according to claim 20. **Claim 28** The second frame, the third frame, the fourth frame, and the fifth frame are action frames. The information processing method according to claim 20. **Claim 29** The first frame is a beacon frame. The information processing method according to claim 20. **Claim 30** The first frame is an action frame. The information processing method according to claim 20. **Claim 31** The data specifying information is an application ID for specifying an application. The information processing method according to claim 20. **Claim 32** In response to receiving a connection request transmitted from the second information processing apparatus after the data has been received by the second information processing apparatus, the first information processing apparatus establishes a connection between the first information processing apparatus and the second information processing apparatus. The information processing method according to claim 20. **Claim 33** The information processing method according to claim 32, wherein after the connection between the first information processing device and the second information processing device is established, an application related to the data is executed between the first information processing device and the second information processing device.
34. The application is a game application, The first information processing device, receives operation data corresponding to a game operation from the second information processing device with which the connection has been established, performs game processing based on the operation data received from the second information processing device, generates a game image corresponding to the game processing, and transmits the game image to the second information processing device with which the connection has been established. The information processing method according to claim 33.
35. The first frame includes information regarding an input device supported by the application. The information processing method according to claim 33.
36. An information processing program executed in a computer of a second information processing device, wherein when it is determined that a first frame including first device identification information for identifying a first information processing device and data identification information for identifying data transmitted from the first information processing device is received, a second frame including second device identification information for identifying the second information processing device and data request information for requesting the data determined based on the data identification information is wirelessly transmitted to the first information processing device identified by the first device identification information as a destination; means for receiving a plurality of third frames including partial data obtained by dividing the data into a plurality of parts and transmitted from the first information processing device to the second information processing device as a destination after receiving the second frame; and means for functioning as means for wirelessly transmitting a fourth frame including the second device identification information and data re-request information for requesting retransmission of the data that could not be received, to the first information processing device identified by the first device identification information as a destination when it is determined that there is partial data that could not be received among the plurality of partial data. An information processing program.
37. A second information processing device, When it is determined that a first frame including first device identification information for identifying the first information processing device and data identification information for identifying data transmitted from the first information processing device has been received, a second frame including second device identification information for identifying the second information processing device and data request information for requesting the data determined based on the data identification information is wirelessly transmitted to the first information processing device identified by the first device identification information as a destination. Means for receiving a plurality of third frames including partial data obtained by dividing the data into a plurality of parts and transmitted from the first information processing device that has received the second frame to the second information processing device as a destination. When it is determined that there is partial data that could not be received among the plurality of partial data, a fourth frame including the second device identification information and data re-request information for requesting re-transmission of the data that could not be received is wirelessly transmitted to the first information processing device identified by the first device identification information as a destination. A second information processing device comprising:
38. An information processing program executed in a computer of a first information processing device, The computer is Means for wirelessly transmitting a first frame including first device identification information for identifying the first information processing device and data identification information for identifying data transmitted from the first information processing device, When it is determined that a second frame including second device identification information for identifying the second information processing device and data request information for requesting transmission of the data, which is transmitted from the second information processing device that has received the first frame to the first information processing device as a destination, has been received, means for wirelessly transmitting a plurality of third frames including partial data obtained by dividing the data into a plurality of parts to the second information processing device identified by the second device identification information as a destination. An information processing program that functions as means for wirelessly retransmitting a fifth frame including data re-requested by the fourth frame to the second information processing device specified by the second device identification information when it is determined that a fourth frame including the second device identification information and data re-request information for requesting retransmission of at least a part of the data, which is transmitted from the second information processing device that could not receive at least one of the plurality of partial data to the first information processing device as a destination, is received.
39. A first information processing device, means for wirelessly transmitting a first frame including first device identification information for identifying the first information processing device and data identification information for identifying data transmitted from the first information processing device; when it is determined that a second frame including second device identification information for identifying the second information processing device and data request information for requesting transmission of the data, which is transmitted from the second information processing device that has received the first frame to the first information processing device as a destination, is received, means for wirelessly transmitting a plurality of third frames including partial data obtained by dividing the data into a plurality of parts to the second information processing device specified by the second device identification information as a destination; when it is determined that a fourth frame including the second device identification information and data re-request information for requesting retransmission of at least a part of the data, which is transmitted from the second information processing device that could not receive at least one of the plurality of partial data to the first information processing device as a destination, is received, means for wirelessly retransmitting a fifth frame including the data re-requested by the fourth frame to the second information processing device specified by the second device identification information; an information processing device comprising:
40. A wireless communication system including a first information processing device and a second information processing device, both having a wireless communication function, wherein the first information processing device has information transmission means for wirelessly transmitting a first frame including first device identification information for identifying the first information processing device and data identification information for identifying data transmitted from the first information processing device; and request determination means for determining whether or not a second frame including second device identification information for identifying the second information processing device and data request information for requesting transmission of the data is received. When it is determined that the second frame has been received, data transmission means for wirelessly transmitting a plurality of third frames including partial data obtained by dividing the data to the second information processing apparatus specified by the second apparatus identification information, with the second information processing apparatus as the destination; Redelivery determination means for determining whether or not a fourth frame including the second apparatus identification information and data redelivery information requesting retransmission of at least a part of the data has been received; When it is determined that the fourth frame has been received, data retransmission means for wirelessly retransmitting a fifth frame including the data re-requested by the fourth frame to the second information processing apparatus specified by the second apparatus identification information, with the second information processing apparatus as the destination; The second information processing apparatus includes: Receiving determination means for determining whether or not the first frame has been received; When it is determined that the first frame has been received, data request transmission means for wirelessly transmitting the second frame including the data request information for requesting the data determined based on the second apparatus identification information and the data identification information included in the first frame to the first information processing apparatus specified by the first apparatus identification information, with the first information processing apparatus as the destination; Receiving means for receiving the plurality of third frames; Non-reception determination means for determining whether or not there is partial data that could not be received among the plurality of partial data; An information processing system, comprising: data re-request transmission means for wirelessly transmitting the fourth frame including the second apparatus identification information and the data re-request information for requesting retransmission of the data that could not be received to the first information processing apparatus specified by the first apparatus identification information, with the first information processing apparatus as the destination, when it is determined that there is partial data that could not be received among the plurality of partial data.
Citation Information
Patent Citations
Radio communication system, communication method, information processing device, and information processing program
JP2018148301A