WO2013084392A1 - 通信装置、通信方法、および通信制御プログラム - Google Patents

通信装置、通信方法、および通信制御プログラム Download PDF

Info

Publication number
WO2013084392A1
WO2013084392A1 PCT/JP2012/006483 JP2012006483W WO2013084392A1 WO 2013084392 A1 WO2013084392 A1 WO 2013084392A1 JP 2012006483 W JP2012006483 W JP 2012006483W WO 2013084392 A1 WO2013084392 A1 WO 2013084392A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
command
control unit
write
writing
Prior art date
Application number
PCT/JP2012/006483
Other languages
English (en)
French (fr)
Inventor
諭 千賀
太田 雄策
西岡 伸一郎
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Publication of WO2013084392A1 publication Critical patent/WO2013084392A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Definitions

  • the present invention relates to a communication device, a communication method, and a communication control program that perform data transmission with a remote recording medium.
  • Non-Patent Document 1 A data transmission protocol used in this configuration is disclosed in Non-Patent Document 1, for example.
  • a recording medium on which data transmission is performed according to this protocol includes, for example, an SD, SDHC (SD High Capacity), or SDXC (SD eXtended Capacity) memory card.
  • the host controller outputs a command requesting data writing (hereinafter referred to as “write command”) to the recording medium.
  • write command a command requesting data writing
  • the recording medium stands by until a write response described later is input.
  • write response a response to the write command
  • the host controller starts outputting data (hereinafter referred to as “write data”) for writing to the recording medium toward the recording medium on the condition (trigger) that the write response has been input.
  • write data data for writing to the recording medium toward the recording medium on the condition (trigger) that the write response has been input.
  • the above protocol can realize high-speed data transmission in a configuration in which the host controller transmits data via a local recording medium and a bus.
  • the configuration referred to here is hereinafter referred to as “local configuration”.
  • the protocol requires the host controller to input a write response as a condition for starting output of write data. For this reason, when the above protocol is applied to a configuration in which the host controller performs data transmission via a remote recording medium and a transmission path other than the bus, there are the following problems.
  • the configuration referred to here is hereinafter referred to as “remote configuration”.
  • the time required for the host controller to output the write command and receive the write response is longer in the remote configuration than in the local configuration. Therefore, in the remote configuration, the output of the write data is delayed compared to the local configuration. As a result, the remote configuration has a problem that data cannot be written at high speed.
  • An object of the present invention is to provide a communication device, a communication method, and a communication control program capable of writing data to a remote recording medium at high speed.
  • the communication apparatus is a communication apparatus that starts writing data to a recording medium of another remote apparatus by using input of permission information indicating that the writing is permitted as a trigger.
  • a command analysis control unit that generates and outputs proxy permission information instead of the permission information when the writing of the command is normally completed, and a command that starts writing the data with the input of the proxy permission information as a trigger
  • a data generation unit that generates and outputs proxy permission information instead of the permission information when the writing of the command is normally completed, and a command that starts writing the data with the input of the proxy permission information as a trigger.
  • the communication method of the present invention is a communication method in a communication device that starts writing data to a recording medium of another remote device as a trigger by inputting permission information indicating that the writing is permitted. Generating and outputting proxy permission information as a substitute for the permission information when the data writing is normally completed; and starting writing the data using the input of the proxy permission information as a trigger; Have.
  • the communication control program of the present invention is a communication control program that causes a computer of a communication device to start writing data to a recording medium of another remote device as a trigger by inputting permission information indicating that the writing is permitted. And, when the previous writing of the data has been completed normally, the process of generating and outputting proxy permission information instead of the permission information, and the input of the proxy permission information as a trigger And a process of starting writing.
  • the present invention can write data to a remote recording medium at high speed.
  • the figure which shows the example of the content of the command in this Embodiment, and data The figure which shows the example of the content of the aggregation data in this Embodiment
  • movement of the communication system in this Embodiment The sequence diagram which shows an example of operation
  • FIG. 1 shows a configuration of a communication system according to the present embodiment.
  • a case where data storage unit 220 data in second communication device 200 remote from first communication device 100 is written will be described as an example.
  • the first communication device 100 writes data (hereinafter referred to as “data write” as appropriate) to the data storage unit 220 in the remote second communication device 200. It is.
  • the first communication device 100 includes a communication control unit 110, a data storage unit 120, a command / data generation unit 130, a command analysis control unit 140, a data transmission control unit 150, and a transmission standby unit 160.
  • a communication control unit 110 receives a communication signal from a communication control unit 110 and a command / data generation unit 130.
  • a command analysis control unit 140 receives a command from the data transmission control unit 150.
  • a transmission standby unit 160 a transmission standby unit.
  • the communication control unit 110 performs, for example, transmission of a write command, reception of a write response, transmission of write data, and reception of status information with the second communication device 200.
  • the status information is information indicating whether or not data writing to the data storage unit 220 has been normally completed.
  • the successful completion of data writing to the data storage unit 220 is referred to as “normal termination”.
  • the fact that data writing to the data storage unit 220 did not end normally is called “abnormal end”.
  • the status information indicates either normal end or abnormal end.
  • the communication control unit 110 is a wireless communication interface such as a wireless LAN device and a wireless gigabit (WiGig) device.
  • WiGig is a wireless communication standard that uses millimeter waves in the 60 GHz band, assuming replacement for wire PAN applications exceeding 1 Gbps.
  • the data storage unit 120 is a nonvolatile recording medium (electronic medium) capable of writing and reading data.
  • the non-volatile recording medium is, for example, an SD, SDHC (SD High Capacity), SDXC (SD eXtended Capacity) memory card, or a built-in memory using Embedded SD.
  • the command / data generator 130 generates a command for making a predetermined request to the second communication device 200 and outputs the command to the command analysis controller 140.
  • the above commands include a write command, a read command, and a control command.
  • the write command is a command for requesting data writing to the data storage unit 220 as described above.
  • the write command is also called “request information”.
  • the read command is a command for requesting reading of data stored in the data storage unit 220.
  • the control command is a command for requesting the second communication device 200 to perform predetermined control.
  • the contents of the control command include a request for initialization of the data storage unit 220, a request for checking the free capacity of the data storage unit 220, and a request for acquisition of status information.
  • the command / data generation unit 130 generates a write command and outputs it to the command analysis control unit 140 every time data is written.
  • command / data generation unit 130 reads out the write data from the data storage unit 120 and outputs it to the command analysis control unit 140.
  • the command / data generation unit 130 needs to input a write response or a proxy response described later from the command analysis control unit 140.
  • the write response or proxy response is information that permits writing of data requested by the write command. Therefore, the command / data generation unit 130 starts outputting the write data to the command analysis control unit 140 using the input of the write response or the proxy response from the command analysis control unit 140 as a trigger.
  • the command / data generation unit 130 reads a plurality of write data from the data storage unit 120, the command / data generation unit 130 may sequentially output the write data to the command analysis control unit 140.
  • the write response is also referred to as “permission information”
  • the proxy response is also referred to as “proxy permission information”.
  • the command / data generation unit 130 stops outputting write data to the command analysis control unit 140.
  • the command / data generation unit 130 stops the data write requested by the most recent write command output to the command analysis control unit 140.
  • the command and data that the command / data generation unit 130 outputs to the command analysis control unit 140 is hereinafter referred to as “input command”.
  • the command analysis control unit 140 analyzes the input command from the command / data generation unit 130. As a result of the analysis, the command analysis control unit 140 determines whether the input command is write data, or is a write command, a read command, or a control command. Further, as a result of the analysis, the command analysis control unit 140 determines whether or not the write command requests the first data write, or determines whether or not the write command is waiting in the transmission standby unit 160. Or Then, the command analysis control unit 140 outputs a predetermined instruction together with the input command to the data transmission control unit 150 according to the result of each determination.
  • first data write means the first write among data writes continuously performed a plurality of times for a predetermined address of the data storage unit 220.
  • command analysis control unit 140 outputs the write response from the second communication device 200 input from the data transmission control unit 150 to the command / data generation unit 130.
  • the command analysis control unit 140 stores the status information from the second communication device 200 input from the data transmission control unit 150 and outputs it to the command / data generation unit 130.
  • the status information is transmitted from the second communication device 200 to the first communication device 100 every time data writing to the data storage unit 220 is performed. Therefore, each time status information is input from the data transmission control unit 150, the command analysis control unit 140 stores the status information by overwriting the status information stored so far.
  • the command analysis control unit 140 determines that the write command does not request the first write, the command analysis control unit 140 checks the content of the saved status information. Then, when the status information indicates abnormal termination, the command analysis control unit 140 outputs an instruction to stop data writing to the command / data generation unit 130. On the other hand, when the status information indicates normal end, the command analysis control unit 140 generates a proxy response that replaces the write response from the second communication device 200 and outputs the proxy response to the command / data generation unit 130. The proxy response is handled in the command / data generation unit 130 in the same manner as the write response from the second communication device 200.
  • the command analysis control unit 140 When the command analysis control unit 140 outputs a proxy response to the command / data generation unit 130, the command analysis control unit 140 outputs a standby instruction to the data transmission control unit 150 together with the write command from the command / data generation unit 130.
  • This standby instruction is an instruction for causing the transmission standby unit 160 to wait without transmitting the write command to the second communication apparatus 200 immediately.
  • the data transmission control unit 150 In the case of the first data writing, the data transmission control unit 150 generates a header necessary for communicating with the second communication device 200 in response to the write command and the status acquisition command input from the command analysis control unit 140. To grant. Then, the data transmission control unit 150 outputs each command with a header to the communication control unit 110.
  • the status acquisition command is an example of a control command, and is a content for requesting the second communication apparatus 200 to acquire status information.
  • the data transmission control unit 150 performs aggregation (aggregation) on the write data input from the command analysis control unit 140, and generates aggregation data. Then, when the aggregation data reaches a specified size, the data transmission control unit 150 adds a header to the aggregation data and generates transmission information. Then, the data transmission control unit 150 outputs the generated transmission information to the communication control unit 110.
  • aggregation aggregation
  • the data transmission control unit 150 removes the header from the write response from the second communication device 200 input from the communication control unit 110. Then, the data transmission control unit 150 outputs a write response with the header removed to the command analysis control unit 140.
  • the data transmission control unit 150 outputs the write command, the standby instruction, and the write data input from the command analysis control unit 140 to the transmission standby unit 160.
  • the “second and subsequent data writing” refers to the second and subsequent writings following the first data writing among the data writing continuously performed a plurality of times to a predetermined address of the data storage unit 220. To do.
  • the data transmission control unit 150 adds a header to the aggregation data input from the transmission standby unit 160 and generates transmission information. Then, the data transmission control unit 150 outputs the generated transmission information to the communication control unit 110.
  • the data transmission control unit 150 outputs the status information from the second communication device 200 input from the communication control unit 110 to the command analysis control unit 140 in the first and second and subsequent data writing.
  • the transmission standby unit 160 waits for the write command and waits for input of write data. Thereafter, the transmission standby unit 160 performs aggregation on the write data input from the data transmission control unit 150 and the write command that has been on standby, and generates aggregation data. Then, when the aggregation data reaches the specified size, the transmission standby unit 160 outputs the generated aggregation data to the data transmission control unit 150.
  • the first communication device 100 When such a first communication device 100 performs the second and subsequent data writing to the remote data storage unit 220, the first communication device 100 sends a proxy response having the same function as the write response from the second communication device 200. Generate. Then, the first communication device 100 starts outputting write data using this proxy response as a trigger. That is, the first communication device 100 can transmit the write data to the second communication device 200 without waiting for the time required for wireless transmission of the write command and the write response. As a result, the first communication device 100 can perform data writing to the remote data storage unit 220 at high speed.
  • the second communication device 200 is a device that receives data writing to the data storage unit 220 in the second communication device 200 by the remote first communication device 100.
  • the second communication device 200 may be either a portable type or a fixed type.
  • the second communication device 200 includes a communication control unit 210, a data storage unit 220, a command / data generation unit 230, a command analysis control unit 240, and a data transmission control unit 250.
  • the communication control unit 210 is a wireless communication interface such as a wireless LAN device and a WiGig device, for example, like the communication control unit 110.
  • the communication control unit 210 receives a write command, transmits a write response, receives write data, and transmits status information with the first communication apparatus 100.
  • the data storage unit 220 is a non-volatile recording medium (electronic medium) capable of writing and reading data, similar to the data storage unit 120.
  • the data storage unit 220 is, for example, an SD, SDHC (SD High Capacity), SDXC (SD eXtended Capacity) memory card, or a built-in memory using Embedded SD.
  • the data storage unit 220 performs data writing and data reading by access from the first communication device 100.
  • the data transmission control unit 250 removes the header for the write command from the first communication device 100 input from the communication control unit 210 in the case of the first data writing. Then, the data transmission control unit 250 outputs the write command with the header removed to the command analysis control unit 240. Note that the data transmission control unit 250 also processes the status acquisition command from the first communication device 100 input from the communication control unit 210 in the same manner as described above in the case of the first data writing.
  • the data transmission control unit 250 temporarily stores the address information when the write response and the address information are input from the command analysis control unit 240. In addition, the data transmission control unit 250 generates a header, adds the header to the write response, and outputs the write response to the communication control unit 210.
  • the address information is information indicating an address in the data storage unit 220. The address information here indicates an address to which data is written.
  • the data transmission control unit 250 removes the header from the transmission information from the first communication device 100 input from the communication control unit 210. As a result, the data transmission control unit 250 acquires aggregation data composed only of write data. Then, the data transmission control unit 250 writes the write data constituting the aggregation data to the data storage unit 220 based on the address information temporarily stored.
  • the data transmission control unit 250 removes the header from the transmission information from the first communication device 100 input from the communication control unit 110 in the second and subsequent data writing. As a result, the data transmission control unit 250 acquires aggregation data configured by both the write command and the write data. Then, the data transmission control unit 250 separates the write command and the write data, temporarily stores the write data, and outputs the write command to the command analysis control unit 240. Thereafter, when the address information is input from the command analysis control unit 240, the data transmission control unit 250 writes the temporarily stored write data to the data storage unit 220 based on the address information.
  • the data transmission control unit 250 when the data writing to the data storage unit 220 is completed, the data transmission control unit 250 generates write completion information indicating that the data writing is completed and the address where the data writing has been performed. . Then, the data transmission control unit 250 outputs the generated write completion information to the command analysis control unit 240. Thereafter, when status information is input from the command analysis control unit 240, the data transmission control unit 250 outputs the status information to the communication control unit 210.
  • the command analysis control unit 240 determines whether or not the write command requests the first write.
  • the command analysis control unit 240 instructs the command / data generation unit 230 to generate a write response when the write command requests the first write as a result of the determination. Further, the command analysis control unit 240 extracts address information from the write command. Thereafter, the command analysis control unit 240 outputs the write response input from the command / data generation unit 230 and the extracted address information to the data transmission control unit 250. Thereafter, when a status acquisition command is input from the data transmission control unit 250, the command analysis control unit 240 instructs the command / data generation unit 230 to generate status information.
  • the command analysis control unit 240 extracts address information from the write command when the write command does not request the first write as a result of the determination, that is, when the second or subsequent write is requested. Then, the command analysis control unit 240 outputs the extracted address information to the data transmission control unit 250.
  • the command analysis control unit 240 when the write completion information is input from the data transmission control unit 250, the command analysis control unit 240 outputs the write completion information to the command / data generation unit 230. Thereafter, when status information is input from the command / data generation unit 230, the command analysis control unit 240 outputs the status information to the data transmission control unit 250.
  • the command / data generation unit 230 When the command / data generation unit 230 receives an instruction to generate a write response from the command analysis control unit 240, the command / data generation unit 230 generates a write response. Then, the command / data generation unit 230 outputs a write response to the command analysis control unit 240.
  • the command / data generation unit 230 When the command / data generation unit 230 receives an instruction to generate status information from the command analysis control unit 240 and receives write completion information, the data is normally written to the address indicated by the write completion information. It is determined whether or not.
  • the command / data generation unit 230 generates status information indicating normal end when the data is normally written as a result of the determination. On the other hand, if the data is not normally written as a result of the determination, the command / data generation unit 230 generates status information indicating abnormal termination. The command / data generator 230 outputs the generated status information to the command analysis controller 240.
  • Such a second communication device 200 separates the write data and the write command when the aggregation data from the first communication device 100 is composed of both the write data and the write command. Therefore, even if the second communication device 200 receives the write command and the write data at the same time, the second communication device 200 can perform the data writing as in the case where they are received separately.
  • Each of the first communication device 100 and the second communication device 200 includes, for example, a CPU (Central Processing Unit), a recording medium such as a ROM (Read Only Memory) storing a control program, and a RAM (Random Access Memory). Has working memory. In this case, the function of each component described above is realized by the CPU executing the control program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • each function part of the 1st communication apparatus 100 and the 2nd communication apparatus 200 may comprise an integrated circuit, for example.
  • Each function part of the 1st communication apparatus 100 and the 2nd communication apparatus 200 may be individually made into 1 chip, and may be made into one chip by plurality.
  • the integrated circuit may be an LSI (Large Scale Integration), an IC (Integrated Circuit), a system LSI, a super LSI, or an ultra LSI, depending on the degree of integration.
  • the integrated circuit may be realized by a dedicated circuit or a general-purpose processor.
  • the integrated circuit may be an FPGA (Field Programmable Gate Array) that can be programmed after manufacture, or a configurable processor that can reconfigure the connection and setting of internal circuit cells.
  • FPGA Field Programmable Gate Array
  • each functional unit of the first communication device 100 and the second communication device 200 may be replaced with another integrated circuit technology (for example, biotechnology) that replaces the LSI in accordance with the progress of semiconductor technology or another technology derived therefrom. It may be realized by an integrated device.
  • another integrated circuit technology for example, biotechnology
  • the communication apparatus may have a user interface for the user to select and execute an operation.
  • the communication device may have functions such as an input key, a display, a microphone, a speaker, a camera, a vibrator, and a memory for storing and executing programs as user interfaces.
  • FIG. 2 is a diagram illustrating an example of a command format and a data format.
  • the command format has a command number 310, an argument 311, and a CRC (Cyclic Redundancy Check) 312.
  • the command number 310 is assigned to the first byte.
  • the command number 310 is a number indicating, for example, data writing, data reading, predetermined control, and the like.
  • Argument 311 is assigned to 4 bytes following the command number.
  • An argument 311 is an argument of a command, and includes address information indicating an access destination address.
  • the CRC 312 is assigned to 1 byte following the argument 311.
  • the CRC 312 is a CRC check code for confirming whether or not the command has been transmitted correctly.
  • the data format has a token 410, data 411, and CRC 412.
  • Token 410 is assigned to the first byte.
  • the token 410 indicates the type of data, for example, a number indicating whether it is write data or read data.
  • Data 411 is allocated to 1 to 2048 bytes following the token.
  • Data 411 is variable-length data that is actually read or written.
  • the length of the data 411 is 512 bytes by default, but can be changed.
  • the CRC 412 is assigned to 2 bytes following data 411.
  • the CRC 412 is a CRC check code for confirming whether or not data is correctly transmitted.
  • each determination described above can be realized by each command and data format. That is, the command analysis control unit 140 determines the input command based on the first byte of the input command transferred from the command / data generation unit 130. The input command is determined as write data, or a write command, a read command, or a control command. The command analysis control unit 240 can also make the same determination as described above.
  • the command analysis control unit 140 can determine whether the write command is a request for the first write based on the address information included in the argument 311. That is, each time the command analysis control unit 140 determines that the input command is a write command, it extracts the address information from the argument 311 and temporarily stores it. After that, the command analysis control unit 140 obtains the address indicated by the address information extracted from the write command determined this time and the address indicated by the address information extracted from the previously determined write command and temporarily stored. Compare. In this comparison result, an address obtained by adding (advancing) the number of bytes corresponding to the size of the data written after that to the address indicated by the previously determined write command is the address indicated by the currently determined write command (at the write start position). May match.
  • the command analysis control unit 140 determines that the write command determined this time is not a request for the first write but a request for the second and subsequent writes. On the other hand, if the addresses do not match in the comparison result, the command analysis control unit 140 determines that the write command determined this time is a request for the first write.
  • the command analysis control unit 240 can also make the same determination as described above.
  • FIG. 3 is a diagram showing an example of a format of transmission information.
  • Transmission information 510 illustrated in FIG. 3 is data transmitted from the first communication device 100 to the second communication device 200 at the second and subsequent data writing.
  • the transmission information 510 includes a header 511, command information 515, and data 512.
  • the header 511 includes a transmission destination address 513 and a transmission source address 514.
  • the header 511 is data necessary for the first communication device 100 to communicate with the second communication device 200.
  • the transmission destination address 513 describes the address of the second communication device 200.
  • the source address 514 describes the address of the first communication device 100.
  • the address here is, for example, a MAC (Media Access Control) address for identifying a communication device.
  • command identification information for identifying a command is expressed in several bytes.
  • the command identification information is, for example, the command number 310 and the argument 311 shown in FIG.
  • the data 512 is, for example, data obtained by aggregating 1 to N pieces of data 411 shown in FIG.
  • the transmission information 510 at the second and subsequent data writing has a configuration in which command information 515 as a write command and data 512 as write data are aggregated.
  • the transmission information 510 is given a header 511 in the data transmission control unit 150 after the command information 515 and the data 512 are aggregated in the transmission standby unit 160.
  • the transmission information at the time of the first data writing is a configuration obtained by removing the command information 515 from the configuration shown in FIG.
  • the transmission information is given a header 511 after the data transmission control unit 150 aggregates the data 512.
  • FIG. 4 is a flowchart showing an example of the operation of the first communication device 100.
  • step S001 the command / data generation unit 130 generates a command or data as an input command and transfers the command or data to the command analysis control unit 140.
  • step S002 the command analysis control unit 140 analyzes the input command input from the command / data generation unit 130.
  • step S003 the command analysis control unit 140 first determines whether or not the input command is a write command. This determination is made based on the first byte of the input command as described above. If it is determined that the input command is a write command (S003: YES), the command analysis control unit 140 proceeds to step S004. On the other hand, if it is determined that the input command is not a write command (S003: NO), the command analysis control unit 140 proceeds to step S013. Step S013 and subsequent steps will be described later. Note that data writing requested by the write command means data writing that is continuously performed a plurality of times for a predetermined address of the data storage unit 220 as described above.
  • step S004 the command analysis control unit 140 determines whether or not the write command requests the first write. This determination is made based on the address information included in the argument 311 as described above. If it is determined that the write command is the first write (S004: YES), the command analysis control unit 140 proceeds to step S005. On the other hand, if it is determined that the write command is not the first write (S004: NO), the command analysis control unit 140 proceeds to step S009. Steps after S009 will be described later.
  • the command analysis control unit 140 immediately transmits the write command to the second communication device 200 to the data transmission control unit 150. To instruct. This instruction is referred to as “immediate transfer instruction”. Further, the command analysis control unit 140 outputs a write command to the data transmission control unit 150 together with an immediate transfer instruction.
  • step S005 when the data transmission control unit 150 confirms the immediate transfer instruction and the write command from the command analysis control unit 140, the data transmission control unit 150 generates a header necessary for communicating with the remote second communication device 200.
  • This header includes a transmission destination address 513 and a transmission source address 514 shown in FIG. Then, the data transmission control unit 150 adds the generated header to the write command and outputs it to the communication control unit 110.
  • step S006 the communication control unit 110 transmits the write command from the data transmission control unit 150 to the second communication device 200 via wireless. Thereafter, the communication control unit 110 receives a write response to the write command from the second communication device 200 via wireless. The communication control unit 110 outputs the received write response to the data transmission control unit 150.
  • step S007 the data transmission control unit 150 removes the header given to the write response from the communication control unit 110. Then, the data transmission control unit 150 outputs a write response with the header removed to the command analysis control unit 140.
  • step S 008 the command analysis control unit 140 outputs the write response from the data transmission control unit 150 to the command / data generation unit 130. Then, the command analysis control unit 140 returns to step S001.
  • step S001 when the command / data generation unit 130 confirms the write response from the command analysis control unit 140, the command / data generation unit 130 reads the write data from the data storage unit 120.
  • This write data is, for example, data designated in advance by the user. Then, the command / data generation unit 130 outputs the write data as an input command to the command analysis control unit 140. When there are a plurality of write data, each write data is sequentially output. Thereafter, the process proceeds to step S002, and the command analysis control unit 140 analyzes the write data as described above.
  • step S009 and subsequent steps will be described.
  • step S009 the command analysis control unit 140 confirms whether the stored status information indicates normal end or abnormal end.
  • the status information confirmed here is the content indicating the result of the previous data writing.
  • the command analysis control unit 140 proceeds to step S012.
  • the command analysis control unit 140 proceeds to step S010.
  • step S 012 the command analysis control unit 140 outputs an instruction to stop data writing to the command / data generation unit 130.
  • the command / data generation unit 130 stops reading the write data from the data storage unit 120.
  • the command analysis control unit 140 stops the data write requested by the latest write command and ends the process.
  • step S 010 the command analysis control unit 140 generates a proxy response and outputs it to the command / data generation unit 130.
  • the proxy response is handled in the command / data generation unit 130 in the same manner as the write response from the second communication device 200.
  • step S011 the command analysis control unit 140 outputs a standby instruction to the data transmission control unit 150 together with the write command.
  • the standby instruction is an instruction for causing the transmission standby unit 160 to wait without transmitting the write command to the second communication apparatus 200 immediately.
  • the data transmission control unit 150 outputs a write command and a standby instruction to the transmission standby unit 160.
  • the transmission standby unit 160 stores the write command according to the standby instruction.
  • the command analysis control unit 140 returns to step S001.
  • step S001 when the command / data generation unit 130 confirms the proxy response from the command analysis control unit 140, the command / data generation unit 130 reads the write data from the data storage unit 120. Then, the command / data generation unit 130 outputs the read write data to the command analysis control unit 140 as an input command. Thereafter, the process proceeds to step S002, and the command analysis control unit 140 analyzes the write data as described above.
  • step S013 and subsequent steps will be described.
  • step S013 the command analysis control unit 140 determines whether the input command is write data. This determination is made based on the first byte of the input command as described above. If it is determined that the input command is write data (S013: YES), the command analysis control unit 140 proceeds to step S014. On the other hand, if it is determined that the input command is not write data (S013: NO), the command analysis control unit 140 proceeds to step S021. Steps S021 and after will be described later.
  • step S014 the command analysis control unit 140 determines whether or not a write command is waiting.
  • the command analysis control unit 140 determines that the write command is waiting when the standby instruction is transmitted to the data transmission control unit 150, and writes when the standby instruction is not transmitted. Determine that the command is not waiting.
  • the command analysis control unit 140 outputs write data to the data transmission control unit 150 together with an immediate transfer instruction.
  • step S015 upon receiving an immediate transfer instruction from the command analysis control unit 140, the data transmission control unit 150 aggregates the input write data. That is, the data transmission control unit 150 generates aggregation data composed only of the data 512 by concatenating sequentially inputted write data.
  • step S022 the data transmission control unit 150 determines whether or not the generated aggregation data has reached the specified size every time the input write data is connected. When the aggregation data has not reached the specified size (S022: NO), the data transmission control unit 150 further links the input write data to the aggregation data and performs the above determination. As described above, the data transmission control unit 150 repeats the connection and determination of the write data until the generated aggregation data reaches a specified size. Then, when the generated aggregation data reaches a specified size (S022: YES), the data transmission control unit 150 proceeds to S018.
  • the command analysis control unit 140 outputs write data together with a transfer instruction to the transmission standby unit 160 to the data transmission control unit 150.
  • the data transmission control unit 150 outputs the input write data to the transmission standby unit 160.
  • step S016 the transmission standby unit 160 aggregates the write command and the write data input from the data transmission control unit 150. That is, the data transmission control unit 150 concatenates the sequentially input write data after the write command that has been waiting, and generates aggregation data including both command information 515 and data 512.
  • step S017 the transmission standby unit 160 determines whether or not the generated aggregation data has reached the specified size every time the input write data is connected. When the aggregation data has not reached the specified size (S017: NO), the transmission standby unit 160 further links the input write data to the aggregation data and performs the above determination. As described above, the transmission standby unit 160 repeats the connection and determination of the write data until the generated aggregation data reaches a specified size. When the generated aggregation data reaches a specified size (S017: YES), the transmission standby unit 160 outputs the aggregation data to the data transmission control unit 150, and proceeds to S018.
  • step S018 the data transmission control unit 150 generates the transmission information described above by generating a header and adding the header to the generated aggregation data. Then, the data transmission control unit 150 outputs the generated transmission information to the communication control unit 110.
  • step S019 the communication control unit 110 transmits the transmission information from the data transmission control unit 150 to the second communication device 200 via radio. Thereafter, the communication control unit 110 receives status information indicating a write result of the write data included in the transmission information from the second communication device 200 via wireless. The communication control unit 110 outputs the received status information to the data transmission control unit 150. Then, the data transmission control unit 150 outputs the status information to the command analysis control unit 140.
  • step S020 the command analysis control unit 140 stores the status information input from the data transmission control unit 150 and outputs the status information to the command / data generation unit 130. Note that, when saving the status information, the command analysis control unit 140 overwrites the status information input this time with the status information stored so far.
  • step S021 and subsequent steps will be described.
  • step S013 when the command analysis control unit 140 determines that the input command is not write data (S013: NO), the input command is a read command or a control command. In this case, the command analysis control unit 140 outputs an input command to the data transmission control unit 150 together with an immediate transfer instruction.
  • step S021 when the data transmission control unit 150 confirms the immediate transfer instruction and the input command from the command analysis control unit 140, the data transmission control unit 150 generates a header. Then, the data transmission control unit 150 attaches the generated header to the input command and outputs it to the communication control unit 110.
  • step S022 the communication control unit 110 transmits the input command from the data transmission control unit 150 to the second communication device 200 via radio.
  • the first communication device 100 when the first communication device 100 performs the second and subsequent data writing to the remote data storage unit 220, the first communication device 100 triggers the proxy response generated by itself to the second communication device 200. To start sending write data. As a result, the first communication device 100 does not need to transmit a write command to the second communication device 200 and receive a write response from the second communication device 200. Therefore, the first communication device 100 can reduce the time taken to transmit the write command and the time taken to receive the write response. As a result, the first communication device 100 can perform data writing to the remote data storage unit 220 at high speed. In addition, the first communication device 100 can also reduce the power required for transmitting the write command and the power required for receiving the write response. As a result, the first communication device 100 can perform data writing to the remote data storage unit 220 with power saving.
  • FIG. 5 is a sequence diagram showing an example of the operation of the communication system when data is written for the first time.
  • the command analysis control unit 140 and the transmission standby unit 160 are not shown.
  • step S101 the command / data generation unit 130 generates a write command.
  • step S102 the command / data generation unit 130 outputs the generated write command to the data transmission control unit 150.
  • the write command is transferred via the command analysis control unit 140.
  • the command analysis control unit 140 determines that the input command is a write command, and determines that the write command requests the first write.
  • step S103 the data transmission control unit 150 generates a header and adds the generated header to the input write command.
  • step S104 the data transmission control unit 150 outputs a write command with a header to the communication control unit 110.
  • step S105 the communication control unit 110 wirelessly transmits the input write command to the second communication device 200.
  • step S106 the second communication device 200 generates a write response to the write command received from the first communication device 100.
  • the write response is generated by the command / data generator 230 as described above. Further, as described above, the data transmission control unit 250 adds a header to the write response.
  • step S107 the second communication device 200 wirelessly transmits the generated write response to the first communication device 100.
  • step S108 the communication control unit 110 outputs the write response received from the second communication device 200 to the data transmission control unit 150.
  • step S109 the data transmission control unit 150 removes the header from the input write response.
  • step S110 the data transmission control unit 150 outputs a write response with the header removed to the command / data generation unit 130. At this time, the write response is transferred via the command analysis control unit 140.
  • step S111 when the command / data generation unit 130 confirms the write response, the command / data generation unit 130 generates write data. That is, the command / data generation unit 130 reads N pieces of write data from the data storage unit 120.
  • step S112 the command / data generation unit 130 sequentially outputs N pieces of write data to the data transmission control unit 150. At this time, the write data is transferred via the command analysis control unit 140. Then, the command analysis control unit 140 determines that the input command is write data, and determines that the write command is not waiting.
  • step S113 the data transmission control unit 150 performs aggregation on the input N pieces of write data until a predetermined size is reached.
  • step S114 the data transmission control unit 150 generates a header and assigns the header to the aggregation data that has reached the specified size. Thereby, transmission information is completed.
  • This transmission information is configured to exclude the command information 515 from the transmission information 510 shown in FIG.
  • step S115 the data transmission control unit 150 outputs the input transmission information to the communication control unit 110.
  • step S116 the communication control unit 110 wirelessly transmits the input transmission information to the second communication device 200.
  • step S117 when the second communication device 200 receives the transmission information from the first communication device 100, the second communication device 200 removes the header and acquires the write data. Then, the second communication device 200 writes the write data to the data storage unit 220 based on the previously received write command. This data writing is performed by the data transmission control unit 250 as described above.
  • step S118 the command / data generation unit 130 that has finished outputting the write data generates a status acquisition command as a control command for requesting acquisition of status information.
  • step S119 the command / data generation unit 130 outputs the generated status acquisition command to the data transmission control unit 150.
  • the status acquisition command is transferred via the command analysis control unit 140.
  • the command analysis control unit 140 determines that the input command is a status acquisition command.
  • step S120 the data transmission control unit 150 generates a header and adds the generated header to the input status acquisition command.
  • step S121 the data transmission control unit 150 outputs a status acquisition command with a header to the communication control unit 110.
  • step S122 the communication control unit 110 wirelessly transmits the input status acquisition command to the second communication device 200.
  • step S123 when the second communication device 200 receives the status acquisition command from the first communication device 100, the second communication device 200 generates status information indicating the result of writing to the data storage unit 220 (S117).
  • the status information is generated by the command / data generator 230 as described above.
  • step S124 the second communication device 200 wirelessly transmits the generated status information to the first communication device 100.
  • step S125 the communication control unit 110 outputs the status information received from the second communication device 200 to the data transmission control unit 150.
  • step S126 the data transmission control unit 150 outputs the input status information to the command / data generation unit 130.
  • the status information is transferred via the command analysis control unit 140 and stored in the command analysis control unit 140.
  • FIG. 6 is a sequence diagram showing an example of the operation of the communication system at the second and subsequent data writing.
  • step S201 the command / data generation unit 130 generates a write command.
  • step S202 the command / data generator 130 outputs the generated write command to the command analysis controller 140.
  • step S203 the command analysis control unit 140 analyzes the input write command. As a result of the analysis, the command analysis control unit 140 determines that the input command is a write command, and determines that the write command requests a second or subsequent write.
  • step S204 the command analysis control unit 140 confirms whether the previous data write is a normal end or an abnormal end based on the stored status information. In the example of FIG. 6, it is assumed that the status information indicates normal end.
  • step S205 the command analysis control unit 140 generates a proxy response and outputs the proxy response to the command / data generation unit 130.
  • step S206 the command analysis control unit 140 outputs a write command and a standby instruction to the data transmission control unit 150.
  • step S207 the data transmission control unit 150 outputs the input write command and standby instruction to the transmission standby unit 160.
  • step S208 the data transmission control unit 150 waits for the input write command and waits for subsequent write data in accordance with the standby instruction.
  • step S209 when the command / data generation unit 130 confirms the proxy response, the command / data generation unit 130 generates write data. That is, the command / data generation unit 130 reads N pieces of write data from the data storage unit 120.
  • step S210 the command / data generation unit 130 sequentially outputs N pieces of write data to the command analysis control unit 140.
  • step S211 the command analysis control unit 140 analyzes each of the input N pieces of write data. As a result of the analysis, the command analysis control unit 140 determines that each input command is write data, and determines that the write command is waiting.
  • step S212 the command analysis control unit 140 outputs the input N pieces of write data and a transfer instruction to the transmission standby unit 160 to the data transmission control unit 150.
  • step S 213 the data transmission control unit 150 outputs the input N pieces of write data to the transmission standby unit 160 in accordance with a transfer instruction to the transmission standby unit 160.
  • step S214 the transmission standby unit 160 performs aggregation between the waiting write command and the input N pieces of write data until a predetermined size is reached.
  • step S215 the transmission standby unit 160 outputs the aggregation data that has reached the specified size to the data transmission control unit 150.
  • step S216 the data transmission control unit 150 generates a header, and adds the generated header to the aggregation data that has reached the specified size. Thereby, the transmission information 510 shown in FIG. 3 is completed.
  • step S217 the data transmission control unit 150 outputs the transmission information to the communication control unit 110.
  • step S218 the communication control unit 110 wirelessly transmits the input transmission information to the second communication device 200.
  • step S219 when the second communication device 200 receives the transmission information from the first communication device 100, the second communication device 200 removes the header and acquires the write command and the write data, respectively. Then, the second communication device 200 writes the write data to the data storage unit 220 based on the write command. This data writing is performed by the data transmission control unit 250 as described above.
  • step S220 the second communication device 200 generates status information indicating the result of data writing (S219).
  • the status information is generated by the command / data generator 230 as described above.
  • step S221 the second communication device 200 wirelessly transmits the generated status information to the first communication device 100.
  • step S222 the communication control unit 110 outputs the status information received from the second communication device 200 to the data transmission control unit 150.
  • step S223 the data transmission control unit 150 outputs the input status information to the command analysis control unit 140.
  • step S224 the command analysis control unit 140 stores status information.
  • step S225 the command analysis control unit 140 outputs status information to the command / data generation unit 130.
  • the first communication device 100 continuously writes data to the data storage unit 220 of the remote second communication device 200 a plurality of times, the second and subsequent data writes are performed.
  • the description of the operation example ends.
  • the first communication device 100 when the first communication device 100 performs the second and subsequent data writing to the remote data storage unit 220, the first communication device 100 triggers the proxy response generated by itself to the second communication device 200. To start sending write data. As a result, the first communication device 100 does not need to transmit a write command to the second communication device 200 and receive a write response from the second communication device 200. Therefore, the first communication device 100 can reduce the time taken to transmit the write command and the time taken to receive the write response. As a result, the first communication device 100 can perform data writing to the remote data storage unit 220 at high speed.
  • the first communication device 100 can reduce the power required for transmitting the write command and the power required for receiving the write response. As a result, the first communication device 100 can perform data writing to the remote data storage unit 220 with power saving.
  • the communication device is a communication device that starts writing data to a recording medium of another remote device using a write response input indicating that the writing is permitted as a trigger.
  • the command analysis control unit that generates and outputs a proxy response instead of the write response, and the data writing starts with the input of the proxy response as a trigger And a command / data generator.
  • the communication apparatus according to the present embodiment when the communication apparatus according to the present embodiment performs the second and subsequent data writing to the remote recording medium of the other apparatus, the data written to the other apparatus is triggered by the proxy response generated by itself. Start sending. Thereby, the communication apparatus according to the present embodiment does not need to execute transmission of a write command to another apparatus and reception of a write response from the other apparatus. Therefore, the communication apparatus according to the present embodiment can reduce the time required for transmitting the write command and the time required for receiving the write response. As a result, the communication apparatus according to the present embodiment can write data to the recording medium of another remote apparatus at high speed. In addition, the communication apparatus according to the present embodiment can reduce the power required for transmitting the write command and the power required for receiving the write response. As a result, the communication apparatus according to the present embodiment can perform data writing on the recording medium of another remote apparatus with power saving.
  • the first communication device 100 and the second communication device 200 are connected wirelessly, but may be connected by wire such as a LAN cable.
  • the command / data generation unit 130 when the status information indicates abnormal termination, the command / data generation unit 130 that has received the data write stop instruction immediately stops reading and outputting the write data. It is not limited to.
  • the command / data generation unit 130 may output write data in order to attempt retransmission after receiving an instruction to stop data writing. Then, the command / data generation unit 130 may stop reading and outputting the write data when the retransmission has failed a predetermined number of times.
  • the user when the status information indicates abnormal termination, the user may be notified via the user interface that data writing is to be stopped.
  • the specified size of the aggregation data may be a size specified by the user.
  • the communication device is a communication device that starts writing data on a recording medium of another remote device by using the input of permission information indicating that the writing is permitted as a trigger.
  • a command analysis control unit that generates and outputs proxy permission information instead of the permission information, and starts writing the data with the input of the proxy permission information as a trigger And a command / data generator.
  • the communication device further includes a transfer standby unit that waits for request information indicating that the data write is requested when the command analysis control unit generates the proxy permission information.
  • the transfer standby unit performs aggregation on the data output by the command / data generation unit triggered by the input of the proxy permission information and the request information that has been standby in advance, thereby obtaining the aggregation data. Generate.
  • the command analysis control unit instructs the command / data generation unit to stop writing the data when the previous data writing is not normally completed.
  • the command / data generation unit stops outputting the data according to an instruction to stop writing the data.
  • the command analysis control unit acquires status information indicating whether or not the writing of the data has been normally completed from the other device and stores the status information.
  • the communication method of the present disclosure is a communication method in a communication device that starts writing data on a recording medium of another remote device as a trigger by inputting permission information indicating that the writing is permitted.
  • a step of generating and outputting proxy permission information as a substitute for the permission information, and writing of the data is triggered by the input of the proxy permission information Steps.
  • the communication control program of the present disclosure causes the computer of the communication device to start writing data to the recording medium of another remote device that is triggered by the input of permission information indicating that the writing is permitted.
  • a program that generates and outputs proxy permission information in place of the permission information when the previous writing of the data has been completed normally, and the input of the proxy permission information as a trigger And a process of starting data writing.
  • the present invention is useful as a communication device, a communication method, and a communication program that can perform data writing processing on a remote recording medium at high speed.
  • the present invention can be applied to, for example, portable devices such as mobile phones and tablets, and personal computers.

Abstract

 リモートにある記録媒体へのデータの書き込みを高速に行うことができる通信装置。この装置では、コマンド解析制御部(140)は、コマンド・データ生成部(130)からの書き込みコマンドが、リモートにある記録媒体に対する2回目以降のデータ書き込みの要求である場合、前回の書き込み結果を示すステータス情報を確認する。コマンド解析制御部(140)は、ステータス情報が正常終了を示していれば、代理レスポンスを生成し、コマンド・データ生成部(130)へ出力する。コマンド・データ生成部(130)は、代理レスポンスの入力をトリガとして、書き込みデータを、コマンド解析制御部(140)を介してデータ伝送制御部(150)へ出力する。データ伝送制御部(150)は、書き込みデータにヘッダを付与し、通信制御部(110)を介して第2の通信装置(200)へ送信する。

Description

通信装置、通信方法、および通信制御プログラム
 本発明は、リモートにある記録媒体とデータの伝送を行う、通信装置、通信方法、および通信制御プログラムに関する。
 ホストコントローラが、ローカルにある記録媒体とバスを介して、データ伝送を行う構成がある。この構成で用いられるデータ伝送のプロトコルは、例えば、非特許文献1に開示されている。また、このプロトコルによりデータ伝送が行われる記録媒体は、例えば、SD、SDHC(SD High Capacity)、または、SDXC(SD eXtended Capacity)メモリカードがある。
 ホストコントローラが上記プロトコルにより記録媒体へデータを書き込む場合のシーケンスについて、以下に説明する。
 まず、ホストコントローラは、データの書き込みを要求するコマンド(以下、「書き込みコマンド」という)を、記録媒体へ出力する。ここで、ホストコントローラは、後述する書き込みレスポンスが入力されるまで待機する。記録媒体は、上記書き込みコマンドが要求するデータの書き込みを許可する場合、書き込みコマンドに対するレスポンス(以下、「書き込みレスポンス」という)を生成し、ホストコントローラへ出力する。そして、ホストコントローラは、書き込みレスポンスの入力があったことを条件(トリガ)として、記録媒体へ向けて、記録媒体に書き込むためのデータ(以下、「書き込みデータ」という)の出力を開始する。ホストコントローラは、これによりデータの書き込みが開始される。
 上記プロトコルは、ホストコントローラがローカルにある記録媒体とバスを介してデータの伝送を行う構成において、データ伝送を高速に実現できる。なお、ここでいう構成は、以下「ローカルの構成」という。
"SD Memory Card Specifications Simplified Version of: Part 1 PHYSICAL LAYER SPECIFICATION Version 1.01"、[online]、April 15 2001、SD Group、[平成23年11月10日検索]、インターネット〈URL:http://www.sandisk.com/Assets/File/OEM/Manuals/SD_Physical_specsv101.pdf〉
 しかしながら、上記プロトコルは、上述の通り、ホストコントローラに対し、書き込みデータの出力を開始する条件として、書き込みレスポンスを入力することが要求される。このことから、ホストコントローラがリモートにある記録媒体とバス以外の伝送路を介してデータ伝送を行う構成において、上記プロトコルを適用した場合は、以下の課題がある。なお、ここでいう構成は、以下「リモートの構成」という。
 すなわち、ホストコントローラが書き込みコマンドを出力してから書き込みレスポンスを受け取るまでに要する時間は、ローカルの構成よりも、リモートの構成の方が長くなる。よって、リモートの構成では、ローカルの構成よりも、書き込みデータの出力が遅れる。その結果、リモートの構成では、データの書き込みを高速に行うことができないという課題がある。
 本発明の目的は、リモートにある記録媒体に対するデータの書き込みを高速に行うことができる、通信装置、通信方法、および通信制御プログラムを提供することである。
 本発明の通信装置は、リモートにある他装置の記録媒体に対するデータの書き込みを、当該書き込みを許可する旨を示す許可情報の入力をトリガとして開始する通信装置であって、前回行われた前記データの書き込みが正常に終了した場合に、前記許可情報の代わりとなる代理許可情報を生成して出力するコマンド解析制御部と、前記代理許可情報の入力をトリガとして前記データの書き込みを開始するコマンド・データ生成部と、を具備する。
 本発明の通信方法は、リモートにある他装置の記録媒体に対するデータの書き込みを、当該書き込みを許可する旨を示す許可情報の入力をトリガとして開始する通信装置における通信方法であって、前回行われた前記データの書き込みが正常に終了した場合に、前記許可情報の代わりとなる代理許可情報を生成して出力するステップと、前記代理許可情報の入力をトリガとして前記データの書き込みを開始するステップと、を有する。
 本発明の通信制御プログラムは、リモートにある他装置の記録媒体に対するデータの書き込みを、当該書き込みを許可する旨を示す許可情報の入力をトリガとして開始する通信装置のコンピュータに実行させる通信制御プログラムであって、前回行われた前記データの書き込みが正常に終了した場合に、前記許可情報の代わりとなる代理許可情報を生成して出力する処理と、前記代理許可情報の入力をトリガとして前記データの書き込みを開始する処理と、を実行させる。
 本発明は、リモートにある記録媒体に対するデータの書き込みを高速に行うことができる。
本実施の形態に係る通信システムの構成を示すブロック図 本実施の形態におけるコマンドおよびデータの内容の例を示す図 本実施の形態におけるアグリゲーションデータの内容の例を示す図 本実施の形態に係る通信装置の動作の一例を示すフローチャート 本実施の形態における通信システムの動作の一例を示すシーケンス図 本実施の形態における通信システムの動作の一例を示すシーケンス図
 以下、本発明の実施の形態について、図面を参照して詳細に説明する。
 図1は、本実施の形態に係る通信システムの構成を示す。本実施の形態に係る通信システムは、第1の通信装置100からリモートの第2の通信装置200内のデータ蓄積部220データを書き込む場合を、一例として説明する。
 <第1の通信装置>
 まず、第1の通信装置100の構成について説明する。
 図1において、本実施の形態に係る第1の通信装置100は、リモートの第2の通信装置200内にあるデータ蓄積部220へデータの書き込み(以下、適宜「データ書き込み」という)を行う装置である。
 図1に示すように、第1の通信装置100は、通信制御部110、データ蓄積部120、コマンド・データ生成部130、コマンド解析制御部140、データ伝送制御部150、および伝送待機部160を有する。
 通信制御部110は、第2の通信装置200との間で、例えば、書き込みコマンドの送信、書き込みレスポンスの受信、書き込みデータの送信、およびステータス情報の受信を行う。
 上記ステータス情報は、データ蓄積部220へのデータ書き込みが、正常に終了したか否かを示す情報である。なお、以下の説明において、データ蓄積部220に対するデータ書き込みが正常に終了したことは、「正常終了」という。一方、データ蓄積部220に対するデータ書き込みが正常に終了しなかったことは、「異常終了」という。よって、ステータス情報は、正常終了および異常終了のいずれかを示す。
 また、通信制御部110は、例えば、無線LANデバイス、およびWireless Gigabit(WiGig)デバイスなどの、無線通信インタフェースである。なお、WiGigとは、1Gbpsを超える有線PAN用途の置換えを想定した、60GHz帯域のミリ波を利用する無線通信規格である。
 データ蓄積部120は、データの書き込みおよび読み出しが可能な不揮発性の記録媒体(電子媒体)である。不揮発性の記録媒体は、例えば、SD、SDHC(SD High Capacity)、または、SDXC(SD eXtended Capacity)メモリカード、または、Embedded SDを利用した内蔵メモリ等である。
 コマンド・データ生成部130は、第2の通信装置200に対して所定の要求を行うためのコマンドを生成し、コマンド解析制御部140へ出力する。
 上記コマンドは、書き込みコマンド、読み出しコマンド、制御コマンドがある。書き込みコマンドは、上述した通り、データ蓄積部220に対するデータ書き込みを要求するコマンドである。書き込みコマンドは「要求情報」ともいう。読み出しコマンドは、データ蓄積部220に保存されているデータの読み出しを要求するコマンドである。制御コマンドは、第2の通信装置200に対して所定の制御を要求するコマンドである。例えば、制御コマンドの内容としては、データ蓄積部220の初期化の要求、データ蓄積部220の空き容量の確認の要求、ステータス情報の取得の要求などがある。
 なお、本実施の形態では、データ蓄積部220の所定のアドレスに対してのデータ書き込みが、連続的に複数回行われることを想定している。よって、コマンド・データ生成部130は、データの書き込みが行われる度に、書き込みコマンドを生成してコマンド解析制御部140へ出力する。
 また、コマンド・データ生成部130は、データ蓄積部120から書き込みデータを読み出し、コマンド解析制御部140へ出力する。
 ただし、コマンド・データ生成部130は、書き込みデータの出力を開始するために、コマンド解析制御部140から、書き込みレスポンスまたは後述する代理レスポンスの入力が必要となる。書き込みレスポンスまたは代理レスポンスは、書き込みコマンドが要求するデータの書き込みを許可する情報である。よって、コマンド・データ生成部130は、コマンド解析制御部140からの書き込みレスポンスまたは代理レスポンスの入力をトリガとして、コマンド解析制御部140に対する書き込みデータの出力を開始する。なお、コマンド・データ生成部130は、データ蓄積部120から複数の書き込みデータを読み出した場合、それら書き込みデータを、コマンド解析制御部140へ順次出力するようにしてもよい。なお、書き込みレスポンスは、「許可情報」とも呼ばれ、代理レスポンスは「代理許可情報」ともいう。
 また、コマンド・データ生成部130は、コマンド解析制御部140からデータ書き込みを中止する指示を受けた場合、コマンド解析制御部140に対する書き込みデータの出力を中止する。これにより、コマンド・データ生成部130は、コマンド解析制御部140へ出力した直近の書き込みコマンドにて要求したデータ書き込みを中止する。
 なお、コマンド・データ生成部130がコマンド解析制御部140へ出力するコマンドおよびデータの総称は、以下「入力コマンド」という。
 コマンド解析制御部140は、コマンド・データ生成部130からの入力コマンドについて解析を行う。コマンド解析制御部140は、解析の結果、入力コマンドが、書き込みデータであるか、または、書き込みコマンド、読み出しコマンド、制御コマンドのいずれであるかを判定する。また、コマンド解析制御部140は、解析の結果、書き込みコマンドが初回のデータ書き込みを要求するものか否かを判定したり、書き込みコマンドが伝送待機部160で待機中であるか否かを判定したりする。そして、コマンド解析制御部140は、上記各判定の結果に応じて、データ伝送制御部150に対し、入力コマンドとともに所定の指示を出力する。
 なお、上記「初回のデータ書き込み」は、データ蓄積部220の所定のアドレスに対して連続的に複数回行われるデータ書き込みのうち、最初の書き込みを意味する。
 また、コマンド解析制御部140は、データ伝送制御部150から入力された第2の通信装置200からの書き込みレスポンスを、コマンド・データ生成部130へ出力する。
 また、コマンド解析制御部140は、データ伝送制御部150から入力された第2の通信装置200からのステータス情報を、保存するとともに、コマンド・データ生成部130へ出力する。ステータス情報は、データ蓄積部220に対するデータ書き込みが実施される度に、第2の通信装置200から第1の通信装置100へ送信される。よって、コマンド解析制御部140は、データ伝送制御部150からステータス情報が入力される度に、そのステータス情報を、それまで保存しておいたステータス情報に上書きして保存する。
 また、コマンド解析制御部140は、書き込みコマンドが初回の書き込みを要求するものではないと判定した場合、保存しておいたステータス情報の内容を確認する。そして、コマンド解析制御部140は、ステータス情報が異常終了を示す場合、コマンド・データ生成部130に対し、データ書き込みを中止する指示を出力する。一方、コマンド解析制御部140は、ステータス情報が正常終了を示す場合、第2の通信装置200からの書き込みレスポンスの代わりとなる代理レスポンスを生成し、コマンド・データ生成部130へ出力する。代理レスポンスは、コマンド・データ生成部130において、第2の通信装置200からの書き込みレスポンスと同じ扱いを受ける。
 また、コマンド解析制御部140は、コマンド・データ生成部130へ代理レスポンスを出力した場合、データ伝送制御部150に対し、コマンド・データ生成部130からの書き込みコマンドとともに待機指示を出力する。この待機指示は、書き込みコマンドを、すぐに第2の通信装置200へ送信せずに、伝送待機部160に待機させるための指示である。
 データ伝送制御部150は、初回のデータ書き込みの場合、コマンド解析制御部140から入力された書き込みコマンドおよびステータス取得コマンドに対し、第2の通信装置200と通信を行うために必要なヘッダを生成して付与する。そして、データ伝送制御部150は、ヘッダを付与した各コマンドを通信制御部110へ出力する。なお、ステータス取得コマンドは、制御コマンドの一例であり、第2の通信装置200に対してステータス情報の取得を要求する内容である。
 また、データ伝送制御部150は、初回のデータ書き込みの場合、コマンド解析制御部140から入力された書き込みデータに対してアグリゲーション(aggregation:集合)を行い、アグリゲーションデータを生成する。そして、データ伝送制御部150は、アグリゲーションデータが規定サイズに達したら、アグリゲーションデータにヘッダを付与し、送信情報を生成する。そして、データ伝送制御部150は、生成した送信情報を通信制御部110へ出力する。
 また、データ伝送制御部150は、初回のデータ書き込みの場合、通信制御部110から入力された第2の通信装置200からの書き込みレスポンスに対し、ヘッダの除去を行う。そして、データ伝送制御部150は、ヘッダを除去した書き込みレスポンスをコマンド解析制御部140へ出力する。
 また、データ伝送制御部150は、2回目以降のデータ書き込みの場合、コマンド解析制御部140から入力された書き込みコマンドおよび待機指示、並びに書き込みデータを、伝送待機部160へ出力する。なお、上記「2回目以降のデータ書き込み」は、データ蓄積部220の所定のアドレスに対して連続的に複数回行われるデータ書き込みのうち、初回のデータ書き込みに続く、2回目以降の書き込みを意味する。
 また、データ伝送制御部150は、2回目以降のデータ書き込みの場合、伝送待機部160から入力されたアグリゲーションデータに対しヘッダを付与し、送信情報を生成する。そして、データ伝送制御部150は、生成した送信情報を通信制御部110へ出力する。
 また、データ伝送制御部150は、初回および2回目以降のデータ書き込みの場合、通信制御部110から入力された第2の通信装置200からのステータス情報を、コマンド解析制御部140へ出力する。
 伝送待機部160は、データ伝送制御部150から書き込みコマンドおよび待機指示が入力されると、書き込みコマンドを待機させ、書き込みデータの入力を待つ。その後、伝送待機部160は、データ伝送制御部150から入力された書き込みデータと、待機させておいた書き込みコマンドとに対してアグリゲーションを行い、アグリゲーションデータを生成する。そして、伝送待機部160は、アグリゲーションデータが規定サイズに達したら、生成したアグリゲーションデータをデータ伝送制御部150へ出力する。
 このような第1の通信装置100は、リモートにあるデータ蓄積部220に対して2回目以降のデータ書き込みを行う際に、第2の通信装置200からの書き込みレスポンスと同じ機能を有する代理レスポンスを生成する。そして、第1の通信装置100は、この代理レスポンスをトリガとして書き込みデータの出力を開始する。つまり、第1の通信装置100は、書き込みコマンドおよび書き込みレスポンスの無線伝送に要する時間を待機することなく、書き込みデータを第2の通信装置200へ送信することができる。その結果、第1の通信装置100は、リモートにあるデータ蓄積部220に対するデータ書き込みを高速に行うことができる。
 以上で、第1の通信装置100の構成についての説明を終える。
 <第2の通信装置>
 次に、第2の通信装置200の構成について説明する。
 図1において、本実施の形態に係る第2の通信装置200は、リモートの第1の通信装置100によって、第2の通信装置200内のデータ蓄積部220に対してデータ書き込みを受ける装置である。第2の通信装置200は、携帯型または固定型のいずれであってもよい。
 図1に示すように、第2の通信装置200は、通信制御部210、データ蓄積部220、コマンド・データ生成部230、コマンド解析制御部240、データ伝送制御部250を有する。
 通信制御部210は、上記通信制御部110と同じく、例えば、無線LANデバイスおよびWiGigデバイスなどの無線通信インタフェースである。通信制御部210は、第1の通信装置100との間で、例えば、書き込みコマンドの受信、書き込みレスポンスの送信、書き込みデータの受信、およびステータス情報の送信を行う。
 データ蓄積部220は、上記データ蓄積部120と同じく、データの書き込みおよび読み出しが可能な不揮発性の記録媒体(電子媒体)である。データ蓄積部220は、例えば、SD、SDHC(SD High Capacity)、または、SDXC(SD eXtended Capacity)メモリカード、または、Embedded SDを利用した内蔵メモリ等である。データ蓄積部220は、第1の通信装置100からのアクセスにより、データが書き込みおよびデータの読み出しが行われる。
 データ伝送制御部250は、初回のデータ書き込みの場合において、通信制御部210から入力された第1の通信装置100からの書き込みコマンドに対し、ヘッダの除去を行う。そして、データ伝送制御部250は、ヘッダを除去した書き込みコマンドをコマンド解析制御部240へ出力する。なお、データ伝送制御部250は、初回のデータ書き込みの場合において、通信制御部210から入力された第1の通信装置100からのステータス取得コマンドに対しても、上記同様に処理する。
 また、データ伝送制御部250は、初回のデータ書き込みの場合、コマンド解析制御部240から書き込みレスポンスおよびアドレス情報が入力されると、アドレス情報を一時的に保存する。また、データ伝送制御部250は、ヘッダを生成して書き込みレスポンスに付与し、その書き込みレスポンスを通信制御部210へ出力する。アドレス情報は、データ蓄積部220におけるアドレスを示す情報である。ここでのアドレス情報は、データ書き込みが行われるアドレスを示す。
 また、データ伝送制御部250は、初回のデータ書き込みの場合、通信制御部210から入力された第1の通信装置100からの送信情報に対し、ヘッダの除去を行う。これにより、データ伝送制御部250は、書き込みデータだけで構成されたアグリゲーションデータを取得する。そして、データ伝送制御部250は、アグリゲーションデータを構成する書き込みデータを、一時的に保存しておいたアドレス情報を基に、データ蓄積部220へ書き込む。
 また、データ伝送制御部250は、2回目以降のデータ書き込みの場合、通信制御部110から入力された第1の通信装置100からの送信情報に対し、ヘッダの除去を行う。これにより、データ伝送制御部250は、書き込みコマンドと書き込みデータの両方で構成されたアグリゲーションデータを取得する。そして、データ伝送制御部250は、書き込みコマンドと書き込みデータを分離し、書き込みデータを一時的に保存する一方で、書き込みコマンドをコマンド解析制御部240へ出力する。その後、データ伝送制御部250は、コマンド解析制御部240からアドレス情報が入力されると、そのアドレス情報を基に、一時的に保存しておいた書き込みデータを、データ蓄積部220へ書き込む。
 データ伝送制御部250は、初回および2回目以降のデータ書き込みの場合、データ蓄積部220に対するデータ書き込みが完了すると、データ書き込みが完了した旨およびデータ書き込みを行ったアドレスを示す書き込み完了情報を生成する。そして、データ伝送制御部250は、生成した書き込み完了情報をコマンド解析制御部240へ出力する。その後、データ伝送制御部250は、コマンド解析制御部240からステータス情報が入力されると、そのステータス情報を通信制御部210へ出力する。
 コマンド解析制御部240は、データ伝送制御部250から書き込みコマンドが入力されると、その書き込みコマンドが初回の書き込みを要求するものであるか否かを判定する。
 コマンド解析制御部240は、上記判定の結果、書き込みコマンドが初回の書き込みを要求するものである場合、コマンド・データ生成部230に対し、書き込みレスポンスの生成を指示する。また、コマンド解析制御部240は、書き込みコマンドからアドレス情報を抽出する。その後、コマンド解析制御部240は、コマンド・データ生成部230から入力された書き込みレスポンスと、抽出したアドレス情報とを、データ伝送制御部250へ出力する。さらにその後、コマンド解析制御部240は、データ伝送制御部250からステータス取得コマンドが入力されたら、コマンド・データ生成部230に対し、ステータス情報の生成を指示する。
 コマンド解析制御部240は、上記判定の結果、書き込みコマンドが初回の書き込みを要求するものではなく、すなわち2回目以降の書き込みを要求するものである場合、書き込みコマンドからアドレス情報を抽出する。そして、コマンド解析制御部240は、抽出したアドレス情報をデータ伝送制御部250へ出力する。
 また、コマンド解析制御部240は、データ伝送制御部250から書き込み完了情報が入力されると、その書き込み完了情報をコマンド・データ生成部230へ出力する。その後、コマンド解析制御部240は、コマンド・データ生成部230からステータス情報が入力されると、そのステータス情報をデータ伝送制御部250へ出力する。
 コマンド・データ生成部230は、コマンド解析制御部240から書き込みレスポンスの生成の指示を受けると、書き込みレスポンスを生成する。そして、コマンド・データ生成部230は、書き込みレスポンスをコマンド解析制御部240へ出力する。
 また、コマンド・データ生成部230は、コマンド解析制御部240から、ステータス情報の生成の指示を受け、書き込み完了情報が入力されると、当該書き込み完了情報が示すアドレスにデータが正常に書き込まれているか否かを判定する。
 コマンド・データ生成部230は、上記判定の結果、データが正常に書き込まれている場合、正常終了を示すステータス情報を生成する。一方、コマンド・データ生成部230は、上記判定の結果、データが正常に書き込まれていない場合、異常終了を示すステータス情報を生成する。コマンド・データ生成部230は、生成したステータス情報をコマンド解析制御部240へ出力する。
 このような第2の通信装置200は、第1の通信装置100からのアグリゲーションデータが書き込みデータと書き込みコマンドの両方で構成されている場合、書き込みデータと書き込みコマンドを分離する。よって、第2の通信装置200は、書き込みコマンドと書き込みデータを同時に受信しても、それらを別々に受信した場合と同様に、データ書き込みを行うことができる。
 以上で、第2の通信装置200の構成についての説明を終える。
 第1の通信装置100および第2の通信装置200はそれぞれ、例えば、CPU(Central Processing Unit)、制御プログラムを格納したROM(Read Only Memory)などの記録媒体、およびRAM(Random Access Memory)などの作業用メモリを有する。この場合、上記した各構成部の機能は、CPUが制御プログラムを実行することにより実現される。
 なお、第1の通信装置100および第2の通信装置200の各機能部は、例えば、集積回路により構成してもよい。第1の通信装置100および第2の通信装置200の各機能部は、個別に1チップ化してもよいし、複数で1チップ化してもよい。集積回路は、集積度の違いにより、LSI(Large Scale Integration)、IC(Integrated Circuit)、システムLSI、スーパーLSI、またはウルトラLSI等とすることができる。また、集積回路は、専用回路または汎用プロセッサにより実現するものであってもよい。また、集積回路は、その製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、または、内部の回路セルの接続や設定を再構成可能なコンフィギュラブル・プロセッサとしてもよい。さらには、第1の通信装置100および第2の通信装置200の各機能部は、半導体技術の進歩または派生する別技術に応じて、LSIに置き換わる他の集積回路化の技術(例えばバイオ技術)により集積化されたものにより実現されてもよい。
 また、図示はしていないが、本実施の形態に係る通信装置は、ユーザが動作を選択して実行するための、ユーザインタフェースをそれぞれ有してもよい。例えば、本実施の形態に係る通信装置は、ユーザインタフェースとして、入力キー、ディスプレイ、マイクロフォン、スピーカ、カメラ、バイブレータ、およびプログラム格納や実行のためのメモリなどの機能をそれぞれ有してもよい。
 以上で、本実施の形態に係る通信装置の構成の構成および内容についての説明を終える。
 <コマンド及びデータ・フォーマット>
 次に、コマンド・データ生成部130で生成されるコマンドおよびデータの各フォーマットについて説明する。
 図2は、コマンドのフォーマットおよびデータのフォーマットの一例を示す図である。
 図2に示すように、コマンドのフォーマットは、コマンド番号310、引数311、CRC(Cyclic Redundancy Check)312を有する。
 コマンド番号310は、先頭の1バイトに割り当てられている。コマンド番号310は、例えば、データの書き込み、データの読み出し、所定の制御などを示す番号である。
 引数311は、コマンド番号に続く4バイトに割り当てられている。引数311は、コマンドの引数であり、アクセス先のアドレスを示すアドレス情報などを含む。
 CRC312は、引数311に続く1バイトに割り当てられている。CRC312は、コマンドが正しく送信されたか否かを確認するためのCRCチェック符号である。
 図2に示すように、データのフォーマットは、トークン410、データ411、CRC412を有する。
 トークン410は、先頭の1バイトに割り当てられている。トークン410は、データの種別を示し、例えば、書き込みデータであるか、または、読み出しデータであるかを示す番号である。
 データ411は、トークンに続く1~2048バイトに割り当てられている。データ411は、実際に読み出しまたは書き込みされる可変長のデータである。データ411の長さは、デフォルトでは512バイトであるが、変更することも可能である。
 CRC412は、データ411に続く2バイトに割り当てられている。CRC412は、データが正しく送信されたか否かを確認するためのCRCチェック符号である。
 このようなコマンドおよびデータの各フォーマットにより、上述した各判定が実現できる。すなわち、コマンド解析制御部140は、コマンド・データ生成部130から転送されてきた入力コマンドの先頭の1バイトを基に、その入力コマンドを判定する。入力コマンドの判定は、書き込みデータであるか、または、書き込みコマンド、読み出しコマンド、制御コマンドのいずれであるかを判定する。なお、コマンド解析制御部240も、上記同様の判定を行うことができる。
 また、コマンド解析制御部140は、入力コマンドが書き込みコマンドである場合、引数311に含まれるアドレス情報を基に、書き込みコマンドが初回の書き込みを要求するものであるか否かを判定できる。すなわち、コマンド解析制御部140は、入力コマンドが書き込みコマンドであると判定する度に、引数311からアドレス情報を抽出し、一次的に保存する。その上で、コマンド解析制御部140は、今回判定した書き込みコマンドから抽出したアドレス情報が示すアドレスと、前回判定した書き込みコマンドから抽出して一次的に保存しておいたアドレス情報が示すアドレスとを比較する。この比較結果では、前回判定した書込みコマンドが示すアドレスに、その後に書き込んだデータのサイズ分のバイト数を加えた(進めた)アドレスが、今回判定した書込みコマンドが示す(書込み開始位置の)アドレスと一致する場合がある。その場合、コマンド解析制御部140は、今回判定した書き込みコマンドは初回の書き込みを要求するものではなく、2回目以降の書き込みを要求するものであると判定する。一方で、上記比較の結果において、アドレスが一致しない場合は、コマンド解析制御部140は、今回判定した書き込みコマンドは初回の書き込みを要求するものであると判定する。なお、コマンド解析制御部240も、上記同様の判定を行うことができる。
 以上で、コマンドおよびデータの各フォーマットについての説明を終える。
 次に、第1の通信装置100が第2の通信装置200へ送信する送信情報のフォーマットについて説明する。
 図3は、送信情報のフォーマットの一例を示す図である。図3に示す送信情報510は、2回目以降のデータ書き込みのときに第1の通信装置100から第2の通信装置200へ送信されるデータである。
 図3に示すように、送信情報510は、ヘッダ511、コマンド情報515、およびデータ512を有する。ヘッダ511は、送信先アドレス513および送信元アドレス514を含む。
 ヘッダ511は、第1の通信装置100が第2の通信装置200と通信するために必要なデータである。送信先アドレス513は、第2の通信装置200のアドレスが記述される。また、送信元アドレス514は、第1の通信装置100のアドレスが記述される。ここでいうアドレスは、例えば、通信デバイスを識別するためのMAC(Media Access Control)アドレスである。
 コマンド情報515は、コマンドを識別するためのコマンド識別情報が数バイトで表現されて記述される。コマンド識別情報は、例えば、図2に示すコマンド番号310および引数311である。
 データ512は、コマンド情報515により指定される、コマンド識別情報に付随する詳細な内容が設定される。データ512は、例えば、図2に示すデータ411が1~N個アグリゲーションしたデータである。
 そして、図3に示すように、2回目以降のデータ書き込みのときの送信情報510は、書き込みコマンドとしてのコマンド情報515と、書き込みデータとしてのデータ512とがアグリゲーションされた構成となる。
 送信情報510は、伝送待機部160においてコマンド情報515とデータ512のアグリゲーションが行われた後、データ伝送制御部150においてヘッダ511が付与される。
 なお、初回のデータ書き込みのときの送信情報は、図3に示す構成からコマンド情報515を除いた構成である。この送信情報は、データ伝送制御部150において、データ512のアグリゲーションが行われた後、ヘッダ511が付与される。
 以上で、第1の通信装置100が第2の通信装置200へ送信する送信情報のフォーマットについての説明を終える。
 <第1の通信装置の動作説明>
 次に、第1の通信装置100の動作について説明する。
 図4は、第1の通信装置100の動作の一例を示すフローチャートである。
 ステップS001において、コマンド・データ生成部130は、入力コマンドとしてコマンドまたはデータを生成し、コマンド解析制御部140に転送する。
 ステップS002において、コマンド解析制御部140は、コマンド・データ生成部130から入力された入力コマンドの解析を行う。
 ステップS003において、コマンド解析制御部140は、まず、入力コマンドが書き込みコマンドであるか否かを判定する。この判定は、上述したように、入力コマンドの先頭の1バイトを基に行われる。入力コマンドが書き込みコマンドであると判定した場合(S003:YES)、コマンド解析制御部140は、ステップS004へ進む。一方、入力コマンドが書き込みコマンドではないと判定した場合(S003:NO)、コマンド解析制御部140は、ステップS013へ進む。ステップS013以降については、後述する。なお、書き込みコマンドで要求されるデータ書き込みは、上述した通り、データ蓄積部220の所定のアドレスに対して、連続的に複数回行われるデータ書き込みを意味する。
 ステップS004において、コマンド解析制御部140は、書き込みコマンドが初回の書き込みを要求するものであるか否かを判定する。この判定は、上述したように、引数311に含まれるアドレス情報を基に行われる。書き込みコマンドが初回の書き込みであると判定した場合(S004:YES)、コマンド解析制御部140は、ステップS005へ進む。一方、書き込みコマンドが初回の書き込みではないと判定した場合(S004:NO)、コマンド解析制御部140は、ステップS009へ進む。ステップS009以降については、後述する。
 また、書き込みコマンドが初回の書き込みを要求するものである場合(S004:YES)、コマンド解析制御部140は、データ伝送制御部150に対し、書き込みコマンドを第2の通信装置200へすぐに送信するように指示する。ここでの指示は、「即時転送の指示」という。また、コマンド解析制御部140は、即時転送の指示とともに、書き込みコマンドをデータ伝送制御部150へ出力する。
 ステップS005において、データ伝送制御部150は、コマンド解析制御部140からの即時転送の指示および書き込みコマンドを確認すると、リモートの第2の通信装置200と通信するために必要なヘッダを生成する。このヘッダは、図3に示す送信先アドレス513および送信元アドレス514を含む。そして、データ伝送制御部150は、生成したヘッダを書き込みコマンドに付与し、通信制御部110へ出力する。
 ステップS006において、通信制御部110は、データ伝送制御部150からの書き込みコマンドを、第2の通信装置200に対し、無線を介して送信する。その後、通信制御部110は、上記書き込みコマンドに対する書き込みレスポンスを、第2の通信装置200から無線を介して受信する。通信制御部110は、受信した書き込みレスポンスをデータ伝送制御部150へ出力する。
 ステップS007において、データ伝送制御部150は、通信制御部110からの書き込みレスポンスに付与されているヘッダを除去する。そして、データ伝送制御部150は、ヘッダを除去した書き込みレスポンスをコマンド解析制御部140へ出力する。
 ステップS008において、コマンド解析制御部140は、データ伝送制御部150からの書き込みレスポンスを、コマンド・データ生成部130へ出力する。そして、コマンド解析制御部140は、ステップS001に戻る。
 ステップS001において、コマンド・データ生成部130は、コマンド解析制御部140からの書き込みレスポンスを確認すると、データ蓄積部120から書き込みデータを読み出す。この書き込みデータは、例えば、ユーザにより予め指定されたデータである。そして、コマンド・データ生成部130は、書き込みデータを入力コマンドとしてコマンド解析制御部140へ出力する。なお、書き込みデータが複数ある場合は、各書き込みデータは順次出力される。この後、ステップS002に進み、コマンド解析制御部140は、上述したように、コマンド解析制御部140が書き込みデータについて解析を行う。
 次に、ステップS009以降について説明する。
 ステップS009において、コマンド解析制御部140は、保存しているステータス情報が正常終了を示すか、または異常終了を示すかを確認する。ここで確認されるステータス情報は、前回実施されたデータ書き込みの結果を示す内容である。ステータス情報が異常終了を示す場合(S009:NO)、コマンド解析制御部140は、ステップS012へ進む。一方、ステータス情報が正常終了を示す場合(S009:YES)、コマンド解析制御部140は、ステップS010へ進む。
 ステップS012において、コマンド解析制御部140は、データ書き込みを中止する指示を、コマンド・データ生成部130へ出力する。この指示を受け取ったコマンド・データ生成部130は、データ蓄積部120からの書き込みデータの読み出しを中止する。これにより、コマンド解析制御部140は、直近の書き込みコマンドで要求されたデータ書き込みを中止させ、処理を終了させる。
 ステップS010において、コマンド解析制御部140は、代理レスポンスを生成し、コマンド・データ生成部130へ出力する。代理レスポンスは、上述した通り、コマンド・データ生成部130において、第2の通信装置200からの書き込みレスポンスと同じ扱いを受ける。
 ステップS011において、コマンド解析制御部140は、データ伝送制御部150に対し、書き込みコマンドとともに待機指示を出力する。待機指示は、上述の通り、書き込みコマンドをすぐに第2の通信装置200へ送信せずに、伝送待機部160にて待機させるための指示である。その後、データ伝送制御部150は、書き込みコマンドおよび待機指示を伝送待機部160へ出力する。そして、伝送待機部160は、待機指示に従って、書き込みコマンドを保存する。そして、コマンド解析制御部140は、ステップS001に戻る。
 ステップS001において、コマンド・データ生成部130は、コマンド解析制御部140からの代理レスポンスを確認すると、データ蓄積部120から書き込みデータを読み出す。そして、コマンド・データ生成部130は、読み出した書き込みデータを、入力コマンドとしてコマンド解析制御部140へ出力する。この後、ステップS002に進み、コマンド解析制御部140は、上述したように、コマンド解析制御部140が書き込みデータについて解析を行う。
 次に、ステップS013以降について説明する。
 ステップS013において、コマンド解析制御部140は、入力コマンドが書き込みデータであるか否かを判定する。この判定は、上述したように、入力コマンドの先頭の1バイトを基に行われる。入力コマンドが書き込みデータであると判定した場合(S013:YES)、コマンド解析制御部140は、ステップS014へ進む。一方、入力コマンドが書き込みデータではないと判定した場合(S013:NO)、コマンド解析制御部140は、ステップS021へ進む。ステップS021以降については後述する。
 ステップS014において、コマンド解析制御部140は、書き込みコマンドが待機中であるか否かを判定する。ここで、コマンド解析制御部140は、データ伝送制御部150に対し、待機指示の送信を行っていた場合は書き込みコマンドが待機中であると判定し、待機指示の送信を行っていない場合は書き込みコマンドが待機中ではないと判定する。
 書き込みコマンドが待機中ではないと判定した場合(S014:NO)、コマンド解析制御部140は、データ伝送制御部150に対し、即時転送の指示とともに書き込みデータを出力する。
 ステップS015において、データ伝送制御部150は、コマンド解析制御部140から即時転送の指示を受け取ると、入力された書き込みデータのアグリゲーションを行う。すなわち、データ伝送制御部150は、順次入力された書き込みデータを連結することで、データ512だけで構成されるアグリゲーションデータを生成する。
 ステップS022において、データ伝送制御部150は、入力された書き込みデータを連結する度に、生成したアグリゲーションデータが規定サイズに達したか否かを判定する。アグリゲーションデータが規定サイズに達していない場合(S022:NO)、データ伝送制御部150は、アグリゲーションデータに対し、入力された書き込みデータをさらに連結し、上記判定を行う。このように、データ伝送制御部150は、生成したアグリゲーションデータが規定サイズに達するまで、上記書き込みデータの連結および判定を繰り返す。そして、生成したアグリゲーションデータが規定サイズに達すると(S022:YES)、データ伝送制御部150は、S018へ進む。
 一方、書き込みコマンドが待機中であると判定した場合(S014:YES)、コマンド解析制御部140は、データ伝送制御部150に対し、伝送待機部160への転送指示とともに書き込みデータを出力する。データ伝送制御部150は、伝送待機部160への転送指示を受け取ると、入力された書き込みデータを伝送待機部160へ出力する。
 ステップS016において、伝送待機部160は、データ伝送制御部150から入力された書き込みコマンドと書き込みデータのアグリゲーションを行う。すなわち、データ伝送制御部150は、待機させておいた書き込みコマンドに続いて、順次入力された書き込みデータを連結し、コマンド情報515とデータ512の両方で構成されるアグリゲーションデータを生成する。
 ステップS017において、伝送待機部160は、入力された書き込みデータを連結する度に、生成したアグリゲーションデータが規定サイズに達したか否かを判定する。アグリゲーションデータが規定サイズに達していない場合(S017:NO)、伝送待機部160は、アグリゲーションデータに対し、入力された書き込みデータをさらに連結し、上記判定を行う。このように、伝送待機部160は、生成したアグリゲーションデータが規定サイズに達するまで、上記書き込みデータの連結および判定を繰り返す。そして、生成したアグリゲーションデータが規定サイズに達すると(S017:YES)、伝送待機部160は、アグリゲーションデータをデータ伝送制御部150へ出力し、S018へ進む。
 ステップS018において、データ伝送制御部150は、ヘッダを生成し、上記生成したアグリゲーションデータに付与することで、上述した送信情報を生成する。そして、データ伝送制御部150は、生成した送信情報を通信制御部110へ出力する。
 ステップS019において、通信制御部110は、データ伝送制御部150からの送信情報を、第2の通信装置200に対し、無線を介して送信する。その後、通信制御部110は、上記送信情報に含まれる書き込みデータの書き込み結果を示すステータス情報を、第2の通信装置200から無線を介して受信する。通信制御部110は、受信したステータス情報をデータ伝送制御部150へ出力する。そして、データ伝送制御部150は、ステータス情報をコマンド解析制御部140へ出力する。
 ステップS020において、コマンド解析制御部140は、データ伝送制御部150から入力されたステータス情報を保存するとともに、そのステータス情報をコマンド・データ生成部130へ出力する。なお、コマンド解析制御部140は、上記ステータス情報の保存の際、今回入力されたステータス情報を、これまで保存していたステータス情報に上書きする。
 次に、ステップS021以降について説明する。
 ステップS013において、コマンド解析制御部140が、入力コマンドが書き込みデータではないと判定した場合(S013:NO)、入力コマンドは、読み出しコマンドまたは制御コマンドである。この場合、コマンド解析制御部140は、即時転送の指示とともに、入力コマンドをデータ伝送制御部150へ出力する。
 ステップS021において、データ伝送制御部150は、コマンド解析制御部140からの即時転送の指示および入力コマンドを確認すると、ヘッダを生成する。そして、データ伝送制御部150は、生成したヘッダを入力コマンドに付与し、通信制御部110へ出力する。
 ステップS022において、通信制御部110は、データ伝送制御部150からの入力コマンドを、第2の通信装置200に対し、無線を介して伝送する。
 上記動作により、第1の通信装置100は、リモートにあるデータ蓄積部220に対して2回目以降のデータ書き込みを行う際、自らが生成した代理レスポンスをトリガとして、第2の通信装置200に対して書き込みデータの送信を開始する。これにより、第1の通信装置100は、第2の通信装置200への書き込みコマンドの送信、および、第2の通信装置200からの書き込みレスポンスの受信を実行せずに済む。したがって、第1の通信装置100は、書き込みコマンドの送信にかかる時間、および、書き込みレスポンスの受信にかかる時間を削減できる。その結果、第1の通信装置100は、リモートにあるデータ蓄積部220に対するデータ書き込みを高速に行うことができる。また、第1の通信装置100は、書き込みコマンドの送信にかかる電力、および、書き込みレスポンスの受信にかかる電力も削減できる。その結果、第1の通信装置100は、リモートにあるデータ蓄積部220に対するデータ書き込みを省電力で行うことができる。
 以上で、第1の通信装置100の動作についての説明を終える。
 <全体の動作説明(初回)>
 以下、第1の通信装置100および第2の通信装置200の全体(以下「通信システム」という)の動作の例を、シーケンス図を用いて説明する。
 まず、第1の通信装置100が、リモートにある第2の通信装置200のデータ蓄積部220に対して連続的に複数回のデータ書き込みを行う場合の、初回のデータ書き込みのときの動作例について説明する。
 図5は、初回のデータ書き込みのときにおける、通信システムの動作の一例を示すシーケンス図である。なお、図5は、コマンド解析制御部140および伝送待機部160の図示を省略している。
 ステップS101において、コマンド・データ生成部130は、書き込みコマンドを生成する。
 ステップS102において、コマンド・データ生成部130は、生成した書き込みコマンドを、データ伝送制御部150へ出力する。このとき、書き込みコマンドは、コマンド解析制御部140を介して転送される。そして、コマンド解析制御部140は、入力コマンドが書き込みコマンドであると判定し、かつ、その書き込みコマンドが初回の書き込みを要求するものであると判定する。
 ステップS103において、データ伝送制御部150は、ヘッダを生成し、入力された書き込みコマンドに、生成したヘッダを付与する。
 ステップS104において、データ伝送制御部150は、ヘッダを付与した書き込みコマンドを通信制御部110へ出力する。
 ステップS105において、通信制御部110は、入力された書き込みコマンドを第2の通信装置200へ無線伝送する。
 ステップS106において、第2の通信装置200は、第1の通信装置100から受信した書き込みコマンドに対し、書き込みレスポンスを生成する。この書き込みレスポンスの生成は、上述した通り、コマンド・データ生成部230にて実施される。また、書き込みレスポンスは、上述した通り、データ伝送制御部250にてヘッダが付与される。
 ステップS107において、第2の通信装置200は、生成した書き込みレスポンスを第1の通信装置100へ無線伝送する。
 ステップS108において、通信制御部110は、第2の通信装置200から受信した書き込みレスポンスを、データ伝送制御部150へ出力する。
 ステップS109において、データ伝送制御部150は、入力された書き込みレスポンスからヘッダを除去する。
 ステップS110において、データ伝送制御部150は、ヘッダを除去した書き込みレスポンスを、コマンド・データ生成部130へ出力する。このとき、書き込みレスポンスは、コマンド解析制御部140を介して転送される。
 ステップS111において、コマンド・データ生成部130は、書き込みレスポンスを確認すると、書き込みデータを生成する。すなわち、コマンド・データ生成部130は、データ蓄積部120からN個の書き込みデータを読み出す。
 ステップS112において、コマンド・データ生成部130は、N個の書き込みデータを順次データ伝送制御部150へ出力する。このとき、書き込みデータは、コマンド解析制御部140を介して転送される。そして、コマンド解析制御部140は、入力コマンドが書き込みデータであると判定し、かつ、書き込みコマンドが待機中ではないと判定する。
 ステップS113において、データ伝送制御部150は、入力されたN個の書き込みデータに対し、規定サイズに達するまでアグリゲーションを行う。
 ステップS114において、データ伝送制御部150は、ヘッダを生成し、規定サイズに達したアグリゲーションデータに付与する。これにより、送信情報が完成する。この送信情報は、図3に示す送信情報510からコマンド情報515を除く構成である。
 ステップS115において、データ伝送制御部150は、入力された送信情報を通信制御部110へ出力する。
 ステップS116において、通信制御部110は、入力された送信情報を第2の通信装置200へ無線伝送する。
 ステップS117において、第2の通信装置200は、第1の通信装置100から送信情報を受信すると、ヘッダを除去し、書き込みデータを取得する。そして、第2の通信装置200は、先に受信した書き込みコマンドを基に、書き込みデータをデータ蓄積部220に書き込む。このデータ書き込みは、上述した通り、データ伝送制御部250にて実施される。
 ステップS118において、書き込みデータの出力を終えたコマンド・データ生成部130は、ステータス情報の取得を要求するための制御コマンドとして、ステータス取得コマンドを生成する。
 ステップS119において、コマンド・データ生成部130は、生成したステータス取得コマンドをデータ伝送制御部150へ出力する。このとき、ステータス取得コマンドは、コマンド解析制御部140を介して転送される。そして、コマンド解析制御部140は、入力コマンドがステータス取得コマンドであると判定する。
 ステップS120において、データ伝送制御部150は、ヘッダを生成し、入力されたステータス取得コマンドに、生成したヘッダを付与する。
 ステップS121において、データ伝送制御部150は、ヘッダを付与したステータス取得コマンドを通信制御部110へ出力する。
 ステップS122において、通信制御部110は、入力されたステータス取得コマンドを第2の通信装置200へ無線伝送する。
 ステップS123において、第2の通信装置200は、第1の通信装置100からステータス取得コマンド受信すると、データ蓄積部220への書き込み(S117)の結果を示すステータス情報を生成する。このステータス情報の生成は、上述した通り、コマンド・データ生成部230にて実施される。
 ステップS124において、第2の通信装置200は、生成したステータス情報を第1の通信装置100へ無線伝送する。
 ステップS125において、通信制御部110は、第2の通信装置200から受信したステータス情報を、データ伝送制御部150へ出力する。
 ステップS126において、データ伝送制御部150は、入力されたステータス情報をコマンド・データ生成部130へ出力する。このとき、ステータス情報は、コマンド解析制御部140を介して転送されるとともに、コマンド解析制御部140に保存される。
 図5に示すシーケンスの後は、図6に示すシーケンスが続く。
 以上で、第1の通信装置100が、リモートにある第2の通信装置200のデータ蓄積部220に対して連続的に複数回のデータ書き込みを行う場合の、初回のデータ書き込みのときの動作例についての説明を終える。
<全体の動作説明(2回目以降)>
 次に、第1の通信装置100が、リモートにある第2の通信装置200のデータ蓄積部220に対して連続的に複数回のデータ書き込みを行う場合の、2回目以降のデータ書き込みのときの動作例について説明する。
 図6は、2回目以降のデータ書き込みのときにおける、通信システムの動作の一例を示すシーケンス図である。
 ステップS201において、コマンド・データ生成部130は、書き込みコマンドを生成する。
 ステップS202において、コマンド・データ生成部130は、生成した書き込みコマンドを、コマンド解析制御部140へ出力する。
 ステップS203において、コマンド解析制御部140は、入力された書き込みコマンドに対して解析を行う。コマンド解析制御部140は、解析の結果、入力コマンドが書き込みコマンドであると判定し、かつ、その書き込みコマンドが2回目以降の書き込みを要求するものであると判定する。
 ステップS204において、コマンド解析制御部140は、保存しているステータス情報を基に、前回のデータ書き込みが、正常終了であるか、または異常終了であるかを確認する。なお、図6の例では、ステータス情報が正常終了を示す場合とする。
 ステップS205において、コマンド解析制御部140は、代理レスポンスを生成し、コマンド・データ生成部130へ出力する。
 ステップS206において、コマンド解析制御部140は、書き込みコマンドおよび待機指示をデータ伝送制御部150へ出力する。
 ステップS207において、データ伝送制御部150は、入力された書き込みコマンドおよび待機指示を伝送待機部160へ出力する。
 ステップS208において、データ伝送制御部150は、待機指示に従って、入力した書き込みコマンドを待機させるとともに、後続の書き込みデータを待機する。
 ステップS209において、コマンド・データ生成部130は、代理レスポンスを確認すると、書き込みデータを生成する。すなわち、コマンド・データ生成部130は、データ蓄積部120からN個の書き込みデータを読み出す。
 ステップS210において、コマンド・データ生成部130は、N個の書き込みデータを順次コマンド解析制御部140へ出力する。
 ステップS211において、コマンド解析制御部140は、入力されたN個の書き込みデータのそれぞれに対して解析を行う。コマンド解析制御部140は、解析の結果、各入力コマンドが書き込みデータであると判定し、かつ、書き込みコマンドが待機中であると判定する。
 ステップS212において、コマンド解析制御部140は、入力されたN個の書き込みデータおよび伝送待機部160への転送指示を、データ伝送制御部150へ出力する。
 ステップS213において、データ伝送制御部150は、伝送待機部160への転送指示に従って、入力されたN個の書き込みデータを伝送待機部160へ出力する。
 ステップS214において、伝送待機部160は、待機させておいた書き込みコマンドと、入力されたN個の書き込みデータとのアグリゲーションを、規定サイズに達するまで行う。
 ステップS215において、伝送待機部160は、規定サイズに達したアグリゲーションデータを、データ伝送制御部150へ出力する。
 ステップS216において、データ伝送制御部150は、ヘッダを生成し、規定サイズに達したアグリゲーションデータに、生成したヘッダを付与する。これにより、図3に示す送信情報510が完成する。
 ステップS217において、データ伝送制御部150は、送信情報を通信制御部110へ出力する。
 ステップS218において、通信制御部110は、入力された送信情報を第2の通信装置200へ無線伝送する。
 ステップS219において、第2の通信装置200は、第1の通信装置100から送信情報を受信すると、ヘッダを除去し、書き込みコマンドと書き込みデータをそれぞれ取得する。そして、第2の通信装置200は、書き込みコマンドを基に、書き込みデータをデータ蓄積部220へ書き込む。このデータ書き込みは、上述した通り、データ伝送制御部250にて実施される。
 ステップS220において、第2の通信装置200は、データ書き込み(S219)の結果を示すステータス情報を生成する。このステータス情報の生成は、上述した通り、コマンド・データ生成部230にて実施される。
 ステップS221において、第2の通信装置200は、生成したステータス情報を第1の通信装置100へ無線伝送する。
 ステップS222において、通信制御部110は、第2の通信装置200から受信したステータス情報を、データ伝送制御部150へ出力する。
 ステップS223において、データ伝送制御部150は、入力されたステータス情報をコマンド解析制御部140へ出力する。
 ステップS224において、コマンド解析制御部140は、ステータス情報を保存する。
 ステップS225において、コマンド解析制御部140は、ステータス情報をコマンド・データ生成部130へ出力する。
 図6に示すシーケンスは、指定されたデータ書き込みが終了するまで繰り返される。
 以上で、第1の通信装置100が、リモートにある第2の通信装置200のデータ蓄積部220に対して連続的に複数回のデータ書き込みを行う場合の、2回目以降のデータ書き込みのときの動作例についての説明を終える。
 上記動作により、第1の通信装置100は、リモートにあるデータ蓄積部220に対して2回目以降のデータ書き込みを行う際、自らが生成した代理レスポンスをトリガとして、第2の通信装置200に対して書き込みデータの送信を開始する。これにより、第1の通信装置100は、第2の通信装置200への書き込みコマンドの送信、および、第2の通信装置200からの書き込みレスポンスの受信を実行せずに済む。したがって、第1の通信装置100は、書き込みコマンドの送信にかかる時間、および、書き込みレスポンスの受信にかかる時間を削減できる。その結果、第1の通信装置100は、リモートにあるデータ蓄積部220に対するデータ書き込みを高速に行うことができる。
 また、第1の通信装置100は、書き込みコマンドの送信にかかる電力、および、書き込みレスポンスの受信にかかる電力も削減できる。その結果、第1の通信装置100は、リモートにあるデータ蓄積部220に対するデータ書き込みを省電力で行うことができる。
 以上のように、本実施の形態に係る通信装置は、リモートにある他装置の記録媒体に対するデータの書き込みを、当該書き込みを許可する旨を示す書き込みレスポンスの入力をトリガとして開始する通信装置であって、前回行われたデータの書き込みが正常に終了した場合に、書き込みレスポンスの代わりとなる代理レスポンスを生成して出力するコマンド解析制御部と、代理レスポンスの入力をトリガとしてデータの書き込みを開始するコマンド・データ生成部と、を具備する。
 よって、本実施の形態に係る通信装置は、リモートにある他装置の記録媒体に対して2回目以降のデータ書き込みを行う際に、自らが生成した代理レスポンスをトリガとして、他装置への書き込みデータの送信を開始する。これにより、本実施の形態に係る通信装置は、他装置への書き込みコマンドの送信、および、他装置からの書き込みレスポンスの受信を実行せずに済む。したがって、本実施の形態に係る通信装置は、書き込みコマンドの送信にかかる時間、および、書き込みレスポンスの受信にかかる時間を削減できる。その結果、本実施の形態に係る通信装置は、リモートにある他装置の記録媒体に対するデータ書き込みを高速に行うことができる。また、本実施の形態に係る通信装置は、書き込みコマンドの送信にかかる電力、および、書き込みレスポンスの受信にかかる電力も削減できる。その結果、本実施の形態に係る通信装置は、リモートにある他装置の記録媒体に対するデータ書き込みを省電力で行うことができる。
 <変形例の説明>
 以上、本実施の形態について説明したが、上記説明は一例であり、種々の変形が可能である。以下、変形例について説明する。
 上記実施の形態では、第1の通信装置100と第2の通信装置200とが無線で接続されている場合としたが、例えばLANケーブルなどの有線で接続されていてもよい。
 また、上記実施の形態では、ステータス情報が異常終了を示す場合、データ書き込みの中止指示を受けたコマンド・データ生成部130が、即時に書き込みデータの読み出し、出力を中止する構成としたが、これに限定されない。例えば、コマンド・データ生成部130は、データ書き込みを中止する指示を受けた後、再送を試みるために、書き込みデータの出力を行うようにしてもよい。そして、コマンド・データ生成部130は、再送が所定回数失敗した場合に、書き込みデータの読み出し、出力を中止するようにしてもよい。
 また、上記実施の形態では、ステータス情報が異常終了を示す場合、データの書き込みを中止する旨を、ユーザインタフェースを介してユーザに通知する構成としてもよい。
 また、上記実施の形態において、アグリゲーションデータの規定サイズは、ユーザにより指定されたサイズであってもよい。
 また、上記実施の形態では、本発明をハードウェアで構成する場合を例にとって説明したが、本発明はハードウェアとの連係においてソフトウェアでも実現することも可能である。
 以上、本開示の通信装置は、リモートにある他装置の記録媒体に対するデータの書き込みを、当該書き込みを許可する旨を示す許可情報の入力をトリガとして開始する通信装置であって、前回行われた前記データの書き込みが正常に終了した場合に、前記許可情報の代わりとなる代理許可情報を生成して出力するコマンド解析制御部と、前記代理許可情報の入力をトリガとして前記データの書き込みを開始するコマンド・データ生成部と、を具備する。
 また、本開示の通信装置は、前記コマンド解析制御部が前記代理許可情報を生成した場合に、前記データの書き込みを要求する旨を示す要求情報を待機させておく転送待機部をさらに有し、前記転送待機部が、前記コマンド・データ生成部が前記代理許可情報の入力をトリガとして出力した前記データと、予め待機させておいた前記要求情報とに対して、アグリゲーションを行うことでアグリゲーションデータを生成する。
 また、本開示の通信装置は、前記コマンド解析制御部が、前回行われた前記データの書き込みが正常に終了しなかった場合は、前記データの書き込みを中止する指示を、前記コマンド・データ生成部へ出力し、前記コマンド・データ生成部が、前記データの書き込みを中止する指示に従って前記データの出力を中止する。
 また、本開示の通信装置は、前記コマンド解析制御部が、前記データの書き込みが正常に終了したか否かを示すステータス情報を前記他装置から取得して保存する。
 また、本開示の通信方法は、リモートにある他装置の記録媒体に対するデータの書き込みを、当該書き込みを許可する旨を示す許可情報の入力をトリガとして開始する通信装置における通信方法であって、前回行われた前記データの書き込みが正常に終了した場合に、前記許可情報の代わりとなる代理許可情報を生成して出力するステップと、前記代理許可情報の入力をトリガとして前記データの書き込みを開始するステップと、を有する。
 また、本開示の通信制御プログラムは、リモートにある他装置の記録媒体に対するデータの書き込みを、当該書き込みを許可する旨を示す許可情報の入力をトリガとして開始する通信装置のコンピュータに実行させる通信制御プログラムであって、前回行われた前記データの書き込みが正常に終了した場合に、前記許可情報の代わりとなる代理許可情報を生成して出力する処理と、前記代理許可情報の入力をトリガとして前記データの書き込みを開始する処理と、を実行させる。
 2011年12月8日出願の特願2011-268786の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
 本発明は、リモートにある記録媒体に対するデータの書き込み処理を高速に行うことができる、通信装置、通信方法、および通信プログラムとして有用である。本発明は、例えば、携帯電話機やタブレットなどの携帯機器、および、パーソナルコンピュータに適用することができる。
 100 第1の通信装置
 110、210 通信制御部
 120、220 データ蓄積部
 130、230 コマンド・データ生成部
 140、240 コマンド解析制御部
 150、250 データ伝送制御部
 160 伝送待機部
 200 第2の通信装置
 

Claims (6)

  1.  リモートにある他装置の記録媒体に対するデータの書き込みを、当該書き込みを許可する旨を示す許可情報の入力をトリガとして開始する通信装置であって、
     前回行われた前記データの書き込みが正常に終了した場合に、前記許可情報の代わりとなる代理許可情報を生成して出力するコマンド解析制御部と、
     前記代理許可情報の入力をトリガとして前記データの書き込みを開始するコマンド・データ生成部と、
     を具備する通信装置。
  2.  前記コマンド解析制御部が前記代理許可情報を生成した場合に、前記データの書き込みを要求する旨を示す要求情報を待機させておく転送待機部をさらに有し、
     前記転送待機部は、
     前記コマンド・データ生成部が前記代理許可情報の入力をトリガとして出力した前記データと、予め待機させておいた前記要求情報とに対して、アグリゲーションを行うことでアグリゲーションデータを生成する、
     請求項1記載の通信装置。
  3.  前記コマンド解析制御部は、
     前回行われた前記データの書き込みが正常に終了しなかった場合は、前記データの書き込みを中止する指示を、前記コマンド・データ生成部へ出力し、
     前記コマンド・データ生成部は、
     前記データの書き込みを中止する指示に従って前記データの出力を中止する、
     請求項1記載の通信装置。
  4.  前記コマンド解析制御部は、
     前記データの書き込みが正常に終了したか否かを示すステータス情報を前記他装置から取得して保存する、
     請求項1記載の通信装置。
  5.  リモートにある他装置の記録媒体に対するデータの書き込みを、当該書き込みを許可する旨を示す許可情報の入力をトリガとして開始する通信装置における通信方法であって、
     前回行われた前記データの書き込みが正常に終了した場合に、前記許可情報の代わりとなる代理許可情報を生成して出力するステップと、
     前記代理許可情報の入力をトリガとして前記データの書き込みを開始するステップと、
     を有する通信方法。
  6.  リモートにある他装置の記録媒体に対するデータの書き込みを、当該書き込みを許可する旨を示す許可情報の入力をトリガとして開始する通信装置のコンピュータに実行させる通信制御プログラムであって、
     前回行われた前記データの書き込みが正常に終了した場合に、前記許可情報の代わりとなる代理許可情報を生成して出力する処理と、
     前記代理許可情報の入力をトリガとして前記データの書き込みを開始する処理と、
     を実行させる通信制御プログラム。
     
PCT/JP2012/006483 2011-12-08 2012-10-10 通信装置、通信方法、および通信制御プログラム WO2013084392A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011268786 2011-12-08
JP2011-268786 2011-12-08

Publications (1)

Publication Number Publication Date
WO2013084392A1 true WO2013084392A1 (ja) 2013-06-13

Family

ID=48573786

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/006483 WO2013084392A1 (ja) 2011-12-08 2012-10-10 通信装置、通信方法、および通信制御プログラム

Country Status (1)

Country Link
WO (1) WO2013084392A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016225175A (ja) * 2015-06-01 2016-12-28 パナソニックIpマネジメント株式会社 照明システム、照明器具、および照明システムにおける通信方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11112524A (ja) * 1997-08-07 1999-04-23 Internatl Business Mach Corp <Ibm> 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
JP2007088775A (ja) * 2005-09-21 2007-04-05 Oki Electric Ind Co Ltd 無線通信システム、無線通信装置及び方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11112524A (ja) * 1997-08-07 1999-04-23 Internatl Business Mach Corp <Ibm> 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
JP2007088775A (ja) * 2005-09-21 2007-04-05 Oki Electric Ind Co Ltd 無線通信システム、無線通信装置及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016225175A (ja) * 2015-06-01 2016-12-28 パナソニックIpマネジメント株式会社 照明システム、照明器具、および照明システムにおける通信方法

Similar Documents

Publication Publication Date Title
US11016911B2 (en) Non-volatile memory express over fabric messages between a host and a target using a burst mode
TWI430097B (zh) 資訊處理設備、資訊處理系統、資訊處理方法及電腦程式
KR101092112B1 (ko) 향상된 무선 usb 프로토콜 및 허브
JP5278222B2 (ja) 無線通信装置、無線通信方法および無線通信プログラム
WO2018188084A1 (zh) 一种数据访问方法及装置
WO2016093895A1 (en) Generating and/or employing a descriptor associated with a memory translation table
US8626963B2 (en) Packet based data transfer system and method for host-slave interface
TWI582609B (zh) 用於在遠端節點和本地節點之間執行遠端記憶體存取(rma)資料傳輸的方法和設備
US11531636B2 (en) Storage system, method, and apparatus for fast IO on PCIE devices
EP2919433A1 (en) Method and device for communication protocol processing
CN114285676B (zh) 智能网卡、智能网卡的网络存储方法和介质
CN111343148A (zh) 一种fgpa通信数据的处理方法、***及装置
US20160077986A1 (en) Electronic apparatus providing real-time switching and sharing of usb electronic devices among hosts
KR20210033889A (ko) 메시지 터널링을 위한 시스템 및 방법
US10445012B2 (en) System and methods for in-storage on-demand data decompression
WO2013084392A1 (ja) 通信装置、通信方法、および通信制御プログラム
US10664418B2 (en) Peripheral device controlling device, operation method thereof, and operation method of peripheral device controlling device driver
JP6084204B2 (ja) 無線通信装置、無線通信方法、および無線通信制御プログラム
US20140325198A1 (en) Electronic device and loading method of control program
TWI689820B (zh) Usb傳輸系統、usb裝置與支援usb傳輸的主機
JP5093322B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにコンピュータ・プログラム
JP2022165569A (ja) メモリシステム、メモリデバイス、およびデータ送信方法
CN115729600A (zh) 一种nvdimm升级方法、装置、电子设备以及计算机存储介质

Legal Events

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

Ref document number: 12854890

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12854890

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP