This is directed to a method of sharing data among multiple devices, the multiple devices includes a server, a source terminal, and multiple receiving terminals. The method includes: receiving, on the server, account information associated with at least one of the multiple receiving terminals, receiving, on the server, data from the source terminal to be shared with at least one of the multiple receiving terminals, determining, based on the account information, at least one active receiving terminal, alerting the at least one active receiving terminal about the data shared by the source terminal, and receiving a response from the at least one active receiving terminal indicating an action with regard to the data.
|
17. A terminal connected to a server, a source terminal and at least one other receiving terminal over a network, wherein the terminal and the at least one other receiving terminal share same user account information, the terminal comprising:
a data transfer module that transmits outbound data to the server to be shared with the at least one receiving other terminal,
a data storage request module that requests the server to store inbound data shared by the source terminal,
a transmitting module that requests a delivery of data shared by the source terminal and stored on the server to the at least one other receiving terminal selected by a user of the terminal from a list of active receiving terminals sharing the user account information, and
a receiving module that receives identification information of all data available on the server and associated with the user account information,
wherein each of the data transfer module, data storage request module, transmitting module, and receiving module is in communication with one or more of the other modules.
1. A method of sharing data among multiple devices, the multiple devices comprising a server, a source terminal, and multiple receiving terminals, the method comprising:
receiving, on the server, account information associated with the multiple receiving terminals,
receiving, on the server, data from the source terminal to be shared with at least one of the multiple receiving terminals,
determining, based on the account information, at least one active receiving terminal,
alerting the at least one active receiving terminal about the data shared by the source terminal,
transmitting information identifying one or more of the multiple receiving terminals to the at least one active receiving terminal, wherein the information comprises a list of active receiving terminals sharing the account information,
receiving a response from the at least one active receiving terminal, the response comprising a selection of one or more of the active receiving terminals by a user of the at least one active receiving terminal to receive the data, wherein the user-selected receiving terminal is distinct from the at least one active receiving terminal; and
transmitting the data to the user-selected receiving terminal.
14. A non-transitory computer-readable storage medium of a server connected to a source terminal and multiple receiving terminals, the storage medium storing instructions, when executed by a processor, performing the steps of:
receiving account information associated with the multiple receiving terminals,
receiving, data from the source terminal to be shared with at least one of the multiple receiving terminals,
determining, based on the account information, at least one active receiving terminal,
alerting the at least one active receiving terminal about the data shared by the source terminal,
transmitting information identifying one or more of the multiple receiving terminals to the at least one active receiving terminal, wherein the information comprises a list of active receiving terminals sharing the account information,
receiving a response from the at least one active receiving terminals, the response comprising a selection of one or more of the active receiving terminals by a user of the at least one active receiving terminal to receive the data, wherein the user-selected receiving terminal is distinct from the at least one active receiving terminal; and
transmitting the data to the user-selected receiving terminal.
15. A server in communication with a source terminal and multiple receiving terminals, the server configured to facilitate data sharing between the source terminal and at least one of the multiple receiving terminals, the server comprising:
a receiving module that receives user account information associated with the multiple receiving terminals and data to be shared by the source terminal using the user account information obtained from the source terminal,
a transmitting module that transmits an alert to the at least one of the multiple receiving terminals in response to the receiving module receiving the shared data, and
a processing module that stores the shared data based on the user account information in response to a request from the receiving terminal and transmits the shared data to another one of the multiple receiving terminals in response to a second request from the receiving terminal identifying the another one of the multiple receiving terminals, wherein the another one of the multiple receiving terminals is selected by a user of the receiving terminal from a list of active receiving terminals sharing the user account information, wherein the receiving terminal is distinct from the another one of the multiple receiving terminals identified in the second request.
2. The method of
3. The method of
5. The method of
6. The method of
receiving, from one of the source terminal or receiving terminals, a request to retrieve stored data from the server based on a user account,
identifying all data and corresponding identification information associated with the user account,
transmitting the identification information to the requesting terminal;
receiving a selection of the identification information from the requesting terminal,
transmitting data identified by the identification information to the requesting terminal.
7. The method of
checking whether the data is already stored on the server, and if the data is already existed on the server,
prompting the user whether to overwrite the existing data or cancel the request for storing the data from the source terminal.
9. The method of
determining one or more of the receiving terminals on which the account information indicating an online status,
wherein the one or more receiving terminals are identified by their respective IP address or associated telephone number.
10. The method of
11. The method of
12. The method of
13. The method of
16. The server of
18. The terminal of
19. The terminal of
|
This application is a U.S. continuation application under 35 U.S.C. §111(a) claiming priority, under 35 U.S.C. §120 and 365(c), to International Application No. PCT/CN2013/076651 filed on Jun. 3, 2013, which claims the priority benefit of Chinese Patent Application No. 201210309237.9, filed Aug. 28, 2012, the contents of both the PCT application and the Chinese application are incorporated by reference herein in their entirety for all purposes.
The present disclosure relates to communications among multiple devices, and more particularly, to a messaging system for facilitating real-time data sharing among multiple end user devices.
As the popularity and varieties of electronic devices continue to grow, it is not unusual for a person to have multiple devices at his disposal. For example, a person may have a personal computer (PC) and a tablet PC at home, a laptop for work, and a smartphone as his mobile device. With all these devices, there is often a need to transfer data, such as images, documents, and video clips, from one device to another device. For example, the person may want to view a video clip recorded on his smartphone on his PC. Similarly, the person may also want to share the video dip with his friends, which would require him to send the clip to his friends' devices. Thus, there is a great need for an efficient and intuitive way of sharing data among multiple devices.
Point-to-point communication mechanisms such as instant messaging (IM) have been around for a while. Existing IM applications, for example, provide a quick and convenient way for the users to communicate with each other and transfer data from one device to another device in real time. Typically, a first user logs into his account and uses the IM application on his device to send a message to a second user's account. The second user can log into his account on one of his devices and view the message without much delay. The message can include different types of data, such as text, image, and video/audio data. Depending on the type of the data being transmitted, the IM application may support one or more of the existing formats including, for example, text message, Short Message Service (SMS), Multimedia Messaging Service (MMS), Video Messaging Service (VMS), etc.
However, there are a number of shortcomings of existing IM applications. For example, none offers its users the options of choosing when and/or on which device to receive incoming messages and data. Typically, the recipient receives the incoming message within a short period of time after the message was sent by the sender and the message is only received on the device being used by the recipient at the time of the message's arrival. This may be inconvenient for the user if, for example, a video clip is received on the recipient's mobile phone, but he would prefer to view it on his tablet PC instead. At the minimum, an additional step is required to transfer the video clip from the mobile phone to the tablet PC. This may require logging on to another device and opening up another messaging interface to download the video again, which can cause further delay and inconvenience for the user. Similarly, the recipient typically cannot delay the arrival of a message when online. This may be an issue when, for example, the recipient is working on a public PC in plain view of other people and would rather not have incoming messages displayed on the screen as they arrive. With current IM applications, he may have no choice but to turn the IM application off. In addition, if a message is deleted after being received on the recipient's device, there is no easy way to recover the message. For example, if the recipient wishes to watch the video in the deleted message again, he may have to ask the sender to resend the video.
It is, thus, desirable to have more efficient and user friendly account-based systems and methods for sharing data among multiple end user devices.
The disclosed systems and methods can provide real time or delayed transfer of data among multiple devices. In some embodiments, the disclosed systems and methods can provide the recipient with an option to designate one or more receiving terminals for receiving data from another user. In some embodiments, an intermediate storage system can be provided for storing shared data temporarily or permanently before and/or after the data is retrieved by the one or more receiving terminals. This allows the recipients to retrieve the shared data at any time and for as many times as they desire. This data storage system can also serve as a data repository and/or backup system for the users. The disclosed systems and methods can utilize existing user account information for one or more applications and/or devices as means for validating user identity and tracking shared data by user. In some embodiments, all users can use account information for a single application (e.g., a messaging application) to share data. In other embodiments, users can user account information associated with different applications for the same purpose as long as the system can track multiple user accounts of the same user.
One aspect of the disclosure is directed to a method of sharing data among multiple devices, the multiple devices including a server, a source terminal, and multiple receiving terminals. In one embodiment, the method includes receiving, on the server, account information associated with at least one of the multiple receiving terminals, receiving, on the server, data from the source terminal to be shared with at least one of the multiple receiving terminals, determining, based on the account information, at least one active receiving terminal, alerting the at least one active receiving terminal about the data shared by the source terminal, and receiving a response from the at least one active receiving terminal indicating an action with regard to the data.
In some embodiments, the response is to accept the data on one or more of the receiving terminals.
In some embodiments, the method can also include transmitting a list of active receiving terminals to the at least one active receiving terminal, and receiving, from the receiving terminal, a selection of one or more of the active receiving terminals to receive the data.
In some embodiments, the method can also include transmitting the data to the one or more selected active receiving terminals.
In some embodiments, the response includes a request to store the data on the server. In some embodiments, the method also includes storing the data on the server based on the account information.
In some embodiments, the method also includes receiving, from one of the source terminal or receiving terminals, a request to retrieve stored data from the server based on a user account, identifying all data and corresponding identification information associated with the user account, transmitting the identification information to the requesting terminal, receiving a selection of the identification information from the requesting terminal, transmitting data identified by the identification information to the requesting terminal.
In some embodiments, the method can also include checking whether the data is already stored on the server, and if the data is already existed on the server, prompting the user whether to overwrite the existing data or cancel the request for storing the data from the source terminal.
In some embodiments, the response includes rejecting the data.
In some embodiments, determining the active terminals includes: determining one or more of the receiving terminals on which the account information indicating an online status, wherein the one or more receiving terminals are identified by their respective IP address or associated telephone number.
In some embodiments, determining the active terminals includes determining one or more of the receiving terminals to which the account information has ever been associated.
In some embodiments, the account information is also associated with the source terminal.
In some embodiments, the method also includes limiting the availability of the data to a certain period of time or based on a geographic location of at least one of the receiving devices.
In some embodiments, the account information is associated with a messaging application or includes a recipient's address.
Another aspect of the disclosure is directed to a non-transitory computer-readable storage medium of a server connected to a source terminal and multiple receiving terminals, the storage medium storing instructions. In one embodiment, the stored instructions when executed by a processor, perform the steps of: receiving account information associated with at least one of the multiple receiving terminals, receiving data from the source terminal to be shared with at least one of the multiple receiving terminals, determining, based on the account information, at least one active receiving terminal, alerting the at least one active receiving terminal about the data shared by the source terminal, and receiving a response from the at least one active receiving terminal indicating an action with regard to the data.
Another aspect of the disclosure is directed to a server in communication with a source terminal and multiple receiving terminals, the server configured to facilitate data sharing between the source terminal and at least one of the multiple receiving terminals. In one embodiment, the server includes a receiving module that receives data to be shared by the source terminal using user account information obtained from the source terminal, a transmitting module that transmits an alert to the at least one of the multiple receiving terminals in response to the receiving module receiving the shared data, and a processing module that stores the shared data based on the user account information in response to a request from the receiving terminal.
In some embodiments, the processing module transmits the stored data to the at least one receiving terminal in response to the receiving module receiving a request for delivery of the stored data from the receiving terminal.
Another aspect of the disclosure is directed to a terminal connected to a server and at least one other terminal over a network. In one embodiment, the terminal includes: a data transfer module that transmits outbound data to the server to be shared with the at least one other terminal, a data storage request module that requests the server to store inbound data shared by the at least one other device, a transmitting module that requests a delivery of data stored on the server using user account information, and a receiving module that receives identification information of all data available on the server and associated with the user account information.
In some embodiments, the transmitting module selects identification information of the data to be downloaded from the server and transmit the selected identification information to the server.
In some embodiments, the receiving module receives shared data identified by the selected identification information.
In some embodiments, the user account information includes one of an account number, username, and a phone number.
In some embodiments, each of the data transfer module, data storage request module, transmitting module, and receiving module is in communication with one or more of the other modules.
In the following description of preferred embodiments, reference is made to the accompanying drawings which form a part hereof, and in which it is shown by way of illustration specific embodiments in which the disclosure can be practiced. It is to be understood that other embodiments can be used and structural changes can be made without departing from the scope of the embodiments of this disclosure.
This generally relates to systems and methods for sharing data among multiple end user devices using a common user account system. As referred hereinafter, end user devices can be any electronic device capable of connecting to a network for transmitting and receiving data. Such devices can include, but are not limited to, PCs, Macs, desktop computers, laptop computers, tablet PCs, smartphones including iPhones, Android phones, Windows phones, and Blackberries, e-readers, in-car communication devices, televisions and other consumer electronic devices with sufficient network capabilities. Furthermore, the end user devices can also be referred to as terminals (i.e., “device” and “terminal” are interchangeable terminologies). For example, the end user device from which data is being shared can be referred to as a source terminal, and the end user device receiving the shared data can be referred to as a receiving terminal. A terminal can be both a source terminal and a receiving terminal in various embodiments of the disclosure. A source terminal and a receiving terminal can be devices belonging to the same user or different users. As referred hereinafter, the types of data shared by the devices/terminals can include, but is not limited to, text, image, video, audio, and other types of multimedia data.
The disclosed systems and methods can provide real time or delayed transfer of data among multiple devices. In some embodiments, the disclosed systems and methods can provide the recipient with an option to designate one or more receiving terminals for receiving data from another user. In some embodiments, an intermediate storage system can be provided for storing shared data temporarily or permanently before and/or after the data is retrieved by the one or more receiving terminals. This allows the recipients to retrieve the shared data at any time and for as many times as they desire. This data storage system can also serve as a data repository and/or backup system for the users. The disclosed systems and methods can utilize existing user account information for one or more applications and/or devices as means for validating user identity and tracking shared data by user. In some embodiments, all users can use account information for a single application (e.g., a messaging application) to share data. In other embodiments, users can user account information associated with different applications for the same purpose as long as the system can track multiple user accounts of the same user.
In this embodiment, device 100 can be a source terminal from which data can be shared with the other devices 106, 108, 110. Devices 106, 108, 110 can be receiving terminals for receiving data shared by device 100. All four illustrated devices 100, 106, 108, 110 can belong to the same user or different users. In one embodiment, device 100 can be User A's device and devices 106, 108, 110 can be User B's devices. Although four devices are illustrated, it should be understood that any number of devices can connect to the server 104 and the features and operations described below with reference to this figure can easily be applicable to a different number of devices without changing the basic concept of the embodiment. In one embodiment, each device 100, 106, 108, 110 can have installed on it a messaging application for communicating with the other devices. Other types of communication applications can be used in other embodiments. The messaging application can be an IM application such as MSN or Yahoo! messenger. The messaging application may require a user account for a user to send and receive messages and other data. The user account can be an account created for the particular application. Alternatively, it can also be an account for the particular device as long as that the account can be validated by the server for the purpose of sharing data among the devices. The usage of account information for identifying a user and associating shared data with a particular user are discussed in detail in the embodiments below.
The server 104 can be connected to devices 100, 106, 108, 110 via a network and capable of transmitting and receiving data from each device 100, 106, 108, 110. In one embodiment, the server can communicate with different types of devices and/or devices running different operating systems (e.g., iOS and Android). The server 104 can also serve as a remote storage for storing data received from one or more of devices 100, 106, 108, 110. In some embodiments, the server 104 can be a cloud server. The cloud server can be accessed using the same user account for the messaging application from the end user devices. A user having a valid account can be allocated a certain amount of memory space on the cloud server for storing his data. The amount of memory space assigned to each user can be limited or unlimited. In some embodiments, the user may have the option of paying for additional memory space if the allocated space is limited. Data stored on the server can be managed by any suitable means. For example, each user may have a “My Documents” folder on the cloud server. The “My Documents” folder can be linked to the user's message application account and accessed using the same login information such as username and password. Data stored in the “My Documents” folder can be grouped into different categories by, for example, data type (e.g., text, image, and video), size of the data, and/or assigned security levels (e.g., public, private).
The network connecting the devices 100, 106, 108, 110 and the server 104 can be any wireless or wired networks, including but not limited to the Internet, local area network (LAN), wide area network (WAN), cellular network, Wi-Fi network, and virtual private network (VPN).
The alert from the server can also provide one or more options for User B to choose with regard to how User B would like to proceed with this newly-shared data from User A. For example, User B may choose to accept the shared data on one or more of his devices 106, 108, 110. In one embodiment, the server can generate a list of User B's active devices, i.e., devices from which he has signed into his messaging application account. This list of devices can include, for example devices 106, 108, 110 of
By allowing the recipient (e.g., User B) to select the devices for receiving the data shared from the source terminal, it can be ensured that the recipient can receive the data on one or more devices of his choice. That is, the recipient does not have to receive the data on one device and then forward the data to his other devices. In fact, the shared data can be delivered to all of the recipient's devices so that there is no longer a need to take the additional steps of forwarding the data among the devices. This can significantly improve the data sharing experience, at least on the recipient's side.
Referring back to
In one embodiment, User B can set a specific time for receiving the shared data. Additionally or alternatively, User B can be required to retrieve the data within a certain period of time (e.g., within 24 hours) after receiving the alert. The data may become unavailable after the period of time passes. Additionally or alternatively, the shared data can only be retrieved when User B is within a certain geographical area (e.g., in New York City). User B's location can be determined using the GPS capability of his device. In various embodiments, the above-described time and/or location-based limitations associated with data retrieval can be set by either User A (i.e., the user who shares the data) or User B (i.e., the user who receives the shared data).
Additionally or alternatively, if User B does not wish to receive this shared data from User A after being receiving the alert from the server, User B can choose to reject the data by, for example, selecting the corresponding option from one of his devices 106, 108, 110 (Step 207). In one embodiment, if User B does not choose to accept the shared data or request the data be stored on the server within a predetermined prior of time (e.g., 24 hours), the shared data can be rejected automatically. In another embodiment, the shared data can be automatically stored on the server, even if it is rejected by User B (Step 206).
After the user selects the “Data Sharing Tool” 302 from the “Contacts” screen 300, a “Data Sharing Tool” screen 308 can be displayed on the source terminal. As illustrated in
An exemplary “My Documents” screen is illustrated in
After the user selects documents to be shared from his device and/or “My Documents” 320, the message application can return to the “Data Sharing Tool” screen. As illustrated in
When the recipient (e.g., User B) chooses to accept the shared data by selecting “Accept” 336, a screen listing one or more of his active devices can be displayed to allow him to choose the devices (receiving terminals) to which the data is to be delivered. An exemplary “Select Device” screen in shown in
If User B chooses not to receive the shared data on any of his devices right away, one of the other available options can be storing the data for later retrieval.
Optionally, before the server stores the shared data, it can verify whether a copy of shared data already exists on the server (Step 403). This can be accomplished by, for example, first identifying identification information, such as file name, type, timestamp, sender, and intended recipient, associated with the shared data. Next, the server can verify, based on the identified identification information, whether the data already exists in its storage space. This can be done by, for example, determining whether the same identification information exists in a database containing an index of data for each user. If no matching data exists in the database, the server can store the shared data in User B's My Documents folder linked to his user account (Step 402). If the same data already exists on the server, the server can prompt User B whether to overwrite the preexisting copy with the newly-received copy or simply cancel the request for storing the new data. This optional step 403 can enable the server to more effectively utilize its available storage space and operate in a more efficient way by eliminating or reducing duplicate copies of the same data.
After the shared data is stored on the server per request by the recipient (e.g., User B), both the sender (e.g., User A) and the recipient (e.g., User B) can retrieve the data using account information of their respective messaging application accounts (Step 404). More specifically, the sender's request can be made from any of his devices including the source terminal. The recipient's request can be made from any one of the selected or available receiving terminals. In one embodiment, the request for retrieving the data can include the requester's user account information. Based on the user account information, the server can look up all data and the corresponding identification information in the user's storage space (Step 405). In one embodiment, the server can identify one or more virtual folders in the user's “My Document” storage space using the user account information and extract the identification information of each of the file stored in these folders. In this embodiment, the identification information can include, for example, the theme of the folder, type of data stored in the folder, and other folder specific information.
The extracted identification information of the stored data can then be sent to the requesting terminal so that the user can specifically identify by the identification information which data to be retrieved from the server (Step 406). The identification information of the share data can be transmitted to the requesting terminal in any suitable format, such as a list or a table. After the requesting terminal receives the list or table of identification information from the server, the requesting terminal can display the identification information for user to select which shared data to be downloaded from the server. After receiving user inputs selecting the data to be downloaded, the requesting terminal can send a request to the server to obtain only the selected data.
Next, the server can receive from the requesting terminal the corresponding identification information of the selected data (Step 407). In response, the server can identify the selected data based on the identification information and transmit the identified data to the requesting terminal (Step 408). If the requesting terminal is the source terminal of the requested data, the data can be transmitted back to the source terminal. If the requesting terminal is one or more of the receiving terminals, the requested data can be transmitted to the receiving terminal(s).
In one embodiment, the user account information and the identification information of the requested data can be sent to the server in the same request (e.g., Steps 404 and 407 in
The communication between the source terminal, receiving terminal, and the server can be implemented using various combinations of software, firmware, and hardware technologies. Each of these systems may include one or more modules for facilitating various tasks in the data sharing process disclosed above.
In some embodiments, one or more of these modules on the server and the terminal can be stored and/or transported within any non-transitory computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “non-transitory computer-readable storage medium” can be any medium that can contain or store the program for use by or in connection with the instruction execution system, apparatus, or device. The non-transitory computer readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM) (magnetic), a portable optical disc such a CD, CD-R, CD-RW, DVD, DVD-R, or DVD-RW, or flash memory such as compact flash cards, secured digital cards, USB memory devices, memory sticks, and the like.
The non-transitory computer readable storage medium can be part of a computing system serving as the server or the terminals.
In the various embodiments, the present disclosure allows the user to log onto any of the one or more of his devices using his account information to share his data on one or more of his other devices or other users' devices. Furthermore, a user can select which device to receive data shared by from another device. This can allow multiple devices to have access to the same data without significantly changing the structure of the underlying messaging application or the communication network connecting the server and the terminals.
Although embodiments of this disclosure have been fully described with reference to the accompanying drawings, it is to be noted that various changes and modifications will become apparent to those skilled in the art. Such changes and modifications are to be understood as being included within the scope of embodiments of this disclosure as defined by the appended claims.
Patent | Priority | Assignee | Title |
10673979, | Dec 01 2015 | ADVANCED NEW TECHNOLOGIES CO , LTD | User data sharing method and device |
10929081, | Jun 06 2017 | UNITED SERVICES AUTOMOBILE ASSOCIATION USAA | Context management for multiple devices |
11409489, | Jun 06 2017 | United Services Automobile Association (USAA) | Context management for multiple devices |
Patent | Priority | Assignee | Title |
8066572, | Aug 26 2010 | Scores Two Go, LLC | System for transmitting real-time game information for a game to a remote device |
8255469, | May 29 2009 | Nokia Technologies Oy | Method and apparatus for locating communities over an ad-hoc mesh network |
8406252, | Apr 05 2007 | AT&T MOBILITY II LLC | Presence-based network service availability announcements |
20050102365, | |||
20070014243, | |||
20080313297, | |||
20090259349, | |||
20100040217, | |||
20110047075, | |||
20120231880, | |||
20120290476, | |||
20121014397, | |||
20130018791, | |||
CN101252548, | |||
CN101933013, | |||
CN102075546, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 27 2013 | TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED | (assignment on the face of the patent) | / | |||
Jan 23 2014 | WANG, DONG LEI | TENCENT TECHNOLOGY SHENZHEN COMPANY LIMITED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032204 | /0915 |
Date | Maintenance Fee Events |
May 21 2020 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
May 22 2024 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Dec 06 2019 | 4 years fee payment window open |
Jun 06 2020 | 6 months grace period start (w surcharge) |
Dec 06 2020 | patent expiry (for year 4) |
Dec 06 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Dec 06 2023 | 8 years fee payment window open |
Jun 06 2024 | 6 months grace period start (w surcharge) |
Dec 06 2024 | patent expiry (for year 8) |
Dec 06 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Dec 06 2027 | 12 years fee payment window open |
Jun 06 2028 | 6 months grace period start (w surcharge) |
Dec 06 2028 | patent expiry (for year 12) |
Dec 06 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |