1. Field of the Disclosure
The present invention generally relates to a system and method of managing multiple account login in a single browser interface.
2. Background Information
Computer networks play a significant role in our lives, as more people gain access to the computer networks (e.g., the Internet) and people use the computer networks for more activities. Increasingly, people use more than one account (e.g., email addresses) in accessing resources on the computer networks. For example, one account may be for personal email, while a second account may be for work related emails.
Login is a process to control access to computer systems, commonly used for authenticating authorized users in accessing computer systems over computer networks. A login process can be used to provide protection from access by unauthorized users. In addition, the login process can be used to identify respective users such that information relevant to the respective users can be provided.
Cookies in web browsers are widely used to manage or facilitate login sessions over the computer networks. However, traditional cookies are not designed to manage multiple logins (sometimes herein called concurrently active logins), under multiple user names, from a single browser to a single web site. Therefore, there is a need for a new method and system for managing multiple logins, under multiple user names, from a single browser to a single web site.
The present disclosure, through one or more of its various aspects, embodiments, and/or specific features or sub-components, provides various systems, servers, methods, media, and programs for interfacing compiled codes, such as, for example, JavaScript scripts.
In one embodiment of the disclosure, there is a computer-implemented method for multiple user account log-in into a system using a single interface, including receiving a request from a client device for electronic document data; receiving at least one cookie from the client device that identifies multiple user accounts logged into the system; fetching the electronic document data from the system associated with each of the multiple user accounts received from the client device; and sending the fetched electronic document data associated with each of the multiple user account to the client device for simultaneous display on the single interface.
In another embodiment of the disclosure, there is a server for multiple user account log-in into a system using a single interface, including memory storing one or more programs for execution by at least one processor, the at least one processor executing that one or more programs to: receive a request from a client device for electronic document data; receive at least one cookie from the client device that identifies multiple user accounts logged into the system; fetch the electronic document data from the system associated with each of the multiple user accounts received from the client device; and send the fetched electronic document data associated with each of the multiple user account to the client device for simultaneous display on the single interface.
In still another embodiment of the disclosure, there is a non-transitory computer readable medium storing instructions to allow multiple user account log-in into a system using a single interface, the instructions when executed by a processor, including receiving a request from a client device for electronic document data; receiving at least one cookie from the client device that identifies multiple user accounts logged into the system; fetching the electronic document data from the system associated with each of the multiple user accounts received from the client device; and sending the fetched electronic document data associated with each of the multiple user account to the client device for simultaneous display on the single interface.
In one aspect, the multiple user accounts include at least a first user account and a second user account, the first user account and second user account having different domains.
In another aspect, the at least one cookie is a pointer to a server-side database and identifies a list of accounts associated with at least one user.
In yet another aspect, the at least one cookie includes multiple cookies, each of the multiple cookies associated with at least one of the multiple user accounts logged into the system.
In still another aspect, the fetched electronic document data is a subset of the electronic data associated with each of the multiple user accounts.
In another aspect, the user can toggle between any one or more of the multiple user accounts logged into the system for simultaneous display on the client device.
In another aspect, the single interface is at least one of a browser, calendar, spreadsheet, electronic document, email interface, application, photographs, social media interface.
In yet another aspect, the electronic document data associated with each of the multiple user accounts is stored in respective storage locations accessible by the system.
In still another aspect, the method further includes authenticating the multiple user accounts and fetching the electronic document data associated with the multiple user accounts that have been authenticated.
The present invention is further described in the detailed description which follows, in reference to the noted plurality of drawings, by way of non-limiting examples of preferred embodiments of the present invention, in which like characters represent like elements throughout the several views of the drawings.
The present disclosure, through one or more of its various aspects, embodiments and/or specific features or sub-components, is thus intended to bring out one or more of the advantages as specifically noted below.
The computer system 102 may operate in the capacity of a server in a network environment, or the in the capacity of a client user computer in the network environment. The computer system 102, or portions thereof, may be implemented as, or incorporated into, various devices, such as a personal computer, a tablet computer, a set-top box, a personal digital assistant, a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a wireless telephone, a personal trusted device, a web appliance, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device. Further, while a single computer system 102 is illustrated, addition embodiments may include any collection of systems or sub-systems that individually or jointly execute instructions or perform functions.
As illustrated in
As shown in
The computer system 102 may include at least one computer input device 110, such as a keyboard, a remote control device having a wireless keypad, a microphone coupled to a speech recognition engine, a camera such as a video camera or still camera, a cursor control device, or any combination thereof. Those skilled in the art appreciate that various embodiments of the computer system 102 may include multiple input devices 110. Moreover, those skilled in the art further appreciate that the above-listed, exemplary input devices 102 are not meant to be exhaustive and that the computer system 102 may include any additional, or alternative, input devices 110.
The computer system 102 may also include a medium reader 112 and a network interface 114. Furthermore, the computer system 102 may include any additional devices, components, parts, peripherals, hardware, software or any combination thereof which are commonly known and understood as being included with or within a computer system, such as, but not limited to, an output device 116. The output device 116 may be, but is not limited to, a speaker, an audio out, a video out, a remote control output, or any combination thereof.
Each of the components of the computer system 102 may be interconnected and communicate via a bus 118. As shown in
The computer system 102 may be in communication with one or more additional computer devices 120 via a network 122. The network 122 may be, but is not limited to, a local area network, a wide area network, the Internet, a telephony network, or any other network commonly known and understood in the art. The network 122 is shown in
The additional computer device 120 is shown in
Of course, those skilled in the art appreciate that the above-listed components of the computer system 102 are merely meant to be exemplary and are not intended to be exhaustive and/or inclusive. Furthermore, the examples of the components listed above are also meant to be exemplary and similarly are not meant to be exhaustive and/or inclusive.
Client computers 102 can be any of a number of computing devices (e.g., Internet kiosk, personal digital assistant, cell phone, gaming device, desktop computer, laptop computer, handheld computer, or combinations thereof) used to enable the activities described below. Client computer(s) 102 is also referred to herein as client(s). Client 102 typically includes a graphical user interface (GUI) 111. Client 102 is connected to the document system 108 via communications network 106. As described in more detail below, the GUI 111 is used to display electronic document data (or document information) and login pages. The document system 108 provides document services (e.g., document authoring, editing, sharing, mailing, and viewing services) to a community of users (e.g., the employees of a company, the members of an organization or group, friends, family members, etc.) who access the document system 108 from the clients 102.
Document system 108 includes one or more servers, such as server 112, connected to the communications network 106. Optionally, the one or more servers are connected to the communications network 106 via a front end server 122 (e.g., a server that conveys (and optionally parses) inbound requests to the appropriate server of the system 108, and that formats responses and/or other information being sent to clients in response to requests). The front end server 122, if present, may be a web server providing web based access to the document system 108. The front end server 122, if present, may also route communications to and from other destinations, such as a remote document server.
Document system 108 includes a user information database 116, and a document database 120. In some embodiments, the document system 108 also includes or has access to one or more other databases, such as a login database (not shown), which maintains login information. Server 112 includes a document request processing module 114, a login processing module 124, and applications 128. Server 112 communicates with databases internal to the document system 108, such as user information database 116, and document databases 120, and in some embodiments, a login database (not shown) using a local area network, by internal communication busses, or by any other appropriate mechanism or combination of mechanism.
Server 112 communicates with clients 102 via the front end server 122 (if present) and communication network(s) 106. In some embodiments, the communications network 106 is the Internet. In other embodiments, the communication network 106 can be any local area network (LAN), wide area network (WAN), metropolitan area network, or a combination of such networks. In some embodiments, server 112 is a web server that manages document requests using appropriate communication protocols. Alternatively, if server 112 is used within an intranet, it may be an intranet server.
Applications 128 include application programs used for managing an online document system. In some embodiments, applications 128 also include a user information processing module, where the user information processing module assists in accessing and updating user information database 116. User information database 116 stores various information associated with the users of the document system 108, including user preferences, display styles, and optionally other information such as login information. In some embodiments, a login database (not shown) stores the login information. Document database 120 store information concerning various types of documents as well as data (e.g., document contents).
Document request processing module 114 retrieves stored document information. Document request processing module 114 assists in accessing and updating document database 120, and in some embodiments, user information database 116. In some other embodiments, document request processing module 124 also assists in accessing and updating a login database (not shown).
In some embodiments, document database 120 stores information (e.g., metadata) concerning various documents in the document database. A non-exhaustive set of examples of such information includes document ID, author, access control list, timestamps (e.g., timestamps for one or more of creation date, revision history, last updated time, last accessed time, etc.), and document type (e.g., word processor document, spreadsheet, presentation file, etc.). In some embodiments, document database 120 also stores document data (e.g., contents) or information about a location of document data (e.g., a pointer to a remote server).
In some embodiments, the user information database 116 includes user information records having information relevant to the display of document information. For example, the user information record for a respective user may include, in addition to identifying information for the user, document folders, and default display settings (e.g., display a particular document, content of a particular folder, a list of documents associated with a particular document processing application (e.g., a word processor, spreadsheet, or presentation application), or a list of all documents).
In essence, server 112 is configured to manage certain aspects of document system 108, including managing login requests from a respective client 102.
Optionally, document system 108 is implemented as part of a document sharing system that provides document services (e.g., document authoring, editing, sharing, mailing, and viewing services) to a community of users (e.g., the employees of a company, the members of an organization or group, etc.).
In some embodiments, fewer and/or additional modules, functions or databases are included in document system 108 and server 112. The modules shown in document system 108 and server 112 represent functions performed in certain embodiments.
A standard mechanism for authenticating requests for logged-in user accounts on a network, such as the network depicted in
While the examples provided in the disclosed embodiments relate to calendar and email, the disclosure is not limited to such embodiments. Rather, the electronic data or electronic document data may include, but is not limited to, documents, news, photos, social networks, viewers, web browsers, voice or any other type of application or document as described in the aforementioned disclosure. Moreover, it is appreciated that although only three accounts from the same domain are used in the exemplary embodiment, any number of accounts from the same or a different domain may be used. Additionally, although the login process is described in the aforementioned embodiments, the process may also be applied to log-out.
Accordingly, the present invention provides various systems, servers, methods, media, and programs for generating a graphical comparison of data files. Although the invention has been described with reference to several exemplary embodiments, it is understood that the words that have been used are words of description and illustration, rather than words of limitation. Changes may be made within the purview of the appended claims, as presently stated and as amended, without departing from the scope and spirit of the invention in its aspects. Although the invention has been described with reference to particular means, materials and embodiments, the invention is not intended to be limited to the particulars disclosed; rather the invention extends to all functionally equivalent structures, methods, and uses such as are within the scope of the appended claims.
While the computer-readable medium may be described as a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” shall also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the embodiments disclosed herein.
The computer-readable medium may comprise a non-transitory computer-readable medium or media and/or comprise a transitory computer-readable medium or media. In a particular non-limiting, exemplary embodiment, the computer-readable medium can include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer-readable medium can be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium can include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture carrier wave signals such as a signal communicated over a transmission medium. Accordingly, the disclosure is considered to include any computer-readable medium or other equivalents and successor media, in which data or instructions may be stored.
Although the present application describes specific embodiments which may be implemented as code segments in computer-readable media, it is to be understood that dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the embodiments described herein. Applications that may include the various embodiments set forth herein may broadly include a variety of electronic and computer systems. Accordingly, the present application may encompass software, firmware, and hardware implementations, or combinations thereof.
Although the present specification describes components and functions that may be implemented in particular embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions are considered equivalents thereof.
The illustrations of the embodiments described herein are intended to provide a general understanding of the various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope of the disclosure. Additionally, the illustrations are merely representational and may not be drawn to scale. Certain proportions within the illustrations may be exaggerated, while other proportions may be minimized. Accordingly, the disclosure and the figures are to be regarded as illustrative rather than restrictive.
One or more embodiments of the disclosure may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any particular invention or inventive concept. Moreover, although specific embodiments have been illustrated and described herein, it should be appreciated that any subsequent arrangement designed to achieve the same or similar purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the description.
The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b) and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features may be grouped together or described in a single embodiment for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may be directed to less than all of the features of any of the disclosed embodiments. Thus, the following claims are incorporated into the Detailed Description, with each claim standing on its own as defining separately claimed subject matter.
The above disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments which fall within the true spirit and scope of the present disclosure. Thus, to the maximum extent allowed by law, the scope of the present disclosure is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.