1. Technical Field
The present disclosure relates to an information processing apparatus and a method for controlling the information processing apparatus. More particularly, the present disclosure relates to an information processing apparatus that performs processing for transmitting load information to an external apparatus.
2. Description of the Related Art
Recently, numerous information processing apparatuses are connected via a network in such a way as to constitute a large-scale information processing system. To improve performances of such an information processing system, recognizing each information processing apparatus connected to the network and managing an operational state thereof becomes more important.
For example, as discussed in Japanese Patent Application Laid-Open No. 2000-57073, a plurality of information processing apparatuses connected via a network can cooperatively constitute a hierarchical management information group, in which a management apparatus can periodically acquire most significant management information and can hierarchically search for a change of the management information.
Further, a command group that is required to access a network and control video streaming is installed on an imaging apparatus that is an example of the information processing apparatus. The standard formulated by Open Network Video Interface Forum (ONVIF) is conventionally known as an example of the above-mentioned command group.
The present disclosure is directed to an information processing apparatus that can communicate with an external apparatus via a network. The information processing apparatus includes an information management unit configured to acquire load information at a first interval, a transmission unit configured to transmit the load information acquired by the information management unit to the external apparatus via a network at a second interval, a reception unit configured to receive a control command including an instruction or a parameter required to acquire the load information via the network, and a control unit configured to control the first interval or the second interval. The control unit controls the first interval or the second interval based on a change amount of the load information.
Further features of the present disclosure will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Exemplary embodiments of the present disclosure will be described in detail below with reference to the drawings.
Configurations described in the following exemplary embodiments are mere examples. The present disclosure is not limited to the illustrated configurations. Further, it is assumed that commands in the following exemplary embodiments are determined based on the Open Network Video Interface Forum (ONVIF) standard.
Hereinafter, a network configuration according to a first exemplary embodiment of the present disclosure will be described in detail below with reference to
The imaging apparatus 1000 according to the present exemplary embodiment is an example of an information processing apparatus that can communicate with an external apparatus via a network. For example, the imaging apparatus 1000 is a monitoring camera that can capture a moving image. More specifically, the imaging apparatus 1000 is a camera server (i.e., a network camera) that can be used for monitoring. The client apparatus 2000 according to the present exemplary embodiment is an example of the external apparatus (e.g., a personal computer (PC)). The monitoring system according to the present exemplary embodiment can serve as an imaging system. Although only one imaging apparatus is provided in
Further, it is assumed that the IP network 1500 is constituted by a plurality of routers, switches, and cables, which satisfy a predetermined communication standard (e.g., Ethernet (registered trademark)). However, in the present exemplary embodiment, the IP network 1500 is not specifically restricted in the communication standard, scale, and configuration, as long as the IP network 1500 enables the imaging apparatus 1000 and the client apparatus 2000 to perform communications.
For example, the IP network 1500 can be constituted by Internet, a wired Local Area Network (LAN), a wireless LAN (Wireless LAN), or a wide area network (WAN). The imaging apparatus 1000 according to the present exemplary embodiment can be configured to conform to Power Over Ethernet (PoE (registered trademark)), and can be configured to receive electric power via a LAN cable.
Operations that can be performed by the imaging apparatus 1000 according to the present exemplary embodiment will be described in detail below with reference to
The imaging apparatus 1000 illustrated in
The communication unit 1005 illustrated in
By performing the above-mentioned operations, the imaging apparatus 1000 according to the present exemplary embodiment can distribute image streams of the same scene according to different coding methods and different image sizes substantially simultaneously. The image streams can be output to an external device via the communication unit 1005.
Further, the communication unit 1005 illustrated in
Further, the control unit 1007 includes a central processing unit (CPU), which can control each constituent component of the client apparatus 2000 and can set various parameters. The storage unit 1008 includes a memory that can electrically erase the stored data. The control unit 1007 can execute the OS and various programs loaded from the memory of the storage unit 1008. The memory can be used as a storing area for the programs and a work area for the control unit 1007 when it executes each program, and a storing area for various data. Further, the control unit 1007 includes a timer unit that can measure a designated period of time. The control unit 1007 causes the timer unit to measure a period designated by a control command from the client apparatus 2000 and measure an operation period of the own apparatus. Further, the control unit 1007 is capable of detecting a state change occurring in the imaging apparatus 1000 as an event. For example, a change of an imaging object in a captured image and a positional change of the lens 1001 are events that the control unit 1007 can detect.
In addition, the storage unit 1008 holds initial values of various parameters (i.e., setting information) that the control unit 1007 uses to control the imaging apparatus 1000. The initial values can be referred to in an event of reception of an initialization command. More specifically, if the imaging apparatus 1000 receives the initialization command, the imaging apparatus 1000 updates the latest setting information, including the information having been set by the client apparatus 2000 after installation and operation of the imaging apparatus 1000 for a significant period of time, with reference to the initial values held in the storage unit 1008.
As illustrated in
The client apparatus 2000 includes a storage unit 2002. The storage unit 2002 can be used as a storing area for programs that the control unit 2001 mainly executes, a work area for a running program, and a storing area for various data.
The client apparatus 2000 includes a display unit 2003. The display unit 2003 is, for example, constituted by a liquid crystal device (LCD) or an organic EL display device. The display unit 2003 can display various setting screens (including a streaming image setting screen), a video viewer received from the imaging apparatus 1000, and various messages, for a user of the client apparatus 2000.
The client apparatus 2000 includes an input unit 2004. For example, the input unit 2004 can be constituted by buttons, a four-way operational key, a touch panel, and a mouse. The input unit 2004 can notify the control unit 2001 of the content of each user's screen operation.
The client apparatus 2000 includes a decoding unit 2005. The decoding unit 2005 can decode compression coded image data received via a communication unit 2006 based on the JPEG or H.264 format and develop the decoded image data in the storage unit 2002.
The communication unit 2006 can be used when the client apparatus 2000 transmits each control command to the imaging apparatus 1000. Further, the communication unit 2006 can be used when a response to the control command or a video stream is received from the imaging apparatus 1000.
Although the internal configurations of the imaging apparatus 1000 and the client apparatus 2000 have been described with reference to
The imaging processing unit 110 can acquire image data generated by the imaging unit 1002, via the image processing unit 1003, and perform image processing and coding processing on the acquired image data according to image quality parameters. Further, the imaging processing unit 110 can transmit the processed image data to the communication processing unit 112. In the present exemplary embodiment, the imaging processing unit 110 is not an essential component and can be omitted.
The load information management unit 111 can acquire apparatus load information (e.g., usage rate of the CPU included in the control unit 1007) and apparatus internal event information, from the load information unit 113, at predetermined intervals or in response to detection of an event. Further, the load information management unit 111 can transmit the acquired information to the communication processing unit 112. The apparatus internal event information includes initial setting return date and time, start-up/restart date and time, time synchronization date and time, backup date and time, own apparatus fan/power/storage error, or temperature abnormality.
The time to transmit the information to the communication processing unit 112 is not limited to the above-mentioned predetermined intervals and can be a detection timing of a variation in CPU usage rate or an occurrence timing of an internal event. Further, the above-mentioned predetermined intervals can be changed according to the load information or the occurrence of an internal event.
In response to a request from an arbitrary client, the communication processing unit 112 temporarily stores image data received from the imaging processing unit 110, apparatus load information received from the load information management unit 111, and internal event information in the storage unit 1008. Then, the control unit 1007 controls the communication unit 1005 to transmit the temporarily stored data and information to the requested client.
The load information unit 113 can collect the apparatus load information (e.g., usage rate of the CPU included in the control unit 1007) and the apparatus internal event information and can calculate new information based on the collected information. The load information unit 113 can store the new information. If necessary, the load information management unit 111 can acquire the information stored in the load information unit 113. The load information unit 113 can be configured to input information written from the load information management unit 111.
In step 400, the client apparatus 2000 transmits a Subscribe Request command that includes load information to be acquired or internal event information (hereinafter, referred to as load information) to the imaging apparatus 1000. The client apparatus 2000 can include interval information (as a parameter requesting periodically notifying the load information) or expiration information about a valid period (or an expiration time) for repeating the notification, as part of the Subscribe Request command.
In step 401, the imaging apparatus 1000 acquires load information about own apparatus and transmits a Subscribe Response command including the acquired information to the client apparatus 2000. The Subscribe Response command transmitted by the imaging apparatus 1000 in this case can include the interval information indicating repetitively notifying the load information, as a parameter.
In step 402, the imaging apparatus 1000 acquires load information after the elapse of time t1, which is included in the interval information requested from the client apparatus 2000 or in interval information owned by the camera, and transmits a Notify command including the acquired load information to the client apparatus 2000. The elapse of time t1 can be measured by the timer unit included in the control unit 1007. After the elapse of time t1, the timer unit included in the control unit 1007 transmits a predetermined notification to the CPU included in the control unit 1007, to notify the elapse of the period.
After the elapse of time t2, namely in step 403, the imaging apparatus 1000 transmits a Notify command including load information based on the interval information. In this case, the time t2 can be the same as the time t1 or different from the time t1. Alternatively, the imaging apparatus 1000 can transmit the Notify command in response to the occurrence of an internal event.
In a case where a valid period is designated beforehand, the imaging apparatus 1000 stops transmitting the Notify command after the elapse of the valid period.
The present exemplary embodiment has been described on the presupposition that the client knows the load information to be acquired or internal event information beforehand. However, the client apparatus 2000 can acquire a list of load information or internal event information acquirable from the imaging apparatus 1000 beforehand by using a predetermined request instruction command and then transmit the Subscribe Request command.
The interval information can include a time interval at which notification of the load information is performed, a time interval at which apparatus internal load information is confirmed, and information indicating whether to promptly notify an internal event if it occurs. The valid period information can include a valid period during which the load information should be notified. The valid period can be actual time (e.g., Coordinated Universal Time (UTC) or local time) or can be relative time indicating elapsed time since the present time.
A plurality of pieces of load information can be designated by the Subscribe Request command 500. In this case, it is possible to designate notification time interval or timing for individual load information. Further, the Subscribe Response command 510 can include information relating to individual load information designated by the Subscribe Request command 500. If necessary, the Notify command 520 can be transmitted for individual load information at appropriate timing. If there is a plurality of pieces of load information Notify commands 520 to be transmitted at the same time, it is possible to transmit a single control command including all of them. Alternatively, it is possible to transmit the notifications sequentially according to a predetermined priority order.
The communication processing unit 112 controls the load information management unit 111 in response to reception of the Subscribe Request command from the client apparatus 2000. In this case, the communication processing unit 112 inputs interval information notified by the load information management unit 111 as a control parameter. The interval information used in the present exemplary embodiment includes load notification interval at which notification of the load information is performed, although the interval information is not limited to the load notification interval.
After starting the control, in step S601, the load information management unit 111 stores the load notification interval received from the communication processing unit 112. Then, the operation proceeds to step S602.
In step S602, the load information management unit 111 acquires the load information designated by the Subscribe Request command from the load information unit 113. Then, the operation proceeds to step S603.
In step S603, the load information management unit 111 transmits a Subscribe Response command including the load information acquired in step S602 to the client apparatus 2000 via the communication processing unit 112. Then, the operation proceeds to step S604.
In step S604, the load information management unit 111 is brought into a standby state and keeps the standby state until notification of the next load information is performed. It is now assumed that the condition for returning from the standby state is satisfied when the load notification interval has elapsed or when an internal event (e.g., initial setting return action, time synchronization action, backup action, own apparatus fan/power/storage error, or temperature abnormality) has occurred. If the load information management unit 111 determines that the return condition has been satisfied, the operation proceeds to step S605.
In step S605, the load information management unit 111 acquires load information again from the load information unit 113, similar to step S602. Then, the operation proceeds to step S606. In the present exemplary embodiment, it is assumed that the load information acquired in step S605 is the same as the load information acquired in step S602. However, they may be completely different from each other or may be partly differentiated when the reading processing is performed repetitively.
In step S606, the load information management unit 111 transmits a Notify command including the load information acquired in step S605 to the client apparatus 2000 via the communication processing unit 112. Then, the operation proceeds to step S607.
In step S607, the load information management unit 111 performs load notification interval resetting processing. The resetting processing performed in step S607 will be described in detail below. If the resetting processing completes, the operation proceeds to step S608.
In step S608, the load information management unit 111 confirms whether a termination instruction has been received from the client apparatus 2000 via the communication processing unit 112. If it is determined that the termination instruction has been received (YES in step S608), the load information management unit 111 terminates the processing of the flowchart illustrated in
In step S610, the load information management unit 111 compares the load information acquired in step S602 (or preceding step of step S602) with the load information acquired in the immediate preceding step S605. As a comparison result, if the load information management unit 111 determines that the change (i.e., increase/decrease) amount of the load information is equal to or greater than an upper-limit threshold (YES in step S610), the operation proceeds to step S611. On the other hand, if the load information management unit 111 determines that the change amount of the load information is less than the upper-limit threshold (NO in step S610), the operation proceeds to step S612.
In step S611, the load information management unit 111 sets the load notification interval to a half of the time designated by a start-up parameter. Then, the load information management unit 111 terminates the processing of the flowchart illustrated in
In step S612, the load information management unit 111 compares the load information acquired in step S602 (or preceding step of step S602) with the load information acquired in the immediate preceding step S605. As a comparison result, if the load information management unit 111 determines that the change (i.e., increase/decrease) amount of the load information is equal to or less than a lower-limit threshold (YES in step S612), the operation proceeds to step S613. On the other hand, if the load information management unit 111 determines that the change amount of the load information is greater than the lower-limit threshold (NO in step S612), the load information management unit 111 terminates the processing of the flowchart illustrated in
In step S613, the load information management unit 111 sets the load notification interval to two times the time designated by the start-up parameter. Then, the load information management unit 111 terminates the processing of the flowchart illustrated in
By performing the processing according to the flowcharts illustrated in
In the present exemplary embodiment, the load information management unit 111 sets the load notification interval to the halved or doubled time. However, the setting values are not limited to these values. For example, it is possible to change the load notification interval when a predetermined time has elapsed. Changing the notification interval more finely or using a more complicated algorithm is also possible.
In the present exemplary embodiment, the interval information is set as the start-up parameter for the load information management unit 111. However, the valid period information may be transmitted together therewith. In this case, in determining whether to terminate the processing in step S608, the load information management unit 111 can determine whether the valid period has elapsed as another condition to be satisfied.
Further, it is unnecessary for the communication processing unit 112 to transmit the interval information if it is possible to use interval information stationarily owned by the load information management unit 111 or stored in the storage unit 1008.
In the present exemplary embodiment, the communication processing unit 112 activates the load information management unit 111. However, it is possible to activate only the load information management unit 111 irrespective of the communication processing program 112 and perform notification processing for a plurality of clients in a batch fashion.
As described above, the client can collect and monitor a load state and an event having occurred in an apparatus connected via a network according to the ability of the apparatus.
Hereinafter, an information processing apparatus and a related processing method according to a second exemplary embodiment of the present disclosure will be described in detail below. The configurations of an imaging apparatus and others according to the second exemplary embodiment are similar to those described in the first exemplary embodiment and therefore redundant description thereof will be avoided.
The communication processing unit 112 controls the load information management unit 111 in response to reception of the Subscribe Request command from the client apparatus 2000. In this case, the communication processing unit 112 inputs interval information notified by the load information management unit 111, as a start-up parameter. In the present exemplary embodiment, the interval information includes the load notification interval at which the communication processing unit 112 is notified of the load information, and a load acquisition interval at which the load information is acquired from the load information resource 113.
In step S701, the load information management unit 111 stores the load notification interval and the load acquisition interval included in the interval information notified at the start-up timing. Then, the operation proceeds to step S702.
In step S702, the load information management unit 111 acquires load information designated by the Subscribe Request command from the load information unit 113. Then, the operation proceeds to step S703.
In step S703, the load information management unit 111 transmits a Subscribe Response command including the load information acquired in step S702 to the client apparatus 2000 via the communication processing unit 112. Then, the operation proceeds to step S704.
In step S704, the load information management unit 111 stores the present time (i.e., load information transmission time). The storage destination may be a temporary storage unit in the control unit 1007 or may be the storage unit 1008. Then, the operation proceeds to step S705.
In step S705, the load information management unit 111 is brought into a standby state and then keeps the standby state until notification of the next load information is performed. It is now assumed that the condition for returning from the standby state can be satisfied when the load notification interval has elapsed or when an internal event (e.g., initial setting return action, time synchronization action, backup action, own apparatus fan/power/storage error, or temperature abnormality) has occurred. If load information management unit 111 determines that the return condition has been satisfied, the operation proceeds to step S706.
In step S706, the load information management unit 111 acquires load information again from the load information unit 113. The processing performed in step S706 is similar to the processing performed in step S702. Then, the operation proceeds to step S707. In the present exemplary embodiment, it is assumed that the load information acquired in step S605 is the same as the load information acquired in step S602. However, they may be completely different from each other or may be partly differentiated when the reading processing is performed repetitively.
In step S707, the load information management unit 111 calculates a non-transmission time, which represents a difference between the previous load information transmission time to the present time. Then, the operation proceeds to step S708.
In step S708, the load information management unit 111 determines whether the non-transmission time (i.e., the time calculated in step S707) is equal to or greater than the load notification interval. If the load information management unit 111 determines that the non-transmission time is equal to or greater than the load notification interval (YES in step S708), the operation proceeds to step S709. On the other hand, if the load information management unit 111 determines that the non-transmission time is less than the load notification interval (NO in step S708), the operation proceeds to step S711.
In step S709 (i.e., if the non-transmission time is equal to or greater than the load notification interval), the load information management unit 111 transmits a Notify command including the load information acquired in step S706 to the client apparatus 2000 via the communication processing unit 112. Then, the operation proceeds to step S710.
In step S710, the load information management unit 111 stores the present time (i.e., load information transmission time). The processing to be performed in step S710 is similar to the processing performed in step S704. Then, the operation proceeds to step S711.
Processing performed in step S711 is similar to the processing performed in step S607 illustrated in
In step S712, the load information management unit 111 confirms whether a termination instruction has been received from the client apparatus 2000, via the communication processing unit 112. If it is determined that the termination instruction has been received (YES in step 712), the load information management unit 111 terminates the processing of the flowchart illustrated in
In the present exemplary embodiment, the interval information is set as the start-up parameter for the load information management unit 111. However, the valid period information may be transmitted together therewith. In this case, in determining whether to terminate the processing in step S712, the load information management unit 111 can determine whether the valid period has elapsed as another condition to be satisfied.
Further, it is unnecessary for the communication processing unit 112 to transmit the interval information if it is possible to use interval information stationarily owned by the load information management unit 111 or stored in the storage unit 1008.
In the present exemplary embodiment, in step S708, the load information management unit 111 determines whether the non-transmission time is equal to or greater than the load notification interval. However, if a difference between the acquired load information and the previous information is sufficiently large, the determination result in step S708 may be regarded as true even when the non-transmission time is less than the load notification interval.
In the present exemplary embodiment, the load notification interval is used to determine the timing to transmit the load information. However, the setting can be performed independent of the load information acquiring timing. In this case, enabling to set the interval information independently is desired.
In the present exemplary embodiment, the communication processing unit 112 activates the load information management unit 111. However, it is possible to activate only the load information management unit 111 irrespective of the communication processing program 112 and perform notification processing for a plurality of clients in a batch fashion.
As described above, the client can collect and monitor a load state and an event having occurred in an apparatus connected via a network according to the ability of the apparatus.
Although the present disclosure has been described with reference to preferred embodiments, the present disclosure is not limited to the illustrated exemplary embodiments and can be changed or modified in various ways within the scope of the disclosure.
Embodiments of the present disclosure can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions recorded on a storage medium (e.g., non-transitory computer-readable storage medium) to perform the functions of one or more of the above-described embodiment(s) of the present disclosure, and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more of a central processing unit (CPU), micro processing unit (MPU), or other circuitry, and may include a network of separate computers or separate computer processors. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present disclosure has been described with reference to exemplary embodiments, it is to be understood that the disclosure is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2015-055209, filed Mar. 18, 2015, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2015-055209 | Mar 2015 | JP | national |