Back-up supply for devce registration
Claim Score by NHIP
Abstract
An embodiment of the present invention includes a technique to provide back-up power. A detector detects if a power source to a main supply is removed. A back-up supply provides back-up power when the power source is removed. A device registration unit transmits a message containing an identification (ID) code to a server. The device registration unit receives the back-up power when the power source is removed.

Term
Projected expiry 6 December 2026.
- Priority and filed
- Published
- Today
- Projected expiry
30 claims: 3 independent, 27 dependent
- 1An apparatus comprising:a detector to detect if a power source to a main supply is removed;a back-up supply coupled to the main supply to provide back-up power when the power source is removed;and a device registration unit coupled to the back-up supply to transmit a message containing an identification (ID) code to a server, the device registration unit receiving the back-up power when the power source is removed.
- 11Broadest claimClaim Score 85, broad(NHIP)A method comprising:monitoring a power source to a main supply to detect if the power source is removed;providing back-up power when the power source is removed;and transmitting a message containing an identification (ID) code to a server by a device registration unit, the device registration unit receiving the back-up power when the power source is removed.
- 21A system comprising:a server having a key;and a device coupled to the server via a network and a wireless connectivity, the device comprising: a detector to detect if a power source to a main supply is removed, a back-up supply coupled to the main supply to provide back-up power when the power source is removed, and a device registration unit coupled to the back-up supply to transmit a message containing an identification (ID) code to the server via the wireless connectivity, the device registration unit receiving the back-up power when the power source is removed;wherein the server, upon receiving the ID code, encrypts the key with the ID code and sends the encrypted key to the device via the network, and the device decrypts the encrypted key using the ID code, the key being used to encrypt and decrypt information exchanged between the server and the device.
Independent claims3
71 paragraphs in 3 sections, as filed
BACKGROUND
00011. Field of the Invention
0002Embodiments of the invention relates to the field of audio/video network systems, and more specifically, to device registration.
00032. Description of Related Art
0004Network audio/video systems provide a versatile and efficient way for home entertainment. A typical network audio/video system includes an audio/video server connected to a network to communicate with a number of clients. The audio/video server usually has a hard disk drive (HDD) that can store audio/video data (e.g., music, movies) on hundreds of compact disks (CD's) or digital versatile disks (DVD's). The audio server may also have a large CD database that contains information on CD's such as identifiers, titles, authors, content lists, etc. Client devices such as boom boxes, computers, audio/video players-F can download audio/video data and information through network connectivity.
0005A registration procedure is typically needed to allow the audio/video server and a client device to obtain identification information for communication. Existing techniques for registration have a number of drawbacks. In a first method, command buttons are entered on both the server and the client and the two exchange information over the network. This technique is simple but unsecured. An adversary may intercept the communication and compromise the security. In a second method, an identification (ID) card containing the ID information of the client is installed in the server. The card may be a Universal Serial Bus (USB) flash memory device. This method is costly, requiring the ID card and a slot interface in the server. In a third method, the server and the client are connected with an interface cable such as USB. This method is costly and inconvenient because it requires both the server and the client to have dedicated USB interface. In the last method, a remote commander having a client ID is used to send the client ID to the server. The problem with this method is the difficulty to pair the remote unit with the client because the same ID number must be programmed in both of the remote unit and the client. There is also a chance for erroneous pairing.
BRIEF DESCRIPTION OF THE DRAWINGS
0006Embodiments of the invention may best be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:
0007<figref idref="DRAWINGS">FIG. 1</figref> is a diagram illustrating a system in which one embodiment of the invention can be practiced.
0008<figref idref="DRAWINGS">FIG. 2A</figref> is a diagram illustrating a message format according to one embodiment of the invention.
0009<figref idref="DRAWINGS">FIG. 2B</figref> is a diagram illustrating message transmissions with error checking according to one embodiment of the invention.
0010<figref idref="DRAWINGS">FIG. 3</figref> is a flowchart illustrating a process to perform device registration by a client according to one embodiment of the invention.
0011<figref idref="DRAWINGS">FIG. 4</figref> is a flowchart illustrating a process to transmit the ID code by a client according to one embodiment of the invention.
0012<figref idref="DRAWINGS">FIG. 5</figref> is a flowchart illustrating a process to perform device registration by a server according to one embodiment of the invention.
0013<figref idref="DRAWINGS">FIG. 6</figref> is a flowchart illustrating a process to receive the message according to one embodiment of the invention.
0014<figref idref="DRAWINGS">FIG. 7</figref> is a diagram illustrating a power supply unit according to one embodiment of the invention.
0015<figref idref="DRAWINGS">FIG. 8</figref> is a diagram illustrating a detector according to one embodiment of the invention.
0016<figref idref="DRAWINGS">FIG. 9</figref> is a flowchart illustrating a process to perform device registration by a client using back-up supply according to one embodiment of the invention.
DESCRIPTION
0017An embodiment of the present invention includes a technique to provide back-up power. A detector detects if a power source to a main supply is removed. A back-up supply provides back-up power when the power source is removed. A device registration unit transmits a message containing an identification (ID) code to a server. The device registration unit receives the back-up power when the power source is removed.
0018In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures, and techniques have not been shown in order not to obscure the understanding of this description.
0019One embodiment of the invention may be described as a process which is usually depicted as a flowchart, a flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed. A process may correspond to a method, a program, a procedure, a method of manufacturing or fabrication, etc.
0020Embodiments of the invention provide an efficient technique to provide secure device registration of a device or a client with a server in a home or small office environment. The device sends a message containing an ID code to the server via a wireless connectivity such as optical (e.g., infrared), sonic, or electromagnetic. Since the transmission of the message takes place in a home environment within a short distance (e.g., <b>2</b> meters) and within a short time period (e.g. <b>15</b> seconds), the ID code embedded in the message is transmitted in a secure manner. The server receives the message containing the ID code from the client. It then extracts the ID code from the message. The ID code is then used to encrypt a network key. The network key may be originally stored in the server or the client. The network key is encrypted using the ID code and transmitted from the sender to the receiver. The sender is the entity that stores the key originally. The receiver then uses the ID code to decrypt the encrypted key to obtain the key. After the key is obtained, the server and the client can exchange information encrypted/decrypted by the key. The ID code is used temporarily to encrypt the key during the transmission of the key from the server to the client (if the server has the key originally) or from the client to the server (if the client has the key originally). Thereafter, the ID code is not needed once the key is shared by the server and the client. Therefore, even if an adversary obtains the ID code after the registration is completed, it is not much use. The system security is enhanced. Interceptors are not able to decipher messages exchanged between the server and the client because they do not have the network key.
0021If the client does not have a wireless transmitter, such a transmitter may be easily installed in an inexpensive manner. The client does not need to have a wireless receiver, because only a wireless transmitter is used to transmit the ID code.
0022<figref idref="DRAWINGS">FIG. 1</figref> is a diagram illustrating a system <b>100</b> in which one embodiment of the invention can be practiced. The system <b>100</b> includes a remote commander <b>130</b>, a server <b>110</b>, a client <b>150</b>, and a network <b>190</b>. Note that the system <b>100</b> may include more or less elements than these elements.
0023The remote commander <b>130</b> is a remote unit used by a user <b>105</b> to remotely control the server <b>110</b> and optionally the client <b>150</b>. The remote commander <b>130</b> may have entry devices such as buttons or keypad to allow the user <b>105</b> to enter commands or to select an operation. The remote commander <b>130</b> may also have a display. The user <b>105</b> may select or enter a command to the remote commander <b>130</b> to perform operations such as enabling a device registration mode, select a format of the ID code to the server <b>110</b> and optionally the client <b>150</b>, audio and/or video operations (e.g., play, pause, stop, fast review, fast forward). The remote commander <b>130</b> may have a built-in wireless interface or transmitter to transmit the ID code in a wireless connectivity such as optical (e.g., infra-red), sonic (e.g., ultrasound), and electromagnetic (e.g., Bluetooth). Note that the remote commander <b>130</b> may not be needed for device registration.
0024The server <b>110</b> may be an audio and/or video server. It may be configured to store audio/video data recorded from a large number of audio or video media such as compact disks (CDs) or digital versatile disks (DVDs). An example of the server <b>110</b> is the Sony DMT-PR1 Bitplay audio/video system manufactured by Sony Corporation. The server <b>110</b> includes a processor <b>115</b>, a memory <b>120</b>, a bus <b>130</b>, a mass storage device <b>131</b>, a wireless interface <b>132</b>, a user interface <b>134</b>, and a network interface <b>136</b>.
0025The processor <b>115</b> represents a central processing unit of any type of architecture, such as embedded processors, mobile processors, micro-controllers, digital signal processors, superscalar computers, vector processors, single instruction multiple data (SIME) computers, complex instruction set computers (CISC), reduced instruction set computers (RISC), very long instruction word (VLIW), or hybrid architecture. The memory <b>120</b> stores program code and data. The memory <b>120</b> is typically implemented with dynamic random access memory (DRAM) or static random access memory (SRAM). It may also include non-volatile memory such as flash memory. The memory <b>120</b> stores a key <b>122</b> for cryptographic communication. The key <b>122</b> is used by the server to encrypt messages or information to be sent out and to decrypt messages or information encrypted by the key <b>122</b>. The key <b>122</b> may be a factory-preset, fixed value or randomly generated. In addition, as discussed above, alternatively, the key <b>122</b> may be stored in the client <b>150</b> and sent to the server <b>110</b>.
0026The bus <b>130</b> provides interface signals to allow the processor <b>115</b> to communicate with other processors or devices such as the wireless interface <b>132</b>, the user interface <b>134</b>, and the network interface <b>136</b>.
0027The mass storage device <b>131</b> stores archive information such as code, programs, files, data, applications, and operating systems. The mass storage device <b>131</b> may include a CD-ROM, a DVD, a floppy drive, and a hard drive, and any other magnetic or optic storage devices. The data may include audio and/or video data such as music, movies, graphics, animation, etc. The mass storage device <b>131</b> provides a mechanism to read machine-accessible media. The machine-accessible media may contain computer readable program code to perform tasks as described in the following.
0028The wireless interface <b>132</b> may include a wireless receiver to receive wireless messages sent from the remote commander <b>130</b>. The wireless receiver may be an optical (e.g., infra-red) receiver, a sonic (e.g., ultrasound) receiver, or an electromagnetic (e.g., Bluetooth) receiver. The wireless interface <b>132</b> may optionally include a wireless transmitter of any of the above type. The user interface <b>134</b> provides interface to user for command entry and/or display. The user may enter commands via a keypad or buttons. The display may provide feedback information to the user.
0029The network interface <b>136</b> provides interface to the network <b>190</b>. In one embodiment, the network <b>190</b> is a power line and the network interface <b>136</b> is a power line communication (PLC) interface. The PLC technology allows convenient, flexible, and cost-effective access to the server <b>110</b> from various clients, such as the client <b>150</b>, connected to the server <b>110</b> via power lines. In addition, the use of PLC technology enhances the mobility of the clients as they can be easily moved from one physical location to another physical location without disrupting the network configuration and the accessibility to the server <b>110</b>. PLC may be deployed in accordance with the “HomePlug 1.0 Specification,” dated Jun. 30, 2001. The server <b>110</b> may send and receive information to and from the client <b>150</b> through the power line. The network or power plug or receptacle <b>140</b> is plugged into the socket connecting to the network or power line <b>190</b> to allow the information to be transmitted or received over the network or power line <b>190</b> from and to the PLC interface <b>136</b>. It is noted that any network technology other than the PLC may be employed. This may include Ethernet, cable modem, fiber optic cable, dial-up, digital subscriber lines (xDSL), Integrated Service Data Network (ISDN), or wireless networks.
0030The client <b>150</b> is a client device that communicates with the server <b>110</b> via the power line <b>190</b>. Typically in a home or small office environment, there may be multiple clients connecting to the server <b>110</b>. For clarity, only one client <b>150</b> is shown. The client <b>150</b> may be an audio and/or video player (e.g., boom box), a media device (e.g., camera, music player), a mobile unit (e.g., cellular phone, wireless phone, personal digital assistant), a wireless fidelity (WiFi) adapter. The client <b>150</b> has similar components like the server <b>150</b>, but may be with smaller, slower, or less power consumption components. The client <b>150</b> includes a device registration unit <b>155</b>, a user interface <b>174</b>, and a network interface <b>176</b>. The device registration unit <b>155</b> includes a processor <b>165</b>, a memory <b>160</b>, a bus <b>170</b>, and a wireless interface <b>172</b>.
0031The client <b>150</b> may be a unit that has power cable connected to an outlet such as a wall outlet or an extension outlet. It may be moved around and located anywhere in the home or office environment. It may be placed on top of, adjacent to, or close to the server <b>110</b>. It may also be a wall-mounted device that plugs directly to the electrical outlet without using a power cable.
0032For device registration, the client <b>150</b> may be positioned such that its wireless transmitter is directed toward the server. Typically, the user moves the client <b>150</b> close to the server <b>110</b> within the operational distance as allowed by the wireless transmitter. For example, this distance may range from 0 to 5 meters. The user <b>105</b> may then position the client <b>150</b> such that it faces the server <b>110</b> without any physical obstacle that may interfere with the wireless transmission. For a client that has a long power cord or cable, the movement of the client <b>150</b> around to position it close to the server <b>110</b> for device registration, this may not present a problem. However, when the client <b>150</b> is a wall-mounted device or when it may be cumbersome to move it around while the power cord or cable is still plugged into the outlet, it may be necessary to remove the device from the outlet or to remove the power cord or cable from the outlet for device registration. During this time, the power source may be temporary removed or unavailable. An embodiment of the invention provides a back-up supply so that the client <b>150</b> may be able to send a message containing the ID code to the server <b>110</b> during this temporary period of removing the power source. After the ID code is transmitted to the server, the client <b>150</b> may be plugged back to the outlet if it is a wall-mounted device or its power cable may be plugged back to the outlet.
0033The processor <b>165</b> may be any processor similar to the processor <b>115</b>. In one embodiment, the processor <b>165</b> is slower and consumes less power than the processor <b>115</b>. Similarly, the memory <b>160</b> is similar to the memory <b>120</b>. The memory <b>160</b> may store a program to allow the processor <b>165</b> to execute instructions to perform the device registration function such as retrieving the ID code, composing a message containing the ID code, and sending the message to the wireless interface <b>172</b>. The memory <b>160</b> may contain the ID code that identifies the client <b>150</b> and is used for device registration. In addition, the memory <b>160</b> may or may not contain a network key that may be sent to the server <b>110</b> in encrypted form as discussed above. The memory <b>160</b> may also store data or information to be exchanged with the server <b>110</b>. In the case where the server <b>110</b> has the network key originally, the memory <b>160</b> does not contain the key <b>122</b> initially. Eventually, after device registration, the server <b>110</b> sends the key <b>122</b> encrypted with the ID code to the client <b>150</b>. The client <b>150</b> may then obtain the key <b>122</b> by decrypting the encrypted key using the ID code. Similar operations are performed when the client <b>150</b> has the network key originally. The bus <b>170</b> allows the processor <b>165</b> to interface to a number of devices. The wireless interface <b>172</b> allows the device registration unit <b>155</b> to transmit a message or messages containing the ID code to the server. If enabled, the wireless interface <b>172</b> may also receive messages transmitted in a wireless connectivity from the remote commander <b>130</b>, or from the server <b>110</b>. The wireless interface <b>172</b> may include one of an optical (e.g., infrared) transmitter, a sonic (e.g., ultrasound) transmitter, or an electromagnetic (e.g., Bluetooth) transmitter. In case of the optical transmitter, a multi-wavelength LED may be used. For example, a dual-wavelength LED which emits both infrared and visible red light may be implemented for message transmission and power indication. The wireless interface <b>172</b> may optionally include a wireless receiver of any of the above type. The user interface <b>174</b> provides interface to the user <b>105</b> including an entry device (e.g., keypad, button) and/or display. The network interface <b>176</b> is connected to the network or power plug or receptacle <b>180</b> to allow communication between the server <b>110</b> and the client <b>150</b> to occur over the network or power line <b>190</b>. The power supply unit <b>178</b> provides power to various components in the client <b>150</b>. It is also connected to the power plug <b>180</b> to receive the line power. As discussed above, during device registration, the power source to the client <b>150</b> may be temporary disconnected or removed. The power supply unit <b>178</b> may include a back-up supply to allow the device registration unit <b>155</b> to perform device registration during the time period when the power source is removed or disconnected.
0034<figref idref="DRAWINGS">FIG. 2A</figref> is a diagram illustrating a message format <b>200</b> according to one embodiment of the invention. The message format <b>200</b> includes an ID code <b>205</b> and K frames <b>220</b><sub>1 </sub>to <b>220</b><sub>K</sub>.
0035The ID code <b>205</b> may include K words <b>210</b><sub>1 </sub>to <b>210</b><sub>K</sub>. In one embodiment, the ID code <b>205</b> includes 4 words or 8 bytes. Since the length of the ID code <b>205</b> may be larger than most standard sizes of existing communication protocols, the ID code <b>205</b> may be encoded to form a message for transmission using a pre-defined format. The pre-defined format may be known by both the client <b>150</b> and the server <b>110</b>. In one embodiment, the pre-defined format includes breaking up the ID code <b>205</b> into K frames <b>220</b><sub>1 </sub>to <b>220</b><sub>K</sub>, each frame corresponding to a word in the ID code <b>205</b>.
0036Each of the K frames <b>220</b><sub>1 </sub>to <b>220</b><sub>K </sub>includes a sequence number <b>230</b><sub>j </sub>(=1, . . . , K) and two bytes corresponding to the word j of the ID code <b>205</b>. The sequence number indicates the word number in the ID code <b>205</b>. The sequence number therefore may include a sufficient number of bits to encode the total number of frames. In one embodiment, the sequence number <b>230</b><sub>j </sub>is a 4-bit code and the size of each of the K frames <b>220</b><sub>1 </sub>to <b>220</b><sub>K </sub>is 20-bit.
0037<figref idref="DRAWINGS">FIG. 2B</figref> is a diagram illustrating message transmissions <b>240</b> with error checking according to one embodiment of the invention. The message transmission <b>240</b> may include a cyclic redundant code (CRC) encoded message <b>250</b> and redundant messages <b>260</b>. The message transmission <b>240</b> includes an error checking procedure to avoid receiving an erroneous ID code due to noise and interferences in the transmission of the ID code <b>205</b>.
0038The CRC encoded message <b>250</b> includes the K frames <b>220</b><sub>1 </sub>to <b>220</b><sub>K </sub>and a CRC <b>255</b>. The CRC <b>255</b> is the CRC code for the entire K frames <b>220</b><sub>1 </sub>to <b>220</b><sub>K</sub>. When the server <b>110</b> receives the CRC encoded message <b>250</b>, it may perform a decoding procedure to determine if there is an error during transmission. If there is an error, the server may flash an error indicator or display an error message on its display. The user may then command the client <b>150</b> to re-send the message containing the ID code <b>205</b>.
0039The redundant messages <b>260</b> include N messages <b>270</b><sub>1 </sub>to <b>270</b><sub>N </sub>where N is a positive integer greater than 1. Each of the N messages <b>270</b><sub>1 </sub>to <b>270</b><sub>N </sub>includes the K frames <b>220</b><sub>1 </sub>to <b>220</b><sub>K</sub>. Essentially, the client <b>150</b> sends the message containing the ID code <b>205</b> redundantly. The error checking may be performed in a number of ways. In one way, the server <b>110</b> determines if at least two of the messages are the same. If they are the same, then the message is assumed to be error-free and the ID code <b>205</b> may be extracted from the message. In other way, the server <b>110</b> selects a group of messages that has the most number of identical messages and determines that this group contains an error-free ID code <b>205</b>. For example, suppose N=5. There are 3 messages that are the same and 2 messages that are the same but different than the other 3 messages. The 3 identical messages may then be selected as containing the error-free ID code <b>205</b>. The server <b>110</b> may then extract the ID code <b>205</b> from any of these <b>3</b> messages.
0040<figref idref="DRAWINGS">FIG. 3</figref> is a flowchart illustrating a process <b>300</b> to perform device registration by a client according to one embodiment of the invention.
0041Upon START, the process <b>300</b> transmits a message containing an identification (ID) code to a server (Block <b>310</b>). Next, the process <b>300</b> determines if a key is stored in the server (Block <b>315</b>). If so, the process <b>300</b> receives the key encrypted with the ID code from the server via a network (Block <b>320</b>). Any suitable encryption algorithm may be used. In one embodiment, the system supports symmetric key cryptography such as cryptography in accordance with Data Encryption Standard (DES) or Advanced Encryption Standard (AES). Public key cryptography techniques may also be employed.
0042Next, the process <b>300</b> decrypts the encrypted key using the ID code (Block <b>330</b>). Then, the process <b>300</b> exchanges information with the server via the network (Block <b>360</b>). The information is encrypted and decrypted by the key. The information may include any messages, download information, audio and/or video data information (e.g., title, song), etc. The encryption and decryption techniques of the messages exchanged between the server and the client may be the same or different than the cryptography technique used by the server to send the key to the client. The process <b>300</b> is then terminated.
0043If the key is not originally stored in the server, i.e., it is stored in the client originally, the process <b>300</b> encrypts the key with the ID code (Block <b>340</b>). As above, any suitable encryption algorithm may be used. Next, the process <b>300</b> transmits the encrypted key to the server via the network (Block <b>350</b>). As above any suitable network may be used. The process <b>300</b> then proceeds to Block <b>360</b>.
0044<figref idref="DRAWINGS">FIG. 4</figref> is a flowchart illustrating the process <b>310</b> shown in <figref idref="DRAWINGS">FIG. 3</figref> to transmit message containing the ID code by a client according to one embodiment of the invention.
0045Upon START, the process <b>310</b> enables a device registration mode (Block <b>410</b>). This operation may be performed by pushing a button or enter a command to the client. Alternatively, this operation may be optional or automatically performed when an event is triggered. For example, when it is detected that a power source becomes unavailable or removed, such as when a wall-mounted client is removed from the outlet, the device may automatically enables the device registration mode.
0046Next, the process <b>310</b> obtains the ID code when the device registration mode is enabled whether or not the device registration mode is automatically enabled (Block <b>420</b>). This may be performed by retrieving the ID code as a preset value or generating the ID code randomly.
0047Then, the process <b>310</b> creates the message containing the ID code (Block <b>430</b>). This may be performed by encoding the message in a pre-defined format as shown in <figref idref="DRAWINGS">FIG. 2A</figref>. The message may also be encoded using an error checking procedure (e.g., CRC, redundancy) as shown in <figref idref="DRAWINGS">FIG. 2B</figref>.
0048Then, the process <b>310</b> transmits the message containing the ID code using a wireless connectivity (Block <b>440</b>). The transmission of the ID code may be performed using an optical transmitter, a sonic transmitter, and an electromagnetic transmitter. The process <b>310</b> is then terminated.
0049<figref idref="DRAWINGS">FIG. 5</figref> is a flowchart illustrating a process <b>500</b> to perform device registration by a server according to one embodiment of the invention.
0050Upon START, the process <b>500</b> receives a message containing an ID code from a client via a wireless connectivity (Block <b>510</b>). The client may be a media device such as a camera, a music player, or a mobile device such as a personal digital assistant (PDA), a game console, etc. This may be performed by using an optical receiver, a sonic receiver, and an electromagnetic receiver. The message may be encoded using a pre-defined format. It may also be encoded using an error checking procedure (e.g., CRC, redundancy).
0051Next, the process <b>500</b> determines if a network key is stored in the server (Block <b>515</b>). If so, the process <b>500</b> encrypts a key with the ID code (Block <b>520</b>). Then, the process <b>500</b> sends the encrypted key to the client via a network (Block <b>530</b>). The network may be any suitable network established between the server and the client. It may be a PLC network, an Ethernet, cable modem, dial-up, xDSL, ISDN, or a wireless network. Next, the process <b>500</b> exchanges information with the client via the network (Block <b>560</b>). The information is encrypted by the sender and decrypted by the receiver using the key. Since the information is encrypted, it is secure and is not exposed to an intruder who may intercept the information through the network. The process <b>500</b> is then terminated.
0052If the network key is not stored in the server, i.e., it is stored in the client originally, then the process <b>500</b> receives a key encrypted with the ID code from the client via the network (Block <b>540</b>). As above, the network may be any appropriate network. Next, the process <b>500</b> decrypts the encrypted key using the IUD code (Block <b>550</b>) and then proceeds to Block <b>560</b> as described above.
0053<figref idref="DRAWINGS">FIG. 6</figref> is a flowchart illustrating a process <b>510</b> shown in <figref idref="DRAWINGS">FIG. 5</figref> to receive the message according to one embodiment of the invention.
0054Upon START, the process <b>510</b> decodes the message according to the pre-defined format and/or the error checking procedure (Block <b>610</b>). Next, the process <b>510</b> determines if there is any error in the received message (Block <b>620</b>). If so, the process <b>510</b> displays or emits an error message to request re-transmission (Block <b>630</b>) and is then terminated. This may be performed by displaying the error message on the display, flashing an error indicator, or generates an audible sound to indicate that there is an error in the received message. If there is no error, the process <b>510</b> extracts the ID code from the message (Block <b>640</b>) and is then terminated.
0055<figref idref="DRAWINGS">FIG. 7</figref> is a diagram illustrating the power supply unit <b>178</b> shown in <figref idref="DRAWINGS">FIG. 1</figref> according to one embodiment of the invention. The power supply unit <b>178</b> includes a main supply <b>710</b>, a detector <b>720</b>, and a back-up supply <b>730</b>.
0056The main supply <b>710</b> provides main power supply to the components of the client <b>150</b> include the device registration unit <b>155</b>, the user interface <b>174</b>, the network interface <b>176</b>, and other functional circuits or units (e.g., camera sensor circuit, Wi-Fi adapter circuit) of the client <b>150</b>. The main supply <b>710</b> receives the line power from the power plug or receptacle <b>180</b>. Typically it includes a power converter to convert the alternating current (AC) power from the line power to direct current (DC) power. It may include a transformer, a rectifier circuit, and a voltage regulator. The power supply is available at the Vcc and ground (GND) terminals.
0057The detector <b>720</b> monitors the power source from the power plug <b>180</b> and detects if the power source to the main supply <b>710</b> is disconnected or removed. It asserts a detect signal to the device registration unit <b>155</b> or the processor <b>165</b> to indicate that the power line is removed. The detect signal may be used to interrupt the processor <b>165</b> so that the processor <b>165</b> may enter a device registration mode to start registering the client <b>150</b> to the server <b>110</b>. The detector <b>720</b> may monitor the Vcc instead of the AC line.
0058The back-up supply <b>730</b> is connected to the main supply <b>710</b> at the Vcc and GND terminals to provide back-up power to the device registration unit <b>155</b> when the power source is removed. The back-up supply <b>730</b> may include a charge device to charge power when the power source is available. The charged power provides the back-up power during a time period when the power source is removed. The charge device may be a capacitor having a time constant corresponding to the time period. The capacitor may be a suitable capacitor such as an electrolytic capacitor having a capacitance selected to provide the proper time constant. It may also be a rechargeable battery having a recharge capacity corresponding to the time period. The rechargeable battery may be one of a nickel cadmium (Ni—Cd) battery, a nickel metal hydride (NiMH) battery, a lithium ion battery, a lithium ion polymer battery, a nickel zinc battery, a super iron battery, and an alkaline battery.
0059The time period may be sufficiently long for the device registration unit to successfully transmit the message to the server. Typically, the time period may be approximately a few seconds to thirty seconds. The time period may include the time it takes to position the client device to face toward the server and the time to transmit the message. Usually, it takes a longer time to place the device in a proper position than to transmit the message. A successful transmission indicates that the server has received the message.
0060When the detector <b>720</b> detects that the power source is removed, it asserts the detect signal to interrupt the processor. During that time, the main supply <b>710</b> may be dropped to below some predefined threshold. The power is then switched to the back-up power provided by the back-up supply <b>730</b>. The back-up supply <b>730</b> needs only to provide sufficient power for a successful transmission of the message containing the ID code. To optimize the power usage, the back-up supply <b>730</b> may need to provide power only to the registration unit <b>155</b>. This may help reducing the size of the back-up supply <b>730</b>. For example, the capacitor may be of smaller size.
0061Upon receiving the detect signal from the detector <b>720</b>, the device registration unit <b>155</b> may enter the registration mode immediately and begin transmitting the message containing the ID code. To ensure that the server <b>110</b> receives the message, the device registration unit <b>155</b> may transmit the message repeatedly during the time period when the power source is removed. The server <b>110</b> may be programmed to recognize that a registration mode is in effect when it receives a pattern of data repeatedly within a short time period. In a way, this repeated transmission may be considered as a redundant message transmission as part of an error checking procedure described earlier. The message may be transmitted as described above such as in a pre-defined format and/or using an error checking procedure (e.g., CRC, redundancy).
0062<figref idref="DRAWINGS">FIG. 8</figref> is a diagram illustrating the detector <b>720</b> according to one embodiment of the invention. The detector <b>720</b> includes a photo-coupler <b>810</b> and resistors RI <b>820</b> and R<sub>2 </sub><b>830</b>. Note that the embodiment in <figref idref="DRAWINGS">FIG. 8</figref> only shows an exemplary circuit for the detector <b>720</b>. Other circuits achieving similar functions may be implemented.
0063The photo-coupler <b>810</b> includes a diode <b>812</b> and a switching element <b>814</b>. The diode <b>812</b> acts as a rectifier to rectify the AC current from the power line. It also emits light to the switching element <b>814</b>. The light intensity of the diode <b>812</b> may be proportional to the current amplitude that passes through the diode <b>812</b>. Due to the rectifier action, the output current of the diode at point A is an AC line voltage as shown with half cycles in the positive region corresponding to the ON time of the diode <b>812</b>. The switching element <b>814</b> may be a transistor that is switched on or off according to the input to the gate which is responsive to the light intensity emitted by the diode <b>812</b>. When the driving current has a half-wave curve as shown at point A, the transistor <b>814</b> generates a square wave having the same frequency as the power line signal. The voltage level of the square wave may be adjusted to match the voltage requirement of the registration unit <b>155</b>.
0064The resistor RI <b>820</b> may be used as a current limiting device to provide proper current through the diode <b>812</b>. The resistor R<sub>2 </sub><b>830</b> may be a pull-up resistor to help shape the ON time of the transistor <b>814</b>. One end of the resistor R<sub>2 </sub><b>830</b> is connected to the output of the transistor <b>814</b>. The other end of the resistor is connected to the DC supply as provided by the main supply <b>710</b> or any other suitable source.
0065When the power is removed, the photo-coupler <b>810</b> is turned off. The resistor R<sub>2 </sub><b>830</b> pulls the output voltage up to a HIGH level. This transition corresponds to a detect signal that triggers an event to the registration unit <b>155</b>, interrupting the processor <b>165</b>. The processor <b>165</b> may constantly or periodically monitor the detect signal. The detect signal may be latched in a storage and is read by the processor <b>165</b>. Since the timing of the square wave may be typically known, the program run by the processor <b>165</b> may contain code to determine when this square becomes a constant HIGH level for more than one period of the square wave. If so, the process <b>165</b> may execute instructions to send the message containing the ID code. When the power supply goes below the minimum operational voltage, the processor <b>165</b> may stop running.
0066<figref idref="DRAWINGS">FIG. 9</figref> is a flowchart illustrating a process to perform device registration by a client using back-up supply according to one embodiment of the invention.
0067Upon START, the process <b>8900</b> charges power to a back-up supply (Block <b>910</b>). This is done automatically when the client is powered on. The back-up supply may be a charging device such as a capacitor or a rechargeable battery. Next, the process <b>900</b> monitors a power source to a main supply to detect if the power source is removed (Block <b>920</b>). The power source may be the line power from the power plug <b>180</b> shown in <figref idref="DRAWINGS">FIG. 1</figref>.
0068Then, the process <b>900</b> determines if the power source is removed (Block <b>930</b>). If not, the process <b>900</b> returns to Block <b>920</b>. Otherwise, the process <b>900</b> provides back-up power to the device registration unit (Block <b>940</b>). Next, the process <b>900</b> transmits a message containing the ID code to the server (Block <b>950</b>) and is then terminated. The message may be transmitted repeatedly during the time period until the power supply goes below the minimum operational voltage.
0069Elements of one embodiment of the invention may be implemented by hardware, firmware, software or any combination thereof. The term hardware generally refers to an element having a physical structure such as electronic, electromagnetic, optical, electro-optical, mechanical, electromechanical parts, etc. The term software generally refers to a logical structure, a method, a procedure, a program, a routine, a process, an algorithm, a formula, a function, an expression, etc. The term firmware generally refers to a logical structure, a method, a procedure, a program, a routine, a process, an algorithm, a formula, a function, an expression, etc., that is implemented or embodied in a hardware structure (e.g., flash memory, ROM, EPROM). Examples of firmware may include microcode, writable control store, micro-programmed structure. When implemented in software or firmware, the elements of an embodiment of the present invention are essentially the code segments to perform the necessary tasks. The software/firmware may include the actual code to carry out the operations described in one embodiment of the invention, or code that emulates or simulates the operations. The program or code segments can be stored in a processor or machine accessible medium or transmitted by a computer data signal embodied in a carrier wave, or a signal modulated by a carrier, over a transmission medium. The “processor readable or accessible medium” or “machine readable or accessible medium” may include any medium that can store, transmit, or transfer information. Examples of the processor readable or machine accessible medium include an electronic circuit, a semiconductor memory device, a read only memory (ROM), a flash memory, an erasable programmable ROM (EPROM), a floppy diskette, a compact disk (CD) ROM, an optical disk, a hard disk, a fiber optic medium, a radio frequency (RF) link, etc. The computer data signal may include any signal that can propagate over a transmission medium such as electronic network channels, optical fibers, air, electromagnetic, RF links, etc. The code segments may be downloaded via computer networks such as the Internet, Intranet, etc. The machine accessible medium may be embodied in an article of manufacture. The machine accessible medium may include data that, when accessed by a machine, cause the machine to perform the operations described above. The machine accessible medium may also include program code embedded therein. The program code may include machine readable code to perform the operations described above. The term “data” here refers to any type of information that is encoded for machine-readable purposes. Therefore, it may include program, code, data, file, etc.
0070All or part of an embodiment of the invention may be implemented by hardware, software, or firmware, or any combination thereof. The hardware, software, or firmware element may have several modules coupled to one another. A hardware module is coupled to another module by mechanical, electrical, optical, electromagnetic or any physical connections. A software module is coupled to another module by a function, procedure, method, subprogram, or subroutine call, a jump, a link, a parameter, variable, and argument passing, a function return, etc. A software module is coupled to another module to receive variables, parameters, arguments, pointers, etc. and/or to generate or pass results, updated variables, pointers, etc. A firmware module is coupled to another module by any combination of hardware and software coupling methods above. A hardware, software, or firmware module may be coupled to any one of another hardware, software, or firmware module. A module may also be a software driver or interface to interact with the operating system running on the platform. A module may also be a hardware driver to configure, set up, initialize, send and receive data to and from a hardware device. An apparatus may include any combination of hardware, software, and firmware modules.
0071While the invention has been described in terms of several embodiments, those of ordinary skill in the art will recognize that the invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting.
Contents3
11 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2007186286A1 | Cited by | United States of America | Pre-grant |
| US2014068078A1 | Cited by | United States of America | Pre-grant |
| US2015078553A1 | Cited by | United States of America | Pre-grant |
| US9507969B2 | Cited by | United States of America | Search report |
| US9755441B2 | Cited by | United States of America | Search report |
| US2009207922A1 | Cited by | United States of America | Pre-grant |
| US8306129B2 | Cited by | United States of America | Search report |
| US9904812B2 | Cited by | United States of America | Applicant |
| US9582332B2 | Cited by | United States of America | Search report |
| US10678905B2 | Cited by | United States of America | Applicant |
| US8438651B2 | Cited by | United States of America | Search report |
| US2014245464A1 | Cited by | United States of America | Pre-grant |
| US2004149827A1 | Cites | United States of America | Pre-grant |
| US2005210295A1 | Cites | United States of America | Pre-grant |
| US2007021198A1 | Cites | United States of America | Pre-grant |
| US2007033433A1 | Cites | United States of America | Pre-grant |
| US2008010514A1 | Cites | United States of America | Pre-grant |
| US2009002333A1 | Cites | United States of America | Pre-grant |
| US5204963A | Cites | United States of America | Pre-grant |
| US6304948B1 | Cites | United States of America | Pre-grant |
| US6865690B2 | Cites | United States of America | Pre-grant |
1 member in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 63512406 | United States of America | A | |
| US20060635124 | – | – | – |
Members1
| Document | Office | Kind | |
|---|---|---|---|
| US2008141069A1 | United States of America | A1 |
29 transactions on the USPTO file
Abandoned after 2 non-final rejections, 1 final rejection and 1 RCE.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Mail Abandonment for Failure to Respond to Office ActionAbandonedMABN2 | MABN2 | |
| Aband. for Failure to Respond to O. A.AbandonedABN2 | ABN2 | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Examiner Interview Summary Record (PTOL - 413)EXIN | EXIN | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Transfer Inquiry to GAUTI1050 | TI1050 | |
| Withdraw Flagged for 5/25W525 | W525 | |
| Flagged for 5/25F525 | F525 | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Is Now CompleteCOMP | COMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Cleared by L&R (LARS)L128 | L128 | |
| Referred to Level 2 (LARS) by OIPE CSRL198 | L198 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTIONSTCB | STCB | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20080141069
- Publication, DOCDB
- 2008141069
- Publication, EPODOC
- US2008141069
- Application
- 11635124
- Application, DOCDB
- 63512406
- Application, EPODOC
- US20060635124
Titles
- English
- Back-up supply for devce registration
Classification
- CPC, 3
- G06F1/263
- G06F1/28
- G06F1/30
- IPC, 1
- G06F11 30
- USPC, 1
- 714014000