1. Field of the Invention
The present invention relates to the field of data processing. More specifically, the present invention relates to computer hosting of multi-user calendar systems, including in particular, controlling user access to the hosted calendars with at least time slot granularity.
2. Background Information
Computer hosted calendaring systems in general are known in the art. Examples of known calendar systems include client/server based systems such as Outlook and Lotus, available from Microsoft Corp of Redmond, Wash., and IBM of Armonk, N.Y., respectively, and web based calendar systems such as those offered by Microsoft Network (MSN) and Yahoo.
Typically, these systems provide to an individual user a computer maintained record of the individual user's event schedule, and data associated with each event in the schedule, arranged for viewing in a temporal presentation. Each event usually has three components, a starting time, an ending time, and a description, with the starting time and the ending time together defining an event time-slot. The temporal presentation is generally arranged according to a calendar. The calendar is generally arranged according to several selectable views that include a yearly view, a monthly view, a weekly view, a two-day view, and a daily view.
Further, these calendaring systems are typically hosted on networked computer systems. The networked calendaring system permits a calendar owner's calendar, whose events are maintained and/or stored by one computer system, to be accessed on another computer system functionally connected to the computer system that maintains and/or stores the calendar owner's calendar. In these networked calendaring systems, a calendar owner's calendar is generally maintained and stored on a server system, with the calendar owner, and other potential user's of the calendar, functioning as clients in relation to the server. Alternatively, the calendar owner's calendar may be maintained and stored in the calendar owner's computer, with other users functionally connected to the calendar owner's computer directly.
A computer hosted calendaring system is conventionally accessible by authorized users other than the calendar owner, who can read and/or write event data from and to the calendar owner's schedule. However, these calendaring systems provide to these authorized users an authorization for only the entire calendar owner's calendar (except for conventionally designated private events), rather than for uniquely defined time-slots for a read and/or a write operation. Moreover, these systems do not provide for a plurality of user groups or user types, with each user group/user type defined by a set of distinct authorized time-slots for a read and/or a write operation.
Apparatuses and methods for controlling accesses to calendaring events in a computing system are disclosed. For each individual user, a defined user group, or an user type, the calendar owner may designate the time-slots in his or her calendar to which the user, users of the user group, and/or user type may have a time slot based read access, and/or a time slot based write access, to his or her calendar. The time slot based read access and the time slot based write access time-slots may be separately defined.
A non-owner party attempts to gain read and/or write access to the calendar owner's calendar at a time slot granularity level. The non-owner party is checked for access privilege at the time slot level. The access privilege at the time slot level may have been explicitly given to the non-owner party or implicitly given by virtue of the non-owner party's affiliation with an authorized user group or user type. If the non-owner party has been so given access privilege to the requested time slots, the non-owner party is accorded access to the requested time-slots.
The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings. Identical numerals indicate the same elements throughout the figures.
a-15d and 16 are exemplary control data structures suitable for use to practice the present invention.
The present invention is directed toward a calendar system having time slot based control of non-owner party's access to a calendar owner's calendar. In the description to follow, various aspects of the present invention will be described. However, the present invention may be practiced with only some or all aspects of the present invention. For purposes of explanation, specific numbers, materials and configurations are set forth in order to provide a thorough understanding of the present invention. However, the present invention may be practiced without the specific details. In other instances, well known features are omitted or simplified in order not to obscure the present invention.
Some portions of the detailed descriptions that follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as is apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
Various operations will be described as multiple discrete steps performed in turn in a manner that is most helpful in understanding the present invention, however, the order of description should not be construed as to imply that these operations are necessarily order dependent, in particular, the order the steps are presented. Furthermore, the phrase “in one embodiment” will be used repeatedly, however the phrase does not necessarily refer to the same embodiment, although it may.
Referring now to
Typically, a non-owner party is identified by his or her system log-in ID. However, alternative identification means may be employed instead. Likewise, a user group is identified by a user group name or identification, typically given by a system administrator for the plurality of group members. As with user types, the present invention contemplates that a plurality of user types are pre-provided, however, a calendar owner may add to or subtract from the pre-provided user types. Provision of such facilities is well within the ability of those ordinarily skilled in the art; accordingly, these facilities will not be described.
As illustrated, the Owner Authorization menu 101 has a User data entry field 102 for designating a user, a user group, or a user type to be given an access status to the owner's calendar on a time slot basis. The user preferably selects the User data entry field 102, and subsequently enters the user, group, or user type identification, via a computer keyboard, with the entry subsequently displayed in the User data entry field 102.
For the illustrated embodiment, the Owner Authorization menu 101 also has a selection field 104a for designation (i.e. granting) of a read access status, and a selection field 104b for designation (i.e. granting) of a write access status 104b for a calendar time slot for an operational period. In one embodiment, the default access status for any non-owner party (group or user type) is no-access, but whatever access status that was previously selected for a non-owner party (group or user type), it is preferably maintained until the authorized access is changed. In order to give read access to the non-owner party (group or user type), the owner selects the read access selection field 104a, and in order to not give read access to the non-owner party (group or user type), the owner does not select the read access selection field 104a. Similarly, in order to give write access to the non-owner party (group or user type), the owner selects the write access selection field 104b, and in order to not give write access to the non-owner party (group or user type), the owner does not select the write access field 104b. The calendar owner selects both the read access selection field 104a and the write access selection field 104b, in order to give both a read and a write access to the non-owner party (group or user type), and the calendar owner does not select the read access field 104a and the write access field 104b, in order to not give either a read and a write access to the non-owner party (group or user type).
The Owner Authorization menu 101 has selection fields 106a and 106b for designation of the time-periods within the calendar owner's calendar, and the duration, for which the non-owner party (group or user type) is being given read access and write access, respectively. The read access and write access selection fields 106a and 106b preferably include time period selection fields 106a1 and 106b1 for designating the time periods. The read access and write access selection fields 106a and 106b preferably further include separate selection fields for designating recurrent access for each selected day of the week or everyday of the week 106a2 and 106b2, and separate fields for designating the duration for which the specifications apply 106a3 and 106b3.
The Owner Authorization menu 101 also has selection fields 103 for designation of event types, which may include exemplary event types of “meeting”, “appointment”, “reminder”, and “event”. The calendar owner may optionally select these event types in an embodiment of the present invention, to further restrict a non-owner party's access to the writing of specific event types, or the reading of specific event types, within the valid access time-slots, and for the specified duration.
Referring now to
The calendar owner preferably selects the User ID data entry field 109a, and subsequently enters the non-owner party's identification into User ID data entry field 109a. Thereafter, the calendar owner preferably selects the User Type data entry field 109b, and subsequently enters a user type in the User Type entry field 109b. As alluded to earlier, typically, the user type entered has been previously granted access to selective time slots of the calendar owner's calendar by way of the Owner Authorization menu 101 of
In a preferred embodiment of the present invention, only a calendar owner may enter data into this menu. A specific example of the utility of this aspect of the present invention is a calendar owner first assigning an access status for selective time slots to a user type “teachers” using Owner Authorization menu 101. Then, the calendar owner may grant access to his/her teacher “Ann” by entering the name “Ann” in User data entry field 109a of Quick Authorization menu 108, and associating the name “Ann” with the user type “teacher” (entered in User Type field 109b). As a result, non-owner party “Ann” is granted the same access for the same selective time slots and duration previously defined for all “teachers”.
Referring now to
In User data entry field 102, the calendar owner has entered the user type identifier “Teacher” as the identification of the user type to have access to the user's calendar. The calendar owner has designated in read access field 104a, a read access, and in write access field 104b, a write access, to users of the user type “Teacher”. In the read access day of the week selection field 106a1, the calendar owner has selected Mondays, Tuesdays, Wednesdays, Thursdays, and Fridays, thus giving to all “teachers” a read access to the calendar owner's calendar for each day Monday-Friday. In the duration selection field 106a3, the calendar owner has specified “Sep. 1, 2001 through Jun. 15, 2002” as the duration the above described read access authorization applies. In the write access day of the week selection field 106b1, the calendar owner has selected Mondays, Tuesdays, Wednesdays, Thursdays, and Fridays, thus giving to all “teachers” a write access to the calendar owner's calendar for each day Monday-Friday. In the write access time-period selection field 106b3, the calendar owner has specified “Sep. 1, 2001 through Jun. 15, 2002” as the duration the above described write access authorization applies.
Thus, the calendar owner, by entering data into the exemplary Owner Authorization menu 101, has given to all “teachers” both a read access to his/her calendar for each day Monday-Friday, from 9:00 a.m.-3:00 p.m., and a write access for each day Monday-Friday, from 9:00 a.m.-3:00 p.m., for the coming school year running from Sep. 1, 2001 through Jun. 15, 2002.
As described earlier, subsequently, the calendar owner may quickly grant the same access rights to specific teachers by identifying specific non-owner parties as having the user type “teachers” using Quick Authorization menu 108 earlier described. For example, using Quick Authorization menu 108, the calendar owner may grant the same access rights to a Mrs. Moore or Mr. Smith, by identifying Mrs. Moore and Mr. Smith as “Teachers”.
Referring now to
Referring to
Referring to
The entries 110a-o of
The time-slot entries that fall only partially within the non-owner party read access time-slots are preferably portrayed in the non-owner party's calendar with the time-slots falling within the valid non-owner party read access time-slots displayed (or printed for a printed calendar), but without the descriptive information otherwise associated with a time-slot entry, and the time-slots falling outside of the valid non-owner party read access time-slots not displayed (or printed).
Thus, referring to
Referring to
Referring to
Referring to
Again referring to
Referring to
Referring to
Referring to
Referring to
As alluded to earlier, the user may have been explicitly given access to selected time slots of the calendar owner's calendar, or implicitly given access, by virtue of his or her membership with a group or user type previously attributed to the user.
Referring to
Referring now to
c and 15d illustrate two exemplary tables/views 240 and 260 suitable for use to track the additional details, when limited access are granted for either read or write to a user, a user group or a user type. For each user, user group, or user type 242, having limited read/write access, table/view 240 tracks whether no access, limited access or unlimited access has been granted for each day of the week, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday and Sunday 244a-244g. For each user, user group or user type 262, having been granted limited read/write access for a weekday, table/view 260 tracks the limited access granted, including the day of the week 264, whether the access is for read, write or both 266, and the starting and ending time of the particular limited access time slot, 268a-268b.
Referring now to
If changes have been made to the information read, the calendar software further determines if changes have been made to read access granted to the user, the user group or the user type, block 306. If changes have been made to the read access granted to the user, the user group or the user type, the calendar software updates the control data structures, e.g. the earlier described exemplary control data structures, down to the time slot granularity level, if necessary, block 308.
If no changes have been made to read access granted to the user, the user group or the user type, the calendar software further determines if changes have been made to write access granted to the user, the user group or the user type, block 310. If changes have been made to the write access granted to the user, the user group or the user type, the calendar software updates the control data structures, e.g. the earlier described exemplary control data structures, down to the time slot granularity level, if necessary, block 312.
Referring now to
Referring now to
Referring to
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that these embodiments are merely illustrative of and not restrictive of the broad invention. For example, the present invention is presented with reference to a plurality of displays and data input menus. These displays and data input menus are exemplary and illustrative of an embodiment of the present invention, and how the present invention can be used. It is understood that the displays and menus required by the present invention and presented herein for exemplary purposes are adaptable to conform to the data display and entry characteristics of other calendaring systems. The present invention is not limited to the specific constructions and arrangements shown and described, and alternative embodiments will become apparent to those skilled in the art to which the present invention pertains without departing from the scope of the present invention. The scope of the present invention is defined by the appended claims rather than the foregoing description.
Number | Date | Country | |
---|---|---|---|
Parent | 09872686 | May 2001 | US |
Child | 11584467 | Oct 2006 | US |