Information processing method, apparatus, system, computer program product, and computer readable recording medium
Patent Information
- Application Number
- CN202510067276.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-19
- Filing Date
- 2025-01-16
- Publication Date
- 2025-07-22
AI Technical Summary
In the prior art, the data size that can be contained in a frame is limited, resulting in difficulties in sending relatively large data.
By using action frame segmentation data into multiple partial data in wireless communication, and requesting re-send after determining the unreceived partial data at the receiving end, the data segmentation reception and re-request are realized.
Even without establishing a wireless connection, relatively large data can be received and requested to send again, solving the problem of limited data transmission.
Smart Images

Figure CN120358227A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing method, an information processing program, an information processing device, and an information processing system. Background Art
[0002] As a prior art, there is a technique of transmitting information such as an ID included in an action frame before establishing a wireless connection (for example, refer to Japanese Unexamined Patent Application Publication No. 2018-148301).
[0003] 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.
[0004] Therefore, an object of the present invention is to provide an information processing method, an information processing program, an information processing device, and an information processing system capable of transmitting and receiving relatively large data. Summary of the Invention
[0005] In order to solve the above problems, the present invention adopts the following configuration.
[0006] (First Configuration)
[0007] The information processing method of the first configuration is an information processing method executed in a second information processing device, including the following steps: when it is determined that a first frame including first device determination information for determining a first information processing device and data determination information for determining data transmitted from the first information processing device is received, a second frame is transmitted wirelessly to the first information processing device determined according to the first device determination information, where the second frame includes second device determination information for determining the second information processing device and data request information for requesting the data determined based on the data determination information; receiving a plurality of third frames including partial data obtained by dividing the data into a plurality of parts, which are transmitted from the first information processing device that has received the second frame to the second information processing device; and when it is determined that there is partial data that has not been received among the plurality of partial data, a fourth frame is transmitted wirelessly to the first information processing device determined according to the first device determination information, where the fourth frame includes the second device determination information and data re-request information for requesting retransmission of the partial data that has not been received.
[0008] According to the above, even for relatively large data, the second information processing device can receive the data divided from the first information processing device, and when there is partial data that has not been received, it can request retransmission of the partial data.
[0009] (Second Configuration)
[0010] Regarding the second structure, in the first structure, it may also be that the transmission of the first frame and the transmission of the multiple 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 are executed in a state where no wireless communication is established between the first information processing device and the second information processing device.
[0011] 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.
[0012] (The third structure)
[0013] Regarding the third structure, in the first structure or the second structure, it may also be that the offset of the partial data and the size of the partial data are included in the third frame. It may also be that the second information processing device determines the partial data that has not been received based on the offset of the partial data and the size of the partial data, and sends the fourth frame for requesting the retransmission of the determined partial data.
[0014] According to the above, the second information processing device can determine the partial data that has not been received and request the first information processing device to retransmit it.
[0015] (The fourth structure)
[0016] Regarding the fourth structure, in any one of the first to third structures, it may also be that the second information processing device includes the maximum receivable size of the frames that the second information processing device can receive in the second frame for transmission. It may also be that the second information processing device receives the third frame including the partial data obtained by dividing the data into multiple parts by the first information processing device based on the maximum receivable size.
[0017] According to the above, the first information processing device can divide the data into multiple parts based on the maximum receivable size for transmission.
[0018] (The fifth structure)
[0019] Regarding the fifth structure, in any one of the first to fourth structures, it may also be that the second information processing device transmits request determination information for determining the request of the data in the second frame. It may also be that the second information processing device receives the third frame including the request determination information.
[0020] According to the above, the second information processing device can receive the third frame corresponding to the request determination information.
[0021] (The sixth structure)
[0022] Regarding the sixth structure, in any one of the first to fifth structures, it may also be that the second information processing device includes information indicating the quantity of the requested data and information for determining each of the requested data in the fourth frame and then transmits the fourth frame.
[0023] According to the above, the second information processing device can specify the quantity of the requested data. For example, it can request multiple data through one fourth frame.
[0024] (Seventh structure)
[0025] Regarding the seventh structure, in any one of the first to sixth structures, it may also be that the structure of the second frame is the same as the structure of the fourth frame.
[0026] According to the above, frames with the same structure can be used to request the initial transmission and retransmission of data.
[0027] (Eighth structure)
[0028] Regarding the eighth structure, in any one of the first to seventh structures, it may also be that the second information processing device repeatedly transmits the fourth frame until all of the data is received.
[0029] According to the above, even if the second information processing device fails to receive data multiple times, it can still receive the data.
[0030] (Ninth structure)
[0031] Regarding the ninth structure, in any one of the first to eighth structures, it may also be that when the second information processing device receives the third frame, it sets a timeout based on the remaining data and attempts to receive the third frame before the set timeout elapses.
[0032] According to the above, the timeout can be set according to the quantity of the remaining data.
[0033] (Tenth structure)
[0034] Regarding the tenth structure, in any one of the first to ninth structures, it may also be that when the second information processing device receives the third frame including the error indication information sent when the first information processing device determines that there is an error in the second frame, it stops receiving the subsequent third frames.
[0035] According to the above, reception can be stopped when an error occurs. For example, resource consumption can be suppressed.
[0036] (Eleventh structure)
[0037] Regarding the 11th structure, in any of the 1st to 10th structures, it can also be that the data is moving image or still image data, and the second information processing device displays a moving image or a still image based on the received data.
[0038] According to the above, the second information processing device can receive image data from the first information processing device and display the image data.
[0039] (12th structure)
[0040] Regarding the 12th structure, in any of the 1st to 11th structures, it can also be that the second frame, the third frame, and the fourth frame are action frames.
[0041] According to the above, action frames can be used to request and send data.
[0042] (13th structure)
[0043] Regarding the 13th structure, in any of the 1st to 12th structures, it can also be that the first frame is a beacon frame.
[0044] According to the above, the first information processing device can use the beacon frame to send data determination information.
[0045] (14th structure)
[0046] Regarding the 14th structure, in any of the 1st to 12th structures, it can also be that the first frame is an action frame.
[0047] According to the above, the first information processing device can use the action frame to send data determination information.
[0048] (15th structure)
[0049] Regarding the 15th structure, in any of the 1st to 14th structures, it can also be that the data determination information is an application ID for determining an application program.
[0050] According to the above, the second information processing device can receive the application ID from the first information processing device and receive data based on the ID.
[0051] (16th structure)
[0052] Regarding the 16th structure, in any of the 1st to 15th structures, it can also be that the second information processing device sends a connection request for establishing a connection between the first information processing device and the second information processing device after receiving the data.
[0053] According to the above, the second information processing device can establish a connection with the first information processing device after receiving data.
[0054] (Structure 17)
[0055] Regarding Structure 17, in Structure 16, it can also be that after the connection between the first information processing device and the second information processing device is established, an application program associated with the data is executed between the first information processing device and the second information processing device.
[0056] According to the above, the second information processing device can receive data associated with the application program before executing the application program.
[0057] (Structure 18)
[0058] Regarding Structure 18, in Structure 17, it can also be that the application program is a game application program. It can also be that the second information processing device sends operation data corresponding to the game operation to the first information processing device that has established a connection with the second information processing device, and the second information processing device 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.
[0059] According to the above, the second information processing device can send 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.
[0060] (Structure 19)
[0061] Regarding Structure 19, in Structure 17 or Structure 18, it can also be that information related to the input device supported by the application program is included in the first frame.
[0062] According to the above, information related to the input device can be included in the first frame and sent.
[0063] (Structure 20)
[0064] The information processing method of the 20th structure is an information processing method executed in a first information processing device, including the following steps: sending a first frame through wireless communication, where the first frame includes first device determination information for determining the first information processing device and data determination information for determining data sent from the first information processing device; in the case of determining that a second frame is received from a second information processing device that has received the first frame and is sent to the first information processing device, the second frame includes second device determination information for determining the second information processing device and a data request information for requesting the transmission of the data, sending a plurality of third frames including partial data obtained by dividing the data into a plurality of parts through wireless communication to the second information processing device determined according to the second device determination information as the destination; and in the case of determining that a fourth frame is received from the second information processing device that has failed to receive at least one of the plurality of partial data and is sent to the first information processing device, the fourth frame includes the second device determination information and a data re-request information for requesting the retransmission of at least one of the plurality of partial data, sending a fifth frame including the data re-requested through the fourth frame through wireless communication to the second information processing device determined according to the second device determination information as the destination.
[0065] (21st structure)
[0066] Regarding the 21st structure, in the 20th structure, it may also be that 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 are executed in a state where wireless communication is not established between the first information processing device and the second information processing device.
[0067] (22nd structure)
[0068] Regarding the 22nd structure, in the 20th structure or the 21st structure, it may also be that the maximum receivable size of a frame that the second information processing device can receive is included in the second frame. It may also be that the first information processing device divides the data into a plurality of parts based on the maximum receivable size.
[0069] (23rd structure)
[0070] Regarding the 23rd structure, in any one of the 20th structure to the 22nd structure, it may also be that request determination information for determining a request for the data is included in the second frame. It may also be that the first information processing device includes the request determination information in the third frame and sends it.
[0071] (24th structure)
[0072] Regarding the 24th structure, in any one of the 20th to 23rd structures, it can also be that the fourth frame contains information indicating the quantity of the requested data and information for determining each of the requested data. It can also be that the first information processing device sends the fifth frame based on the information indicating the quantity of the requested data and the information for determining each of the requested data.
[0073] (25th structure)
[0074] Regarding the 25th structure, in any one of the 20th to 24th structures, it can also be that the structure of the third frame is the same as the structure of the fifth frame.
[0075] (26th structure)
[0076] Regarding the 26th structure, in any one of the 20th to 25th structures, it can also be that the first information processing device determines whether there is an error in the received second frame, and in the case of determining that there is an error, sends the third frame containing information indicating the error.
[0077] (27th structure)
[0078] Regarding the 27th structure, in any one of the 20th to 26th structures, it can also be that the data is moving image or still image data.
[0079] (28th structure)
[0080] Regarding the 28th structure, in any one of the 20th to 27th structures, it can also be that the second frame, the third frame, the fourth frame, and the fifth frame are action frames.
[0081] (29th structure)
[0082] Regarding the 29th structure, in any one of the 20th to 28th structures, it can also be that the first frame is a beacon frame.
[0083] (30th structure)
[0084] Regarding the 30th structure, in any one of the 20th to 29th structures, it can also be that the first frame is an action frame.
[0085] (31st structure)
[0086] Regarding the 31st structure, in any one of the 20th to 30th structures, it can also be that the data determination information is an application ID for determining an application program.
[0087] (32nd Structure)
[0088] Regarding the 32nd structure, in any one of the 20th to 31st structures, it may also be that the first information processing device establishes a connection between the first information processing device and the second information processing device according to a connection request received from the second information processing device after the second information processing device receives the data and then sends it.
[0089] (33rd Structure)
[0090] Regarding the 33rd structure, in the 32nd structure, it may also be that after the connection between the first information processing device and the second information processing device is established, an application program associated with the data is executed between the first information processing device and the second information processing device.
[0091] (34th Structure)
[0092] Regarding the 34th structure, in the 33rd structure, it may also be that the application program is a game application program. It may also be that the first information processing device receives operation data corresponding to a game operation from the second information processing device that has established a connection with the first information processing device, the first information processing device performs game processing based on the operation data received from the second information processing device, the first information processing device generates a game image corresponding to the game processing, and the first information processing device sends the game image to the second information processing device that has established a connection with the first information processing device.
[0093] (35th Structure)
[0094] Regarding the 35th structure, in the 33rd or 34th structure, it may also be that information related to the input device supported by the application program is included in the first frame.
[0095] Another structure is a wireless communication system including a first information processing device and a second information processing device both having wireless communication functions. The first information processing device includes: an information sending unit that sends a first frame through wireless communication, where the first frame includes first device determination information for determining the first information processing device and data determination information for determining data sent from the first information processing device; a request determination unit that determines whether a second frame including second device determination information for determining the second information processing device and data request information for requesting the sending of the data is received; a data sending unit that, when it is determined that the second frame is received, sends, through 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 determined according to the second device determination information; a re-request determination unit that determines whether a fourth frame including the second device determination information and data re-request information for requesting the re-sending of at least one of the plurality of partial data is received; and a data re-sending unit that, when it is determined that the fourth frame is received, re-sends, through wireless communication, a fifth frame including the data re-requested by the fourth frame to the second information processing device determined according to the second device determination information. The second information processing device includes: a reception determination unit that determines whether the first frame is received; a data request sending unit that, when it is determined that the first frame is received, sends, through wireless communication, the second frame including the second device determination information and data request information for requesting the data determined based on the data determination information included in the first frame to the first information processing device determined according to the first device determination information; a reception unit that receives the plurality of third frames; a non-reception determination unit that determines whether there is partial data that fails to be received among the plurality of partial data; and a data re-request sending unit that, when it is determined that there is partial data that fails to be received among the plurality of partial data, sends, through wireless communication, the fourth frame including the second device determination information and data re-request information for requesting the re-sending of the partial data that fails to be received to the first information processing device determined according to the first device determination information.
[0096] According to the present invention, relatively large data can be sent from the first information processing device to the second information processing device.
[0097] With reference to the accompanying drawings and according to the following detailed description, the above and other objects, features, aspects, and effects of the present invention will become clearer. Description of the Drawings
[0098] Figure 1 This is a diagram showing an example of the game system 1 in the present embodiment.
[0099] Figure 2 This is a diagram showing an example of the information processing device 10.
[0100] Figure 3 This is a block diagram showing an example of the internal structure of the main device 2.
[0101] Figure 4 This is a diagram for explaining the processing flow in the main device and the slave device until the game G1 starts between the main device and the slave device.
[0102] Figure 5 This is a diagram showing an example of the structure of the action request frame.
[0103] Figure 6 This is a diagram showing an example of the structure of the action response frame.
[0104] Figure 7 This is a sequence diagram showing the case of sending icon image data from the main device to the slave device using the action frame.
[0105] Figure 8 This is a diagram showing an example of the icon image data sent from the main device to the slave device using the action frame.
[0106] Figure 9 This is a diagram showing an example of the screen transition and communication of the main device and the slave device until the game G1 is executed between the main device and the slave device.
[0107] Figure 10 This is a diagram showing an example of the screen transition and communication of the main device and the slave device until the game G1 is executed between the main device and the slave device.
[0108] Figure 11 This is a diagram showing an example of the data stored in the information processing device 10a as the main device.
[0109] Figure 12 This is a diagram showing an example of the data stored in the information processing device 10b as the slave device.
[0110] Figure 13 This is a flowchart showing an example of the menu processing executed in the information processing device 10.
[0111] Figure 14 This is a flowchart showing an example of the main device processing.
[0112] Figure 15 This is a flowchart showing an example of the action response sending process in step S204 of the main device processing.
[0113] Figure 16 It is a flowchart showing an example of the processing from the device.
[0114] Figure 17 It is a flowchart showing an example of the data acquisition processing in step S305 during the processing from the device.
[0115] Figure 18 It is a flowchart showing an example of the processing in the main device game in step S209.
[0116] Figure 19 It is a flowchart showing an example of the processing in the slave device game in step S312. Detailed implementation
[0117] Next, an example of the information processing system of the present embodiment will be described. Figure 1 It is a diagram showing an example of the game system 1 in the present embodiment. As Figure 1 shown, the game system 1 includes a plurality of information processing devices 10a to 10c. Next, the information processing devices 10a to 10c may sometimes be collectively referred to as the information processing device 10. In Figure 1 it, a case where the game system 1 includes three information processing devices 10 and 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 also be two, or may be three or more.
[0118] The information processing device 10 is, for example, a portable game device. In addition, the information processing device 10 may also be a fixed game device, a personal computer, a tablet terminal, a smart phone, etc. The plurality of information processing devices 10 may all be the same type of device, or may be devices of different models.
[0119] The information processing device 10 has a wireless communication function and can perform communication according to, for example, the IEEE802.11 (a, b, g, n, ac, ax, etc.) wireless LAN standard. For example, the information processing device 10 can perform wireless communication (hereinafter referred to as local communication) with other information processing devices located around the present device, and can play a game among the plurality of information processing devices 10 by performing local communication with other information processing devices. Here, the mode of playing a game among the plurality of information processing devices 10 using such local communication is called the "local communication multi-player game mode". In addition, the information processing device 10 can be connected to the Internet and other networks via a wireless LAN access point (not shown). For example, the information processing device 10 can be connected to the Internet and execute a game in the online mode. The online mode is a mode of playing a game among a plurality of information processing devices connected to the Internet.
[0120] Each information processing device 10 is used by a different user. For example, information processing device 10a is used by user A, information processing device 10b is used by user B, and information processing device 10c is used by user C.
[0121] The information processing device 10 is capable of executing application programs that the device has (for example, game programs stored in a flash memory 26 or an external storage medium described later). For example, when information processing device 10a has a game program for game G1, it can execute game G1. Game G1 can be any game such as a racing game, a fighting game, a shooting game, etc. In addition, when information processing devices 10a to 10c each have a game program for game G2 that supports the local communication multiplayer game mode, by establishing a connection between information processing devices 10a to 10c, users A to C can play game G2 in the local communication multiplayer game mode.
[0122] On the other hand, for example, when information processing devices 10b and 10c do not have the game program for game G1, information processing devices 10b and 10c cannot execute game G1. In this case, even if game G1 supports the local communication multiplayer game mode, users A to C cannot play game G1.
[0123] In the game system 1 of the present embodiment, information processing devices 10b and 10c that do not have the game program for game G1 establish a connection with information processing device 10a to join game G1 being executed in information processing device 10a, whereby users A to C can play game G1. Here, the information processing device 10a that provides game G1 is referred to as the "master device", and the information processing devices 10b and 10c that receive the provision of game G1 are referred to as "slave devices".
[0124] Specifically, the master device having the program for game G1 wirelessly sends relatively small information related to game G1 to surrounding information processing devices 10 when no connection is established, and the slave devices receive this information. The slave devices also receive relatively large data related to game G1 from the master device. After that, a connection is established between the master device and the slave devices and game G1 is executed. The process until a connection is established between the master device and the slave devices and game G1 is executed will be described later.
[0125] (Structure of the information processing device)
[0126] Next, an information processing device 10 according to an example of the present embodiment will be described. Figure 2FIG. 0 is a diagram showing an example of the information processing apparatus 10. An example of the information processing apparatus 10 in the present embodiment includes a main apparatus 2, a left controller 3, and a right controller 4. The main apparatus 2 is an apparatus that executes various processes (e.g., game processes) in the information processing apparatus 10. The left controller 3 and the right controller 4 each include a plurality of buttons and analog joysticks as an example of an operation unit for user input.
[0127] The main apparatus 2 is configured to be able to detach and attach the left controller 3 and the right controller 4 respectively. That is, the information processing apparatus 10 can be used as an apparatus integrated by attaching the left controller 3 and the right controller 4 to the main apparatus 2 respectively, and can also be used with the main apparatus 2 separated from the left controller 3 and the right controller 4. In addition, hereinafter, the left controller 3 and the right controller 4 may sometimes be collectively referred to as the "controller".
[0128] In addition, the type and usage method of the controller to be used vary depending on the game being executed. For example, in a certain game, the left controller 3 and the right controller 4 are used by detaching them from the main apparatus 2 and having one or two players hold the left controller 3 and the right controller 4 in the horizontally long direction. In addition, in other games, the left controller 3 and the right controller 4 are used by detaching them from the main apparatus 2 or not detaching them and having one player hold the left controller 3 and the right controller 4 in the vertically long direction. In addition, the main apparatus 2 can be connected to a third controller different from the left controller 3 and the right controller 4 in a wireless or wired manner, and this third controller can be used in other games.
[0129] Figure 3 FIG. 10 is a block diagram showing an example of the internal structure of the main apparatus 2. As Figure 3 shown, the main apparatus 2 includes a processor 21. The processor 21 is an information processing unit that executes various information processes (e.g., game processes) executed in the main apparatus 2, and includes, for example, one or more CPUs (Central Processing Unit) and one or more GPUs (Graphics Processing Unit). In addition, the processor 21 may be composed only of a CPU, or may be composed of an SoC (System-on-a-chip) including multiple functions such as CPU functions and GPU functions. The processor 21 executes various information processes by executing an information processing program (e.g., game program) stored in a storage unit (specifically, an internal storage medium such as a flash memory 26, or an external storage medium installed in a slot 29).
[0130] In addition, the main device 2 is provided with a display 12. The display 12 displays an image generated by the main device 2. In the present embodiment, the display 12 is a liquid crystal display device (LCD). However, the display 12 can be any type of display device. The display 12 is connected to the processor 21. The processor 21 displays the generated image and / or the image acquired from the outside (for example, by performing the above-described information processing) on the display 12.
[0131] In addition, the main device 2 is provided with a left terminal 23 and a right terminal 22. The left terminal 23 is a terminal for the main device 2 to perform wired communication with the left controller 3, and the right terminal 22 is a terminal for the main device 2 to perform wired communication with the right controller 4.
[0132] In addition, as an example of an internal storage medium built in the main device 2 itself, the main device 2 is provided with 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 used to store various data (which can also be programs) saved in the main device 2. The DRAM 27 is used to temporarily store various data used in information processing.
[0133] The main device 2 is provided with a slot 29. The slot 29 has a shape capable of mounting an external storage medium. The external storage medium is used, for example, to store data used in the main device 2 (such as save data of a game application, etc.) and / or programs executed in the main device 2 (such as a game program, etc.).
[0134] The main device 2 is provided with a slot interface (hereinafter simply referred to as "I / F"). 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 the external storage medium (such as a dedicated memory card) mounted on the slot 29 according to the instruction of the processor 21.
[0135] The processor 21 appropriately reads or writes data between the flash memory 26, the DRAM 27, and the above-mentioned respective storage media to execute the above-described information processing.
[0136] In addition, the main device 2 is provided with a network communication unit 24. The network communication unit 24 is connected to the processor 21. The network communication unit 24 includes an antenna (not shown), a processor for controlling wireless communication, and a memory. The network communication unit 24 communicates with an external device, for example, by connecting to a wireless LAN in accordance with the IEEE802.11 standard.
[0137] The main device 2 is provided with 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 device 2 and the left controller 3 and the right controller 4 is arbitrary. However, in the present embodiment, the controller communication unit 25 communicates with the left controller 3 and between the controller communication unit 25 and the right controller 4 according to the Bluetooth (registered trademark) standard.
[0138] The processor 21 is connected to the above-mentioned left terminal 23 and right terminal 22. When the processor 21 performs wired communication with the left controller 3, it sends 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. In addition, when the processor 21 performs wired communication with the right controller 4, it sends 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. In this way, in the present embodiment, the main device 2 can perform two types of communication, wired communication and wireless communication, with the left controller 3 and the right controller 4 respectively.
[0139] In addition, in addition to having Figure 2 the elements shown, the main device 2 also has a battery for supplying power and an output terminal for outputting images and sounds to a display device (such as a TV) different from the display 12.
[0140] The MAC frame according to the IEEE802.11 standard includes a frame header and a frame body part. The frame header 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 are management frames, control frames, and data frames. And, in the management frames, as subtypes, there are Beacon, Association Request, Association Response, Probe Request, Probe Response, Action, etc. Each frame has its own function. For example, a beacon is a frame for notifying various information required for communication to surrounding wireless devices. In addition, an association request is a frame for establishing a connection. An association response is a frame for responding to an association request and includes information indicating whether connection is allowed.
[0141] (Summary of processing in the master device and slave device)
[0142] In this embodiment, before starting game G1 between the master device and the slave device, a connection is not established, and action frames are used to send and receive relatively large data related to game G1 between the master device and the slave device. Hereinafter, the processing flow of the master device and the slave device until game G1 is started between the master device and the slave device will be described.
[0143] Figure 4 It is a diagram for explaining the processing flow in the master device and the slave device until game G1 is started between the master device and the slave device. In Figure 4 it, the processing in the master device and the slave device is shown in time series from top to bottom. In addition, in Figure 4 it, the processing flow between the information processing device 10a as the master device and the information processing device 10b as the slave device is shown, but the same processing is also performed between the master device and the information processing device 10c as the slave device.
[0144] As Figure 4 shown, the information processing device 10a as the master device first wirelessly transmits a beacon (step S1). The beacon contains relatively small information. Specifically, the master device broadcasts and transmits a beacon containing device determination information for determining the master device and the game ID of game G1. The device determination information can also be, for example, the MAC address assigned to the network communication unit 24 of the information processing device 10. In addition, the device determination information can also be information uniquely assigned to the information processing device 10 (such as a serial number). In addition, the device determination information can also be an IP address, can also be the name of the device set by the user of the information processing device 10, and can also be a user name. The game ID is information uniquely assigned to game G1. The game ID is an example of data determination information for determining the data to be sent from the master device to the slave device. In addition, in the beacon, in addition to containing the game ID, the title of game G1 can also be included. In addition, information related to the controller supported by game G1 (information indicating the number, type, longitudinal length direction, or lateral length direction of the supported controller, etc.) can also be included in the beacon. The beacon is periodically transmitted from the master device (for example, every several tens of milliseconds to several hundreds of milliseconds).
[0145] As a slave device, the information processing device 10b scans multiple wireless channels to search for the master device existing around. The slave device receives the beacon sent from the information processing device 10a acting as the master device. At this point in time, the master device and the slave device are not connected. The slave device sends an action frame to the master device, and the action frame includes device determination information for determining the slave device and data request information for requesting data determined based on the game ID received from the master device (step S2-1). The action frame of the present 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 the present embodiment is a frame in which "action" is set as the subtype and "Vendor Specific" is specified in the Category Code field, and the oui field contains vendor-specific information. Here, the action frame indicating a request is referred to as an "action request frame". In addition, the action frame indicating a response to the request is referred to as an "action response frame".
[0146] Specifically, the slave device sends an action request frame designating the MAC address of the master device as the destination. The device determination information of the slave device and data request information for requesting data D_A determined based on the game ID are included in the action request frame. The data D_A is relatively large data stored in the master device, for example, the icon image data of the game G1 executed in the master device. The icon image can also be, for example, the image of the package of the game G1. The icon image data can be either still image data or moving image data. In addition, the data D_A can be either the image data of the character appearing in the game G1 or the sound data associated with the game G1. In addition, the data D_A can also be the text data indicating the title of the game G1. For example, in order to support the language setting of the slave device, text data in multiple languages may be sent from the master device to the slave device. The text data indicating the title in multiple languages is relatively large data and sometimes cannot be sent from the master device to the slave device using the beacon. In this case, the slave device can also use the action request frame to request the text data indicating the title in multiple languages from the master device. In addition, the data D_A can also be the text data indicating the detailed description related to the game G1. In addition, in the beacon sent from the master device, for example, the user ID of user A may be included. In this case, data request information for requesting data based on the user ID of user A may also be included in the action request frame. For example, the data based on the user ID can also be the image data (still image or moving image data) of the character of user A. In addition, the data requested in the action request frame is sometimes referred to as "requested data".
[0147] When the master device receives an action request frame from the slave device, it sends one or more action response frames designating the slave device as the destination (Steps S3-1 to S3-3). Since the data D_A is relatively large data, the master device cannot send all of the data D_A in one action response frame. Therefore, the master device divides the data D_A into multiple partial data (e.g., data D_1 to data D_3), and sends the multiple partial data separately in multiple action response frames to the slave device.
[0148] The slave device receives multiple action response frames sent from the master device. In addition, the slave device attempts to receive action response frames from the master device using the same wireless channel until it receives the necessary data from the master device. Here, it is assumed that the reception of data D_1 and D_3 by the slave device is successful, but the reception of data D_2 fails. In this case, the slave device sends an action request frame to the master device that includes the device identification information of the slave device and data re-request information for requesting the retransmission of data D_2 (Step S2-2).
[0149] Based on the received action request frame for requesting the data D_2, the master device sends an action response frame including the data D_2 to the slave device (Step S3-4).
[0150] When the slave device receives the action response frame including the data D_2, the slave device receives the 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.
[0151] In this way, the slave device uses action frames to request the relatively large data D_A from the master device as the requested data. The master device includes the partial data D_1 to D_3 obtained by dividing the data D_A in multiple action frames and sends them to the slave device. As a result, the slave device can receive the relatively large data D_A related to the game G1 (e.g., icon image data, text data, etc. of the game G1) that cannot be received by one action frame from the master device. And when there is other required data, the slave device sends an action request frame for requesting the transmission of the other data to the master device, and the master device divides the other data into multiple parts and sends them separately in multiple action response frames.
[0152] Next, the slave device presents the data D_A received from the master device to the user. For example, based on the received data D_A, the slave device displays the icon image of the game G1 on the display 12. In addition, the slave device displays information related to the master device (e.g., user name). The user of the slave device determines whether to join the game G1 based on the displayed icon image and the information related to the master device. When a join instruction for joining the game is given in the slave device, a wireless LAN connection is established between the slave device and the master device (Step S4).
[0153] 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 authentication frames between the master device and the slave device. For example, the authentication method can be either open authentication or shared key authentication. After authentication, association is performed. In the association, parameters and an association ID used in future communication are shared between the master and slave devices. Specifically, for example, the slave device sends an association request frame to the master device. The master device that receives the association request frame sends an association response frame indicating whether connection is allowed to the slave device. When the master device sends an association response frame indicating that connection is allowed to the slave device and the slave device receives the association response frame, a wireless LAN connection is established between the master device and the slave device.
[0154] In this embodiment, by establishing the connection between the master device and the slave device, a network in infrastructure mode is formed where the master device is the base station and the slave device is the terminal station. In addition, in other embodiments, a network in infrastructure mode where the slave device is the base station and the master device is the terminal station can also be formed. In this case, an association request frame is sent from the master device to the slave device. Additionally, a peer-to-peer mode network where both the master device and the slave device are terminal stations and communication is performed between the terminal stations can also be formed. Additionally, when establishing communication, other communication based on the prior art can also be appropriately performed. Additionally, when the master device is not the base station, the master device can also send action frames instead of beacons through broadcasting to send game IDs and the like.
[0155] After establishing a wireless LAN connection between the master device and the slave device, a TCP (Transmission Control Protocol) connection is established between the master device having the game program of game G1 and the slave device not having the game program of game G1 through a three-way handshake. Then, game G1 starts between the master device and the slave device, enabling multiple users to play game G1. During the execution of the game, game data related to the game is sent and received between the master device and the slave device. For example, the slave device sends operation data to the master device through UDP. The master device sends image data to the slave device through TCP. In this way, game data is sent and received between the master device and the slave device to execute game G1. Additionally, the operation data of the slave device can also be sent to the master device through TCP. Additionally, image data can also be sent from the master device to the slave device through UDP.
[0156] (Structure of the action frame)
[0157] Next, the structure of the above-mentioned action frame will be described. Figure 5 It is a diagram showing an example of the structure of the action request frame.Figure 6 This is a diagram showing an example of the structure of an action response frame. In Figure 5 and Figure 6 an example of the data included in the frame body part of the action frame is shown.
[0158] As Figure 5 shown, the action request frame contains information 30 indicating that it is an action request frame (e.g., "3"). Additionally, the action request frame contains a request number 31, a data type 32, an ID 33, a maximum receivable size 34, the number of entries 35, and one or more entries 36. Furthermore, in the action request frame, version information indicating the version of the protocol is also included in addition to the above.
[0159] The request number 31 is a number used to identify the request. When the device sends an action request frame, this request number is specified to avoid duplication with other requests. The data type 32 is information indicating the type of data requested. Among the data types 32, there are icon image data (moving image or still image data), text data, etc. The ID 33 is an identifier of the data specified according to the data type 32. The ID 33 is data based on the game ID received from the master device via a beacon, and can be either the received game ID itself or a value uniquely calculated based on the received game ID. For example, the ID 33 can also be a value obtained by attaching the data type to the received game ID, or a hash value of the received game ID. The data specified according to the data type and ID is the request data requested by the slave device from the master device.
[0160] The maximum receivable size 34 is the maximum data size that the device sending the action request frame can receive in one frame. The number of entries 35 is the number of entries included in this frame. Each entry 36 contains information for determining part of the data of the request data. Specifically, the entry contains an offset 36a and a size 36b. The offset 36a is the offset value of the requested data. In the initial action request frame, "0" is specified as the offset value. Additionally, the size 36b is the size of the requested data starting from the offset value. For example, in the initial action request frame, the maximum value (a value with all bits being "1") is specified as the size. When the maximum value is specified for the size, it means that the slave device has requested all of the request data.
[0161] Additionally, as Figure 6 shown, the action response frame contains information 40 indicating that it is an action response frame (e.g., "4"). Additionally, the action response frame contains a request number 41, a data type 42, a total size 43, an offset 44, a size 45, and body data 46. As the request number 41 and data type 42 of the action response frame, the same values as the request number 31 and data type 32 of the corresponding action request frame are set.
[0162] The total size 43 is the total size of the data (request data) specified according to 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 the request data and contained in this frame. The size 45 is the size of the body data contained in this frame. The body data 46 is the data body contained in this frame and is partial data obtained by dividing the request data into multiple parts.
[0163] (An example of the sequence of sending and receiving icon image data)
[0164] Next, with reference to Figure 7 the processing flow when sending icon image data from the master device to the slave device using an action frame in a state where no connection is established between the master device and the slave device will be described. Figure 7 This is an example of a sequence diagram for the case of sending icon image data from the master device to the slave device using an action frame. Figure 8 This is a diagram showing an example of the icon image data sent from the master device to the slave device using an action frame.
[0165] As Figure 7 shown, the information processing device 10b as the slave device sends an action request frame RQ1 designating the master device as the destination based on the beacon received from the information processing device 10a as the master device. In this action request frame RQ1, "3" is set as the information 30 indicating that it is an action request frame. In addition, in the action request frame RQ1, "1" is designated as the request number 31. In addition, the value "1" representing the icon image is designated as the data type 32, and "ABCD" is designated as the ID 33 for determining the icon image. Here, it is assumed that the request data specified according to the data type 32 and ID 33 is Figure 8 the icon image data IMG_A shown. The icon image data IMG_A is data with a total size of "20000". In addition, in the action request frame RQ1, "1400" is designated as the maximum receivable size 34 of the frame that the slave device can receive. In addition, 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 the value representing the maximum value "0xFFFF" is designated as the size 36b.
[0166] The master device receives the action request frame RQ1 sent from the slave device. Based on the received action request frame RQ1, the master device sends an action response frame designating the information processing device 10b, which is a 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 corresponding to this action request frame RQ1 and designated with "1" as the request number 41 is referred to as "action response frame RS1". In addition, the nth action response frame RS1 sent from the master device to the slave device is referred to as "action response frame RS1-n".
[0167] In the action response frame RS1, the value "1" indicating the icon image is designated as the data type 42. In addition, "20000" is designated as the total size 43 of the icon image data IMG_A (request data).
[0168] Since the total size of the icon image data IMG_A is larger than the maximum reception size, the master device divides the icon image data IMG_A into multiple partial data (IMG_1 to IMG_15) as shown Figure 8 and sends the multiple partial data separately in multiple action response frames.
[0169] For example, the first action response frame RS1-1 contains the partial data IMG_1 with an offset 44 of "0" and a size 45 of "1360" bytes. The second action response frame RS1-2 contains the partial data IMG_2 with an offset 44 of "1360" and a size 45 of "1360" bytes. In addition, the third action response frame RS1-3 contains the partial data IMG_3 with an offset 44 of "2720" and a size 45 of "1360" bytes. Through these three action response frames, 4080 bytes of data from the beginning of the icon image data IMG_A (20000 bytes) are sent from the master device.
[0170] In addition, the master device further sends the action response frames RS1 (RS1-4 to RS1-14) after the fourth one to the slave device, and sends the last action response frame RS1-15 to the slave device. The last action response frame RS1-15 contains partial data IMG_15 with an offset of 44 being "19040" and a size of 45 being "960" bytes. The slave device may sometimes fail to receive these sent partial data. For example, when the slave device fails to receive the action response frame, or although it receives the action response frame but the received action response frame has problems, the slave device fails to receive the partial data. Assume that the slave device fails to receive, for example, 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.
[0171] 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. When the slave device determines that it has not received all of the icon image data IMG_A, it determines which partial data has not been received according to the offset value of each partial data. Then, the slave device sends an action request frame RQ2 to the master device to request the retransmission of the data that has not been received.
[0172] Here, since the slave device has not received the partial data IMG_2, IMG_3, and IMG_15, it sends an action request frame RQ2 to the master device to request the 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 count 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. In addition, in the second entry 36, "19040" is specified as the offset 36a, and "960" is specified as the size 36b.
[0173] The master device that receives this action request frame RQ2 sends an action response frame with "2" specified as the request number 31 to the slave device. The action response frame corresponding to this action request frame RQ2 with "2" specified as the request number 31 is referred to as "action response frame RS2". In addition, the nth action response frame RS2 sent by the master device to the slave device is referred to as "action response frame RS2-n".
[0174] In the first action response frame RS2-1, it contains partial data IMG_2 with an offset 44 of "1360" and a size 45 of "1360" bytes. Additionally, in the second action response frame RS2-2, it contains partial data IMG_3 with an offset 44 of "2720" and a size 45 of "1360" bytes. Additionally, in the third action response frame RS2-3, it contains partial data IMG_15 with an offset 44 of "19040" and a size 45 of "960" bytes. The slave device attempts to receive these three action response frames RS2.
[0175] When the slave device does not receive any of these three action response frames RS2, it sends an action request frame to the master device again to request the retransmission of the data that was not received. The slave device repeatedly sends action request frames to the master device until it receives all of the icon image data IMG_A. Additionally, if it fails to receive all of the icon image data IMG_A after sending the action request frames a specified number of times, the slave device regards it as a communication error and stops receiving the icon image data IMG_A.
[0176] If the reception of the three action response frames RS2 is successful, the slave device reconstructs all of the received partial data (IMG_1 to IMG_15) to obtain the icon image data IMG_A.
[0177] In addition, when the master device and the slave device detect a communication error during the transmission and reception of data, they stop the transmission and reception of data.
[0178] For example, the slave device attempts to receive the first action response frame corresponding to the action frame during the first timeout period T1 (e.g., 200 milliseconds) from the transmission of the action request frame. If the slave device does not receive the first action response frame within this first timeout period T1, the slave device sends an action request frame with an updated request number to request the same data. If it fails to receive the requested data after sending the action request frame "C1" times, the slave device regards it as a communication error and ends the data request.
[0179] When the slave device receives an action response frame within the first timeout period T1, it sets the second timeout period T2. If the second timeout period T2 has elapsed, the slave device ends the reception of the data, and if there is the next data to be requested, it sends the next action request frame.
[0180] The second timeout period 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 send one frame the maximum number of retry times, and can be, for example, 50 milliseconds to 60 milliseconds. This "T3" can also be included in the beacon sent from the master device to the slave device. Additionally, "C2" is a pre-specified integer. The "remaining number of frames" is the number of frames required to send 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 the calculated time with the fixed time "T3 × C2" and sets the shorter of the two times as the second timeout period T2. For example, when the slave device receives Figure 7 the first action response frame RS1-1 shown, it obtains the total size and calculates the remaining data size by subtracting the size of the partial data IMG_1 received through this frame from the total size. The slave device can also set the second timeout period T2 based on this remaining data size.
[0181] Whenever the slave device receives an action response frame RS1, it sets the second timeout period T2. Additionally, it can be that the slave device sets the second timeout period T2 when it receives the first action response frame RS1-1 for the action request frame, and does not update the second timeout period T2 when it receives subsequent action request frames RS1.
[0182] When the slave device has passed the set second timeout period T2 after receiving the action response frame RS1, it sends the next action request frame RS2. When the slave device fails to receive all of the requested data after sending the action request frame a specified number of times, it regards it as a communication error and stops receiving the requested data.
[0183] In addition, when the master device receives an action request frame from the slave device that contains a request for a data type it does not support, it sends an action response frame to the slave device with a value indicating an error set in the data type. In addition, when the master device detects a defect in the action request frame received from the slave device, it sends an action response frame to the slave device with a value indicating an error set in the data type. In addition, for example, when the version of the action request frame sent by the slave device is different from the version supported by the master device, the master device sends an action response frame to the slave device with a value indicating an error set in the data type. When a value indicating an error is set in the data type, the slave device regards it as a communication error and stops receiving data thereafter.
[0184] As described above, the slave device requests the master device to send relatively large data by sending an action request frame to the master device. When the master device cannot send the requested data in one action frame, it divides the requested data into multiple partial data and includes the multiple partial data in multiple action response frames for sending. When the slave device does not receive a part of the multiple partial data from the master device, it sends an action request frame to the master device to request retransmission of the unreceived partial data. Thus, the slave device can reliably receive relatively large data even when not connected to the master device.
[0185] In addition, in the above embodiment, it is illustrated that the icon image data IMG_A is divided into partial data IMG_1 to IMG_15, and these partial data are sent in order from the beginning to the end (in the order of IMG_1 to IMG_15). However, the order in which these partial data are sent can also be arbitrary. For example, the partial data can also be sent in the order from the end of the icon image data IMG_A to the beginning of the icon image data IMG_A. Additionally, the slave device does not necessarily receive the partial data in the order in which the master device sends them.
[0186] In addition, in the above embodiment, it is configured that the slave device sets the time required to receive the remaining data as the second timeout time T2, and when the second timeout time T2 has elapsed, it sends the next action request frame. As the second timeout time T2, other times can also be set. For example, as the second timeout time T2, a predetermined fixed time can also be set. Additionally, as the second timeout time T2, a time during which at least a part of the remaining data can be received can also be set.
[0187] In addition, in the above, it is set that when the slave device sends an action request frame for requesting a certain data X, after the set timeout time (T1 or T2) has elapsed, it sends an action request frame for requesting the next data Y. In other embodiments, it can also be that the slave device sends an action request frame for requesting other data Y before the timeout time set for receiving a certain data X has elapsed. For example, after the slave device sends an action request frame RQX for requesting image data X (e.g., the icon image data of a game), it can send an action request frame RQY for requesting text data Y (e.g., data representing the game title) during the period of receiving multiple action response frames RSX corresponding to this request. Then, the slave device can also receive multiple action response frames RSY corresponding to the action request frame RQY during the period of receiving multiple action response frames RSX.
[0188] In addition, in the communication of a wireless LAN compliant with IEEE802.11, in order to notify that data sent by unicast has been normally received, the device that has received the data returns an ACK frame to the device that has sent the data. When the data sender does not receive this ACK frame, it is considered that the data sent has not been received by the receiver, and the data is sent again. For example, when the master device sends an action response frame RS1-2 to the slave device, when the slave device normally receives this action response frame RS1-2, the slave device returns an ACK frame to the master device. When the master device does not receive the ACK frame within a specified timeout period (a time shorter than the above-mentioned first timeout period T1 and second timeout period T2), the master device sends the same action response frame RS1-2 to the slave device again. The retransmission of the action response frame RS1-2 by the master device is limited to the maximum number of retries. When such retransmission is performed the maximum number of times and the slave device still does not normally receive the action response frame RS1-2, the slave device fails to receive part of the data IMG_2. In this case, the slave device requests the master device to retransmit part of the data IMG_2 by sending an action request frame RQ2 to the master device after the second timeout period T2 has elapsed as described above. Thereby, the slave device can obtain the data for which reception has failed.
[0189] (An example of screen transition and communication between the master device and the slave device)
[0190] 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. Figure 9 and Figure 10 is a diagram 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.
[0191] As Figure 9 shown, when the information processing device 10a is started, first, a menu screen PS1 (also called a main screen) is displayed on the display 12. In addition, at this point in time, the information processing device 10a does not function as a master device but operates as a separate device. In the menu screen PS1, icon images of a plurality of games that the information processing device 10a can execute are displayed. For example, the information processing device 10a has game programs for game G1, game G2, and game G3, and can execute these games. Therefore, in the menu screen PS1 of the information processing device 10a, an icon image IC1 of game G1, an icon image IC2 of game G2, and an icon image IC3 of game G3 are displayed. User A of the information processing device 10a selects any one of these icon images IC1 to IC3. Thereby, the game program corresponding to the selected icon image is executed.
[0192] In addition, in the menu screen PS1, an instruction image such as "Join Another Game" is displayed below the icon image corresponding to each game. This instruction image is used to join a game executed by another information processing device 10. Here, user A selects the icon image IC1 of game G1 to execute game G1 that the information processing device 10a has.
[0193] 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 which one of multiple modes to execute the selected game G1.
[0194] For example, in the mode selection screen PS2, any one of "Single Player", "Play with a Person without the Software", and "Local Communication Game" is selected. "Single Player" corresponds to the single-player game mode. When "Single Player" is selected, only the information processing device 10a (user A) executes game G1.
[0195] "Local Communication Game" corresponds to the local communication multi-player game mode. When "Local Communication Game" is selected, game G1 is executed by multiple information processing devices 10 having game G1. For example, when the users of the information processing devices 10a to 10c select this mode, the information processing devices 10a to 10c establish a wireless LAN connection to form a wireless network. The wireless network formed by the information processing devices 10a to 10c can also be a network in infrastructure mode where any one of the information processing devices 10a to 10c is a base station and the other devices are terminal stations. In this case, the terminal stations communicate with each other via the base station. In addition, the wireless network formed by the information processing devices 10a to 10c can also be a peer-to-peer mode network where direct communication occurs between the terminal stations. During the execution of the game in the local communication multi-player game mode, operation data corresponding to the operations performed in each information processing device 10 is sent and received via the network, and game processing based on the operation data is performed in each information processing device 10. Each information processing device 10 generates a game image based on the result of the game processing and displays the game image on the display 12 of the device. In addition, it can also be an online mode where games are played between multiple information processing devices connected to the Internet.
[0196] "Play with a Person without the Software" is, as described above, a mode in which game G1 is executed using local communication between another information processing device 10 that does not have game G1 and the information processing device 10a. When "Play with a Person without the Software" is selected in the information processing device 10a, the information processing device 10a functions as the master device and starts beacon transmission as described above (step S1). During this period, a recruitment in progress screen PS3 indicating that other users are being recruited is displayed, for example, on the master device.
[0197] On the other hand, the same applies to the information processing device 10b. First, a menu screen CS1 is displayed. At this point in time, the information processing device 10b does not yet function as a slave device but operates as an independent device. The information processing device 10b has a game program for game G2 and a game program for game G3, but does not have a game program for game G1. Therefore, on the menu screen CS1 of the information processing device 10b, an icon image IC2 for game G2 and an icon image IC3 for game G3 are displayed, while an icon image IC1 for game G1 is not displayed.
[0198] Here, user B of the information processing device 10b, who does not have the program for game G1, selects "Join Another Game" on the menu screen CS1 to play game G1 with user A. When "Join Another Game" is selected, the information processing device 10b functions as a slave device and attempts to receive a beacon as described above (step S1).
[0199] In addition, it can also be that during the display of the menu screen CS1, the information processing device 10b attempts to receive a beacon, and the instruction image for "Join Another Game" cannot be selected until a beacon is received. When a beacon is received from a surrounding master device, the instruction image can be selected. Also, it can be that when a beacon is received from the master device during the display of the menu screen CS1, the display mode of the instruction image for "Join Another Game" changes to inform the user of the slave device that there is a master device recruiting players to join the game.
[0200] As a result of the slave device receiving a beacon from the master device, a search result screen CS2 is displayed. When the slave device receives a beacon from the master device, information related to the master device is displayed on the search result screen CS2. Here, when there are multiple master devices around the slave device (for example, within a range of several meters to several tens of meters), the slave device receives beacons from multiple master devices. When the slave device receives beacons from multiple master devices, information related to each of the multiple master devices is displayed 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 are present around the slave device, information related to these master devices is displayed in a list. For example, as information related to the master device, either the user name of the master device or the name of the master device can be displayed. Additionally, in the list of master devices, the title of the game being executed on the master device can also be displayed. Furthermore, the list of master devices can be scrolled instead of being displayed on a single screen.
[0201] User B of the information processing device 10b selects the master device A (user A) among multiple master devices in the search result screen CS2 to play a game with user A. In addition, when the slave device receives a beacon from only one master device, it may display the next join instruction screen CS3 instead of the search result screen CS2.
[0202] When the master device A is selected, as described above, the information processing device 10b sends an action request frame to the information processing device 10a, and the information processing device 10a sends an action response frame in response to the action request frame (steps S2, S3). Thus, relatively large data such as the icon image of the game G1 is sent from the master device to the slave device. In addition, when the master device receives an action request frame from another slave device (e.g., the information processing device 10c), it also sends an action response frame to the other slave device.
[0203] When the slave device receives the required data such as the icon image data, the slave device displays a join instruction screen CS3 for instructing to join the game G1. In this join instruction screen CS3, the icon image of the game G1 is displayed based on the icon image data received from the master device. In addition, the slave device displays the title of the game G1, the user name of the master device (user A), the image of the character of user A, etc. In addition, in the join instruction screen CS3, an image for instructing to join the game G1 and an image for instructing to cancel are displayed. In addition, in the search result screen CS2, the icon images of the games owned by each master device, the character images of the users of each master device, etc. may also be displayed. In this case, the slave device sends an action request frame to each master device before displaying the search result screen CS2 and receives an action response frame from each master device. That is, the slave device may obtain the icon images of the games that can be executed in each master device from each master device before selecting any one of the multiple searched master devices.
[0204] When it is indicated in the slave device that the game G1 is to be joined, a wireless LAN connection is established between the slave device and the master device (step S4). When the connection between the master device and the slave device is established, necessary information is transmitted and received between the master device and the slave device (step S5). Here, for example, the slave device transmits slave device data (e.g., the user name of the slave device, an image representing the role of the user of the slave device, etc.) to the master device. In addition, it is also possible to display a controller required for prompting preparation in the join instruction screen CS3 or after the join instruction screen CS3 is displayed. Further, it is also possible to perform a display related to the way of holding the controller (a vertically long or horizontally long way of holding). Information related to the controller supported by the game G1 and information related to the way of holding the controller are included, for example, in the beacon transmitted by the master device. The slave device performs a display of the controller required for prompting preparation or a display related to the way of holding based on this information related to the controller included in the beacon. In addition, it is also possible that the slave device uses an action request frame to request information related to the controller, and the master device uses an action response frame to transmit this information to the slave device.
[0205] Next, as Figure 10 shown, a start instruction screen PS4 for indicating the start of the game G1 is displayed in the master device. In the start instruction screen PS4, for example, an instruction image recorded as "start with this member" for indicating the start of the game is displayed. In addition, information related to the user of the slave device is displayed in the start instruction screen PS4. For example, it is also possible to display the user name of the slave device, the role image of this user, etc. in the start instruction screen PS4. In addition, in Figure 10 , only the information related to user B is displayed, but when it is also indicated in the join instruction screen CS3 of the information processing device 10c owned by user C that the game G1 is to be joined, information related to user C is also displayed in this start instruction screen PS4. In addition, it is also possible that in this start instruction screen PS4, the user of the master device can select the user of the slave device who does not wish to join the game. In the start instruction screen PS4, when a slave device that does not wish to join the game is selected, the master device cuts off the communication with this slave device.
[0206] On the other hand, after "join" is indicated in the join instruction screen CS3 of the slave device, a start standby screen CS4 indicating waiting for the start of the game G1 is displayed.
[0207] When "start with this member" is indicated on the start instruction screen PS4 of the main device, a game image and sound indicating the start of game G1 are generated in the main device, and the game image and sound data are sent from the main device to the slave device (step S6). The game image and sound data are sent via UDP. As a result, a game start image PS5 indicating the start of game G1 is displayed on the main device, and the same game start image CS5 is also displayed on the slave device. In addition, the game image and / or sound data may also be sent from the main device to the slave device via TCP.
[0208] When, during the execution of game G1, user B of the slave device performs a game operation using a controller, operation data corresponding to the game operation is acquired in the slave device (step S7). The slave device sends the operation data to the main device (step S8). The operation data is sent via UDP. In addition, in the main device, a game operation using a controller is also performed, and operation data corresponding to the game operation is acquired (step S9).
[0209] The main device executes game processing based on the operation data corresponding to the game operation performed in the main device and the operation data sent from the slave device, and generates a game image corresponding to the result of the game processing (step S10). Then, the main device sends the generated game image to the slave device (step S11). The game image is sent via TCP. In addition, multiple images may be compressed and sent as moving image data from the main device to the slave device. Also, the game image or moving image data may be sent from the main device to the slave device via UDP. As a result, a in-game image PS6 is displayed on the main device, and the same in-game image CS6 is also displayed on the slave device.
[0210] During the execution of game G1, the processes of steps S7 to S11 are repeated at a prescribed frame time interval (for example, at an interval of 1 / 60 second). As a result, a game is executed between the main device and the slave device. In addition, the processes of steps S7 to S11 do not necessarily need to be performed in this order, the order of the processes may be changed, or some of these processes may be skipped. For example, even if the operation data from the slave device in step S8 is not received due to the communication condition, the main device may execute the process of step S10 to generate a game image, and send the game image to the slave device in step S11.
[0211] In addition, different in-game images can also be displayed on the main device and the slave device. For example, it can also be that a character corresponding to user A and a character corresponding to user B are configured in the game space, an in-game image A including the character corresponding to user A is displayed on the main device, and an in-game image B including the character corresponding to user B is displayed on the slave device. In this case, the main device generates the in-game image A and displays the in-game image A on the display 12, and generates the in-game image B and sends the in-game image B to the slave device. The slave device displays the in-game image B received from the main device on the display 12.
[0212] Alternatively, the screen can be divided into multiple regions, and in-game images including characters corresponding to each user are displayed in each of the divided regions.
[0213] In addition, there can also be a mode where only the user of either the main device or the slave device plays the game, and the other user only watches the game of the one user. For example, when only the user of the slave device plays the game, operation data is sent from the slave device to the main device, and the main device performs game processing based on the operation data from the slave device, generates an image corresponding to the game processing, sends the image to the slave device, and displays the game image on the display of the main device. In the main device, game operations using the controller are not performed. Additionally, when only the user of the main device plays the game, the main device performs game processing based on the operation data of the main device, generates an image corresponding to the game processing, sends the image to the slave device, and displays the game image on the display of the main device. In the slave device, game operations using the controller are not performed, but only the game image received from the main device is displayed.
[0214] (Data stored in the main device and the slave device)
[0215] Next, the data stored in the main device and the slave device will be described. Figure 11 It is a diagram showing an example of the data stored in the information processing device 10a as the main device. Figure 12 It is a diagram showing an example of the data stored in the information processing device 10b as the slave device. Figure 11 and Figure 12 Each of the data shown is stored in the memory of each information processing device 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).
[0216] As Figure 11As shown, in the information processing device 10a, a game program 101 for game G1, a game program 102 for game G2, a game program 103 for game G3, a device control program 104, device determination information 105, user data 106, and slave device data 107 are stored.
[0217] The game program 101 for game G1 is stored, for example, in 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. In addition, the game program 101 includes a 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.
[0218] The device control program 104 is a program for controlling the information processing device 10a, and includes a basic program for providing menu operations using a menu screen or starting a game program, and a communication program for communicating with other devices. The basic program is stored, for example, in the flash memory 26. In addition, the communication program is stored, for example, in a memory within the network communication unit 24.
[0219] The device determination information 105 is information for determining the information processing device 10a, and is, for example, a MAC address. In addition, the device determination information 105 may also include the serial number of the information processing device 10a, etc. In addition, the device determination information 105 may also include information set by the user for identifying the information processing device 10a.
[0220] 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 same user (such as shape data, texture image data), etc.
[0221] The slave device data 107 is data obtained from a slave device. The slave device data 107 includes, for example, the device determination 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 (such as image data).
[0222] On the other hand, as Figure 12 shown, similarly to the master device, in the information processing device 10b as a slave device, a game program 102 for game G2, a game program 103 for game G3, a device control program 104, device determination information 105, and user data 106 are stored. Since these data are the same as the data stored in the master device, the description thereof is omitted. In addition, master device data 108 is stored in the information processing device 10b.
[0223] The main device data 108 is data obtained from the main device before establishing a connection with the main device. Specifically, the main device data 108 includes device identification information (e.g., MAC address) of the main device obtained from the main device, game ID, icon image data of game G1 received from the main device, title data of game G1, character image data of the user of the main device, and the like.
[0224] (Details of the processing performed by the main device and the slave device)
[0225] Next, refer to Figures 13 to 19 to explain the details of the processing performed by the main device and the slave device. In addition, Figures 13 to 19 The processing shown is performed by executing a prescribed program (game program 101 or device control program 104) by the processor 21 or the processor of the network communication unit 24.
[0226] Figure 13 is a flowchart showing an example of the 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, for example, the device control program 104 stored in the flash memory 26 to execute Figure 13 the menu processing shown. In addition, the processor 21 obtains operation data from the controller at an appropriate timing during the execution of Figure 13 the menu processing shown.
[0227] Specifically, the processor 21 generates a menu screen and displays the menu screen on the display 12 (step S101). Thereby, the menu screens PS1 and CS1 shown, for example, Figure 19 are displayed. In the menu screen, icon images of games that the information processing apparatus 10 can execute are displayed. For example, in the menu screen of the information processing apparatus 10a, icon images corresponding to games G1, G2, and G3 that the information processing apparatus 10a can execute are displayed.
[0228] Next, the processor 21 determines whether an icon image of a game displayed on the menu screen is selected based on the operation data from the controller (step S102). When the icon image is selected (step S102: "Yes"), the processor 21 performs game start processing and displays a mode selection screen PS2 (step S103). Specifically, the processor 21 reads the game program of the game corresponding to the selected icon image and executes the program for mode selection included in the game program, thereby displaying the mode selection screen PS2 and accepting user input. In the mode selection screen PS2, images associated with the game (images of characters, backgrounds) may also be displayed. In addition, it may be that the mode selection function (the function for selecting a mode using the mode selection screen PS2) is not included in the game program but is pre-included in the main device 2. In this case, at the time point of step S103, the game program is not read, and the same screen is displayed regardless of what game is played later in the mode selection screen PS2.
[0229] Next, the processor 21 determines whether "Play game with someone without software" is selected in the mode selection screen PS2 based on the operation data from the controller (step S104).
[0230] When "Play game with someone without software" is selected (step S104: "Yes"), the processor 21 then transfers to the main device process (step S105). Thereafter, the information processing device 10 functions as a main device that provides the game G1 to the slave device and performs this main device process until the main device game process described later ends. The detailed content of the main device process is described later.
[0231] When it is determined as "No" in step S104, the processor 21 determines whether another mode is selected in the mode selection screen PS2 based on the operation data from the controller (step S106). When another mode is selected (step S106: "Yes"), the processor 21 transfers 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. The detailed content of the process of step S107 is omitted.
[0232] When it is determined as "No" in step S106, the processor 21 executes the process of step S103 above again. The processes of step S103, step S104, and step S106 are repeatedly executed at a prescribed frame time interval (for example, an interval of 1 / 60 second).
[0233] On the other hand, when the icon image of the game is not selected on the menu screen (step S102: "No"), the processor 21 determines whether "Join Another Game" is selected based on the operation data from the controller (step S108).
[0234] When "Join 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 prescribed frame time interval (for example, an interval of 1 / 60 second).
[0235] On the other hand, when "Join Another Game" is selected on the menu screen (step S108: "Yes"), the processor 21 then transfers to the slave device process (step S109). Thereafter, the information processing device 10 functions as a slave device that receives the provision of the game G1 from the master device, and performs this slave device process until the subsequent slave device game process ends. The detailed content of the slave device process will be described later.
[0236] (Master device process)
[0237] Next, the detailed content of the master device process will be described. Below, the case where the information processing device 10a functions as the master device will be described. Figure 14 It is a flowchart showing an example of the master device process.
[0238] As Figure 14 shown, the master device determines whether it is the beacon transmission timing (step S201). When it is determined that it is the beacon transmission timing (step S201: "Yes"), the network communication unit 24 of the master device broadcasts and transmits a beacon frame (step S202). That is, the master device transmits a beacon frame to other devices that are not determined. The beacon frame contains device determination information for determining the master device and a game ID for determining data related to the game G1. Specifically, the MAC address and BSSID of the master device are included in the header of the beacon frame. In addition, 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. In addition, the user name of the master device or the title of the game G1 may be included in the vendor - specific area of the beacon frame. In addition, information related to the controller that the game G1 can support may also be included in the vendor - specific area of the beacon frame. The master device repeatedly transmits the beacon frame at a prescribed time interval (for example, an interval of several 10 milliseconds to several 100 milliseconds).
[0239] In the case where step S202 has been executed, or in the case where the determination in step S201 is "no", the master device determines whether an action request frame has been received (step S203).
[0240] In the case where it is determined that an action request frame has been received (step S203: "yes"), the master device performs action response sending processing (step S204). This action response sending processing is processing for sending an action response frame corresponding to the action request frame. By performing the action response sending processing of step S204, relatively large data (such as icon image data) related to the game G1 is sent from the master device in response to a request from the slave device. Hereinafter, the detailed content of the action response sending processing will be described.
[0241] (Action response sending processing)
[0242] Figure 15 FIG. is a flowchart showing an example of the action response sending processing of step S204 in the master device processing. In addition, although not shown in the figure, the master device also repeatedly sends beacon frames at the above-mentioned specified time intervals during the execution of the action response sending processing of step S204.
[0243] As Figure 15 shown, 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, in the case where 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. In addition, in the case where 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. In addition, in the case where a certain defect is found in the structure of the action request frame, the master device determines that there is an error in the action request frame.
[0244] In the case where 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 sends the action response frame (error response) to the slave device (step S222). Then, the master device ends Figure 15 the processing shown.
[0245] 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 according to the data type 32 and ID 33 of the action request frame (step S223). For example, when information indicating icon image data is specified as the requested data in the action request frame, the master device acquires the icon image data IMG_A stored in the device. Next, the master device sets "1" to the variable n and sets "N" based on the number of entries 35 included in the action request frame (step S224).
[0246] Next, the master device determines whether the data specified by entry n of the action request frame can be sent in one frame (step S225). Specifically, when the size of entry n is larger than the maximum receivable size, the master device determines that the data of entry n cannot be sent in one frame. In addition, 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.
[0247] When it is determined that the data of entry n can be sent in one frame (step S225: "Yes"), the master device generates an action response frame containing the data of entry n (step S226). Specifically, the master device extracts the data of the size specified by entry n from the requested data acquired in step S223 according to the offset value specified by entry n, and generates an action response frame containing the data. In addition, 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. In addition, the master device sets the offset 44 and size 45 of the action response frame to the offset and size specified by entry n. In addition, the master device sets the total size 43 of the action response frame to the total size of the requested data. In addition, in step S226, when there is a frame that has been generated and saved, the master device may also reuse the saved frame again.
[0248] Next, the master device wirelessly sends the generated action response frame to the slave device that sent the action request frame (step S227). After step S227, the master device executes the process of step S232.
[0249] On the other hand, when it is determined that the data of entry n cannot be sent 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 the data of the size specified in entry n from the request data obtained in step S223 according to the offset value specified in entry n, and divides the extracted data into a plurality of partial data. Here, the master device divides the extracted data in such a way that each partial data is smaller than the maximum receivable size. For example, when the master device receives an action request frame for requesting all of the icon image data IMG_A as the request data, the icon image data IMG_A is divided into a plurality (e.g., 15) of parts. In addition, the division of the data can be performed by the processor 21 or by the processor of the network communication unit 24.
[0250] 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. In addition, the master device sets the offset 44 and size 45 of the action response frame to be the offset and size of the partial data. Further, the master device sets the total size 43 of the action response frame to be the total size of the request data (e.g., Figure 7 20000 in ). In addition, in step S229, when there is a frame that has been generated and saved, the master device may also reuse the saved frame.
[0251] After step S229, the master device wirelessly transmits the generated action response frame to the slave device that sent the action request frame (step S230).
[0252] Next, the master device determines whether all of the partial data obtained in step S228 has been sent (step S231). When it is determined that not all of the partial data has been sent (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 been sent is generated.
[0253] By repeatedly executing the processes of step S229 to step S231 at a prescribed frame transmission interval, all of the partial data obtained by dividing in step S228 is sent to the slave device.
[0254] When it is determined that all of the partial data obtained in step S228 has been sent (step S231: "Yes"), the master device executes the process of step S232.
[0255] In step S232, the master device increments the variable n by 1. 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.
[0256] If the determination in step S233 is "Yes", the master device ends Figure 15 the processing and returns the processing to Figure 14 . On the other hand, if the determination in step S233 is "No", the master device executes the processing of step S225 again. Thus, the data specified by the next entry of the action request frame is transmitted.
[0257] Return to Figure 14 , in the case where step S204 has been executed, or in the case where the determination in step S203 is "No", the master device determines whether a connection request is received from the slave device (step S205). When the user gives an addition instruction on the addition instruction screen CS3, the slave device sends 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 is received from the slave device.
[0258] If a connection request is received from the slave device (step S205: "Yes"), the master device performs a connection establishment process (step S206). Specifically, the master device determines whether to establish a connection with the slave device based on the received association request from the slave device. If it is determined to establish a connection, an association response indicating connection permission is sent to the slave device. Thus, communication parameters and an association ID are shared between the master device and the slave device, and the connection between the master device and the slave device is established.
[0259] After the connection establishment process, data required for the game is transmitted and received between the master device and the slave device (step S207). For example, slave device data (the user name of the slave device, an image of a character corresponding to the user of the slave device, etc.) is sent from the slave device to the master device.
[0260] Next, the master device displays a start instruction screen PS4 (step S208). Here, the master device acquires operation data and determines whether a start instruction for game G1 has been given. The master device repeatedly executes the processing of step S208 at a prescribed frame time interval until a start instruction is given. In addition, in the start instruction screen PS4, it may be possible to select a slave device (user) that does not wish to join the game.
[0261] When a start instruction for game G1 is given on the start instruction screen PS4, the host device starts game G1, notifies the slave device of the start of game G1, and transfers to the in-game processing of the host device (step S209). The in-game processing of the host device is the processing that the host device performs during the execution of game G1 and is carried out until the end of game G1. The detailed content of the in-game processing of the host device in step S209 will be described later.
[0262] In addition, the processes of step S202, step S204, step S206, and step S207 can also be performed simultaneously in parallel. For example, during the execution of the action response sending process corresponding to the action request from a certain slave device, beacon frames can be periodically sent, or the connection establishment process with other slave devices can be performed.
[0263] (Slave device processing)
[0264] Next, the detailed content of the slave device processing will be described. Below, the case where the information processing device 10b functions as a slave device will be described. Figure 16 is a flowchart showing an example of the slave device processing. In addition, the slave device obtains operation data from the controller 3 and the controller 4 at an appropriate timing during the execution of the Figure 16 slave device processing shown.
[0265] As Figure 16 shown, the information processing device 10b as a slave device performs beacon reception processing (step S301). Specifically, the network communication unit 24 of the slave device scans multiple channels and attempts to receive a beacon. When a beacon is received, the slave device obtains information from the received beacon frame (step S302). For example, the slave device obtains the game ID and the MAC address of the host device from the beacon. In addition, the slave device can also obtain the game title, the user name of the host device, information related to the controller, etc. from the beacon.
[0266] Next, the slave device displays a list of host devices on the display 12 based on the obtained information (step S303). Here, the search result screen CS2 shown in Figure 9 is displayed.
[0267] Next, the slave device determines whether any one of the one or more host devices displayed in the search result screen CS2 is selected based on the operation data (step S304).
[0268] If no host device is selected (step S304: "No"), the slave device executes the process of step S301 again.
[0269] When the master device is selected (step S304: "Yes"), the slave device performs data acquisition processing (step S305). This data acquisition processing is a process in which the slave device uses an action frame to acquire relatively large data such as the above icon image data from the master device. Next, the detailed content of the data acquisition processing in step S305 will be described.
[0270] (Data Acquisition Processing)
[0271] Figure 17 FIG. is a flowchart showing an example of the data acquisition processing in step S305 during the processing of the slave device.
[0272] As Figure 17 shown, the slave device first performs action request transmission processing (step S320). Specifically, the network communication unit 24 of the slave device generates an action request frame and wirelessly transmits the action request frame to the master device selected in step S304. For example, when the slave device first transmits an action request frame to the selected master device, it transmits an action request frame specifying a value representing an icon image as data type 32, specifying a value based on the game ID as ID 33, specifying "1" as the number of entries 35, specifying "0" as the offset 36a, and specifying the maximum value as the size 36b.
[0273] Next, the slave device determines whether it has received an action response frame corresponding to the transmitted action request frame from the master device (step S321).
[0274] If the action response frame has not been received (step S321: "No"), the slave device determines whether the first timeout period T1 has elapsed since the action request frame was transmitted (step S322).
[0275] If 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 repeats the processing of step S320. Here, the slave device transmits an action request frame for requesting the same data. If the same action request frame has been transmitted C1 times (step S323: "Yes"), it is regarded as a reception error (step S325), and the Figure 17 processing shown ends. The first timeout period T1 can be set to a certain time (for example, 100 msec to 200 msec), and can also be variable according to the data type of the requested data, for example.
[0276] If the first timeout period T1 has not elapsed (step S322: "No"), the slave device repeats the processing of step S321.
[0277] 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 sent an error response in step S222. When it is determined that the received frame is an error response (step S324: "Yes"), the slave device regards it as a reception error (step S325) and ends Figure 17 the processing shown.
[0278] When it is determined that the received frame is not an error response (step S324: "No"), the slave device acquires the body data included in the action response frame (step S326).
[0279] Next, the slave device sets a second timeout period T2 (step S327). Specifically, the slave device calculates the remaining number of frames required to receive the remaining data. The slave device compares the time obtained by multiplying the remaining number of frames by a fixed time T3 (for example, 50 msec to 60 msec) with the time obtained by multiplying T3 by a fixed value C2, and sets the shorter of the two times as the second timeout period T2. For example, the remaining number of frames is obtained 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.
[0280] For example, when the slave device sends an action request frame with "icon image data IMG_A" as the request data to the master device, the slave device receives an action response frame specified with a total size of "20000", an offset of "0", and a size of "1360" as the first action response frame. In this case, the remaining number of 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 period T2.
[0281] Next, the slave device determines whether the second timeout period T2 has elapsed since the previous action response frame was received (step S328).
[0282] When the second timeout period T2 has not elapsed (step S328: "No"), the slave device determines whether an action response frame has been received (step S329). When an action response frame has not been received (step S329: "No"), the slave device executes the process of step S328 again.
[0283] When it is determined that an action response frame has been received (step S329: "Yes"), the slave device acquires the body data included in the received action response frame (step S330) and executes the process of step S327 again.
[0284] On the other hand, in the case where the second timeout period T2 has elapsed (step S328: "Yes"), the slave device then performs the process of step S331. Further, in the case where the number of transmissions of the action request for requesting the same data is the C3-th time, in the case where the second timeout period T2 has elapsed, the slave device ends the process shown in Figure 17 Figure 17 regarding it as a reception error. "C3" may be different from the above "C1" or may be the same as the above "C1".
[0285] In step S331, the slave device determines whether all the data has been received. Here, the slave device determines whether all the data that should be acquired has been received. In the case where not all the data has been received (step S331: "No"), the slave device performs the process of step S320 again.
[0286] For example, in step S331, the slave device determines whether all the partial data obtained by dividing the requested data (for example, the 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 offset and size of the main body data (partial data) received in steps S326 and S330. For example, in the case where the partial data IMG_2, IMG_3, and IMG_15 in the icon image data IMG_A have not been received, the slave device determines "No" in step S331 and performs the process of step S320 again. In this case, the slave device transmits an action request frame for requesting the main device to retransmit these un-received partial data IMG_2, IMG_3, and IMG_15.
[0287] In addition, in step S331, in the case where there are multiple requested data to be acquired from the master device, the slave device determines whether all the requested data has been received. For example, in the case where the size of the "title data TXT_A" representing 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 multiple action response frames. For example, in the case where the slave device has received all of the "icon image data IMG_A" but has not received the "title data TXT_A", the slave device determines "No" in step S331 and performs the process of step S320 again. In this case, in step S320, the slave device transmits an action request frame for requesting the "title data TXT_A" to the master device. By receiving multiple action response frames corresponding to this action request frame, the slave device receives the "title data TXT_A" from the master device. Further, the slave device may request other requested data from the master device in addition to these icon image data and title data.
[0288] When it is determined that all data has been received (step S331: "Yes"), the processing of the slave device ends Figure 17 the processing shown, and returns the processing to Figure 16 .
[0289] Return to Figure 16 , after the data acquisition processing 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 processing in step S305. When 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 data has not been received from the master device.
[0290] When there is no error (step S306: "No"), the slave device displays the join instruction screen CS3 on the display 12 (step S307).
[0291] Next, the slave device determines whether a game join instruction has been given on the join instruction screen CS3 based on the operation data (step S308). When no join instruction has been given on the join instruction screen CS3 (step S308: "No"), the slave device executes the processing in step S307 again.
[0292] When a join instruction has been given on the join 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 to establish a connection with the master device. Specifically, after authenticating 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. Thus, a connection is established between the master device and the slave device.
[0293] Next, data required for the game is sent and received between the slave device and the master device (step S310). For example, the slave device sends slave device data (e.g., the username of the slave device, the image of the character corresponding to the user, etc.) to the master device.
[0294] Next, the slave device displays the start standby screen CS4 (step S311). When a notification of the start of game G1 is received from the master device during the display of the start standby screen CS4, the slave device transfers to the slave device in-game processing (step S312).
[0295] (Master device in-game processing)
[0296] Next, the detailed content of the master device in-game processing after starting the game with the slave device is described. Figure 18 is a flowchart showing an example of the master device in-game processing in step S209.
[0297] As Figure 18 shown, the main device acquires operation data from controllers 3 and 4 connected to this device (step S240).
[0298] Next, the main device acquires operation data from the slave device (step S241). Specifically, the network communication unit 24 of the main device acquires the operation data wirelessly transmitted from the slave device to which the connection has been established.
[0299] Next, the main device performs game processing based on the operation data acquired in step S240 and step S241 (step S242). For example, in the case of performing a game G1 in which a first character corresponding to the main device and a second character corresponding to the slave device appear in a virtual space, the main 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.
[0300] Next, the main device performs game image generation processing (step S243). The main device generates a game image based on, for example, a virtual camera arranged in the virtual space. The first character and the second character are included in the shooting range of the virtual camera. Alternatively, the main 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.
[0301] Next, the main device causes the game image generated in step S243 to be displayed on the display 12 (step S244). In addition, the main device may cause the game image to be displayed on a display device (such as a TV) connected to the main device that is different from the display 12.
[0302] Next, the main device sends the game image generated in step S243 to the slave device (step S245). Specifically, the network communication unit 24 of the main device sends the generated game image to the slave device to which the connection has been established. In addition, the main device sends sound data corresponding to the result of the game processing together with the game image to the slave device.
[0303] Next, the main device determines whether to end the game (step S246). For example, when the game is completed (for example, in the case of a racing game, when the moving objects corresponding to each user reach the finish line), or when the user of the main device instructs to forcibly end the game during the game, or when operation data related to the forced end of the game is received from the slave device during the game, the main device determines "Yes" in step S246. When the main device determines "Yes" in step S246, it ends the game and sends a game end notification to the slave device. When the main device determines "No" in step S246, it executes the process of step S240 again. By repeatedly executing the processes of step S240 to step S246 at a prescribed frame time interval (for example, an interval of 1 / 60 second), the game progresses.
[0304] (Slave device in-game processing)
[0305] Next, the detailed content of the slave device in-game processing after the game starts will be described. Figure 19 It is a flowchart showing an example of the slave device in-game processing of step S312.
[0306] As Figure 19 shown, the slave device sends operation data to the main device (step S340). Specifically, the slave device acquires the operation data output from the controllers 3 and 4 of this device. Then, the network communication unit 24 of the slave device sends the acquired operation data to the main device to which the connection has been established.
[0307] Next, the slave device receives the game image from the main device (step S341). Specifically, the network communication unit 24 of the slave device receives the game image from the main device to which the connection has been established. In addition, the slave device also receives the sound data together with the game image.
[0308] Next, the slave device displays the received game image on the display 12 (step S342). In addition, the slave device may also display the game image on a display device (such as a TV) connected to the slave device that is different from the display 12.
[0309] Next, the slave device determines whether to end the game (step S343). For example, the slave device ends the game when it receives a game end notification from the main device, or when it is instructed to forcibly end the game during the game. When the game has 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 prescribed frame time interval (for example, an interval of 1 / 60 second), the game progresses.
[0310] In addition, the processing of the above flowchart is merely illustrative. For example, the order of each step can be swapped, other steps can be added, or a part of the above steps can be omitted.
[0311] For example, in the above embodiment, when it is determined as "Yes" in step S308, the connection establishment process of step S309 is performed. That is, when an "Add" instruction is given from the device addition instruction screen CS3, 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 can also be established at other times. For example, the timing for establishing the connection between the master device and the slave device can also be any timing after the data acquisition process of step S305, or can also be the timing before the addition instruction screen CS3 is displayed. In addition, the connection between the master device and the slave device can also be established during the display of the addition instruction screen CS3.
[0312] In addition, in the above embodiment, when it is determined as "Yes" in step S304, the data acquisition process of step S305 is performed. That is, when a master device is selected from the master device list, relatively large data related to the game is acquired from the selected master device. In other embodiments, the data acquisition process of step S305 can also be performed before the master device is selected. For example, it can also be that after the slave device receives the beacon in step S302, the data acquisition process of step S305 is performed, and then the process of step S303 is performed. In this case, the slave device receives icon images of games that can be executed from each of the multiple master devices existing around the device. Then, the slave device can also display the icon images of the games that can be executed by each master device in the master device list.
[0313] As described above, in the present embodiment, among multiple information processing devices (such as 10a to 10c), the information processing device (10a; master device) having a specified game program provides the game to other information processing devices (10b, 10c; slave devices) that do not have the program. The master device uses a beacon to broadcast the game ID, which is relatively small information, and the device identification information of the master device. When the slave device receives the beacon from the master device, it sends 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 multiple partial data and sends the multiple partial data separately in multiple action response frames to the slave device. The slave device acquires the icon image data by receiving the multiple action response frames.
[0314] 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 game starts. The user of the slave device can decide to join the game by viewing the icon image etc.
[0315] It is also conceivable that before the game starts, the master device establishes a wireless LAN connection with the slave device and a TCP connection to send icon image data and the like from the master device to the slave device. However, in this case, the establishment of the connection and the TCP handshake take time. In addition, when the master device establishes a connection with the slave device to send icon image data and the like, resources are consumed for the slave device that does not know whether the game will actually be executed.
[0316] In the present embodiment, even if the master device and the slave device do not establish a wireless LAN connection, action frames are used to send relatively large data such as icon image data from the master device to the slave device. Therefore, the transmission and reception of icon images and the like do not take time, and the load on the master device can be reduced.
[0317] In addition, even if the slave device has not received all of the icon image data, it can use action frames to request retransmission of the unreceived data. Thus, the icon image data can be reliably obtained from the master device. In the structure of retransmission using the above-described action frames, the load on the master device can be reduced compared to the structure of TCP retransmission. That is, in the structure of TCP retransmission, the data transmission side attaches a sequence number and transmits a data packet, and grasps the data reception status by receiving a response from the reception side. If there is no response corresponding to the sequence number, the transmission side retransmits the data. In such a structure, the master device as the transmission side needs to manage the reception status of the reception side based on the sequence number, which may impose a load on the master device. In the above embodiment, the master device simply sends 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, so the load on the master device can be reduced.
[0318] (Variant example)
[0319] The above embodiment has been described, but the above embodiment is merely an example, and for example, the following modifications can be made.
[0320] For example, in the above embodiment, the master device sends a beacon including device identification information of the master device and data identification information (such as a game ID) for identifying data sent from the master device, and the slave device sends an action request frame for requesting transmission of data determined according to the data identification information to the master device by receiving the beacon. The master device may also use other frames to send the device identification information of the master device and the data identification information to surrounding devices. For example, in other embodiments, the master device may use action frames to send the device identification information and the data identification information. The master device may either periodically broadcast an action frame including the device identification information and the data identification information or send the action frame to the slave device by unicast.
[0321] In addition, in other embodiments, it may also be that the slave device sends a detection request for obtaining the device determination information and data determination information of the master device, and the master device sends a detection response to the slave device for this detection request. As a result, the master device sends the device determination information and data determination information of the master device. Then, the slave device can also send an action request frame for requesting to send relatively large data such as icon image data based on the data determination information and device determination information included in the detection response as described above.
[0322] In addition, in the above embodiment, the slave device sends an action request frame designating the master device as the destination, and the master device sends an action response frame designating the slave device as the destination. In other embodiments, the action frames sent by the slave device or the master device can also be sent by broadcast. For example, the slave device sends an action request frame designating the master device as the destination. The master device that receives this action request frame can also send an action response frame including the request number specified in the action request frame and the requested data to an unspecified device (by broadcast or multicast). The slave device can obtain the requested data by receiving the action response frame with the same request number.
[0323] In addition, in the above embodiment, action frames are used to send relatively large data from the master device to the slave device. In other embodiments, it is not limited to using action frames, and other frames can also be used to send relatively large data from the master device to the slave device.
[0324] In addition, in the above embodiment, it is assumed that the game is played between the master device having the game program and the slave device not having the game program. Before establishing the connection, action frames are used to send data related to the game (for example, icon image data of game G1) from the master device to the slave device. In other embodiments, even when both the master device and the slave device have the game program, data related to the game can also be sent from the master device to the slave device using action frames before establishing the connection. After sending data from the master device to the slave device using action frames, the master device and the slave device establish communication and play the game. In this case, the master device and the slave device execute their respective game programs.
[0325] In addition, in the above embodiment, it is assumed that the game application program is provided from the master device to the slave device as an application program. In other embodiments, it is not limited to providing the game application program, and any application program can also be provided from the master device to the slave device. In this case, before the connection between the master device and the slave device is established, the icon image, title, etc. of the application program can also be sent from the master device to the slave device by the above method.
[0326] The above describes the present invention, but the above description is only an illustration of the present invention, and various improvements and modifications can also be made.
[0327] A number of system examples, method examples, device examples, and apparatus examples have been described. However, it should be understood that the claims are not limited to the disclosed systems, methods, devices, and apparatuses, and various improvements and modifications can be made without departing from the gist and scope of the claims, which is self-evident.
Claims
1. An information processing method, which is an information processing method executed in a second information processing device, and the information processing method includes the following steps: When it is determined that a first frame including first device determination information for determining a first information processing device and data determination information for determining data transmitted from the first information processing device is received, a second frame is wirelessly transmitted to the first information processing device determined according to the first device determination information as a destination, where the second frame includes second device determination information for determining the second information processing device and data request information for requesting the data determined based on the data determination information; 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; and When it is determined that there is partial data that has not been received among the plurality of partial data, a fourth frame is wirelessly transmitted to the first information processing device determined according to the first device determination information as a destination, where the fourth frame includes the second device determination information and data re-request information for requesting re-transmission of the partial data that has not been received.
2. The information processing method according to claim 1, wherein 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 are executed in a state where wireless communication is not established between the first information processing device and the second information processing device.
3. The information processing method according to claim 1, wherein The offset of the partial data and the size of the partial data are included in the third frame, The second information processing device determines the partial data that has not been received based on the offset of the partial data and the size of the partial data, and transmits the fourth frame for requesting re-transmission of the determined partial data.
4. The information processing method according to claim 1, wherein The second information processing device includes the maximum receivable size of a frame that the second information processing device can receive in the second frame for transmission, The second information processing device receives the third frame including the partial data obtained by dividing the data into a plurality of parts by the first information processing device based on the maximum receivable size.
5. The information processing method according to claim 1, wherein The second information processing device transmits request determination information for determining a request for the data in the second frame, The second information processing device receives the third frame including the request determination information.
6. The information processing method according to claim 1, wherein The second information processing device includes information indicating the quantity of the requested data and information for determining each of the requested data in the fourth frame for transmission.
7. The information processing method according to claim 1, wherein The structure of the second frame is the same as that 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 based on the remaining data and attempts to receive the third frame before the set timeout elapses.
10. The information processing method according to claim 1, wherein when the second information processing device receives the third frame containing information indicating an error sent in the case where the first information processing device determines that there is an error in the second frame, it stops receiving the third frame thereafter.
11. The information processing method according to claim 1, wherein the data is moving image or still image data, and the second information processing device displays a moving image 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 determination information is an application ID for determining an application program.
16. The information processing method according to claim 1, wherein after the second information processing device receives the data, it sends a connection request for establishing a connection between the first information processing device and the second information processing device.
17. The information processing method according to claim 16, wherein after the connection between the first information processing device and the second information processing device is established, an application program associated with the data is executed between the first information processing device and the second information processing device.
18. The information processing method according to claim 17, wherein the application program is a game application program, the second information processing device sends operation data corresponding to a game operation to the first information processing device that has established a connection with the second information processing device, the second information processing device receives a game image corresponding to the result of game processing executed by the first information processing device based on the operation data from the first information processing device, and the second information processing device displays the game image received from the first information processing device.
19. The information processing method according to claim 17, wherein information related to an input device supported by the application program is included in the first frame.
20. An information processing method, which is an information processing method executed in a first information processing device, the information processing method comprising the following steps: Transmit a first frame via wireless communication, where the first frame includes first device determination information for determining the first information processing device and data determination information for determining data transmitted from the first information processing device; In the case where it is determined that a second frame is received from a second information processing device that has received the first frame and is transmitted to the first information processing device, the second frame includes second device determination information for determining the second information processing device and a data request information for requesting transmission of the data, and transmit a plurality of third frames including partial data obtained by dividing the data into a plurality of parts to the destination of the second information processing device determined according to the second device determination information via wireless communication; and In the case where it is determined that a fourth frame is received from the second information processing device that has failed to receive at least one of the plurality of partial data and is transmitted to the first information processing device, the fourth frame includes the second device determination information and a data re-request information for requesting re-transmission of at least one of the plurality of partial data, and re-transmit a fifth frame including the data re-requested by the fourth frame to the second information processing device determined according to the second device determination information via wireless communication.
21. The information processing method according to claim 20, wherein, 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 fourth frame in the second information processing device are performed in a state where wireless communication is not established between the first information processing device and the second information processing device.
22. The information processing method according to claim 20, wherein, The maximum receivable size of the frame that the second information processing device can receive is included in the second frame, The first information processing device divides the data into a plurality of parts based on the maximum receivable size.
23. The information processing method according to claim 20, wherein, Request determination information for determining the request for the data is included in the second frame, The first information processing device includes the request determination information in the third frame for transmission.
24. The information processing method according to claim 20, wherein, Information indicating the quantity of the requested data and information for determining each of the requested data are included in the fourth frame, The first information processing device transmits the fifth frame based on the information indicating the quantity of the requested data and the information for determining each of the requested data.
25. The information processing method according to claim 20, wherein, The structure of the third frame is the same as the structure of the fifth frame.
26. The information processing method according to claim 20, wherein, The first information processing device determines whether there is an error in the received second frame, and in the case where it is determined that there is an error, transmits the third frame including information indicating the error.
27. The information processing method according to claim 20, wherein, The data is moving image or still image data.
28. The information processing method according to claim 20, wherein the second frame, the third frame, the fourth frame, and the fifth frame are action frames.
29. The information processing method according to claim 20, wherein the first frame is a beacon frame.
30. The information processing method according to claim 20, wherein the first frame is an action frame.
31. The information processing method according to claim 20, wherein the data determination information is an application ID for determining an application program.
32. The information processing method according to claim 20, wherein the first information processing device establishes a connection between the first information processing device and the second information processing device according to a connection request received from the second information processing device after the second information processing device receives the data and sends the connection request.
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 program associated with the data is executed between the first information processing device and the second information processing device.
34. The information processing method according to claim 33, wherein the application program is a game application program, the first information processing device receives operation data corresponding to a game operation from the second information processing device that has established a connection with the first information processing device, the first information processing device performs game processing based on the operation data received from the second information processing device, the first information processing device generates a game image corresponding to the game processing, the first information processing device sends the game image to the second information processing device that has established a connection with the first information processing device.
35. The information processing method according to claim 33, wherein information related to an input device supported by the application program is included in the first frame.
36. A computer program product, including an information processing program, the information processing program is an information processing program executed in a computer of a second information processing device, and the information processing program enables the computer to function as the following units: In the case where it is determined that a first frame including first device determination information for determining a first information processing device and data determination information for determining data transmitted from the first information processing device is received, a second frame is transmitted wirelessly to the first information processing device determined according to the first device determination information, where The second frame includes second device determination information for determining the second information processing device and data request information for requesting the data determined based on the data determination information; Receiving a plurality of third frames sent from the first information processing device that has received the second frame and destined for the second information processing device, the third frames including partial data obtained by dividing the data into a plurality of parts; And In the case where it is determined that there is partial data that has not been received among the plurality of partial data, a fourth frame is sent by wireless communication to the first information processing device determined according to the first device determination information, wherein the fourth frame includes the second device determination information and data re-request information for requesting retransmission of the partial data that has not been received.
37. A second information processing apparatus, comprising the following units: In the case where it is determined that a first frame including first device determination information for determining a first information processing device and data determination information for determining data transmitted from the first information processing device has been received, a second frame is transmitted wirelessly to the first information processing device determined according to the first device determination information, where The second frame includes second device determination information for determining the second information processing apparatus and data request information for requesting the data determined based on the data determination information; Receiving a plurality of third frames including partial data obtained by dividing the data into a plurality of parts, which are sent from the first information processing apparatus that has received the second frame to the second information processing apparatus; And In a case where it is determined that there is partial data that has not been received among the plurality of partial data, a fourth frame is wirelessly transmitted to the first information processing apparatus determined according to the first device determination information, where the fourth frame includes the second device determination information and data re-request information for requesting re-transmission of the partial data that has not been received.
38. A computer program product, including an information processing program, which is an information processing program executed in a computer of a first information processing apparatus, and the information processing program causes the computer to function as the following units: Transmit a first frame via wireless communication, wherein, The first frame includes first device determination information for determining the first information processing apparatus and data determination information for determining the data sent from the first information processing apparatus; In a case where it is determined that a second frame including second device determination information for determining the second information processing apparatus and data request information for requesting transmission of the data, which is sent from the second information processing apparatus that has received the first frame to the first information processing apparatus, is received, a plurality of third frames including partial data obtained by dividing the data into a plurality of parts are wirelessly transmitted to the second information processing apparatus determined according to the second device determination information; And In a case where it is determined that a fourth frame including the second device determination information and data re-request information for requesting re-transmission of at least one of the plurality of partial data, which is sent from the second information processing apparatus that has not received at least one of the plurality of partial data to the first information processing apparatus, is received, a fifth frame including the data re-requested by the fourth frame is wirelessly re-transmitted to the second information processing apparatus determined according to the second device determination information.
39. A first information processing apparatus, comprising the following units: Transmit a first frame via wireless communication, wherein, The first frame includes first device determination information for determining the first information processing apparatus and data determination information for determining the data sent from the first information processing apparatus; In a case where it is determined that a second frame including second device determination information for determining the second information processing apparatus and data request information for requesting transmission of the data, which is sent from the second information processing apparatus that has received the first frame to the first information processing apparatus, is received, a plurality of third frames including partial data obtained by dividing the data into a plurality of parts are wirelessly transmitted to the second information processing apparatus determined according to the second device determination information; And When it is determined that a fourth frame is received from the second information processing device that has failed to receive at least one of the plurality of partial data and is sent to the first information processing device, the fourth frame includes the second device determination information and data re-request information for requesting re-transmission of at least one of the plurality of partial data. In this case, a fifth frame including the data re-requested by the fourth frame is re-transmitted to the second information processing device determined according to the second device determination information via wireless communication.
40. A wireless communication system includes a first information processing device and a second information processing device, both having wireless communication functions. The first information processing device includes: An information sending unit that sends a first frame via wireless communication, where the first frame includes first device determination information for determining the first information processing device and data determination information for determining the data sent from the first information processing device; A request determination unit that determines whether a second frame including second device determination information for determining the second information processing device and data request information for requesting transmission of the data is received; A data sending unit that, when it is determined that the second frame is received, sends a plurality of third frames including partial data obtained by dividing the data into a plurality of parts to the second information processing device determined according to the second device determination information via wireless communication; A re-request determination unit that determines whether a fourth frame including the second device determination information and data re-request information for requesting re-transmission of at least one of the plurality of partial data is received; and A data re-sending unit that, when it is determined that the fourth frame is received, re-sends a fifth frame including the data re-requested by the fourth frame to the second information processing device determined according to the second device determination information via wireless communication, The second information processing device includes: A reception determination unit that determines whether the first frame is received; A data request sending unit that, when it is determined that the first frame is received, sends the second frame including the second device determination information and data request information for requesting the data determined based on the data determination information included in the first frame to the first information processing device determined according to the first device determination information via wireless communication; A reception unit that receives the plurality of third frames; A non-reception determination unit that determines whether there is any of the plurality of partial data that has not been received; and A data re - request sending unit, in a case where it is determined that there is partial data that has not been received among the multiple pieces of partial data, the data re - request sending unit wirelessly communicates and sends a fourth frame including the second device determination information and the data re - request information for requesting re - sending of the partial data that has not been received, with the first information processing device determined according to the first device determination information as the destination.
41. A computer - readable recording medium storing an information processing program, the information processing program being an information processing program executed in a computer of a second information processing device, the information processing program causing the computer to function as the following units: In the case where it is determined that a first frame including first device determination information for determining a first information processing device and data determination information for determining data transmitted from the first information processing device is received, a second frame is transmitted wirelessly to the first information processing device determined according to the first device determination information, where The second frame includes second device determination information for determining the second information processing device and data request information for requesting data determined based on the data determination information; Receiving a plurality of third frames including partial data obtained by dividing the data into a plurality of parts, which are sent from the first information processing device that has received the second frame to the second information processing device as the destination; And In a case where it is determined that there is partial data that has not been received among the multiple pieces of partial data, wirelessly communicate and send a fourth frame with the first information processing device determined according to the first device determination information as the destination, wherein the fourth frame includes the second device determination information and data re - request information for requesting re - sending of the partial data that has not been received.
42. A computer - readable recording medium storing an information processing program, the information processing program being an information processing program executed in a computer of a first information processing device, the information processing program causing the computer to function as the following units: Transmit a first frame via wireless communication, wherein, The first frame includes first device determination information for determining the first information processing device and data determination information for determining data sent from the first information processing device; In a case where it is determined that a second frame including second device determination information for determining the second information processing device and data request information for requesting sending of the data, which is sent from the second information processing device that has received the first frame to the first information processing device as the destination, is received, wirelessly communicate and send a plurality of third frames including partial data obtained by dividing the data into a plurality of parts, with the second information processing device determined according to the second device determination information as the destination; And In a case where it is determined that a fourth frame including the second device determination information and data re - request information for requesting re - sending of at least one of the multiple pieces of partial data, which is sent from the second information processing device that has not received at least one of the multiple pieces of partial data to the first information processing device as the destination, is received, wirelessly communicate and re - send a fifth frame including the data re - requested by the fourth frame to the second information processing device determined according to the second device determination information.
Citation Information
Patent Citations
Radio communication system, communication method, information processing device, and information processing program
JP2018148301A