`Cree et a].
`
`[11] Patent Number:
`[45] Date of Patent:
`
`4,866,611
`Sep. 12, 1989
`
`L
`
`Dunc .. ON m m mam,“
`
`Muou m m m
`F V
`
`A
`
`RG
`
`C 1
`
`mm .
`
`Y N
`
`0
`cN ; no mm
`mwm n
`
`cm I v.0 .w.
`m m
`P m
`
`mmmmm
`mmmmm
`
`[73] Assignee:
`
`G
`Keith J. Scully, all of Austin, Tex.;
`Hnrinder S. Singh, Boca Raton, Fla.
`International Business Machines
`Corporation, Armonk, NY.
`[21] Appl. No.: 8,249
`[22] Filed:
`Jan. 29, 1987
`
`UH M EU 5
`
`4. . .t/
`
`on. “a
`mu m
`L5 4.3
`
`/3 . , Wm“ mm
`
`m m3
`.m/ /;
`“m/ .hS
`
`,/m awn
`Ia am
`mmlri Tm
`ma cM
`""3 3 ,
`Mm a.
`
`m3 75/“v
`m“
`
`/3
`
`;ks o6,
`
`325.55; 40/107
`
`mmlnum
`w/aaw/
`FmM;Mm w imwt
`WWoGWZAV
`
`
`356888 wanna”
`waaaam,
`mmmmmm
`3|5.6»7.7|7|
`wmmwum
`444444
`mmevl
`
`LuCuAu
`memes.“
`mmmmmm
`
`340/8255?)
`368/10
`340/706
`. 368/29
`368/41
`379/67
`
`Primary Examiner-Eddie P. Chan
`Assistant Examiner-Adolfo Ruiz
`Attorney, Agent, or Firm-R. E. Cummins
`ABSTRACT
`[57]
`An electronic calendaring method for use in a data
`processing system in which calendar entries that have
`been made for the same time span independently on two
`different copies of the calendar can be automatically
`and interactively reconciled. The method permits a
`calendar owner to obtain a machine readable transport
`able copy of his calendar on a diskette, to update that
`copy when the master copy is not available to him be
`cause of a business trip, for example, and upon his return
`to automatically and interactively reconcile the updated
`entries that have been made to both copies so that at
`least one of them re?ects the correct status of calen
`dered events for that owner.
`
`11 Claims, 4 Drawing Sheets
`
`
`
`lVC 7
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`4,121,196 10/1978 Johnson et al.
`
`4,162,610 7/1979 Levine 4,319,337 3/1982 Sander et al.
`
`364/900
`368/ 28
`364/900
`
`l
`min
`lam-run
`um
`l
`
`a.
`
`Petitioner Apple Inc. - Exhibit 1006, p. 1
`
`
`
`US. Patent Sep. 12,1989
`
`Sheet 1 of4
`
`4,866,611
`
`DISK
`STORAGE
`UNIT
`32
`
`16- CONTROL
`
`PROCESSING UNIT
`
`DISPLAY
`
`PRINTER
`
`maom
`l1
`
`FIG.
`
`1
`
`SYSTEM 1
`
`SYSTEM 2
`
`214
`
`HOST CPU
`23
`
`—
`
`HOST CPU
`25
`
`%
`
`TERMINAL FIG.
`
`1
`
`TERMINAL FIG.
`
`1
`
`FIG. 2
`
`Petitioner Apple Inc. - Exhibit 1006, p. 2
`
`
`
`US. Patent Sep. 12,1989
`
`Sheet 2 of4
`
`4,866,611
`
`MOVE THE CURSOR TO EACH SELECTION OR KEY THE ITEM DIRECTLY AND HIT ENTER
`
`1. Calendar Entry, Meeting,
`Appointment, Trigger,
`NoteI Vacation,
`Holiday, Offsite,
`Not Normal Work Hours
`
`2. View Select
`
`3. Composite Calendar
`
`4. Automatic Response
`
`5. Reconcile
`
`6. Conference Room
`
`August
`
`1986
`1
`2
`3 4 5 6 7 8 9
`10 11 12 l3 14 15 16
`17 18 19 20 21 22 23
`24 25 26 27 28 29 30
`31
`
`1986
`September
`5 6
`14
`1
`2 3
`7 8 9 10 11 12 13
`14 15 l6 17 18 19 20
`21 22 23 24 25 26 27
`28 29 30
`
`Command:
`
`(Key item nimber or item initials)
`
`PFl=Help
`
`PF2=Return to System
`
`PF8=Next Screen
`
`FIG. 3a
`
`End Time: 5:00 PM
`End Time: 5:00 PM
`
`MOVE THE CURSOR TO EACH SELECTION OR KEY THE ITEM DIRECTLY AND HIT ENTER
`Classification List: Meeting
`Appointment
`Offsite
`Vacation
`Holiday
`(PICK ONE)
`Note
`Not Normal Work Hours
`Additional Criteria:BX Priority 3 (X = 1 to 10) Q OPEN TIME
`2 USER DEFINEDFIELF (D + 8 Characters)
`CLASSIFICATION _1_ (Select one classification from the above list)
`USER DEFINED FIELD
`PRIORITY
`1 = Highest: 10 lowest
`(1 IS THE HIGHEST, 10 IS THE LOWEST. PRIORITY IS THE DEFAULT CRITERIA)
`Event Itentifier:
`MEETING/APPOINTMENT INFORMATION:
`Date 10/07/86
`Start Time:1 : 15 PM
`Date 10/09/86
`Start Time:8:30 PM
`Names List: D35 NAMES Al
`Caller: m ROBERTS
`Subject: 1987 Budget
`Place: Conference Room 128F
`Details:
`Auto Schedule: E NO
`SEARCH CRETERIA;
`Key in creteria separated by space from the list below.
`Priority g Anl Classification+(Confirmed or Tentative)+(Attending or May
`Attend) Open Time
`Not Normal Work Hours
`User Defined Field
`
`Event Duration (Minutes)
`
`(1 to 480)
`
`(PF 11 will scroll and add additional Date lines while on the Date Line)
`(Rx after Date will repeat the event at the same time, x number of days)
`
`PF3=Cancel PF5=Send Notice PF6=Begin Search
`PF1=He1p
`PF8=Next Screen(Security, Status, Trigger) PF9=File PF10=Add One Line
`
`FIG. 3b
`
`Petitioner Apple Inc. - Exhibit 1006, p. 3
`
`
`
`US. Patent Sep. 12,1989
`
`Sheet 3 of4
`
`4,866,611
`
`MOVE THE CURSOR TO EACH SELECTION OR KEY THE ITEM DIRECTLY AND HIT ENTER
`
`Public
`
`Shared
`
`PrivateU
`
`Tentative
`
`Confirmed
`
`Process
`
`SECURITY:
`(pick one)
`STATUS:
`(pick one)
`Audio
`Message
`TRIGGER:
`(All three may be picked)
`Date: 10/07/86
`Time: 1:00 PM
`Date: 10/09/86
`Time: 8:00 AM
`(PFll will scroll and add additional Date Lines while on the Date line)
`(Rx after Date will repeat the event at the same time, x number of days)
`Names List:
`Message:
`(PFlO will add one message line if hit when entering Message)
`Process:
`
`TRIGGER FIXED 0R FLOAT?
`(pick one)
`Float with Event Identifier:
`(If this event moves, the trigger will be moved to the same relative time)
`
`Float
`
`Fixed
`
`PF3=Cancel PF5=Send Notice PF6=Begin Search
`PFl=Help
`PF7=Previous Screen PF8-Next Screen PF9-File PF10=Add One Line
`
`FIG. 3C
`
`RECONCILE CALENDARS
`DELETED ENTRIES WILL BE DELETED 0F FLAGGED
`OLD ENTRIES WILL COEXIST WITH NEW ENTRIES UNTIL EDITED
`NEW ENTRIES WILL COEXIST ON MASTER UNTIL EDITED
`Host Calendar Name:
`Personal Calendar name:
`TIME HHzMM=SS
`Time Stamp of Personal Copy
`DATE DD/MM/YY
`RECONCILE Time Span: Begin Date
`Begin Time
`End Date
`End Time_
`
`DELETE ENTRIES _ (Y/N) Y = Host copy entries without corresponding Personal
`copy entries will be deleted. N = Entries will be flagged for viewing.
`Begin Date
`Begin Time
`End Date
`End Time_
`
`REPLACE ENTRIES__(Y/N) Y = Entries in conflict with different Time Stamps will
`be replaced on the Host copy. N = The entries will be flagged for viewing.
`Begin Date
`Begin Time
`End Date
`End Time__
`
`PFl = Help PFZ = Cancel PF4 = Reconcile and return
`
`FIG. 4
`
`Petitioner Apple Inc. - Exhibit 1006, p. 4
`
`
`
`US. Patent Sep. 12, 1989
`
`Sheet 4 of 4
`
`4,866,611
`
`INITILIzE SYSTEM FOR
`RECONCILATION
`
`IDENTIFY ENTRY ON HOST
`COPY wITH THE EARLIEST
`TIME SLOT WITHIN TIME
`SPAN
`
`-<FROM B
`
`TO
`FLAG ITEM '—-> C
`
`A No
`
`1\
`
`IS DELETE OPTION ON —>--—\DELETE
`YES
`ITEM
`ON
`HOST
`,
`v
`TO C
`
`THIS IS OLD ENTRY ON HOST
`OTHER ENTRY WAS DELETED
`
`I YES
`
`THIS IS
`DOES TIME SLOT ON PER- ->-—-- IS TIME STAMP ON HOST
`SONAL COPY HAVE AN ENTRY
`NO
`ENTRY EEFORE COPY TIME? —>- NEw
`NO
`ENTRY
`ON HOST
`
`YES I
`
`ARE THE IDS THE SAME -—>—l
`NO
`
`I YES
`
`YES
`ARE TIME STAMPS ON
`BOTH ENTRIES THE SAME P>_'
`
`THIS 15 OLD ENTRY ON HOST
`OTHER ENTRY wAS DELETED
`AND NEw ENTRY INSERTED ON
`PERSONAL COPY - CONFLICT
`
`v
`To O
`
`N0
`
`‘V
`
`T0
`THIS IS
`OLD ENTRY +-> C
`
`V
`
`FLAC ENTRIES FOR LATER
`YES
`COMPARE ENTRY DETAILS-
`IS THERE A CONFLICT? —> I PRESENTATION
`
`TO
`+-> C
`
`W No
`
`FROM
`COMBINE ENTRY DETAILS
`c
`ON HOST COPY
`1
`I
`IS THIS THE LAST ENTRY }—-—>———‘ IDENTIFY NEXT ENTRY
`ON HOST COPY '2
`NO
`ON HOST COPY
`
`To H—>
`
`Y YES
`
`IDENTIFY NEXT OR
`EARLIEST OLD ENTRY
`ON PERSONAL COPY
`
`I
`IS THERE A CORRESPOND
`ING HOST ENTRY '!
`
`NO
`
`FIG. 5
`
`-->
`
`A
`
`DELETE ENTRY
`,
`A YES
`1
`IS DELETE OPTION
`SELECTED ?
`I
`v NO
`-
`FLAG ENTRY FOR
`LATER PRESENTATION
`
`NO
`
`END
`I
`A YES
`I
`IS THIS THE LAST
`>~ ENTRY ON PERSONAL
`COPY?
`
`I
`A
`l
`
`Petitioner Apple Inc. - Exhibit 1006, p. 5
`
`
`
`1
`
`METHOD FOR AUTOMATICALLY
`RECONCILING ENTRIES ON TWO COPIES OF
`INDEPENDEN‘I'LY MAINTAINED ELECTRONIC
`CALENDARS
`
`5
`
`25
`
`30
`
`35
`
`20
`
`4,866,611
`2
`which a calendar owner who receives a request to par
`ticipate in a calendar even originated by another calen
`dar owner, and currently being calendared by that
`owner, can establish an automatic response which re
`flects the assignment of an alternate to the event based
`on the relationship of the information that accompanies
`the request and criteria that the calendar owner has
`pre-established for each potential alternate.
`BACKGROUND ART
`The prior art has disclosed a number and variety of
`interactive electronic calendaring systems and method.
`The objective of all of these systems is primarily to
`assist the person who, for a number of different reasons,
`maintains a calendar of future events containing various
`information about the event at entry points on the calen
`dar which relative to the time of the event.
`The increase of personal computers and intelligent
`workstations in recent years has made it possible for
`calendar owners to establish and maintain their calen
`dars on these interactive type data processing systems.
`Two general types of interactive electronic calendar
`ing systems have thus evolved in the art. In one type of
`calendaring system, the owner of the calendar is gener
`ally also the user of the workstation and that worksta
`tion is generally not a part of a larger network. Gener
`ally, in these types of systems, the calendar functions
`involve presenting a screen to the user representing a
`day calendar divided into a number of time periods or
`time slots. Each period is capable of displaying a limited
`amount of text that the user enters. In some systems, the
`day calendar can scroll vertically to present more time
`periods to the user or horizontally to present longer text
`entries. The operator can generally “page” forward or
`backward and, in most arrangements, can display a
`requested date. These calendaring methods generally
`do not limit the type of event that is calendared nor the
`terminology employed at any of the entry points and, to
`that extent, function in the same manner as conventional
`manual calendars or appointment books.
`The electronic calendaring method and systems do
`have an advantage over the prior art manual calendar
`ing of events in that the user generally has the ability to
`scan a time span involving a large number of days and
`identify calendared events quite rapidly.
`The other type of calendaring arrangement that has
`developed in the prior art involves multi-user environ
`ments having a large number of terminals or worksta
`tions which are generally part of a larger communica
`tion network. Usually these networks have been estab
`lished to permit the users to interact with each other
`and with data maintained on the system. In this environ
`ment, a user at a terminal or workstation can send a
`message to one or more of the other users on the net
`work concurrently, and is noti?ed when the addressees
`have received and read the message. in most of these
`environments, each user generally ‘maintains a calendar,
`and in many of these environments the reason for hav
`ing a network in which users interact, quite often in
`volves user interaction that requires reference to the
`respective electronic calendars of the users. A consider
`able amount of time is therefore spent by calendar users
`in many organizations, with people checking and rear
`ranging their calendars to accommodate various events
`such as meetings and presentations.
`Calendar systems have progressed to the point where
`a person who is calling a meeting can at least view the
`
`FIELD OF INVENTION
`This invention relates in general to electronic calen
`daring methods, and in particular to a calendaring
`method in which a calendar owner can automatically
`and interactively reconcile independent entries made
`within a designated time span on two different copies of
`his calendar.
`CROSS-REFERENCE TO RELATED
`APPLICATIONS:
`1. Co-pending application Ser. No. 008,034 ?led con
`currently herewith, now U.S. Pat. No. 4,831,552 enti
`tled “Method For Concurrently Displaying Entries
`From a Plurality of Different Electronic Calendars
`Based on Interactively Entered Criteria,” and assigned
`to the assignee of the present application is directed to
`an electronic calendaring method in which a calendar
`owner can display a set of calendar entries from differ
`ent calendars which have an interrelationship that the
`user de?nes by data that is entered into the system in
`teractively.
`2. Co-pending application Ser. No. 008,039 ?led con
`currently herewith, now U.S. Pat. No. 4,819,191 enti
`tled “Electronic Calendaring Method to Establish Cal
`endar Floating Triggers for Calendared Events and
`Processes" and assigned to the assignee of this applica
`tion is directed to an electronic calendaring method in
`which a calendar owner can_ selectively trigger a prede
`?ned action and response to detecting one or more
`criteria related to the calendar event that has previously
`been de?ned and entered into the system.
`3. U.S. Pat. No. 4,807,154, issued Feb. 21, 1989, Ser.
`No. 008,033 ?led concurrently herewith, entitled
`“Method for Developing Automatic Replies in an Inter
`active Electronic Calendaring System,” and assigned to
`the assignee of the present application is directed to an
`electronic calendaring method in which a calendar
`owner can respond automatically to requests for partici
`pation in events being calendared by another person.
`The nature of the reply is based on an analysis of the
`parameters set forth in the request and an algorithm
`employing a set of prioritized criteria that the calendar
`owner has established to provide the automatic re
`sponse.
`4. U.S. Pat. No. 4,807,155, issued Feb. 21, 1989, Ser.
`No. 008,036 ?led concurrently herewith, entitled “Elec
`tronic Calendaring Method for Automatic Con?rma
`tion of Resource Availability During Event Calendar
`ing”, and assigned to the assignee of this application is
`directed to an electronic calendaring method in which a
`calendar owner, when calendaring an event such as a
`meeting, which requires, in addition to a meeting room,
`such articles as a projector, video conferencing equip
`ment, etc., automatically receives con?rmation that
`requested articles are available and reserved for the
`calendared meeting event.
`5. Co-pending application Ser. No. 008,238 ?led con
`currently herewith, now U.S. Pat. No. 4,804,955 enti
`tled “Electronic Calendaring Method Which Provides
`for Automatic Assignment of Alternates In Requested
`Events,” and assigned to the assignee of this application
`is directed to an electronic calendaring method in
`
`45
`
`50
`
`60
`
`65
`
`Petitioner Apple Inc. - Exhibit 1006, p. 6
`
`
`
`20
`
`3
`calendars of a number of users that he intends to invite
`to a meeting, in order to determine a common available
`time for the meeting. (US. Pat. No. 4,676,836 is an
`example of such a system.) In this prior art system, a
`screen is presented to the meeting originator which
`requests the data necessary for the system to determine
`times that all potential attendees would be available.
`The data requested includes, for example, the length of
`the meeting, a time period during which the meeting
`should be conducted, the place of the meeting and the
`names of the attendees. Based on this data, the method
`returns a screen of available times after inspecting each
`attendee’s day calendar during the time period for free
`time slots or periods.
`The originator then selects the beginning time and
`end time of the meeting, including the time and date,
`and invitations are automatically sent to all the attend
`ees, requesting their attendance at the scheduled meet
`ing.
`While such an automatic system saves time in ?nding
`a convenient meeting time, relative to the manual pro
`cess, the process is limited to the scheduling of meetings
`based on “free time” as represented by the absence of a
`calendar entry on each of the inspected calendars. This
`approach does not recognize that some calendar entries
`are less important than others and, in practice, it is often
`impossible to ?nd a common period of “free time” for a
`meeting that involves a large group of people or a meet
`ing involving a number of people whose work requires
`a large number of meetings.
`These de?ciencies of the prior art electronic calen
`daring methods, namely using only free time to ?nd
`relevant calendar entries, are overcome by the inven
`tion disclosed and claimed in cross-referenced applica
`tion Ser. No. 008,034 now U.S. Pat. No. 4,831,552.
`In accordance with that invention, an electronic cal
`endaring method is provided in which a calendar owner
`can request the system to display or print out a selected
`subset of calendar entries from a plurality of calendars
`maintained by the electronic calendaring system. The
`40
`method assists the calendar owner in de?ning the se
`lected subset by presenting to him a "view select”
`screen containing various prompts to which he re
`sponds by keying in the search criteria that he wishes to
`employ, to determine if a calendar entry belongs to the
`45
`subset. The subset is then displayed in one or more
`composite screens. Since criteria other than free time
`may be employed in de?ning the selected subset, the
`“view select" function can be used to provide enhance
`ments to functions such as the automatic scheduling of
`meetings.
`As explained in detail in that application, calendared
`events that have a lower priority than the event being
`calendared can be included on the composite calendar
`so that an event that is calendared can be potentially
`displaced. If the system also allows a calendar owner to
`develop responses to invitations automatically based on
`pre-established criteria and data contained in the invita
`tion, such as described in cross-referenced application
`Ser. No. 008,033 now U.S. Pat. No. 4,807,154 then it is
`quite permissible and acceptable for entries to be en
`tered on an owners calendar in his absence.
`Most workstations which are connected to a large
`system allow a calendar owner to make a copy of his
`calendar in machine readable form so that he can re
`view and modify that copy at another terminal which
`may be at home or another location. Many individuals
`therefore make a machine readable copy of their calen
`
`60
`
`65
`
`4,866,611
`4
`dar on a diskette which they carry with them when they
`are away from the office. If these individuals have por
`table type personal computers then it is a simple matter
`to update that copy as the need arises when they are
`away from the office.
`While an individual is away from his of?ce there are
`generally a number of entries that are made, if only on
`a tentative basis, to the system copy of the calendar.
`These may be made by an assistant or automatically or
`both depending on what the calendar owner has ar
`ranged to do when he is away from the system. The
`problem arises that on return to the office the entries on
`each copy must be reconciled on a manual basis by the
`calendar owner or an assistant which can sometimes
`result in a time consuming, error prone, tedious en
`deavor. The present invention avoids this problem by
`providing an automatic interactive reconciliation pro
`cess.
`
`30
`
`35
`
`SUMMARY OF THE INVENTION
`In accordance with the present invention an elec
`tronic calendar method is provided in which a calendar
`owner can automatically reconcile the entries within a
`designated time span that have been made indepen—
`dently on two different calendars. In a typical situation
`the owner obtains a machine readable copy of his calen
`dar that he can update during a planned absence from
`his office. This copy will be referred to as the personal
`copy of the calendar while the calendar maintained by
`the host is referred to as the system copy. During the
`planned absence his system calendar continues to be
`updated either by an assistant or automatically by the
`system. The owner also updates his personal copy by
`means of his portable computer. On return to the office,
`the entries on the two calendars are reconciled automat
`ically in accordance with the method of the present
`invention.
`In the preferred embodiment, calendar entries for the
`electronic calendaring system have prede?ned catego
`ries. In making a calendar entry on the system an owner
`is presented with a screen which assists in the creation
`of a calendar entry by requesting certain information
`which is stored by the system in established data struc
`tures. Each entry is assigned a unique ID number and is
`also time stamped with the time at which the entry is
`made. The time stamp of an entry should not be con
`fused with the tirne slot in the calendar where the entry
`is placed.
`In reconciling the entries between the host copy and
`the personal copy the owner designates one of the cop
`ies as the master which will, at the end of the reconcil
`ing process, represent that owners current calendar.
`Generally the host copy is designated the master. The
`owner must also specify the time span over which the
`reconciling process should take place. Generally the
`time span will start at the time the personal copy was
`made which is recorded on the personal copy and end
`about the time the reconciling process is started.
`The reconcile process takes into consideration the
`various actions that can be taken relative to the master
`copy and the personal copy. The following actions are
`permitted by the electronic calendaring method:
`1. Create a new calendar entry on either copy
`2. Delete an existing calendar entry on either copy
`3. Change the time slot to which a calendar entry is
`assigned
`4. Modify the content of an entry but not the ID
`
`Petitioner Apple Inc. - Exhibit 1006, p. 7
`
`
`
`4,866,611
`6
`5
`copy that were deleted are treated in the same manner
`The logic of the reconciling process is to ?rst identify
`that old deleted entries were treated. Deleted entries
`the old entries and the new entries. Old entries by de?
`under control of other calendar owners are assumed to
`nition are entries having a time stamp prior to the time
`have been deleted correctly. Deleted entries under the
`the personal copy was made. New entries by de?nition
`control of the calendar owner are either treated as de
`are entries made after the time the copy was made and
`leted or presented to the owner, at his option, to ratify
`therefore have time stamps which are subsequent to the
`or veto the prior deletion.
`time the personal copy was made. Old entries that have
`It is therefore an object of the present invention to
`not been altered in any manner are identi?ed since these
`provide an improved electronic calendaring method.
`will not be changed on the master copy. Each remain
`A further object of the present invention is to provide
`ing pair of old entries therefore has had one entry one
`an electronic calendaring method in which calendar
`one of the copies either modi?ed or deleted. If an old
`entries on two different copies of the same calendar can
`entry has been deleted on the personal copy it can be
`be automatically reconciled.
`assumed that it was intentionally deleted by the owner
`A still further object of the present invention is to
`and therefore that entry is deleted on the system copy.
`provide an improved electronic calendaring method in
`In order for an entry to be deleted from the system
`which a calendar owner can reconcile independently
`copy, the originator of the entry must initiate it, which
`made calendar entries on two different copies of his
`in the case of meeting type entries may be some other
`calendar.
`calendar owner on the system. If that is the case, then
`Another object of the present invention is to provide
`the reconciling process assumes that is has been cor
`an electronic calendaring method in which a calendar
`rectly deleted and the entry on the personal copy is
`owner can take a machine readable copy of his calendar
`ignored. The calendar owner is given the option at the
`that can be updated independently of the original calen
`time he requests the reconciling operation as to whether
`dar for a period of time and then is assisted in reconcil
`entries that are under his control and that were deleted
`ing the entries from both calendars.
`by an assistant should be presented to him for review or
`Objects and advantages other than those mentioned
`should be permanently deleted.
`above will become apparent from the following de
`The last set of old entries to be considered are those
`scription when read in connection with the drawing.
`entries which were modi?ed. By de?nition a modi?ed
`old entry pair will have the same IDs and time slots on
`each copy but the time stamps of the entries will be
`different. Only two conditions can exist. The ?rst is that
`one time stamp is prior to the time the copy was made.
`The second condition is that both time stamps are subse
`quent to the time the copy was made but since the IDs
`and time slots were the same the entries were correctly
`identi?ed as old entries. In the ?rst condition the entry
`with the time stamp that is subsequent to the copy time
`prevails and is transferred to the master copy if it is not
`on the master copy.
`The second condition in which both entries have
`been modi?ed is taken care of by doing a comparison of 40
`the various data in each entry to insure that a conflict
`really exists since it is possible that both entries were
`updated with the same information at different times in
`which case there is really no need to take any action on
`the master copy. If the comparison operation on the
`data indicates that there are differences but they are not
`necessarily inconsistent then the data is combined in the
`entry on the master calendar. An example of a differ
`ence that could be considered as not being inconsistent
`is data in a comment ?eld of a data structure associated
`with one entry and not in the other entry.
`In the event a valid inconsistency is detected both
`entries are flagged for presentation to the owner for
`con?ict resolution.
`The new entries on each copy within the speci?ed
`time span will be definition have a unique time stamp
`which is subsequent to the time the copy of the calendar
`was made. Each new entry on the personal copy is
`therefore transferred to the master copy at the corre
`sponding time slot. If the time slot is taken by another
`entry a conflict exists and the entries are ?agged for
`presentation to the calendar owner.
`New entries on each copy which were modi?ed pres
`ent no problem since only one copy of the modi?ed
`entry exists and it is treated basically as an unmodi?ed
`new entry. A new entry on the personal copy that was
`deleted is ignored since it is assumed it was deleted
`intentionally by the owner. New entries on the master
`
`BRIEF DESCRIPTION OF THE PREFERRED
`EMBODIMENT:
`FIG. 1 illustrates the functional components of an
`interactive type data processing terminal on which the
`electronic calendaring method of the present invention
`may be advantageously employed. The terminal com
`prises a processing unit 11 which includes a micro
`processor block 12, a semiconductor memory 13, and a
`control block 14 which functions to control input/out
`put operations in addition to the interaction between the
`micro processor block 12 and the memory unit 13.
`The terminal further includes a group of conven
`tional peripheral units including a display device 16, a
`keyboard 17, a printer 18, a disk storage unit 19, and a
`modem 20. Since the details of the above described
`functional blocks form no part of the present invention
`and can be found in the prior art, only a brief functional
`description of each block is set forth, along with a de~
`scription of their interactions, suf?cient to provide a
`person of ordinary skill in the art with a basis of under
`standing applicants’ improved electronic calendaring
`method.
`Processing unit 11 corresponds to the “system unit"
`of a personal computer system such as the IBM XT or
`IBM AT type systems. Unit 11 is provided with an
`operating system program which may be one of the
`
`45
`
`50
`
`55
`
`65
`
`20
`
`25
`
`30
`
`35
`
`DESCRIPTION OF THE DRAWINGS
`FIG. 1 illustrates an interactive workstation in which
`the method of the present invention may be advanta
`geously employed.
`FIG. 2 illustrates a network of interactive worksta
`tions of the type shown in FIG. 1.
`FIGS. 3a-3c illustrate screens which are employed
`by the users in calendaring an event.
`FIG. 4 illustrates a screen which is employed by a
`calendar owner to assist in reconciling two different
`copies of the same calendar for a given time period.
`FIG. 5 is a ?ow chart, illustrating the detailed steps of
`the method of the present invention.
`
`Petitioner Apple Inc. - Exhibit 1006, p. 8
`
`
`
`4,866,611
`8
`7
`The system shown in FIG. 2 processes information as
`many versions of DOS (Disk Operating System) which
`various types of data objects such as text data objects,
`is normally employed to run the systems. The operating
`graphic data objects, and calendar data objects. Each of
`system program is stored in memory 13 along with one
`these data objects are represented by a datastream
`or more application programs that the user has selected
`which comprises a series of structured fields.
`to run. Depending on the capacity of memory 13 and
`A calendar object datastream has the following se
`the size of the application programs, portions of these
`quence of structures.
`programs, as needed, may be transferred to memory 13
`Begin Document (BDT')
`from the disk storage unit 19 which may include, for
`Begin Page (BPG)
`example, a 30 megabyte hard disk drive and a diskette
`Begin Calendar Data (BCL)
`drive. The basic function of the disk storage unit is to
`Calendar Data Descriptor (CDD) (Optional)
`store programs and data that are employed by the sys
`Calendar Data SF (CAD)
`tem and which may readily be transferred to the mem
`Calendar Structures (COCA)
`ory unit 13 when needed. The function of the diskette
`End Calendar Data (ECL)
`drive is to provide a removable storage function for
`End Page (EPG)
`entering programs and data into the system, and a vehi
`End Document (EDT)
`cle for storing data in a form that is readily transport
`The format of the datastream for other data objects
`able for use on other terminals or systems.
`contain the begin document, begin page, end page, and
`Display device 16 and keyboard 17 together provide
`end document data structures. Structured fields corre
`for the interactive nature of the terminal, in that in
`sponding to those listed above for a calendar object are
`normal operation, the interpretation that the system
`also employed for other type objects.
`gives to a speci?c keystroke by the operator depends, in
`A structured field is a self-describing entity which
`substantionally all situations, on what is being displayed
`contains related groupings of parameter values and
`to the operator at that point in time.
`triplets. The structure ?eld, as shown below, has two
`In some situations, the operator, by entering com
`parts: the Structured Field lntroducer and the Struc
`mands into the system, causes the system to perform a
`tured Field Content.
`certain function. In other situations, the system requests
`the entry of certain data, generally by displaying a
`prompt type of menu/message screen. The depth of the
`interaction between the operator and the system varies
`by the type of operating system and the application
`program, but is a necessary characteristic of terminals
`on which the method of the present invention may be
`employed.
`The terminal shown in FIG. 1 further includes a
`printer 18, which functions to provide hard copy output
`of data developed or stored in the terminal. Lastly, the
`modem 20 functions to transfer data from the terminal
`of FIG. 1 to a host system through one or more commu
`nication links which may be a commercial type link or
`a dedicated communication link.
`.FIG. 2 illustrates a network 21 of interactive type
`workstations of the type shown in FIG. 1. As illus
`trated, the network includes a plurality of terminals
`which are interconnected with each other and to a host
`central processing unit 23, which in turn is connected
`via communication link 24 to a second host processing
`unit 25, which also connects to another network 26 of
`interactive workstations. Functionally, the system oper
`ates to allow one terminal to communicate to one or
`more other terminals using established communication
`protocols, so that the various serially connected com
`munication links are transparent to the operator. Such
`systems are well known in the art, and are currently in
`extensive commercial use. Since these communication
`links per se are not part of the present invention, only
`those details that are necessary for an understanding of
`the calendaring method of the present invention will be
`described. It should therefore be assumed in the follow
`ing description, that each workstation on the network
`has a system node address and a “post office” address,
`and that to simplify the description, there is only one
`individual assigned to each