Several Apple patents have appeared at the US Patent & Trademark Office. Following is a summary of each.

Patent number 20100312519 is for automatically identifying geographic direction. Automatically identifying a geographic direction (e.g., a heading relative to true north) is disclosed. Responsive to a correction trigger event, geographic position data that identifies a geographic position of the device can be obtained. A magnetic declination based on the geographic position data can be obtained. A magnetic heading of the device can be obtained. A geographic direction based on the magnetic heading and the magnetic declination can be identified without user intervention. The inventors are Ronald Keryuan Huang and Patrick Piemonte.

Patent number 20100312510 involves dynamic compass calibration in a portable device. Per the patent, the magnitude of a sensed, raw magnetic field in a portable device is monitored over a given time interval. The monitored magnitude is compared with predetermined criteria. Based on the comparison, recalibration of a compass function is signed. Other embodiments are also described and claimed. The inventors are Patrick S. Piemonte, Madhu Shrivastav, Puntee Mishra, Robert Mayor and Ronald K. Huang.

Patent number 20100312509 is for calibration techniques for an electronic compass in a portable device. Per the patent, measurement data is collected from a magnetic sensor in a portable device, while the device is being carried by its end user and without requiring the end user to deliberately rotate or position the device while the output data is being collected. For example, the device may be held in the user’s hand while walking or standing, or it may be fixed to the dashboard of an automobile or boat. Measurement data may also be collected from one or more positing, orientation or movement sensors. The collected measurement data from one or both of the magnetic sensor and the position, orientation or movement sensor is processed. In response, either a 2D compass calibration process or a 3D process is signaled to be performed. Other embodiments are also described and claimed. The inventors are Parin Patel, Ronald K. Huang, Patrick S. Piemonte and Robert Mayor.

Patent number 20100312806 is for a file creation API [application programming interface]. The patent provides means for dynamic filesystem creation, that allows complex filesystem hierarchies to be created and written on-the-fly without having to generate a complete on-disk representation. The filesystem is laid out in a one-parent many-children hierarchy of file and folder objects. The API recursively traverses the filesystem hierarchy beginning at the root node to determine the filesystem’s structure. Callback functions for retrieval of file data are determined for each filesystem object and stored in memory. Output blocks are allocated for file data as needed. During the writing phase, the callback functions are executed to retrieve file data which is then written to the desired computer readable media. The inventors are Drew Thaler, John Bertagnolli, Mike Shields and Ed Wynne.

Patent number 20100312759 involves throttling to reduce synchronizations of excessively changing data. Embodiments of the invention determine if a user preference or other piece of data is being synchronized too frequently. If the user preference is being synchronized too frequently, synchronization of the user preference is throttled to prevent it from synchronizing for some number of synchronization cycles. If the user preference rarely changes, the user preference is rewarded by throttling it less often. Karl Martin Groethe and Andrew Trevor Belk are the inventors.

Patent number 20100312946 is for sleep wake event logging. Per the patent, a machine implemented method includes creating a universally unique identifier, detecting a trigger of a sleep event, and associating the universally unique identifier with the sleep event. The method monitors sub-system events that occur after a sleep event has been triggered and stores data in non-volatile non-disk storage (e.g., non-boot storage) identifying an event stage corresponding to the sub-system event that is occurring. The method determines whether a wake event has completed and logs each of the sub-system events using the universally unique identifier until a wake event has completed. The inventors are Ethan Bold, Joe Liu, Jonathan Barbero and Dean Reece.

Patent number 20100313159 involves a progress indicator for loading dynamically sized contents. According to the patent, a new resource address is registered in response to input received from a user. The user is then notified when a visually non-empty portion of content from the resource address has been loaded into a viewing area of the content viewing application. The notification cues the user to direct his/her attention to the viewing area of the content viewing application. Kevin Decker, Timothy G. Hatcher and Michael P. Thole are the inventors.

Patent number 20100313208 is for a method and apparatus for implementing atomic FIFO. Techniques for implementing an atomic FIFO queue and system for processing queue elements are described. According to one embodiment, in a first thread of execution, new data is atomically merged with existing data of an object via an atomic instruction associated with hardware that executes the first thread. An attempt is made to acquire ownership of the object (exclusive access). If successful, the object is enqueued on an atomic FIFO queue as a continuation element for further processing. Otherwise, another thread of execution is safely assumed to have acquired ownership and taken responsibility to enqueue the object. A second thread of execution processes the atomic FIFO queue and assumes ownership of the continuation elements. The second thread invokes a function member of the continuation element with a data member of the continuation element, the data member including the newly merged data. Other methods and apparatuses are also described. The inventors are David A. Zarzycki, Kevin James Van Vechten and Joshua Osborne.

Patent number 20100312513 involves restoring and storing magnetometer calibration data. Responsive to a recalibration trigger event, magnetometer data output by a magnetometer can be compared to historical magnetometer data previously output by the magnetometer. If a match is determined, a confidence of the match can be determined using theoretically constant data related to Earth’s magnetic field. The constant data can be calculated from the historical magnetometer data. If the confidence of the match exceeds a confidence threshold level, historical calibration data can be used to calibrate the magnetometer. If the confidence of the match does not exceed the confidence threshold level, a calibration procedure can be performed to generate new calibration data, and the new calibration data can be used to calibrate the magnetometer. Robert Mayor, Ronald K. Huang and Patrick Piemonte are the inventors.

Patent number 20100312921 is for a low power peer detection circuit. Systems and methods are disclosed for detecting the connection of a FireWire peer to a FireWire device. In one embodiment, a device may determine whether a peer connection is present based on peer detection circuit configured in each FireWire port of a FireWire device. When no peer is connected to a device, a peer connection in the circuit may be open, and a current path through the circuit may provide a low detect signal, indicating that no peer is connected. When a peer is connected to a detecting device, the current may pass through a resistance in the detected peer to provide a high detect signal, indicating that a peer is connected. In some embodiments, once a peer is detected, the FireWire system of the detecting device may be powered on, and the peer detection circuit may be powered off. The inventors are Eric George Smith, Colin Whitby-Strevens and Eric Anderson.

Patent number 20100312927 involves IO latency reduction. An application and audio driver communicate audio data via a ring buffer using a system interface. An application reads or writes data from the buffer in a unit of data. Positions within the buffer correspond to a particular time. To write data to the buffer at a particular position in the buffer that corresponds to a particular time, an application is awaken a period of time (“client-side offset”) before the driver reaches the position.

The period of time is computed based on a variety factors. One factor is the amount of time the system interface assumes an application uses to write the unit of data to the buffer. For operations that entail the application inserting data into the buffer, the application may specify a weight value to apply to the factor to reduce it and the latency period. The patent is for an application and audio driver communicate audio data via a ring buffer using a system interface. An application reads or writes data from the buffer in a unit of data. Positions within the buffer correspond to a particular time.

To write data to the buffer at a particular position in the buffer that corresponds to a particular time, an application is awaken a period of time (“client-side offset”) before the driver reaches the position. The period of time is computed based on a variety factors. One factor is the amount of time the system interface assumes an application uses to write the unit of data to the buffer. For operations that entail the application inserting data into the buffer, the application may specify a weight value to apply to the factor to reduce it and the latency period. The inventors are Jeffrey C. Moore, Douglas S. Wyatt and William George Stewart.

— Dennis Sellers