A method and apparatus for integrating family schedules

By distributing and merging similar schedules across home devices, the problem of server dependence on home device schedule synchronization is solved, enabling flexible, selective, and efficient schedule management, reducing duplicate schedules, and improving user experience.

CN113689171BActive Publication Date: 2025-12-02HUAWEI TECH CO LTD

Patent Information

Application Number
CN202010420165.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-05-18
Publication Date
2025-12-02
Estimated Expiration
2040-05-18

AI Technical Summary

Technical Problem

Current home device schedule synchronization relies on servers, which lacks flexibility and universality. It cannot selectively synchronize schedules and cannot take into account all smart terminal devices in the home, resulting in repetitive schedules and low synchronization efficiency.

Method used

By performing distributed synchronization directly between home devices, selective schedule synchronization is achieved using trust levels and device whitelists, and similar schedules are merged among electronic devices to generate merged schedule information.

Benefits of technology

It enables flexible, selective, and efficient schedule synchronization across home devices, reducing duplicate schedules and improving user experience and schedule management efficiency across devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113689171B_ABST
    Figure CN113689171B_ABST
Patent Text Reader

Abstract

A method for processing schedule information and a first electronic device for implementing the method are disclosed, relating to the field of communication technology. The method includes: the first electronic device receiving a first message sent by a second electronic device, the first message carrying the trust level of the second electronic device; determining whether the trust level of the second electronic device meets the preset conditions; and when the trust level of the second electronic device meets the preset conditions, the first electronic device sending a first schedule to the second electronic device. By adopting this technical solution, selective schedule synchronization can be achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a method and apparatus for integrating home schedules. Background Technology

[0002] With the development of the times and the progress of society, time is becoming increasingly important to people, and they hope to manage their schedules more conveniently and plan their time more rationally. Currently, home devices are gradually becoming an important part of electronic products, and with the popularization of these electronic products, using calendar functions on smart devices to manage schedules has become a trend. However, the synchronization and integration of schedules between multiple devices (including but not limited to mobile phones and mobile phones and home devices) still has certain limitations.

[0003] The current schedule synchronization requires users to log in to their accounts, and then the server will transfer the schedules, for example, synchronizing calendar events to products such as speakers and TVs via the server. This solution relies on servers and user accounts, requiring users to have internet accounts, lacking universality, and resulting in a poor user experience. Moreover, this solution cannot accommodate all smart devices in the home. Although schedules can be linked to each account, these schedules are under different accounts and cannot be merged based on the schedule itself. As a result, a large number of duplicate schedules appear on home devices. Furthermore, the current schedule synchronization lacks flexibility, mainly in the following three aspects:

[0004] 1) Currently, only all schedules under the account are synchronized, and schedule selection is not possible. For example, some schedules are work meeting notifications that are not suitable for synchronization to all family members' devices, but there is currently no effective selection.

[0005] 2) Only the entire schedule can be synchronized, not just a portion of it. For example, many schedules only require knowing some important information (i.e., synchronizing the index information). When you click to view the details, other information can be synchronized. However, the current synchronization mechanism synchronizes the entire schedule.

[0006] 3) The synchronization mechanism relies on the server and specific server services. For schedules that are not built on a specific network service, such as local schedules, synchronization between multiple devices is not possible. Summary of the Invention

[0007] This invention provides a method and apparatus for merging family schedules, enabling the synchronization of calendar schedules across all smart terminals such as mobile phones, televisions, speakers, and other home products, without being limited by servers, and allowing for flexible distributed synchronization.

[0008] In a first aspect, embodiments of the present invention provide a schedule information processing method, applied to a first electronic device, the schedule information processing method comprising:

[0009] The first electronic device receives a first message sent by the second electronic device, the first message carrying the trust level of the second electronic device;

[0010] Determine whether the trust level of the second electronic device meets the preset conditions;

[0011] When the trust level of the second electronic device meets the preset conditions, the first electronic device sends a first schedule to the second electronic device.

[0012] This technical solution enables selective calendar synchronization. For schedules such as meeting notifications at work that are not suitable for synchronization to all family members' devices, users can set the trust level for the schedule to be synchronized, and choose to send the schedule only to electronic devices whose trust level meets the preset conditions.

[0013] In one possible implementation, determining whether the trust level of the second electronic device meets the preset condition; when the trust level of the second electronic device meets the preset condition, the first electronic device sending the first schedule to the second electronic device includes:

[0014] Determine whether the trust level of the second electronic device is lower than the allowed device trust level corresponding to the first schedule;

[0015] When the trust level of the second electronic device is not lower than the allowed device trust level corresponding to the first schedule, the first electronic device sends the first schedule to the second electronic device.

[0016] By adopting this technical solution, the schedule can be sent only to electronic devices with a trust level no lower than the trust level of the corresponding allowed device, thus allowing users to flexibly select home devices to synchronize their schedules.

[0017] In one possible implementation, the method further includes:

[0018] When the trust level of the second electronic device is lower than the trust level of the allowed device corresponding to the first schedule, it is further determined whether the second electronic device is on the device whitelist corresponding to the first schedule;

[0019] When the second electronic device is on the device whitelist, the first electronic device sends the first schedule to the second electronic device.

[0020] By adopting this technical solution, for some second electronic devices on the device whitelist, the first schedule can be synchronized to the second electronic device without meeting the allowed device trust level. This facilitates schedule synchronization management for shared home devices with lower trust levels.

[0021] In one possible implementation, the allowed device trust level and the device whitelist are set by the first electronic device.

[0022] By adopting this technical solution, flexible settings for the trusted level of allowed devices and the device whitelist are provided, thereby enabling selective schedule synchronization.

[0023] In one possible implementation, the method further includes:

[0024] The first electronic device receives the second schedule sent by the second electronic device;

[0025] Determine whether the first electronic device has a third schedule that is similar to the second schedule;

[0026] When the third schedule is similar to the second schedule, the first electronic device merges the third schedule and the second schedule to generate a fourth schedule;

[0027] The first electronic device saves the fourth schedule and deletes the third and second schedules;

[0028] The first electronic device sends the fourth schedule to the second electronic device.

[0029] By adopting this technical solution, it is possible to merge schedules based on the schedules themselves, thus avoiding a large number of duplicate schedules.

[0030] In one possible implementation, determining whether the first electronic device has a third schedule that is similar to the second schedule includes:

[0031] Determine whether the similarity between the title text of the third schedule and the second schedule is higher than a first threshold;

[0032] When the similarity of the title text of the third schedule and the second schedule is higher than the first threshold, it is further determined whether the time difference between the third schedule and the second schedule is lower than the second threshold.

[0033] When the time difference between the third schedule and the second schedule is less than the second threshold, the third schedule is determined to be similar to the second schedule.

[0034] By adopting this technical solution, it is possible to quickly determine that two events are similar when the event titles are highly similar and the time differences are small.

[0035] In one possible implementation, determining whether the title text similarity between the third schedule and the second schedule is higher than a first threshold includes:

[0036] When the similarity between the title text of the third schedule and the title text of the second schedule is lower than or equal to the first threshold, the title text of the third schedule is replaced, and it is further determined whether the similarity between the title text of the third schedule and the title text of the second schedule is higher than the first threshold.

[0037] By adopting this technical solution, the similarity of schedule titles can be determined again after text replacement of the schedule titles, thus improving the accuracy of similar schedule determination.

[0038] In one possible implementation, after determining whether the time difference between the third schedule and the second schedule is less than a second threshold, the method further includes:

[0039] When the time difference between the third schedule and the second schedule is equal to or greater than the second threshold, it is further determined whether the location similarity between the third schedule and the second schedule is greater than the third threshold.

[0040] When the location similarity between the third schedule and the second schedule is higher than a third threshold, the third schedule is determined to be similar to the second schedule.

[0041] By adopting this technical solution, the judgment of the similarity between the schedule and the location is increased, thereby improving the accuracy of the determination of similar schedules.

[0042] In one possible implementation, determining whether the location similarity between the third schedule and the second schedule is higher than the third threshold includes:

[0043] When the location similarity between the third schedule and the second schedule is lower than or equal to the third threshold, the location description of the third schedule is replaced, and then it is further determined whether the location similarity between the third schedule and the second schedule is higher than the third threshold.

[0044] By adopting this technical solution, the similarity of the schedule title can be judged again after replacing the text description of the schedule location, thus improving the accuracy of similar schedule judgment.

[0045] In one possible implementation, when the third schedule is similar to the second schedule, the first electronic device merges the third schedule and the second schedule to generate a fourth schedule, including:

[0046] The first electronic device displays a first prompt message, which is used to prompt whether to merge similar schedules;

[0047] In response to the input operation of the first prompt information, the first electronic device merges the third schedule and the second schedule to generate the fourth schedule.

[0048] By adopting this technical solution, users can be prompted before merging similar schedules, and after confirming the merging of similar schedules, the electronic device will generate the merged schedule, thus improving the user experience of schedule synchronization.

[0049] In one possible implementation, the fourth schedule includes all the information from the second and third schedules.

[0050] By adopting this technical solution, when merging schedules, all information such as titles, locations, participants, and attachments from similar schedules is combined, thus achieving mutual supplementation between schedules.

[0051] In one possible implementation, the first electronic device sending the first schedule to the second electronic device includes:

[0052] The first electronic device sends the index information of the first schedule to the second electronic device.

[0053] By adopting this technical solution, only the index information of the schedule can be sent, which can save the storage space of the receiving electronic device and enable more flexible schedule management.

[0054] In one possible implementation, when the first electronic device receives a request message sent by the second electronic device, the first electronic device sends all the information of the first schedule to the second electronic device.

[0055] By adopting this technical solution, the entire schedule information is sent only when the receiving electronic device makes a request, which can save storage space on the receiving electronic device and enable more flexible schedule management.

[0056] On the other hand, embodiments of the present invention provide an electronic device, including: one or more processors; and a memory storing code. When the code is executed by the electronic device, it causes the electronic device to perform the schedule information processing method in any of the possible implementations of the above aspects.

[0057] On the other hand, embodiments of the present invention provide a computer storage medium including computer instructions, which, when executed on an electronic device, cause the electronic device to perform the schedule information processing method in any of the possible implementations of any of the above aspects.

[0058] On the other hand, embodiments of the present invention provide a computer program product that, when run on a computer, causes the computer to execute the schedule information processing method in any of the possible implementations of any of the above aspects. Attached Figure Description

[0059] Figure 1 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present invention;

[0060] Figure 2 This is a software structure block diagram of the electronic device 100 according to an embodiment of the present invention;

[0061] Figures 3A-3B This is a schematic diagram illustrating the addition of a new device to a home network according to an embodiment of the present invention;

[0062] Figure 4A -C is a schematic diagram of a calendar synchronization process between devices provided in an embodiment of the present invention;

[0063] Figures 5A-5D A set of calendar and schedule synchronization capability setting interfaces provided in an embodiment of the present invention;

[0064] Figure 6 A set of interface schematic diagrams provided for embodiments of the present invention;

[0065] Figure 7 This is another set of interface diagrams provided for embodiments of the present invention;

[0066] Figure 8A A schematic diagram of a schedule merging process provided in an embodiment of the present invention;

[0067] Figure 8B A schematic diagram of an approximate schedule determination process provided in an embodiment of the present invention;

[0068] Figures 9A-9F This is another set of interface diagrams provided for embodiments of the present invention;

[0069] Figures 10A-10F This is another set of interface diagrams provided for embodiments of the present invention;

[0070] Figure 11A-11F This is another set of interface diagrams provided for embodiments of the present invention;

[0071] Figure 12 A flowchart of a device schedule synchronization process supporting distributed storage is provided as an embodiment of the present invention;

[0072] Figure 13 This is another structural schematic diagram of the electronic device provided in an embodiment of the present invention. Detailed Implementation

[0073] The technical solutions of the embodiments of the present invention will be described below with reference to the accompanying drawings. In the description of the embodiments of the present invention, unless otherwise stated, " / " means "or," for example, A / B can mean A or B; "and / or" in this text is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Furthermore, in the description of the embodiments of the present invention, "multiple" refers to two or more than two.

[0074] Hereinafter, the terms "first" and "second" are used for descriptive purposes only and should not be construed as implying or suggesting relative importance or implicitly indicating the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature, and in the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more.

[0075] In this embodiment of the invention, calendar schedules can be synchronized across all home devices, including mobile phones, televisions, and speakers, without server limitations. Furthermore, it allows for flexible distributed synchronization and the merging of identical schedules. Home devices include not only personal electronic devices such as mobile phones and wearable devices, but also shared electronic devices such as televisions, speakers, and game consoles. Moreover, it is not limited to electronic devices used within a home network; as long as electronic devices are connected via Wi-Fi, Bluetooth, NFC, Nearby, Thread, ZigBee, or other communication methods, the calendar schedule synchronization method of this invention can be applied to electronic devices used within a work network.

[0076] For example, Figure 1 A schematic diagram of the structure of the electronic device 100 is shown.

[0077] Electronic device 100 may be a mobile phone, tablet computer, desktop computer, laptop computer, handheld computer, notebook computer, ultra-mobile personal computer (UMPC), netbook, as well as cellular phone, personal digital assistant (PDA), augmented reality (AR) device, virtual reality (VR) device, artificial intelligence (AI) device, wearable device, in-vehicle device, smart home device and / or smart city device. The embodiments of this application do not impose any special restrictions on the specific type of electronic device.

[0078] Electronic device 100 may include processor 110, external memory interface 120, internal memory 121, universal serial bus (USB) interface 130, charging management module 140, power management module 141, battery 142, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, button 190, motor 191, indicator 192, camera 193, display screen 194, and subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0079] It is understood that the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0080] Processor 110 may include one or more processing units, such as application processors (APs), modem processors, graphics processing units (GPUs), image signal processors (ISPs), controllers, video codecs, digital signal processors (DSPs), baseband processors, and / or neural network processing units (NPUs). These different processing units may be independent devices or integrated into one or more processors.

[0081] The controller can generate operation control signals based on the instruction opcode and timing signals to complete the control of instruction fetching and execution.

[0082] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0083] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0084] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C buses. The processor 110 can couple to the touch sensor 180K, charger, flash, camera 193, etc., through different I2C bus interfaces. For example, the processor 110 can couple to the touch sensor 180K through the I2C interface, enabling the processor 110 and the touch sensor 180K to communicate through the I2C bus interface, thereby realizing the touch function of the electronic device 100.

[0085] The I2S interface can be used for audio communication. In some embodiments, the processor 110 may include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to enable communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the I2S interface to enable the function of answering phone calls through a Bluetooth headset.

[0086] The PCM interface can also be used for audio communication, sampling, quantizing, and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via the PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface, enabling the function of answering phone calls through a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.

[0087] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 via the UART interface to implement Bluetooth functionality. In some embodiments, the audio module 170 can transmit audio signals to the wireless communication module 160 via the UART interface to enable music playback through Bluetooth headphones.

[0088] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI) and a display serial interface (DSI). In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to enable the electronic device 100 to capture images. The processor 110 and the display screen 194 communicate via the DSI interface to enable the electronic device 100 to display images.

[0089] The GPIO interface can be configured via software. It can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to a camera 193, a display screen 194, a wireless communication module 160, an audio module 170, a sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.

[0090] USB port 130 is a USB standard compliant interface, specifically a Mini USB port, Micro USB port, USB Type-C port, etc. USB port 130 can be used to connect a charger to charge electronic device 100, and can also be used for data transfer between electronic device 100 and peripheral devices. It can also be used to connect headphones for audio playback. This interface can also be used to connect other electronic devices, such as AR devices.

[0091] It is understood that the interface connection relationships between the modules illustrated in the embodiments of the present invention are merely illustrative and do not constitute a structural limitation on the electronic device 100. In other embodiments of this application, the electronic device 100 may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0092] The charging management module 140 receives charging input from a charger. The charger can be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 receives charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 receives wireless charging input via the wireless charging coil of the electronic device 100. While charging the battery 142, the charging management module 140 can also supply power to the electronic device via the power management module 141.

[0093] The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, providing power to the processor 110, internal memory 121, display screen 194, camera 193, and wireless communication module 160, etc. The power management module 141 can also monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage current, impedance). In some other embodiments, the power management module 141 may also be located within the processor 110. In other embodiments, the power management module 141 and the charging management module 140 may be located in the same device.

[0094] The wireless communication function of electronic device 100 can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.

[0095] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with tuning switches.

[0096] The mobile communication module 150 can provide solutions for wireless communication, including 2G / 3G / 4G / 5G, applied to the electronic device 100. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.

[0097] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through an audio device (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed in the same device as the mobile communication module 150 or other functional modules.

[0098] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0099] In some embodiments, calendar synchronization can be achieved via various communication networks, including but not limited to cellular networks implemented by the mobile communication module 150, wireless local area networks such as Wi-Fi, Bluetooth, NFC, Nearby, Thread, ZigBee, etc., implemented by the wireless communication module 160.

[0100] In some embodiments, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).

[0101] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0102] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, electronic device 100 may include one or N displays 194, where N is a positive integer greater than 1.

[0103] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.

[0104] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, transforming it into an image visible to the naked eye. The ISP can also perform algorithmic optimization of image noise, brightness, and skin tone. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In some embodiments, the ISP can be set in the camera 193.

[0105] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In some embodiments, the electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.

[0106] Digital signal processors (DSPs) are used to process digital signals. Besides digital image signals, they can also process other digital signals. For example, when electronic device 100 selects a frequency, the DSP can perform Fourier transforms on the frequency energy.

[0107] Video codecs are used to compress or decompress digital video. Electronic device 100 may support one or more video codecs. Thus, electronic device 100 can play or record videos in various encoding formats, such as Moving Picture Experts Group (MPEG) 1, MPEG2, MPEG3, MPEG4, etc.

[0108] An NPU (Neural Processing Unit) is a computational processor for neural networks (NNs). By borrowing the structure of biological neural networks, such as the transmission patterns between neurons in the human brain, it can rapidly process input information and continuously learn on its own. NPUs enable intelligent cognitive applications in electronic devices, such as image recognition, facial recognition, speech recognition, and text understanding.

[0109] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.

[0110] Internal memory 121 can be used to store computer executable program code, which includes instructions. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phonebook, etc.). Furthermore, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 110 executes various functional applications and data processing of electronic device 100 by running instructions stored in internal memory 121 and / or instructions stored in memory located in the processor.

[0111] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.

[0112] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In some embodiments, the audio module 170 may be located in the processor 110, or some functional modules of the audio module 170 may be located in the processor 110.

[0113] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or make hands-free calls through the speaker 170A.

[0114] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.

[0115] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Electronic device 100 may have at least one microphone 170C. In some embodiments, electronic device 100 may have two microphones 170C, which, in addition to collecting sound signals, can also perform noise reduction. In other embodiments, electronic device 100 may also have three, four, or more microphones 170C, which can collect sound signals, reduce noise, identify the sound source, and perform directional recording, etc.

[0116] The 170D headphone jack is used to connect wired headphones. The 170D headphone jack can be a USB 130 interface or a 3.5mm Open Mobile Terminal Platform (OMTP) standard interface, a CTIA (Cellular Telecommunications Industry Association of the USA) standard interface.

[0117] Pressure sensor 180A is used to sense pressure signals and convert them into electrical signals. In some embodiments, pressure sensor 180A can be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A. In some embodiments, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation commands. For example, when a touch operation with an intensity less than a first pressure threshold is applied to the SMS application icon, a command to view an SMS is executed. When a touch operation with an intensity greater than or equal to the first pressure threshold is applied to the SMS application icon, a command to create a new SMS is executed.

[0118] The gyroscope sensor 180B can be used to determine the motion attitude of the electronic device 100. In some embodiments, the gyroscope sensor 180B can determine the angular velocity of the electronic device 100 about three axes (i.e., the x, y, and z axes). The gyroscope sensor 180B can be used for image stabilization. For example, when the shutter is pressed, the gyroscope sensor 180B detects the angle of the shake of the electronic device 100, calculates the distance that the lens module needs to compensate based on the angle, and allows the lens to counteract the shake of the electronic device 100 by moving in the opposite direction, thus achieving image stabilization. The gyroscope sensor 180B can also be used in navigation and motion-sensing game scenarios.

[0119] The barometric pressure sensor 180C is used to measure air pressure. In some embodiments, the electronic device 100 calculates altitude using the air pressure value measured by the barometric pressure sensor 180C to assist in positioning and navigation.

[0120] The magnetic sensor 180D includes a Hall sensor. The electronic device 100 can use the magnetic sensor 180D to detect the opening and closing of the flip cover. In some embodiments, when the electronic device 100 is a flip phone, the electronic device 100 can detect the opening and closing of the flip cover using the magnetic sensor 180D. Then, based on the detected opening and closing state of the cover or the flip cover, features such as automatic flip unlocking can be set.

[0121] The 180E accelerometer can detect the magnitude of acceleration of electronic device 100 in various directions (typically three axes). When electronic device 100 is stationary, it can detect the magnitude and direction of gravity. It can also be used to identify the posture of electronic devices and applied to applications such as screen orientation switching and pedometers.

[0122] A distance sensor 180F is used to measure distance. Electronic device 100 can measure distance via infrared or laser. In some embodiments, during a shooting scene, electronic device 100 can utilize the distance sensor 180F to measure distance for rapid focusing.

[0123] The proximity sensor 180G may include, for example, a light-emitting diode (LED) and a light detector, such as a photodiode. The LED may be an infrared LED. The electronic device 100 emits infrared light outward through the LED. The electronic device 100 uses the photodiode to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 100. When insufficient reflected light is detected, the electronic device 100 can determine that there is no object near the electronic device 100. The electronic device 100 may use the proximity sensor 180G to detect when a user holds the electronic device 100 close to their ear for a call, so as to automatically turn off the screen to save power. The proximity sensor 180G can also be used in holster mode and pocket mode for automatic unlocking and locking of the screen.

[0124] The ambient light sensor 180L is used to sense the brightness of ambient light. The electronic device 100 can adaptively adjust the brightness of the display screen 194 based on the sensed ambient light brightness. The ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures. The ambient light sensor 180L can also work with the proximity sensor 180G to detect whether the electronic device 100 is in a pocket to prevent accidental touches.

[0125] The fingerprint sensor 180H is used to collect fingerprints. The electronic device 100 can utilize the characteristics of the collected fingerprints to achieve fingerprint unlocking, accessing application locks, taking photos with fingerprints, answering calls with fingerprints, etc.

[0126] Temperature sensor 180J is used to detect temperature. In some embodiments, electronic device 100 uses the temperature detected by temperature sensor 180J to execute a temperature handling strategy. For example, when the temperature reported by temperature sensor 180J exceeds a threshold, electronic device 100 performs thermal protection by reducing the performance of a processor located near temperature sensor 180J to reduce power consumption. In other embodiments, when the temperature is below another threshold, electronic device 100 heats battery 142 to prevent abnormal shutdown of electronic device 100 due to low temperature. In still other embodiments, when the temperature is below yet another threshold, electronic device 100 boosts the output voltage of battery 142 to prevent abnormal shutdown due to low temperature.

[0127] Touch sensor 180K, also known as a "touch device," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touchscreen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In other embodiments, touch sensor 180K may also be located on the surface of electronic device 100, in a different position than display screen 194.

[0128] The bone conduction sensor 180M can acquire vibration signals. In some embodiments, the bone conduction sensor 180M can acquire vibration signals from the vibrating bone segments of the human vocal cords. The bone conduction sensor 180M can also contact the human pulse to receive blood pressure signals. In some embodiments, the bone conduction sensor 180M can also be incorporated into headphones to form bone conduction headphones. The audio module 170 can parse the voice signals from the vibrating bone segments of the vocal cords acquired by the bone conduction sensor 180M to realize voice functionality. The application processor can parse heart rate information from the blood pressure signals acquired by the bone conduction sensor 180M to realize heart rate detection functionality.

[0129] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100.

[0130] Motor 191 can generate vibration alerts. Motor 191 can be used for incoming call vibration alerts or for touch vibration feedback. For example, different vibration feedback effects can correspond to touch operations performed on different applications (such as taking photos, playing audio, etc.). Motor 191 can also correspond to different vibration feedback effects for touch operations performed on different areas of the display screen 194. Different application scenarios (such as time reminders, receiving messages, alarm clocks, games, etc.) can also correspond to different vibration feedback effects. The touch vibration feedback effect can also be customized.

[0131] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.

[0132] The SIM card interface 195 is used to connect a SIM card. The SIM card can be inserted into or removed from the SIM card interface 195 to make contact with and separate from the electronic device 100. The electronic device 100 can support one or N SIM card interfaces, where N is a positive integer greater than 1. The SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc. Multiple cards can be inserted into the same SIM card interface 195 simultaneously. The multiple cards can be of the same or different types. The SIM card interface 195 is also compatible with different types of SIM cards. The SIM card interface 195 is also compatible with external memory cards. The electronic device 100 interacts with the network through the SIM card to realize functions such as calls and data communication. In some embodiments, the electronic device 100 uses an eSIM, i.e., an embedded SIM card. The eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100.

[0133] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This embodiment of the invention uses the layered architecture Android system as an example to exemplify the software structure of electronic device 100.

[0134] Figure 2 This is a software structure block diagram of the electronic device 100 according to an embodiment of the present invention.

[0135] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.

[0136] The application layer can include a series of application packages.

[0137] like Figure 2 As shown, the application package may include applications such as camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, and SMS.

[0138] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.

[0139] like Figure 2 As shown, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.

[0140] The window manager is used to manage windowed applications. It can retrieve screen size, determine the presence of a status bar, lock the screen, and capture screenshots, among other things.

[0141] Content providers store and retrieve data, making that data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc.

[0142] A view system includes visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text notification icon could include views for displaying text and views for displaying images.

[0143] The phone manager is used to provide communication functions for electronic device 100. For example, it manages call status (including connection and disconnection).

[0144] The file explorer provides applications with various resources, such as localized strings, icons, images, layout files, video files, and more.

[0145] The notification manager allows applications to display notifications in the status bar. These notifications can be used to deliver informational messages and can disappear automatically after a short pause, requiring no user interaction. For example, the notification manager can be used to notify users of completed downloads or message alerts. The notification manager can also display notifications as icons or scrolling text in the top status bar, such as notifications from background applications, or as dialog boxes on the screen. Examples include displaying text messages in the status bar, emitting sounds, vibrating electronic devices, and flashing indicator lights.

[0146] The Android Runtime consists of core libraries and a virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.

[0147] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.

[0148] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.

[0149] System libraries can include multiple functional modules. For example: surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), etc.

[0150] The Surface Manager is used to manage the display subsystem and provides the blending of 2D and 3D layers for multiple applications.

[0151] The media library supports playback and recording of various common audio and video formats, as well as still image files. It supports multiple audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.

[0152] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.

[0153] A 2D graphics engine is a graphics engine for 2D drawing.

[0154] The kernel layer is the layer between hardware and software. The kernel layer includes at least the display driver, camera driver, audio driver, sensor driver, Bluetooth driver, NFC driver, and WLAN driver.

[0155] The following example illustrates the workflow of the software and hardware of electronic device 100 in the context of calendar synchronization.

[0156] When the touch sensor 180K receives a touch operation, a corresponding hardware interrupt is sent to the kernel layer. The kernel layer processes the touch operation into a raw input event (including touch coordinates, timestamp of the touch operation, etc.). The raw input event is stored in the kernel layer. The application framework layer retrieves the raw input event from the kernel layer and identifies the control corresponding to the input event. Taking a single touch operation as an example, where the corresponding control is the calendar application icon, the calendar application calls the interface of the application framework layer to launch the calendar application, selects to sync the calendar, and then calls the kernel layer to start drivers for cellular network, Bluetooth, or Wi-Fi, sending messages to other electronic devices through the mobile communication module 150 and / or the wireless communication module 160.

[0157] The following describes the process of connecting a new device to existing home devices to automatically sync calendar events.

[0158] A home may contain a variety of different electronic devices, each with storage capacity. These include smart TVs, computers, smart speakers, digital photo frames, tablets, smart routers, robot vacuums, smart glasses, smartwatches, game consoles, and smart cameras. Various devices offer the potential for scheduling. For example, users can create calendar events using voice commands to speak to a speaker or TV; while watching TV, they can schedule programs like football matches based on the program timetable; when using a game console, they can create calendar events for specific times and tasks within the game; and when using a router, they can create calendar events for tasks such as limiting network speed during specific periods.

[0159] by Figure 3A For example, existing home devices include a mobile phone 301, a smartwatch 302, a smart router 303, a smart speaker 304, a smart camera 305, a smart game console 306, and a smart TV 307. These electronic devices are connected to form a "home network 300" via communication methods such as Wi-Fi, Bluetooth, and NFC. Each electronic device is a node in the "home network." The mobile phone 301 connects to the smart router 303, smart camera 305, and smart TV 307 via Wi-Fi. The mobile phone 301 connects to the smartwatch 302, smart speaker 304, and smart game console 306 via Bluetooth. The smartwatch 302 also connects to the smart speaker 304 via Bluetooth, and the smart TV 307 connects to the smart game console 306 via Wi-Fi.

[0160] When the mobile phone 308, as a new device, enters the above "Home Network", see [link / reference]. Figure 3B Mobile phone 308 broadcasts its calendar synchronization capabilities to devices in the "home network," including mobile phone 301, smartwatch 302, smart router 303, smart speaker 304, smart camera 305, smart game console 306, and smart TV 307. This allows new devices to communicate with existing devices in a point-to-point manner if there is only one existing device in the home.

[0161] Calendar schedules can be synchronized across different devices on a "home network." In this embodiment of the invention, these calendar schedules can be synchronized via network communication. Figure 4A As shown, when the new device, the 308 mobile phone, enters the "Home Network" above to synchronize its calendar, the process involves the following steps:

[0162] S401, Request to establish a connection;

[0163] When a new device joins a group of devices, it notifies existing devices of its new device identity, trust level, and calendar synchronization capabilities via broadcast or peer-to-peer communication, and requests a connection. Users can configure whether to allow new devices to broadcast to the home network. If the new device is merely an electronic device brought by a guest, users typically do not add it to the home network. If the new device is an electronic device added to a family member's home, the user can launch the device management application, select "Add New Device," and add the new device to the home network, thus allowing it to broadcast to existing devices within the network.

[0164] The above new device identifier can be a unique ID for the new device, such as the device's MAC address, IMEI number, SIM card's IMEI number, etc.

[0165] Trust level refers to the minimum level of trust or security that an electronic device is allowed to establish a connection with. Generally, electronic devices come with a temporary, initial trust level at the factory. When using a mobile phone, users can set the trust level of the corresponding devices that can be synchronized for each account's calendar. Optionally, the user can determine the trust level by a pop-up window appearing when the device receives a message from an existing device during calendar synchronization capability negotiation. Alternatively, the user can set the trust level individually for that device later, such as by scanning the device's QR code to modify the device's trust level. For example, a user can scan a smart speaker's QR code with their mobile phone to obtain the smart speaker's device ID SB-1029 and reset its trust level from 1 to 4.

[0166] The calendar synchronization capability includes calendar tags, synchronization policies, device whitelists, and whether to merge similar calendars. Calendar tags refer to fixed categories of calendars or user-defined categories. For example, calendar tags can be categorized by content (work, study, entertainment, life, etc.), by importance (very important, important, average, unimportant, etc.), or by whether they can be shared with other users (private, open, etc.). Synchronization policies refer to the ability of connected devices to synchronize calendars with them when their trust level reaches a certain level. Device whitelists allow calendar synchronization even if devices on the whitelist do not meet the specific trust level specified in the synchronization policy for that account. Merging similar calendars refers to whether calendars under this account can be merged with calendars under other accounts. If merging is allowed, the merged calendar may be modified; if merging is not allowed, calendars under this account will not be modified.

[0167] Users can configure synchronization policies, create device whitelists, and decide whether to merge similar calendar events for each type of event. The specific setup process is as follows: Figures 5A-5D As shown. Users can log in to the calendar app installed on their device using multiple accounts, and each account can have at least one schedule tag. For example... Figures 5A-5D As shown, users can log in to the calendar application using the accounts xx@xx.com, yy@yy.com, and zz@zz.com. The schedule tag corresponding to the account xx@xx.com is "Work," while the account zz@zz.com includes two schedule tags: "Study" and "Entertainment." That is, schedules created under the account zz@zz.com can belong to either the "Study" tag or the "Entertainment" tag.

[0168] The calendar application in mobile phone 308 includes accounts xx@xx.com, yy@yy.com, and zz@zz.com. Upon entering each account, users will see a schedule label control 501, a device trust level setting control 502, a device whitelist addition control 503, a selection control 504, a deletion control 505, and a setting control 506 for merging similar schedules. The schedule label control 501 has a drop-down menu, allowing users to set schedule labels such as work, life, entertainment, and study. For example, the device trust level setting control 502 provides five trust levels (0-4) for users to choose from, or it can be set to "none". When control 502 is set to one of 0-4, the corresponding schedule will only be synchronized to devices with a trust level of the set value or higher. When control 502 is set to "none", the corresponding schedule will not be synchronized to any device. The device whitelist addition control 503 lists multiple devices connected to mobile phone 308, including but not limited to... Figure 3B In the home network 300, the user can select devices from a drop-down menu by clicking control 503. Control 506 also has a drop-down menu for setting whether to merge approximate schedules, including two options: "Y" and "N". Selecting "Y" allows merging approximate schedules between devices, while selecting "N" disallows merging approximate schedules between devices.

[0169] See Figure 5A The calendar under account xx@xx.com has a schedule tag 501 for "Work". The allowed device trust level 502 for this schedule is set to 3, meaning this schedule will only sync with devices of trust level 3 or higher. TV-5502 is already in the device whitelist. Selecting "Y" for "Merge Similar Schedules" allows merging similar schedules. Users can add router ROU-33 to the whitelist by clicking control 504. Similarly, users can delete an existing device (TV-5502) from the whitelist by clicking control 505.

[0170] See Figure 5B The calendar under account yy@yy.com has a schedule tag 501 for "Life". The allowed device trust level 502 for this schedule is set to 0, which means that this schedule has no trust level requirement and can be synchronized with any device. No devices have been added to the device whitelist. The option to merge similar schedules is N, which means that merging similar schedules is not allowed.

[0171] See Figures 5C-5D The phone (308) also stores two types of schedules for the account zz@zz.com: entertainment and study. Users can click the schedule tab control (501) to select either entertainment or study schedules and configure synchronization strategies. See also... Figure 5C The allowed device trust level 502 for entertainment schedules is set to 2, meaning that entertainment schedules will only sync with devices with a trust level of 2 or higher. The device whitelist already includes smartwatch WT-1127 and smart speaker SB-1029. Router ROU-33 can be added to the device whitelist for entertainment schedules by adding control 503. Select Y for whether to merge similar schedules, which allows merging similar entertainment schedules under account zz@zz.com.

[0172] See Figure 5D The allowed device trust level for the learning schedule is set to 502, meaning the learning schedule will not be synchronized with any device. No devices have been added to the device whitelist. Select Y for whether to merge similar schedules, which means that similar schedules can be merged.

[0173] After the user completes the settings, see Table 1 for the calendar synchronization capabilities of the 308 mobile phone.

[0174] Table 1. Calendar and schedule synchronization capabilities of the 308 mobile phone.

[0175]

[0176] The account xx@xx.com includes a work schedule that allows synchronization with devices having a trust level of 3 or higher. The whitelist for this schedule is TV-5502, and it can be merged with schedules from other accounts. Television devices are generally shared, so their trust levels are usually low; for example, TV-5502 in Table 1 has a trust level of only 1. For the work schedule under account xx@xx.com, synchronization is only allowed with devices having a trust level of 3 or higher. Therefore, from a trust level perspective, TV-5502 does not meet the synchronization requirements. However, because the user added TV-5502 to the device whitelist under the work schedule of account xx@xx.com, the work schedule under account xx@xx.com is also allowed to synchronize with TV-5502.

[0177] The account yy@yy.com includes a lifestyle calendar, which can be synced to devices of any trust level (i.e., open to all devices). This calendar has no devices on its whitelist and cannot be merged with calendars from other accounts. The account zz@zz.com includes entertainment and study calendars. The entertainment calendar under zz@zz.com allows syncing to devices with a trust level of 2 or higher. Its device whitelist includes WT-1127 and SB-1029, and it can be merged with calendars from other accounts. The study calendar under zz@zz.com does not allow syncing to any devices. This calendar has no devices on its whitelist and can be merged with calendars from other accounts.

[0178] In addition to the case of a new device joining a group of devices, when a device in the existing network updates its calendar synchronization settings, such as by adding a new account or changing synchronization permissions, it is also necessary to broadcast the updated calendar synchronization capabilities to other devices in the existing network.

[0179] S402, Synchronization Capability Negotiation;

[0180] Devices within the existing network complete calendar synchronization capability negotiation by replying to the broadcasting device with response information. The broadcasting device may also reply after receiving responses from devices within the existing network to confirm receipt of calendar synchronization capability. See also Figure 4B This illustrates the process by which device 401, which broadcasts, negotiates synchronization capabilities with devices 402 and 403 in the existing network. Device 401 broadcasts its own calendar synchronization capability to devices 402 and 403 in the existing network. Upon receiving the message from device 401, device 402 replies and sends its own calendar synchronization capability to negotiate the synchronization capability. Upon receiving the message from device 402, device 401 replies with an acknowledgment message, confirming receipt of device 402's calendar synchronization capability. Similarly, upon receiving the message from device 401, device 403 replies and sends its own calendar synchronization capability to negotiate the synchronization capability. Upon receiving the message from device 403, device 401 replies with an acknowledgment message, confirming receipt of device 403's calendar synchronization capability.

[0181] If device 401 has not previously synchronized its calendar with devices 402 and 403 on the home network, then when responding to device 401, devices 402 and 403 not only send their own calendar synchronization capabilities but also send their device attribute tables to device 401. After device 402 and 403 send their device attribute tables to device 401, device 401 determines whether schedules under its own calendar account are allowed to be sent to devices 402 and 403. For example, Table 2 shows the attributes of some devices on the "home network," including device ID, device name, the device's trust level, and whether it is online.

[0182] Table 2 Equipment Attribute Table

[0183] Device ID Equipment Name Trust level Are you online? TV-5502 Smart TV 1 Y WT-1127 smartwatch 4 N SB-1029 smart speaker 1 Y

[0184] If device 401 has previously synchronized its calendar with existing devices 402 and 403 in the home network, when the calendar synchronization settings of device 401 are updated, such as adding an account or changing synchronization permissions, it is also necessary to broadcast its calendar synchronization capability, as well as the updated trust level and online status in the aforementioned device attribute table to existing devices in the network.

[0185] When the new device sends its schedule synchronization capability, it also sends a device attribute table containing the new device ID, device name, and trust level to devices in the existing network. This allows devices in the existing network to determine the new device's name, trust level, and other information based on the device attribute table, and thus determine which schedules can be synchronized with the new device.

[0186] S403. Determine the schedule to be synchronized;

[0187] Newly registered devices acquire the calendar synchronization capabilities of existing devices, select the calendar events to be synchronized, and send the shared events to devices that meet the trust level requirements. The corresponding devices then process the synchronization and send the synchronized events. For example, newly registered mobile phone 308 obtains information that the currently online devices are smart TV 307 and smart speaker 304.

[0188] For smart TVs, the schedules that can be synchronized with the smart TV on the phone are the work schedule under the xx@xx.com account and the life schedule under the yy@yy.com account. However, the study schedule under the zz@zz.com account is not open to other devices, and the entertainment schedule under the zz@zz.com account is only synchronized with devices with a trust level of 2 or higher. The smart TV has a trust level of only 1 and is not on the device whitelist for the entertainment schedule. Therefore, the study schedule and entertainment schedule on this phone will not be synchronized with the smart TV.

[0189] For the smart speaker, the calendars that can be synchronized with the phone 308 are the lifestyle calendar under the yy@yy.com account and the entertainment calendar under the zz@zz.com account. Although the entertainment calendar under the zz@zz.com account is only synchronized with devices with a trust level of 2 or higher, while the smart speaker's trust level is only 1, the entertainment calendar under the zz@zz.com account can also be synchronized with the smart speaker because the smart speaker is on the device whitelist of the entertainment calendar under the zz@zz.com account.

[0190] Figure 6 The graphical user interface 600 of mobile phone 308 is shown. The graphical user interface 600 displays the phone's daily schedule. Specifically, the following schedules are listed: xx@xx.com account has a work schedule 601: 9:00-12:30 at the "High-Voltage Transmission Project Seminar" at the International Conference Center; yy@yy.com account has a personal schedule 602: 13:00-15:30 at the new student parent meeting at Friendship Primary School; zz@zz.com account has an entertainment schedule 603: 17:30-19:00 at the departmental football league held at the Olympic Sports Center; and zz@zz.com account has a study schedule 604: 20:00-20:30 studying English. The first two schedules, work schedule 601 and personal schedule 602, are schedules to be synchronized by mobile phone 308 based on its schedule synchronization capabilities and sent to the smart TV. The above-mentioned schedule entries for the yy@yy.com account (602: 13:00-15:30, attending the new student parent meeting at Youyi Primary School) and the entertainment schedule entries for the zz@zz.com account (603: 17:30-19:00, attending the departmental football league at the Olympic Sports Center) are files to be synchronized and sent to the smart speaker by mobile phone 308.

[0191] S404, Schedule Synchronization.

[0192] The following describes the process of synchronizing schedules for devices in an existing network. (See also...) Figure 4C .

[0193] S4041. Existing equipment receives a broadcast notification from a newly joined device, thereby discovering the newly joined home device.

[0194] S4042. The existing device determines whether the new device supports calendar capabilities. Calendar support means the existence of calendar accounts that allow shared schedules. The existing device can determine this using the calendar synchronization capability table sent by the new device. For example, in Table 1, the newly registered mobile phone 308 has multiple calendar accounts that allow shared schedules, such as xx@xx.com, yy@yy.com, and zz@zz.com. Therefore, mobile phone 308 supports calendar capabilities. If the existing device determines that the new device does not support calendar capabilities, the process stops.

[0195] S4043. After determining that the new device supports calendar capabilities, the existing device further determines whether the existing device has passed authentication. This requires that the existing device is a device whose calendar account the new device is allowed to synchronize with. Specifically, the existing device's trust level needs to be higher than the trust level required in the calendar account synchronization policy. An exception is a device whitelist. Taking the work calendar of the newly registered mobile phone 308's xx@xx.com account as an example, the existing device's trust level needs to be 3 or higher to synchronize with that account's work calendar, unless the existing device is a smart TV named TV-5502. If the existing device is a smart speaker named SB-1029, its trust level is only 1, then the smart speaker will fail to authenticate the xx@xx.com account's calendar for mobile phone 308. If device authentication fails, the process stops.

[0196] S4044. If the existing device authentication is successful, then further query the timestamp of the last synchronization on the new device.

[0197] S4045. The new device replies with the timestamp of the last synchronization from the existing device, thus revealing the timestamp of the last synchronization. This step is mainly applicable when the new device returns to the home network after being away for a period of time, or when the calendar synchronization settings of a device on the existing network are updated, such as adding an account or changing synchronization permissions. Since this is not the first time the device has synchronized with the existing device, the timestamp of the last synchronization exists.

[0198] S4046. If the timestamp of the last synchronization is found, indicating that the newly joined device has previously synchronized its schedule with an existing device, then the schedule after the last synchronization will be sent to the new device (i.e., differential synchronization).

[0199] S4047. If no timestamp of the last synchronization is found, it indicates that the newly added device has not previously synchronized its schedule with an existing device. In this case, all schedules will be sent to the new device (i.e., full synchronization). The full schedule is a user-configurable schedule within a specific time period, and this schedule requires the new device to meet the existing device's schedule synchronization policy and device whitelist requirements. Taking an existing device named SB-1029 as an example (see Table 3), the speaker only has entertainment schedules under the ss@ss.com account, which are open to devices with a trust level of 2 or higher. The user configures the smart speaker to synchronize the day's schedule. See [link to table]. Figure 6The speaker's schedule for the day, 621, is to play bedtime music from 22:30 to 23:00. After the smart speaker detects phone 308, it determines that phone 308 supports calendar capabilities, and the speaker's trust level meets the trust level requirements for phone 308's yy@yy.com account's daily life schedule and zz@zz.com account's entertainment schedule. Since phone 308 has not previously synchronized its schedule with the smart speaker, the speaker sends the day's schedule, 621, to phone 308.

[0200] Table 3. Smart Speaker Calendar Synchronization Capability

[0201] Account Schedule tags Synchronization strategy Device whitelist Should similar schedules be merged? ss@ss.com entertainment 2+ none Y

[0202] S4048. After the existing device sends its schedule, it receives the schedule to be synchronized from the new device. Taking the smart speaker named SB-1029 as an example, after sending the entertainment schedule of the speaker's ss@ss.com account to the mobile phone 308, the speaker receives the schedule to be synchronized from the mobile phone 308, including the above-mentioned life schedule of yy@yy.com account: 13:00-15:30 new student parent meeting held at Youyi Primary School, and the entertainment schedule of zz@zz.com account: 17:30-19:00 departmental football league held at the Olympic Sports Center.

[0203] See Figure 6 Mobile phone 308 has synchronized the yy@yy.com account's daily schedule 602 and the zz@zz.com account's entertainment schedule 603 to the smart speaker. Simultaneously, the smart speaker has also synchronized the ss@ss.com account's entertainment schedule to mobile phone 308. For the smart TV, as shown in Table 4, if the user sets the synchronization policy for their tt@tt.com account's entertainment schedule to None, then when the smart TV detects mobile phone 308, and after determining that mobile phone 308 supports calendar capabilities and that the TV's trust level meets the trust level requirements for mobile phone 308's xx@xx.com account's work schedule and yy@yy.com account's daily schedule, the smart TV chooses not to send its own entertainment schedule, but directly receives mobile phone 308's xx@xx.com account's work schedule 601 and yy@yy.com account's daily schedule 602.

[0204] Table 4. Smart TV Calendar Synchronization Capability

[0205]

[0206] Schedule synchronization can ensure that everyone in the family behaves in unison. For example, if a child in the family goes to school, and one spouse sets up a school schedule or class timetable, the whole family will know about it, and all family devices (such as speakers) can track this activity. Figure 7As shown, the wife set up the child's class schedule 704 for the current semester in the daily schedule under the aa@aa.com account on phone 701, and set the synchronization policy of this schedule to a trust level of 4 or higher, with smart speaker 703 on the device whitelist. When the husband's phone 702, smart speaker 703, and phone 701 are on the same home network, the schedule update on phone 701 triggers the schedule synchronization of devices on the home network. Since the husband's phone 702 has a trust level of 4, and smart speaker 703 is on the device whitelist of the daily schedule in the aa@aa.com account on phone 701, the updated class schedule 704 will be synchronized to phone 702 and smart speaker 703. Without having to set up the schedule again, the husband can view the child's class schedule 705 on his phone, and other family members such as grandparents can know the child's daily class schedule 706 through the speaker.

[0207] The calendar synchronization method of this invention breaks away from the dependence of traditional calendar synchronization on servers and user accounts. It sends calendar information through various near-field communication methods, including but not limited to Wi-Fi, Bluetooth, Thread, Zigbee, LoRa, Sigfox, and cellular networks. Furthermore, if a new device has joined the home network, it can automatically initiate calendar synchronization after being disconnected and then reconnected to the network after a period of time, without user intervention. During calendar synchronization, the timestamp is checked, automatically determining whether to perform differential or full synchronization, greatly improving synchronization efficiency and providing a more convenient and better user experience. In terms of security, the calendar data to be synchronized is selected based on the aforementioned device authentication method, allowing users to set the trust level and device whitelist for synchronized home devices according to the importance and privacy of the schedule, distinguishing the appropriate synchronization devices for different schedules, thus supporting partial schedule synchronization.

[0208] In some embodiments, after synchronization is complete, the new or existing device merges identical or similar schedules. Identical schedules refer to two schedules with identical titles, times, and locations, while similar schedules refer to two schedules where at least one piece of information—title, time, or location—is not entirely consistent. For ease of description, identical or similar schedules will be referred to as approximate schedules.

[0209] The device that performs the merge is the one that last received the synchronized calendar schedule. See also Figure 8AThe flowchart shown illustrates the calendar merging process. Device D sends calendar event 1 to device E, which stores it. Device E then finds a similar calendar event 2 and sends it to device D. Device D, being the last device to receive the synchronized calendar event, merges calendar events 1 and 2 to generate a new calendar event 3, deleting duplicate calendar events 1 and 2. Device D then sends the new calendar event 3 to device E, which stores it and deletes duplicate calendar events 1 and 2. At this point, the calendar merging is complete, and both devices D and E now have the latest calendar event 3, with duplicate calendar events 1 and 2 deleted.

[0210] In some embodiments, three or more devices perform schedule merging. Device D sends its calendar schedule to all devices. Device E and many subsequent devices send approximate schedules to Device D. Device D aggregates these schedules to generate a merged schedule and sends it to each device sequentially. After receiving the calendar schedule from Device E, Device D waits for other devices to return approximate schedules. After the waiting period, Device D merges all currently received approximate schedules and then sends the merged schedule to all devices. If other devices return approximate schedules after the waiting period, Device D re-merges the schedules and sends the merged schedule to all devices for synchronization.

[0211] In some embodiments, the determination of an approximate schedule is based on Figure 8B The process is as shown. It should be noted that the method for judging and merging similar schedules is not limited to the synchronization of schedules within a family group; it can also be applied to individual schedules shared by users, the synchronization of schedules within a work group, etc. For example, User A is User B's insurance account manager. User A has scheduled an appointment on their phone to discuss an insurance contract at a coffee shop at 3 PM. User B has also scheduled a similar appointment on their phone. Subsequently, User A adds an attachment to the insurance contract to the appointment and sends the appointment to User B via WeChat or email. User B's phone executes the method for judging and merging similar schedules, thereby obtaining the insurance contract attachment. S801, Receive Schedule. After receiving the schedule, the receiving device discovers two schedules for the same time period (e.g., picking up the child at 5 PM and going to Friendship Primary School at 5 PM), or two schedules with similar titles on the same day (e.g., picking up the child at 5 PM and picking up the child after get off work), and the device will automatically initiate the similar schedule judgment process. Optionally, after receiving the schedule, the device prompts the user, who then confirms the initiation of the similar schedule judgment process, comparing the received schedule with each existing schedule on the receiving device.

[0212] S802. Does the similarity between the title texts of the two schedules exceed a predetermined threshold? First, compare the title texts of the two schedules to obtain their similarity. If the similarity between the title texts of the two schedules exceeds the predetermined threshold, proceed to step S804. If the similarity between the title texts of the two schedules is less than or equal to the predetermined threshold, proceed to step S803. The predetermined threshold can be set relatively high, such as 98%, to avoid mistakenly classifying different schedules as similar schedules.

[0213] S803. After reasonable replacement of the two title texts, check whether the text similarity is higher than a predetermined threshold. Here, text replacement refers to replacement rules stored and updated periodically in calendar applications or on calendar servers, such as common word replacement patterns like National Library of China -> National Library of China, Renmin University of China -> Renmin University of China, Tsinghua University -> Tsinghua University, Caishikou Department Store -> Caishikou Department Store, attend a meeting -> attend a conference, watch the English Premier League -> watch a football match, etc. After text replacement, if the similarity of the two event title texts is higher than the predetermined threshold, proceed to step S804. If the similarity of the two event title texts is less than or equal to the predetermined threshold, proceed to step S807, determining that the two events are not similar.

[0214] S804. Check if the time difference between the two schedules is less than a predetermined threshold. If the similarity between the two schedule titles is higher than a predetermined threshold after analyzing the schedule title text, or if the similarity is higher than a predetermined threshold after text replacement, further compare the time differences between the two schedules. If the time difference is less than the predetermined threshold, proceed to step S808 to determine that the two schedules are similar. If the time difference is large, greater than or equal to the predetermined threshold, proceed to step S805 to determine the similarity of the schedule locations. The predetermined threshold for time difference can be set relatively low, for example, an overlap of more than 50%.

[0215] S805. Check if the similarity between the two event locations exceeds a predetermined threshold. For example, compare the textual descriptions of locations in the two events to obtain the similarity between the two event locations. Alternatively, compare whether the two event locations are within a preset distance, such as 50 meters between two buildings. If the similarity between the two event locations exceeds the predetermined threshold, proceed to step S808. If the textual similarity between the two event locations is less than or equal to the predetermined threshold, proceed to step S806. The predetermined threshold can be set relatively high, such as 97%, to avoid mistakenly classifying different events as similar events.

[0216] S806. After reasonable text replacement, check whether the text similarity between the two locations exceeds a predetermined threshold. Here, text replacement refers to text replacement rules stored and updated periodically in calendar applications or on calendar servers, such as common word replacement patterns like National Library of China -> National Library of China, Renmin University of China -> Renmin University of China, Tsinghua University -> Tsinghua University, and Caishikou Department Store -> Caishikou Department Store. After text replacement, if the text similarity between the two event locations exceeds the predetermined threshold, proceed to step S808 to determine that the two events are similar. If the text similarity between the two event locations is less than or equal to the predetermined threshold, proceed to step S807 to determine that the two events are not similar.

[0217] S807. Schedules are not similar. If two schedules are judged to be not similar after being evaluated based on title, time, location, etc., or if the similarity of the title text is lower than a predetermined threshold, or if the time difference is large and the similarity of the location text is also lower than a predetermined threshold, then the two schedules will not be merged.

[0218] S808. Similar Schedules. After judging two schedules based on their titles, times, and locations, if either the titles are highly similar and the time differences are small, or the time differences are large but the location texts are highly similar, the two schedules are judged to be similar. In this case, the next step is to merge the two schedules.

[0219] Merging similar schedules allows for the synchronization of tasks from multiple users or devices, avoiding confusion. In this embodiment, merging similar schedules can combine multiple participants; that is, while generating a new schedule, users from multiple devices are added to the participants of the new schedule.

[0220] like Figure 9A The image shows that Zhang San's mobile phone graphical user interface is 901, and his schedule for the afternoon of November 21, 2019, is 903: to pick up his child from the National Library at 3 PM. (The location is listed as the National Library of China.) Figure 9B As shown, Li Si's phone's graphical user interface is 902. Li Si is Zhang San's wife. On the afternoon of November 21, 2019, schedule 904 was picking up their child from the National Library at 3 PM. On the evening of November 20, when Zhang San and Li Si returned home and both phones were connected to the home network, the schedule synchronization and approximate schedule determination process was initiated. Zhang San's phone was the one performing the schedule merging. After comparing the title text, time, location, and other conditions of the two schedules, schedules 903 and 904 were determined to be approximate schedules.

[0221] The judgment result will be sent to Zhang San's phone, notifying the user to confirm. See also... Figure 9COn Zhang San's mobile phone graphical user interface 920, a calendar reminder card 905 pops up, including an expand control 906 and a merge approximate schedule card 907. Optionally, the user can click the expand control 906 to further display schedules 903 and 904, and click again to collapse them. The merge approximate schedule card 907 includes a cancel control 908 and an confirm control 909. After seeing the calendar reminder card 905, Zhang San discusses with Li Si and confirms that Li Si will complete the schedule, then clicks the cancel control 908.

[0222] like Figure 9D As shown, after clicking the cancel control, the merged similar schedule card 907 will no longer be displayed on Zhang San's mobile phone graphical user interface 922. A delete control 910 will be added to the left of schedules 903 and 904. Zhang San can click the delete control 910 to select and delete schedule 903. After completing the above operations, Zhang San clicks the confirm control 912 on the calendar reminder card 905 to save the above selection.

[0223] See Figure 9E Returning to Zhang San's phone's calendar, tomorrow's schedule 903 has been deleted. See also... Figure 9F Li Si's phone calendar interface still retains the schedule 904.

[0224] The above-mentioned approximate schedule merging can also be applied to work scenarios, such as when engineers A and B have already joined the same group on their phones, or engineer A shares one of their schedules with engineer B via their phone. If several colleagues are attending the same meeting, such as... Figure 10A As shown, Engineer A's mobile phone A user interface 1001 displays schedule 1003: Today at 13:00, the Hong Kong-Zhuhai-Macau Bridge groundbreaking ceremony, attendee is A, and attached is the Hong Kong-Zhuhai-Macau Bridge design drawing 1005. (The rest of the text appears to be unrelated and possibly machine-generated gibberish.) Figure 10B As shown, Engineer B's mobile phone B user interface 1002 displays schedule 1004: Today at 13:00, the Hong Kong-Zhuhai-Macau Bridge will commence construction, location: meeting room B3, attendee B.

[0225] Engineers A and B's phones have been pre-added to the same group and configured to allow work schedule synchronization. After the two engineers' phones connect via Bluetooth or NFC, the two schedules are merged, and both engineers will receive the merged schedule. See also Figure 10C Engineer A's phone A displays screen 1001 showing schedule 1006: Today at 13:00, the Hong Kong-Zhuhai-Macau Bridge groundbreaking ceremony will be held in Conference Room B3. Attendees are Engineer A and Engineer B. Attachment 1005 is the Hong Kong-Zhuhai-Macau Bridge design drawing. Figure 10DAs shown, Engineer B's phone display 1002 shows Schedule 1007: Today at 13:00, the Hong Kong-Zhuhai-Macau Bridge groundbreaking ceremony, location: Meeting Room B3, attendees: Engineer A / Engineer B, attachment: Hong Kong-Zhuhai-Macau Bridge design drawing 1005. It is evident that Schedule 1006 and Schedule 1007 are identical after merging. The phone has supplemented both schedules by modifying the schedule title to a more complete one, adding attendees, and supplementing missing locations and attachments.

[0226] In one possible implementation, when Figure 10A When the attachment shown is large, it's not possible to quickly send it from phone A to phone B via Bluetooth. In this case, a Wi-Fi Direct connection can be established between phone A and phone B, and then the drawing can be sent from A to B via the Wi-Fi connection.

[0227] In another possible implementation, if engineer A is unable to attend on that day... Figure 10A As shown in Schedule 1003, after consultation, Engineer B will attend the Hong Kong-Zhuhai-Macau Bridge groundbreaking ceremony with the drawings. At this time, a Wi-Fi Direct connection can also be established between mobile phone A and mobile phone B, and then the drawings can be sent from A to B through the Wi-Fi connection channel.

[0228] As the scheduled time approaches, both Engineer A and Engineer B receive a calendar reminder card on their phones. See also Figure 10E Engineer A's phone screen 1001 displays calendar reminder card 1008. (See also...) Figure 10F Engineer B's phone screen 1002 displays a calendar reminder card 1009. Even if Engineer A and Engineer B are not notified after the schedule is synchronized and merged, both parties can still receive each other's meeting information, as well as complete schedule titles, locations, and attachments, before the meeting starts through calendar reminders.

[0229] Merging similar schedules can avoid a large number of duplicate schedules during the schedule synchronization process, and schedule information can be supplemented between each other during the merging process.

[0230] In some embodiments, for devices that support distributed storage, only a portion of the schedule information from the distributed storage can be synchronized. This schedule information may include index information such as the schedule title, time, and location. For electronic devices with limited storage space and weak display capabilities, such as smart speakers, smartwatches, smart routers, smart cameras, and game consoles, synchronizing only a portion of the schedule information will effectively save device storage space. This is especially true for schedules with attachments; synchronizing only the schedule title and time, without synchronizing the attachments, will have a more significant effect on saving device storage space. Furthermore, home devices such as TVs, routers, and cameras are rarely moved around in daily life and are seldom taken outdoors. Synchronizing some schedule information to electronic devices that are mostly at home provides a backup display when portable devices such as mobile phones and watches run out of power.

[0231] For devices that support distributed reads, partial schedule information is received from devices that support distributed storage, and the index information of the synchronized schedule is displayed. When the details of this schedule are needed, the full schedule information corresponding to this index is retrieved from the original device that supports distributed storage. Figure 11A As shown, the mobile phone display interface 1100 displays four schedules for today, 1101-1104. Following the user-set synchronization strategy, the mobile phone selects to send the indices of the first three schedules for today, 1101-1103, to the TV. The index information 1111-1113 for schedules 1101-1103 is displayed on the TV display interface 1110. (See also...) Figure 11B After some time, the smartwatch 1120 connected to the home network, and the TV synced the calendar information for 11:01-11:03 to the smartwatch 1120. (See also...) Figure 11C The watch 1120 has synchronized the index information 1121-1123 for the calendar 1101-1103.

[0232] If a user wishes to view detailed schedule information on the TV, such as specific locations, attachments, and all attendees, click [here]. Figure 11B Index information 1111 for schedule 1101. (For example...) Figure 11D As shown, in response to the above operation, all information of schedule 1101 stored in the mobile phone is sent to the TV. Optionally, in response to the user clicking on the index information 1111 of 1101, a prompt card 1114 is displayed on the interface to prompt the user whether to display the complete schedule. If the user selects "Yes," the TV receives the user's input and retrieves all information of schedule 1101 from the mobile phone. Figure 11E As shown, the television display interface 1110 displays all the information for schedule 1101, including detailed and complete time, location, attachments, all attendees, reminder times, etc. Users can further zoom in on the map 1114 within the selected location for a more detailed view.

[0233] If a user wants to view schedule details on their watch, click... Figure 11C Index information 1122 for schedule 1102, such as Figure 11C As shown, in response to the above operation, all information from the calendar 1102 stored in the phone is sent to the watch 1120. Figure 11F As shown, the watch displays all the information 1124 of schedule 1102, including detailed and complete time, location, attachments, all attendees, and reminder times. Users can further open and view attachments 1125 of schedule 1102.

[0234] The following is a flowchart illustrating a device schedule synchronization process that supports distributed storage. (See attached diagram) Figure 12 .

[0235] S1201, Prepare to send calendar events to the other end.

[0236] S1202. Determine whether the peer supports distributed storage. If the peer supports distributed storage, proceed to step S1203. If the peer does not support distributed storage, proceed to step S1206. Send the overall schedule information, sending all complete schedule information to the peer, and then proceed to step S1207. The receiving device directly displays the schedule.

[0237] S1203. Send partial schedule information and its index. If the receiving end supports distributed storage, send partial schedule information and its index to the receiving device. Partial schedule information refers to the schedule file selected according to the synchronization strategy described in the preceding embodiments that can be synchronized to the receiving end. The schedule index information is not all the schedule information, but only important information such as title, time, and location.

[0238] S1204. The received device stores some schedule information and the index information of the schedule information.

[0239] S1205. When the receiving device needs to display all schedule information of the schedule index, it queries the distributed storage device.

[0240] This invention only synchronizes a portion of the schedule information (such as title, time, location, and other important information), and uses a distributed approach to store the schedule, which can save storage space and allow for more flexible management of one's schedule.

[0241] It is understood that, in order to achieve the above functions, the electronic device includes the corresponding hardware structure and / or software module for performing each function. Those skilled in the art will readily recognize that, based on the algorithmic steps of the examples described in conjunction with the embodiments disclosed herein, the present invention can be implemented in hardware or a combination of hardware and computer software. Whether a function is performed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present invention.

[0242] In this embodiment of the invention, the electronic device can be divided into functional modules according to the above method example. For example, each function can be divided into its own functional module, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this embodiment of the invention is illustrative and only represents one logical functional division; other division methods may be used in actual implementation.

[0243] This invention discloses an electronic device, including a processor, a memory, an input device, and an output device connected to the processor. The input and output devices can be integrated into a single device; for example, a touch sensor can be used as an input device, a display screen as an output device, and the touch sensor and display screen can be integrated into a touchscreen.

[0244] At this time, as Figure 13 As shown, the aforementioned electronic device may include: a touchscreen 1301, which includes a touch sensor 1306 and a display screen 1307; one or more processors 1302; one or more cameras 1308; a memory 1303; one or more application programs (not shown); and one or more computer programs 1304. These devices can be connected via one or more communication buses 1305. The one or more computer programs 1304 are stored in the memory 1303 and configured to be executed by the one or more processors 1302. The one or more computer programs 1304 include instructions that can be used to perform the various steps in the above embodiments. All relevant content regarding the steps involved in the above method embodiments can be referenced to the functional descriptions of the corresponding physical devices, and will not be repeated here.

[0245] For example, the processor 1302 described above can specifically be... Figure 1 The processor 110 shown above, and the memory 1303 mentioned above, can specifically be... Figure 1 The internal memory 116 and / or external memory 120 shown above, the camera 1308 can specifically be... Figure 1 The camera 193 shown above, and the display screen 1307 mentioned above can specifically be... Figure 1 The touch sensor 1306 on the display screen 194 shown can specifically be... Figure 1 The touch sensor 180K in the sensor module 180 shown is not limited in this embodiment of the invention.

[0246] This invention also provides a computer storage medium storing computer instructions. When the computer instructions are executed on an electronic device, the electronic device performs the aforementioned method steps to implement the methods described in the above embodiments.

[0247] This invention also provides a computer program product that, when run on a computer, causes the computer to execute the aforementioned method steps to implement the methods described in the above embodiments.

[0248] In addition, embodiments of the present invention also provide an apparatus, which may specifically be a chip, component or module. The apparatus may include a connected processor and a memory; wherein the memory is used to store computer execution instructions, and when the apparatus is running, the processor may execute the computer execution instructions stored in the memory to cause the chip to execute the imaging methods in the above-described method embodiments.

[0249] In this embodiment of the invention, the electronic device, computer storage medium, computer program product or chip are all used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can be referred to the beneficial effects of the corresponding methods provided above, and will not be repeated here.

[0250] Through the above description of the embodiments, those skilled in the art will understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0251] In the several embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0252] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0253] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0254] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiments of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0255] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A method for processing schedule information, applied to a first electronic device, characterized in that, The schedule includes Schedule 1, Schedule 5, and Schedule 6; The schedule information processing method includes: The first electronic device receives a first message sent by the second electronic device. The first message carries the trust level of the second electronic device and the calendar synchronization capability of the second electronic device. The calendar synchronization capability includes: schedule tags. Based on the schedule tags, the allowed device trust levels corresponding to the first schedule, the fifth schedule, and the sixth schedule are determined; wherein, the trust level of the first schedule is to synchronize with electronic devices of a preset trust level, the trust level of the fifth schedule is to synchronize with all electronic devices, and the trust level of the sixth schedule is not to synchronize with other electronic devices. Determine whether the trust level of the second electronic device is lower than the allowed device trust level corresponding to the first schedule; When the trust level of the second electronic device is not lower than the allowed device trust level corresponding to the first schedule, the first schedule is sent to the second electronic device; The fifth schedule is synchronized with the second electronic device based on its trust level; and, Based on the trust level of the sixth schedule, the sixth schedule is not synchronized with the second electronic device.

2. The method as described in claim 1, characterized in that, The method further includes: When the trust level of the second electronic device is lower than the trust level of the allowed device corresponding to the first schedule, it is further determined whether the second electronic device is on the device whitelist corresponding to the first schedule; When the second electronic device is on the device whitelist, the first electronic device sends the first schedule to the second electronic device.

3. The method as described in claim 2, characterized in that, The allowed device trust level and the device whitelist are set by the first electronic device.

4. The method as described in claim 1, characterized in that, The method further includes: The first electronic device receives the second schedule sent by the second electronic device; Determine whether the first electronic device has a third schedule that is similar to the second schedule; When the third schedule is similar to the second schedule, the first electronic device merges the third schedule and the second schedule to generate a fourth schedule; The first electronic device saves the fourth schedule and deletes the third and second schedules; The first electronic device sends the fourth schedule to the second electronic device.

5. The method as described in claim 4, characterized in that, Determining whether the first electronic device has a third schedule that is similar to the second schedule includes: Determine whether the similarity between the title text of the third schedule and the second schedule is higher than a first threshold; When the similarity of the title text of the third schedule and the second schedule is higher than the first threshold, it is further determined whether the time difference between the third schedule and the second schedule is lower than the second threshold. When the time difference between the third schedule and the second schedule is less than the second threshold, the third schedule is determined to be similar to the second schedule.

6. The method as described in claim 5, characterized in that, Determining whether the title text similarity between the third schedule and the second schedule is higher than a first threshold includes: When the similarity between the title text of the third schedule and the title text of the second schedule is lower than or equal to the first threshold, the title text of the third schedule is replaced, and it is further determined whether the similarity between the title text of the third schedule and the title text of the second schedule is higher than the first threshold.

7. The method as described in claim 5 or 6, characterized in that, After determining whether the time difference between the third schedule and the second schedule is less than a second threshold, the method further includes: When the time difference between the third schedule and the second schedule is equal to or higher than the second threshold, it is further determined whether the location similarity between the third schedule and the second schedule is higher than the third threshold. When the location similarity between the third schedule and the second schedule is higher than a third threshold, the third schedule is determined to be similar to the second schedule.

8. The method as described in claim 7, characterized in that, Determining whether the location similarity between the third schedule and the second schedule is higher than the third threshold includes: When the location similarity between the third schedule and the second schedule is lower than or equal to the third threshold, the location description of the third schedule is replaced, and then it is further determined whether the location similarity between the third schedule and the second schedule is higher than the third threshold.

9. The method as described in claim 4, characterized in that, When the third schedule is similar to the second schedule, the first electronic device merges the third schedule and the second schedule to generate a fourth schedule, including: The first electronic device displays a first prompt message, which is used to prompt whether to merge similar schedules; In response to the input operation of the first prompt information, the first electronic device merges the third schedule and the second schedule to generate the fourth schedule.

10. The method as described in claim 4 or 9, characterized in that, in, The fourth schedule includes all the information from the second and third schedules.

11. The method as described in claim 1, characterized in that, The first electronic device sends a first schedule to the second electronic device, including: The first electronic device sends the index information of the first schedule to the second electronic device.

12. The method as described in claim 11, characterized in that, The method further includes: When the first electronic device receives a request message from the second electronic device, the first electronic device sends all the information of the first schedule to the second electronic device.

13. An electronic device, characterized in that, include: One or more processors; And a memory, wherein code is stored; when the code is executed by the electronic device, the electronic device performs the method of any one of claims 1-12.

14. A computer storage medium, characterized in that, Includes computer instructions that, when executed on an electronic device, cause the electronic device to perform the method as described in any one of claims 1-12.

15. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the method as described in any one of claims 1-12.

Citation Information

Patent Citations

  • Method and system for remote schedule management

    CN102955997A

  • Scheduling-based method for replying to call and communication terminal

    CN105407470A

  • Portable terminal and method for controlling data merging

    US20150019961A1

Cited By

  • Family schedule fusion method and apparatus

    WO2021233161A1