The present disclosure generally relates to communication systems employed to control, disseminate, and interact with information via user interfaces, software applications, databases and files.
Now more than ever, businesses, people, homes, and organizations need to keep communication channels open and accessible. Email applications alone may not be suitable to rely on as a sole means of communication, as today's fast-moving applications require modern, robust, and complex communication software as a means to boost productivity and problem-solving. With communication tools such as group chat, video conferencing, screen sharing, and productivity tools becoming ubiquitous, it may be desirable to provide a communication software apps that connects people in a seamless and integrated way.
Both the foregoing brief overview and the following detailed description provide examples and are explanatory only. Accordingly, the foregoing brief overview and the following detailed description should not be considered to be restrictive. Further, features or variations may be provided in addition to those set forth herein. For example, embodiments may be directed to various feature combinations and sub-combinations described in the detailed description.
Additional aspects of the disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or can be learned by practice of the disclosure. The advantages of the disclosure will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are and explanatory only and are not restrictive of the disclosure, as claimed.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various embodiments of the present disclosure. The drawings contain representations of various trademarks and copyrights owned by the Applicants. In addition, the drawings may contain other marks owned by third parties and are being used for illustrative purposes only. All rights to various trademarks and copyrights represented herein, except those belonging to their respective owners, are vested in and the property of the Applicants. The Applicants retain and reserve all rights in their trademarks and copyrights included herein, and grant permission to reproduce the material only in connection with reproduction of the granted patent and for no other purpose.
Furthermore, the drawings may contain text or captions that may explain certain embodiments of the present disclosure. This text is included for illustrative, non-limiting, explanatory purposes of certain embodiments detailed in the present disclosure.
The present disclosure includes many aspects and features. Moreover, while many aspects and features relate to, and are described in, the context of communication systems, embodiments of the present disclosure are not limited to use only in this context. The present disclosure can be understood more readily by reference to the following detailed description of the disclosure and the Examples included therein.
Before the present articles, systems, apparatuses, and/or methods are disclosed and described, it is to be understood that they are not limited to specific manufacturing methods unless otherwise specified, or to particular materials unless otherwise specified, as such can, of course, vary. It is also to be understood that the terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting. Although any methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present disclosure, example methods and materials are now described.
It is also to be understood that the terminology used herein is for the purpose of describing particular aspects only and is not intended to be limiting. As used in the specification and in the claims, the term “comprising” can include the aspects “consisting of” and “consisting essentially of” Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. In this specification and in the claims which follow, reference will be made to a number of terms which shall be defined herein.
As used in the specification and the appended claims, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “an opening” can include two or more openings. As used in the specification and the appended claims, the term “all” can include referents to at least one or more unless the context clearly dictates otherwise. Thus, for example, reference to “all” contents can include one or more contents unless there are no contents in which “all” would mean none in this particular context. Therefore all can mean one or more, none, or all as is generally understood.
Ranges can be expressed herein as from one particular value, and/or to another particular value. When such a range is expressed, another aspect includes from the one particular value and/or to the other particular value. Similarly, when values are expressed as approximations, by use of the antecedent ‘about,’ it will be understood that the particular value forms another aspect. It will be further understood that the endpoints of each of the ranges are significant both in relation to the other endpoint, and independently of the other endpoint. It is also understood that there are a number of values disclosed herein, and that each value is also herein disclosed as “about” that particular value in addition to the value itself. For example, if the value “10” is disclosed, then “about 10” is also disclosed. It is also understood that each unit between two particular units are also disclosed. For example, if 10 and 15 are disclosed, then 11, 12, 13, and 14 are also disclosed.
As used herein, the terms “about” and “at or about” mean that the amount or value in question can be the value designated some other value approximately or about the same. It is generally understood, as used herein, that it is the nominal value indicated ±10% variation unless otherwise indicated or inferred. The term is intended to convey that similar values promote equivalent results or effects recited in the claims. That is, it is understood that amounts, sizes, formulations, parameters, and other quantities and characteristics are not and need not be exact, but can be approximate and/or larger or smaller, as desired, reflecting tolerances, conversion factors, rounding off, measurement error and the like, and other factors known to those of skill in the art. In general, an amount, size, formulation, parameter or other quantity or characteristic is “about” or “approximate” whether or not expressly stated to be such. It is understood that where “about” is used before a quantitative value, the parameter also includes the specific quantitative value itself, unless specifically stated otherwise.
The terms “first,” “second,” “first part,” “second part,” and the like, where used herein, do not denote any order, quantity, or importance, and are used to distinguish one element from another, unless specifically stated otherwise.
As used herein, the terms “optional” or “optionally” means that the subsequently described event or circumstance can or cannot occur, and that the description includes instances where said event or circumstance occurs and instances where it does not. For example, the phrase “optionally affixed to the surface” means that it can or cannot be fixed to a surface.
Moreover, it is to be understood that unless otherwise expressly stated, it is in no way intended that any method set forth herein be construed as requiring that its steps be performed in a specific order. Accordingly, where a method claim does not actually recite an order to be followed by its steps or it is not otherwise specifically stated in the claims or descriptions that the steps are to be limited to a specific order, it is no way intended that an order be inferred, in any respect. This holds for any possible non-express basis for interpretation, including: matters of logic with respect to arrangement of steps or operational flow; plain meaning derived from grammatical organization or punctuation; and the number or type of aspects described in the specification.
Disclosed are the components to be used to manufacture the disclosed apparatuses, systems, and articles of the disclosure as well as the apparatuses themselves to be used within the methods disclosed herein. These and other materials are disclosed herein, and it is understood that when combinations, subsets, interactions, groups, etc. of these materials are disclosed that while specific reference of each various individual and collective combinations and permutation of these materials cannot be explicitly disclosed, each is specifically contemplated and described herein. For example, if a particular material is disclosed and discussed and a number of modifications that can be made to the materials are discussed, specifically contemplated is each and every combination and permutation of the material and the modifications that are possible unless specifically indicated to the contrary. Thus, if a class of materials A, B, and C are disclosed as well as a class of materials D, E, and F and an example of a combination material, A-D is disclosed, then even if each is not individually recited each is individually and collectively contemplated meaning combinations, A-E, A-F, B-D, B-E, B-F, C-D, C-E, and C-F are considered disclosed. Likewise, any subset or combination of these is also disclosed. Thus, for example, the sub-group of A-E, B-F, and C-E would be considered disclosed. This concept applies to all aspects of this application including, but not limited to, steps in methods of making and using the articles and apparatuses of the disclosure. Thus, if there are a variety of additional steps that can be performed it is understood that each of these additional steps can be performed with any specific aspect or combination of aspects of the methods of the disclosure.
It is understood that the apparatuses and systems disclosed herein have certain functions. Disclosed herein are certain structural requirements for performing the disclosed functions, and it is understood that there are a variety of structures that can perform the same function that are related to the disclosed structures, and that these structures will typically achieve the same result.
With reference now to the drawings, and in particular
As disclosed herein, the COMTOOL communication system can be implemented as a system, including software and hardware aspects, that simplifies the electronic communication process by facilitating and controlling operation of multiple communication software applications (apps) and personal apps that share content. These apps supported by the COMTOOL communication system are comprised of: a messaging app; contacts that are shared by multiple apps; forums; photo album; a calendar; a phone app; a video chart; and a video playback app. Furthermore, in some embodiments, the COMTOOL communication system is installable as a software application as an app in mobile computing devices (e.g., smartphone) and a webapp accessible from browsers on computers (e.g., desktop computers), tablets and television sets.
The COMTOOL communication system can be configured to save transaction data on servers. The COMTOOL communication system has other capabilities, such as allowing users to store their data and subsequently share that data external to the system, for instance to social media platforms of different kinds via hypertext transfer protocol (HTTP) links. Data from the COMTOOL communication system can be accessible over a web-based interface utilizing any device having network connectivity, such as a mobile computing device connected to the Internet. In some embodiments, user identifiers (IDs) are color coded by the COMTOOL communication system as a means for preventing imposters from creating new accounts (or names) that are synonymous to existing accounts, hence ensuring security from potential breaches of the system to be used for malicious actions. For example, color coding can prevent a hacker from utilizing names that are synonymous to names (already having existing accounts on the system) to post under the guise of an existing user. As an example, the COMTOOL communication system can be configured to display names IDs (e.g., first instance of the name ID) one color, but secondary name IDs that seem very similar to existing name IDs (e.g., second or more instance of the name ID) are given a different color. Thus, the COMTOOL communication system has the ability to filter fake postings, for example posts from secondary name IDs (e.g., in the different color). Moreover, users of the COMTOOL communication system may be required to describe graphics to be posted and type of content in the graphics so as to control misinformation.
The COMTOOL communication system provides a platform for users to communicate utilizing multiple applications from one system. It provides users with ability to authorize contacts to specific applications including a photo album app, a calendar app, a software based phone app over IP, a video chart app and a video playback app. Users of these apps have to be authorized by the owner individually by placing them in user groups in order to have access.
In addition, the COMTOOL communication system can support collaborative functions. For example, the COMTOOL communication system enables a group of individuals working on a project to communicate (e.g., one-on-one, one-to-many, or many-to-many) on the same topic. During collaborations, users can employ the COMTOOL communication system to access (e.g., read) and interact with messages or posts from other users, with ability to respond to communications and video chart aspects of the collaboration.
As alluded to above, the COMTOOL communication system can be implemented on mobile computing devices (smartphones, tablets) as an app including mobile interface(s) particularly designed for use on mobile computing devices associated with smaller dimensions, smaller screens, and limited capabilities. Also, the COMTOOL communication system can be implemented on primarily stationary computers (e.g., desktop computers) connected to servers through network connection (e.g., Internet) utilizing web interface(s) particularly designed for use on computer devices associated with larger dimensions, larger screens, and greater resources. The COMTOOL communication system can be implemented on other devices having visual display and processing capabilities, for example television sets with operating systems. In this embodiment, the COMTOOL communication system can be installed on a television to function in a similar manner to a remote control device.
As described herein, the COMTOOL communication system can include several user interfaces (UI). A UI of the COMTOOL communication system can be employed to transmit instructions to a processor the computing device in which the system is executing, and invokes processes, functions, and other interfaces of the COMTOOL communication system that are installed in memory of the computing device. The UIs of the COMTOOL communication system can also be configured to wirelessly transmit instructions to a server, and subsequently retrieve data pertaining to content provider channels, wherein a user can add particular channels of interest to a channel list in the app and sorts the channels by category and country. Accordingly, the UIs of the COMTOOL communication system can be considered a data-driven system, as the system supports interactions with database-driven apps.
Further, the COMTOOL communication system offers internal messaging communication. The internal messaging has the capability to receive messages from external email clients, and send messages to external email clients, for instance by automatically reading email addresses from the contacts or email addressed manually entered by the user (e.g., directly typed in). The internal messaging feature of the system has multiple real-world applications that increases the ease of communicating with various types of users. As an example, when non-office employees are out on different floors or different buildings, a supervisor can easily pass messages through the internal messaging feature of the COMTOOL communication system. Thus, all employees on that particular project can read and write to communicate what is going on at their current location. The internal messaging feature utilizes multiple database entities including forums, threads, languages and posts coupled to the users' messages entity to facilitate the communication between different users and groups across platforms, such as mobile phones and tablets.
Also, the COMTOOL communication system, as disclosed, includes various forum features. For example, the COMTOOL communication system can include a UI that allows users to create forums and request access to other existing forums. In some embodiments, the forums are sorted by category and/or country in interactions supported by the COMTOOL communication system.
The COMTOOL communication system implements several apps, as previously described. Users can access these multiple apps of the system from a centralized location. That is, the system can have a main interface (e.g., COMTOOL home interface) that presents several interactive buttons, where each button corresponds to a particular app. Thus, when a user selects a button on the main interface, that button serves as a link to the respective app (and its UIs). In some embodiments, order for any person to have access to the apps of the COMTOOL communication system, that person must be added as a user to a user group controlled by the account owner. As an example, the system wouldn't permit a person to have access to another person's photo album without being added to the album user group. In other words, a user may be provided access to one app of the COMTOOL communication system, without necessarily having access to the others apps the COMTOOL communication system.
Referring now to
Examples of additional UIs that can be implemented as elements of the COMTOOL communication system are also illustrated in
As seen in
Also,
The illustrated example shows that the main interface 100 also includes a “Messages” button 0104. The Messages button 0104 can be selected to by the user to launch an UI that accesses and displays any available messages (e.g., email, SMS, IM, chat, and the like) associated with the user's account in the COMTOOL communication system. For example, the user pressing the Messages 0104 button opens a UI listing of electronic messages to read. Additionally, the main interface 100 includes a “SendMessage” button 0105. The Send Message button 0105 can be configured to invoke the “Send Message” UI that is prominently shown in
The “My Forums” button 0106 on the main interface 100 can provide a listing of all the forums the user has access to. These forums are ordered by category and/or by country in the various applications of the COMTOOL communication system. The forums can further support additional features, such as streaming live charts and videos. These streams can be access in real-time, or saved to servers for later access and download.
In
In the example of
According to the embodiments, the user uploads a picture (visual or graphic file) when their associated account is created on the COMTOOL communication system. The main interface 100 can display that picture in its original file size 0110 or a reduced file size 0111 (e.g., thumbnail). For instance, a cursor hover over the user's picture that is currently displayed by the main interface 100 in the reduced file size 0111 causes a switch, where the picture is then displayed in the larger, expanded original file size 0110.
In addition, the main interface 100 can include various other buttons, shown as an “My Album” button 0112, a “My Calendar” button 0113, a “Phone App” button 0114, a “Video chart and Video Playback” button 0115. The video chart app provides real time video charting which may be saved to file as videos accessible at a later time. As previously described, these button 0112-115 may also be utilized by the user to launch corresponding apps supported by the COMTOOL communication system. As examples, selecting the My Album button 0112 can open an app that displays the user's photo album; selecting the My Calendar button 0113 can launch an app that displays a calendar (e.g., events, important dates) for the user; selecting the “Phone App” button 0114 can launch a phone app for the user; and selecting the Video chart and Video Playback button 0115 can launch an app that enables video chart and video playback. There may also be an “Add channel” button 0116 on the main interface 100 that provides an interface utilized to add content provider channels. In another embodiment, channels can also be added by the user subscribing during video playback. Particularly in the example shown in
In
Furthermore,
According to the embodiments, the user ID 0124 is a security feature that indicates to a contact that the person writing the viewed message is their original contact. In operation, another person joins the COMTOOL communication system and registers with the same first name and last name that is already in existence within the system, the user ID 0124 being color coded distinguishes this potentially suspicious contact. In an embodiment, the user ID 0124 of the known original users are displayed in a particular color such as green, blue, and the like. Alternatively, the user ID 0124 of the secondary users that register under existing names are displayed in specific color such as red, or yellow, that is different from the color used for the original users. The color in conjunction with the user ID 0124 serves as a visual cue which helps contacts to recognize that the message posted is not from their original contact, who may be a hacker or another potentially malicious source.
The “Album” button 0125, when selected, opens the photo album of the message sender if the user is part of the album user group of that person. Similarly, the “Calendar” button 0126 opens the message sender's calendar. In some cases, these buttons 0125-0126 are grayed out if the user has no access to the contact's album or calendar, respectively. Alternatively, in some embodiments, the buttons 0125-0126 are dynamically not included in the main interface 100 when a user is not part of the group.
As seen in
Referring now to
In the example, the Settings UI 200 lists a group of features or functions of the COMTOOL communication system that have settings to be controlled and/or set via the UI 200.
As an alternative, if the user does not have access to the contact's features, pressing or clicking one of the button links, such as calendar button 0406 provides a button to request access to that service so that they can interact with that particular contact on calendar. Subsequently, the contact can decide to grant or deny access for the requesting user. If access is granted, the user requesting the access is added to a user group that has access to the contact's features, such as the calendar service, for instance.
In some instances, access to one service from a contact does not necessarily apply to another service. That is, access to a contact's Album does not grant access to the calendar or to phone call or to video chart. A user has to be granted access to each of the services individually, in some embodiments even if they have general access with the provider.
The layout depends on screen size. For a small mobile phone screen, a layout displays two lines for each contact.
The Add Contact button link 0409 brings up a user interface that enables a user to manually add contacts (shown in
The address is linked to a navigation software module. For example, when a user presses contacts, a button for address as is presented as well. Part of the address shows navigation. Upon opening the address, the user gets a button to start navigating. When pressed, it executes navigation to lead the user to that address. Touching a picture or name of the contact also displays address of the contact with a navigation button link and pressing the navigate button link, invokes a navigation module that interact with server based software and positioning nodes on the network connected to, to lead the user to that address.
FIG. shows a “My Forums” UI 500. The My Forums UI 500 displays a listing of all the forums a user has access to. The UI 500 is launched when the user presses or clicks the My Forums button link (shown in
Referring now to
According to the embodiments, the Request Forum Membership UI 600 is displayed when a user presses or clicks the Request Forum Access from the main interface (shown in
In
In
It should be appreciated that the television remote control 1000 can include other button links that are not shown in
The NS in the playback meter are equivalent to the number of seconds in the video length. That is, a 4 hour video will have 4 hours×60 minutes×60 seconds or 144,000 seconds. Each second is assigned one segment in the playback meter. A playing video advances to one segment every second that elapses. The segments are then drawn in a single row of an html table as table cells. Each table cell=one segment=second. A forward button which is different from the one on the remote control, is represented by 1106. When a video loads to play, its parameters including video id and channel id are cached along with the authenticated user id and utilized to subscribe to a channel. The subscribe button 1107 displays during a video pause and at end of video playback. A hardware key on the remote control 1008 is designated to transmit a command that is interpreted as a subscribe command or instruction in the video playback application. Similarly, the selector button on the remote control confirms a pause of a video in playback mode and generates segments that represents motion of a marker (cursor) and portion of the video played. It is designated to transmit a subscribe command when a user double clicks. On double click of the selector button of the remote control, the video application invokes the subscribe button 1107 which takes in video id, source channel id and the authenticated user id as parameters and adds the user to subscribers on the channel. When a video is paused, a single click on the selector button of the remote control restarts the video and a double click selects the subscribe option button 1107. User parameters are cached along with video channel parameters during playback wherein double pressing a selector button on a remote control selects the subscribe button and transmits a subscription request to the video source sending channel id and user id to subscribe. The subscription command is transmitted to the processor and saved to a database in server memory.
When uploading videos, users are provided with a text field to enter a message such as a website Uniform Resource Locator (URL) to display during video playback. In another text field, a user enters time at which they want the message to display based on how long (video length) a video plays. If a video is 9 minutes long, the user may specify that at minute 7:23, display the URL in the center, left top or right top of the video play back screen. The video application reads elapsed time and extracts the message parameter from the session cache and displays it on screen at a specified time as a uniform resource locator (URL) or other message.
A marker or cursor is placed in the video playback meter segment to indicate current location of view. A pause stops the marker from advancing, a forward moves the marker forward to the next division and a rewind moves the marker backwards. A drag and drop manually moves the marker multiple segments in each direction as instructed by a user. An action listener determines which playback meter segment the marker is rested in and calculates the number of minutes or hours viewed. The meter is displayed when paused.
A portioned viewed so for is displayed up to where the marker rests during the pause. When the marker is at rest, a play button is displayed instead of the marker for selection utilizing the selection button of the television remote control 1003. When a video is playing, the playback control meter is made invisible by giving all the html table elements a Cascade Style Sheet (CSS) opacity of zero (0) which makes them transparent. Other technologies similar to CSS may be utilized to accomplish this.
At a time of a video pause, forward or rewind, the playback control meter is floated on top of the video by assigning it a higher Cascade Style z-index than the video. All elements of the playback control meter represented by a single row of an html table are given Cascade Style opacity of zero (0) to make them transparent and invisible except the central meter part that shows the portion of a video played back so far. This is assigned a greater that zero (0) CSS opacity to make it visible in any desired color.
A mouse click is utilized on a computer and touch screen is used on mobile phones and tablets to pause, forward or rewind videos in this system.
The videos are categorized in the database and indexed based on content type and content providers for easy selection and finding related content. Categories vary from technology, science, politics, travel to whatever.
If the user chooses to create an account from the menu option 1304, they create an account 1308. After creating the basic account, the user is prompted to create a commercial account 1309 or login 1310. If the user creates a commercial account 1311, the user logs in 1312 and exists 1313.
If at the menu the user chooses to login 1303, the user enters user id (phone number or email) 1314 and password 1315. The algorithm identifies users by user type and transmits instructions to the server processor to test for account completion steps in the database and authenticates a user to display a menu based on user type which includes basic, commercial admin or staff 1316, If not authenticated the user gets a message 1317 to try again or other. An authenticated user receives an authentication code on their mobile device or email 1318 and the code is validated 1319. The user is offered an option to save their login 1320. The system extracts user the user id and password from the session 1321 and saves the login 1322.
If login credentials were previously saved, a user session at step 1302 would read the user's security userId which comes with a color code for preventing imposters, current location and user type 1323. The system then test for type of user 1324. If user is a basic user 1325, they are forwarded to
A create account mechanism for creating a user account from a mobile phone, tablet, computer or television set consisting of an account creation, authentication and management algorithm, an initial interface with a designated window for displaying ads from the server, a create account button, a text field where to enter email or phone and another for password to login.
The create account button link opens a new interface with text fields to enter name, email and phone number to create a basic user account. The mechanism also comprises of a button link on the main interface for creating a commercial account after a user is authenticated and another button link for requesting an account as staff to a commercial account. This sets up user types of a basic user, a commercial admin and staff. A submit button transmits instructions to a processor to create a user account and this causes the processor to invoke the algorithm that creates accounts and saves in a database in server memory. A commercial user creates an admin account for managing staff and staff submits a create request to the admin account via a form in the application sending name, email and phone number to create a partial account.
A separate form is utilized to request a staff account to a commercial account when a user does not have a basic account. The user enters name, email and phone number and a partial registration account is created for the user. The commercial admin views the request and completes the account by assigning it a user title which comes with access rights. The confirmation is submitted to the server to update the partial account. The new staff and the admin are notified by email and text messaging that the account is complete. The new staff then acts as a content provider and gets other assignments as the admin may determine.
The settings option 1409 provides an interface with options and button links to configure the various applications in the system. Choice 1410 configures postings 1411 and determines how postings display on a device. The command 1412 provides options to configure an album and manage users 1413 of the album. This includes adding new viewers and deleting other users. The calendar option 1414 configures a calendar that comes with the system and provides an interface from which a calendar owner adds and deletes users 1415. Users added are given permission levels that include read, write, edit and delete. A voice over IP phone app 1416 provides users with an interface 1417 from which a user add and remove other users. The video chart option 1418 utilizes the interface 1419 to add users of the application from contacts and remove unwanted ones. Similarly, the video configuration interface 1420 provides a user with options to add users from contacts that can view posted videos.
The functions option 1422 comprises of several button links on the interface of
If a user hits a Contacts command 1433, it invokes a module that displays the interface of
If the user decides to write a post utilizing the main interface 1448, the interface 1449 provides a text field and a submit post button link to write, format 1450 and submit the post 145 When the user decides to read a post 1452, a share with contacts command 1453 is utilized to share with contacts 1454. The share with social media command 1455 generates a link 1456. A module invokes the interface of
The various apps in this system 1469 are accessed through button links on the graphical interface of
The video playback command 1478 launches a video playback application 1479 which creates a session for the uploaded video and cache the video id, video source channel id, user id, device id, video length (VL) and zero or more message parameters. A message parameter is utilized to store a variable such as a URL a video owner wants to display on a television screen when the video is being played. The message can be displayed anywhere on the screen. It does not require the content provider to have special software or skills for placing a URL on a television screen when the system is installed in a television set. The video length (VL) is converted into seconds. The video playback control meter of
The myAccount command provides menu options that includes an admin menu for managing a commercial account 1483.
Referring now to
For job related apps such as the Worker Acquisition, Customer Acquisition and Wage Payment System, location and current Location attributes of the user entity in relation to a job site allows the algorithm to assign the user to the right communication group based on radius of where they are and match them with the right groups. However, if the user is at their home address, the home address is used in the algorithm to determine the best suited communication group.
The Entity Projects represents a task such as a job or organization for which two or more people working on a project communicate via the Comtool messaging system to accomplish their goals. The Project and User entities generates another entity UserProject to which a client writes names of the scheduled people working on her project. Each record in this entity is established with a project ID and a User ID plus any other activity data that may be saved in the entity.
To access the project communication, the application software reads the record from this entity UserProject and compares the project ID, User ID that corresponds to that project, date and time range of the project to ensure the user belongs to that group communication group since other users may work on the same project at different times. The UserProject entity is now utilized instead of the main Users entity. This is optimization. The main Users entity is accessed only when names or other user details are needed.
One of the attributes in the UserProject entity is “dateProjectSignedOff (completed)”. This attribute is utilized to wipe the communications at the end of the project or when it is decided to clean up the database.
Since many different projects can be started at different times, the entity Projects generates many different project communication teams. The project teams are stored by reference (project team id) in the entity named ProjectCommunicationTeam.
Though there could be many members of an organization in the Users entity, only people inserted into the UserProject entity by reference and their respective communication project inserted into the ProjectCommunicationTeam entity by reference can communicate on behalf of that project. In such a case, the guest application inserts members by means of a button link that calls a module to select all intended users from the entity where they are.
One such example is that of scheduled employees in the Scheduler application which functions in conjunction with the Move Tool to facility communication in a work environment where users are scattered with their mobile devices.
The entity Thread is a result of the many to many relationships between the Users and ProjectCommunicationTeam entities. It stores communication threads. It has a location attribute which provides the relative location of the user. This location determines the users that can see ride requests or offers within a specified radius. It also has a current location attribute for job related and displays and selection of which forum to get place the user to if they need a ride or want to offer rides. All threads to the posts are stored here and ordered by date and time when displaying.
Favorites is the entity where users saves posts that they like by selecting the button link named Add to Favorite on the main interface. Users add posts to favorites and the id of the author is saved as well to identify the author when issuing author status. Videos in playback mode, pause mode or at end of playback are added to favorites in a similar manner. Each time a post or video is added to favorites, it generates points for the author or video content provider. This credit (points) is incremented each time a posting is added to favorite. The points accumulate to elevate the author or video content provider status.
Posts is the entity that stores the actual messages posted by users. It contains an attribute named favoritePostCount which keeps track of the posts that are saved by readers as good or their favorite posts and added to the favorites.
The entity UserAcccess stores user id of the person that gives a user access to a forum. The entity also stores id of the user that was given access and the projectCommunicationTeam to which they were given access.
Below that is the entity named Client-Employer. This one stores client or employer info.
The entity Contacts stores a user's contacts. These include internal Comtool users and contacts from outside typed in or saved from email accounts. A user can manually add in any contacts they want including their phone numbers and addresses so that they access them from anywhere and from any device.
When a user opens the contacts entity via a button link, it displays all the contacts in an ordered manner. They can select one contact and choose to view their photo album, view or edit their calendar if they have edit rights, call the contact over IP if they are part of the phone group or initiate video chart if they are part of that contact's video chart user group.
The Individual Communication entity stores messages between two users one on one only. The myAlbum entity stores a user's personal photographs which are accessed by authentication and the myAlbumAccess entity stores authentication related information to myAlbum.
Similarly, myCalendar stores calendar related info which is also accessed by authentication and the myCalendarAccess entity stores authentication info related to myCalendar. The vApp entity stores information related to video chart access while the pApp stores information related to Phone authentication groups.
The mApp entity stores information related to a separate app not described in this application.
The Users entity has the attributes Security UserID and Security UserID Color are primarily used for securing user posts against imposters that creates accounts to mimic existing accounts. When a user creates an account with someone else's identity and becomes a contact with that person, any posts they put out are not distinguished from the original user's posts. This UserID and color code solves that problem by providing one color for all initial users with a given name and a different color for secondary users that have names similar to some individuals. This is showed in
Other attributes are in the entity are used according to the primary keys and foreign keys as seen the related entities.
The Projects entity provides attributes such as project site location, date and time of the project and so on. This information is utilized to build an entity UserProject used to communicate with related entities such as Threads and ProjectCommunicationTeam. In any of the above entities, projectDate, projectStartTime and projectEndTime attributes are used when selecting users for a project communication team from scheduled users. These three attributes are in addition to user id and project id.
In the entity UserProject or any other entity used to track project progress and end time, there is an attribute named dateProjectSignedOff or completed. This attribute is utilized in deleting of the communication threads and posts after completion of the project.
The Thread entity which stores threads to the posts is a resultant entity from the Users and ProjectCommunicationTeam entities which provides userid and projectCommunicationTeam id as foreign keys but they are not used as composite keys because a user may post more than one message which repeats both keys. A thread id is introduced for that reason to act as a primary key. The thread entity also stores the subject of the posts. All are referenced by foreign keys in the other entities. Posts are ordered by date and time in reference to their parent post.
The Posts entity stores an attribute named FavoritePostCount which keeps track of the number of times a post is saved as another user's favorite. The result is displayed to the message poster's profile as number of favorite postings.
The entity Favorites stores links to a user id that adds a post to the favorite entity and the post id so that the post can be retrieved for the user anytime they want to access it.
The Contacts entity stores user's contacts whether internal or external. A user manually types in contacts of any kind with their phone, email, address, birthday and anniversaries. The Comtool application software reminds the user when their contacts anniversaries or birthdays are approaching. Additionally, a user gets access to their contacts data from anywhere either through the mobile app or by logging into the Comtool website.
The myCalendar and myCalendarAccess entities keeps track of the calendar authorizations and access. Various user levels are given out to users and these includes view only, view and add, edit and delete. They keep track of changes and user id's that make the changes. They have access attributes that stores status for each access type. The user can disable and re-enable the service at any time.
The entities myPhotoAlbum and myPhotoAlbumAccess keeps track of album access which is only by authentication. Even if a user is a contact, they don't automatically get access to the photo album or calendar. The owner can disable or enable this service at any time and the status is stored in one of these entities decided after normalizing the DBMS.
The photoCategory attribute allows the user to categorize the photos such that certain users gets access to specific photos but not all users. User groups are created to accomplish this.
The Phone and Video Chart entities also have accessStatus attributes that stores usage status of those services. When disabled, the button links to request for the services do not show on other people's screens and they can't get in touch with the user via those services.
The entity Filter contains several attributes including filterID for identifying the filter, filter word for the words to which contents of the posting are compared when looking for fake news, filter word category for classifying the words and word rating for giving them a numerical value which determines their effect on a related event. Users categorize content when posting.
The entity Social Media contains attributes which includes social media id for identifying the social medial involved, social media name, login data for allowing the user posting a link to access the social media account, and more attributes.
The entity Shares contains a social media id, group id for use with a group, contact id for use with an individual, post date and post time for automating the links to publish at the time the user wants them to and more attributes
The rest of the entities and attributes work according to their primary keys and foreign keys with the entities they relate to as shown in the database schema.
The Religious App displays registration forms, scriptural references, announcements, institution programs, surveys and personal to do lists, calendar and shopping list among other tasks. The Political App on the other hand displays registration forms, announcements, surveys, postings, response to postings, archives and to do lists, calendar and shopping list among other tasks in the Apps. These tasks results into entities that are to be placed in the ER-Model 1500 and corresponding database schema in the final application.
The system is made up of a user device with at least one processor coupled to a clock, memory controller and random access memory that processes incoming and outgoing data and issues instructions to communicate through a wired or wireless network. It transmits the said instructions to a server to execute; and a plurality of interfaces invoked by algorithms that interact with a database and files system utilized for data storage. The system further comprise of at least one server with a processor coupled to server memory that stores at least one database and computer executable instructions that when executed by the processor causes the server to launch modules in the application with embedded queries to retrieve data from the database or files, process and save incoming data. The system simplifies the process of electronic communication by integrating functions of various communication applications making them accessible from one interface over wired and wireless networks.
The computer system 1800 includes a bus 1802 or other communication mechanism for communicating information, one or more hardware processors 1804 coupled with bus 1812 for processing information. Hardware processor(s) 1804 may be, for example, one or more general purpose microprocessors.
The computer system 1800 also includes a main memory 1806, such as a random access memory (RAM), cache and/or other dynamic storage devices, coupled to bus 1802 for storing information and instructions to be executed by processor 1804. Main memory 1806 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 1804. Such instructions, when stored in storage media accessible to processor 1804, render computer system 1800 into a special-purpose machine that is customized to perform the operations specified in the instructions.
The computer system 1800 further includes a read only memory (ROM) 1808 or other static storage device coupled to bus 1802 for storing static information and instructions for processor 1804. A storage device 1810, such as a magnetic disk, optical disk, or USB thumb drive (Flash drive), etc., is provided and coupled to bus 1802 for storing information and instructions.
The computer system 1800 may be coupled via bus 1802 to a display 1812, such as a liquid crystal display (LCD) (or touch screen), for displaying information to a computer user. An input device 1814, including alphanumeric and other keys, is coupled to bus 1802 for communicating information and command selections to processor 1804. Another type of user input device is cursor control 1816, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 1804 and for controlling cursor movement on display 1812. In some embodiments, the same direction information and command selections as cursor control may be implemented via receiving touches on a touch screen without a cursor.
The computing system 1800 may include a user interface module to implement a GUI that may be stored in a mass storage device as executable software codes that are executed by the computing device(s). This and other modules may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
In general, the word “component,” “engine,” “system,” “database,” data store,” and the like, as used herein, can refer to logic embodied in hardware or firmware, or to a collection of software instructions, possibly having entry and exit points, written in a programming language, such as, for example, Python, Ruby on Rails or NodeJS. A software component may be compiled and linked into an executable program, installed in a dynamic link library, or may be written in an interpreted programming language such as, for example, BASIC, Perl, or Python. It will be appreciated that software components may be callable from other components or from themselves, and/or may be invoked in response to detected events or interrupts. Software components configured for execution on computing devices may be provided on a computer readable medium, such as a compact disc, digital video disc, flash drive, magnetic disc, or any other tangible medium, or as a digital download (and may be originally stored in a compressed or installable format that requires installation, decompression or decryption prior to execution). Such software code may be stored, partially or fully, on a memory device of the executing computing device, for execution by the computing device. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware components may be comprised of connected logic units, such as gates and flip-flops, and/or may be comprised of programmable units, such as programmable gate arrays or processors.
The computer system 1800 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 1800 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 1800 in response to processor(s) 1804 executing one or more sequences of one or more instructions contained in main memory 1806. Such instructions may be read into main memory 1806 from another storage medium, such as storage device 1810. Execution of the sequences of instructions contained in main memory 1806 causes processor(s) 1804 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.
The term “non-transitory media,” and similar terms, as used herein refers to any media that store data and/or instructions that cause a machine to operate in a specific fashion. Such non-transitory media may comprise non-volatile media and/or volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 1810. Volatile media includes dynamic memory, such as main memory 1806. Common forms of non-transitory media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge, and networked versions of the same.
Non-transitory media is distinct from but may be used in conjunction with transmission media. Transmission media participates in transferring information between non-transitory media. For example, transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 1802. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
The computer system 1800 also includes a communication interface 1818 coupled to bus 1802. Network interface 1818 provides a two-way data communication coupling to one or more network links that are connected to one or more local networks. For example, communication interface 1818 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, network interface 1818 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN (or WAN component to communicate with a WAN). Wireless links may also be implemented. In any such implementation, network interface 1818 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
A network link typically provides data communication through one or more networks to other data devices. For example, a network link may provide a connection through local network to a host computer or to data equipment operated by an Internet Service Provider (ISP). The ISP in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet.” Local networks and Internet both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link and through communication interface 518, which carry the digital data to and from computer system 710, are example forms of transmission media.
The computer system 1800 can send messages and receive data, including program code, through the network(s), network link and communication interface 1818. In the Internet example, a server might transmit a requested code for an application program through the Internet, the ISP, the local network and the communication interface 1818.
The received code may be executed by processor 1804 as it is received, and/or stored in storage device 1810, or other non-volatile storage for later execution.
In various implementations, operations that are performed “in response to” or “as a consequence of” another operation (e.g., a determination or an identification) are not performed if the prior operation is unsuccessful (e.g., if the determination was not performed). Operations that are performed “automatically” are operations that are performed without user intervention (e.g., intervening user input). Features in this document that are described with conditional language may describe implementations that are optional. In some examples, “transmitting” from a first device to a second device includes the first device placing data into a network for receipt by the second device, but may not include the second device receiving the data. Conversely, “receiving” from a first device may include receiving the data from a network, but may not include the first device transmitting the data.
Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code components executed by one or more computer systems or computer processors comprising computer hardware. The one or more computer systems or computer processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). The processes and algorithms may be implemented partially or wholly in application-specific circuitry. The various features and processes described above may be used independently of one another, or may be combined in various ways. Different combinations and sub-combinations are intended to fall within the scope of this disclosure, and certain method or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate, or may be performed in parallel, or in some other manner. Blocks or states may be added to or removed from the disclosed example embodiments. The performance of certain of the operations or processes may be distributed among computer systems or computer processors, not only residing within a single machine, but deployed across a number of machines.
While the specification includes examples, the disclosure's scope is indicated by the following claims. Furthermore, while the specification has been described in language specific to structural features and/or methodological acts, the claims are not limited to the features or acts described above. Rather, the specific features and acts described above are disclosed as examples for embodiments of the disclosure.
Insofar as the description above and the accompanying drawing disclose any additional subject matter that is not within the scope of the claims below, the disclosures are not dedicated to the public and the right to file one or more applications to claims such additional disclosures is reserved.
The other devices that connects to local or remote servers to execute the applications are laptops, handheld devices, workstations and wearable devices such as a smart watch.
This application claims the benefit of U.S. Provisional Application No. 63/002,865 filed Mar. 31, 2020 entitled “Comtool,” the disclosure of which is incorporated herein by reference in its entirety for all purposes. The application was designed in 2015 but filed provisionally in 2017 and accorded a PCT S/N PCT/2018/067,426 the priority of which is void.
Number | Date | Country | |
---|---|---|---|
63002865 | Mar 2020 | US |